Update c_src
authorJean Privat <jean@pryen.org>
Thu, 25 Dec 2008 11:34:17 +0000 (06:34 -0500)
committerJean Privat <jean@pryen.org>
Thu, 25 Dec 2008 11:34:17 +0000 (06:34 -0500)
89 files changed:
c_src/abstract_collection._sep.c
c_src/abstract_collection._sep.h
c_src/abstractmetamodel._sep.c
c_src/abstractmetamodel._sep.h
c_src/abstracttool._sep.c
c_src/abstracttool._sep.h
c_src/array._sep.c
c_src/array._sep.h
c_src/compiling._sep.c
c_src/compiling._sep.h
c_src/compiling_base._sep.c
c_src/compiling_base._sep.h
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/control_flow._sep.h
c_src/environ._sep.c
c_src/environ._sep.h
c_src/exec._sep.c
c_src/exec._sep.h
c_src/file._sep.c
c_src/file._sep.h
c_src/genericity._sep.c
c_src/genericity._sep.h
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/list._sep.h
c_src/math._sep.c
c_src/math._sep.h
c_src/metamodel._sep.h
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._sep.h
c_src/nitc._tables.c
c_src/opts._sep.c
c_src/opts._sep.h
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/partial_order._sep.h
c_src/range._sep.c
c_src/range._sep.h
c_src/sorter._sep.c
c_src/sorter._sep.h
c_src/standard._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/symbol._sep.h
c_src/syntax._sep.c
c_src/syntax._sep.h
c_src/syntax_base._sep.c
c_src/syntax_base._sep.h
c_src/time._sep.c
c_src/time._sep.h
c_src/type_formal._sep.c
c_src/type_formal._sep.h
c_src/typing._sep.c
c_src/typing._sep.h
c_src/utils._sep.c
c_src/utils._sep.h
c_src/vararg._sep.c
c_src/vararg._sep.h
c_src/virtualtype._sep.c
c_src/virtualtype._sep.h

index fd3a8c8..5f61844 100644 (file)
@@ -1,63 +1,70 @@
 /* This C file is generated by NIT to compile module abstract_collection. */
 #include "abstract_collection._sep.h"
 val_t abstract_collection___Collection___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Collection___iterator, 42};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 42, LOCATE_abstract_collection___Collection___iterator};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "iterator", LOCATE_abstract_collection, 42);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 42);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Collection___is_empty, 45};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 45, LOCATE_abstract_collection___Collection___is_empty};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "is_empty", LOCATE_abstract_collection, 45);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 45);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Collection___length, 48};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 48, LOCATE_abstract_collection___Collection___length};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "length", LOCATE_abstract_collection, 48);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 48);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Collection___has, 51};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 51, LOCATE_abstract_collection___Collection___has};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "has", LOCATE_abstract_collection, 51);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 51);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Collection___has_only, 55};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 55, LOCATE_abstract_collection___Collection___has_only};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "has_only", LOCATE_abstract_collection, 55);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 55);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Collection___count, 60};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 60, LOCATE_abstract_collection___Collection___count};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "count", LOCATE_abstract_collection, 60);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 60);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___Collection___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Collection___first, 64};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 64, LOCATE_abstract_collection___Collection___first};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "first", LOCATE_abstract_collection, 64);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_abstract_collection, 64);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___NaiveCollection___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___NaiveCollection___is_empty, 72};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 72, LOCATE_abstract_collection___NaiveCollection___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstract_collection___NaiveCollection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*NaiveCollection::length*/;
@@ -68,13 +75,13 @@ val_t abstract_collection___NaiveCollection___is_empty(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___NaiveCollection___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___NaiveCollection___length, 74};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 74, LOCATE_abstract_collection___NaiveCollection___length};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(0);
-  variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*NaiveCollection::iterator*/;
+  variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*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*/
@@ -91,14 +98,14 @@ val_t abstract_collection___NaiveCollection___length(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___NaiveCollection___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___NaiveCollection___has, 81};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 81, LOCATE_abstract_collection___NaiveCollection___has};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*NaiveCollection::iterator*/;
+  variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*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*/
@@ -119,14 +126,14 @@ val_t abstract_collection___NaiveCollection___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___NaiveCollection___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___NaiveCollection___has_only, 87};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 87, LOCATE_abstract_collection___NaiveCollection___has_only};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*NaiveCollection::iterator*/;
+  variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*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*/
@@ -147,7 +154,7 @@ val_t abstract_collection___NaiveCollection___has_only(val_t  self, val_t  param
   return variable1;
 }
 val_t abstract_collection___NaiveCollection___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___NaiveCollection___count, 93};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 93, LOCATE_abstract_collection___NaiveCollection___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -156,7 +163,7 @@ val_t abstract_collection___NaiveCollection___count(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
-  variable2 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*NaiveCollection::iterator*/;
+  variable2 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::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*/
@@ -176,13 +183,13 @@ val_t abstract_collection___NaiveCollection___count(val_t  self, val_t  param0)
   return variable1;
 }
 val_t abstract_collection___NaiveCollection___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___NaiveCollection___first, 100};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 100, LOCATE_abstract_collection___NaiveCollection___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstract_collection___NaiveCollection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*NaiveCollection::length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstract_collection___NaiveCollection___first, 102); nit_exit(1);}
-  variable0 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*NaiveCollection::iterator*/;
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 102); nit_exit(1);}
+  variable0 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   variable0 = ((abstract_collection___Iterator___item_t)CALL(variable0,COLOR_abstract_collection___Iterator___item))(variable0) /*Iterator::item*/;
   goto return_label9;
   return_label9: while(false);
@@ -190,31 +197,34 @@ val_t abstract_collection___NaiveCollection___first(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Iterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Iterator___item, 110};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 110, LOCATE_abstract_collection___Iterator___item};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "item", LOCATE_abstract_collection___NaiveCollection___first, 110);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 110);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void abstract_collection___Iterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Iterator___next, 114};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 114, LOCATE_abstract_collection___Iterator___next};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "next", LOCATE_abstract_collection___NaiveCollection___first, 114);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 114);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___Iterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Iterator___is_ok, 118};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 118, LOCATE_abstract_collection___Iterator___is_ok};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "is_ok", LOCATE_abstract_collection___NaiveCollection___first, 118);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___NaiveCollection___first, LOCATE_abstract_collection, 118);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___Container___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___first, 126};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 126, LOCATE_abstract_collection___Container___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstract_collection___Container____item( self) /*Container::_item*/;
@@ -224,7 +234,7 @@ val_t abstract_collection___Container___first(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Container___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___is_empty, 128};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 128, LOCATE_abstract_collection___Container___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
@@ -234,7 +244,7 @@ val_t abstract_collection___Container___is_empty(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Container___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___length, 130};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 130, LOCATE_abstract_collection___Container___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(1);
@@ -244,7 +254,7 @@ val_t abstract_collection___Container___length(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___Container___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___has, 132};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 132, LOCATE_abstract_collection___Container___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -257,7 +267,7 @@ val_t abstract_collection___Container___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Container___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___has_only, 134};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 134, LOCATE_abstract_collection___Container___has_only};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -270,7 +280,7 @@ val_t abstract_collection___Container___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Container___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___count, 136};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 136, LOCATE_abstract_collection___Container___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -289,7 +299,7 @@ val_t abstract_collection___Container___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Container___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___iterator, 145};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 145, LOCATE_abstract_collection___Container___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_abstract_collection___ContainerIterator___init( self); /*new ContainerIterator[E]*/
@@ -299,7 +309,7 @@ val_t abstract_collection___Container___iterator(val_t  self) {
   return variable0;
 }
 void abstract_collection___Container___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___init, 147};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 147, LOCATE_abstract_collection___Container___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -310,20 +320,20 @@ void abstract_collection___Container___init(val_t  self, val_t  param0, int* ini
   return;
 }
 val_t abstract_collection___Container___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___item, 150};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 150, LOCATE_abstract_collection___Container___item};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstract_collection___Container____item( self) /*Container::_item*/;
 }
 void abstract_collection___Container___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Container___item__eq, 150};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 150, LOCATE_abstract_collection___Container___item__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstract_collection___Container____item( self) /*Container::_item*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___ContainerIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___ContainerIterator___item, 157};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 157, LOCATE_abstract_collection___ContainerIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstract_collection___ContainerIterator____container( self) /*ContainerIterator::_container*/;
@@ -334,14 +344,14 @@ val_t abstract_collection___ContainerIterator___item(val_t  self) {
   return variable0;
 }
 void abstract_collection___ContainerIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___ContainerIterator___next, 159};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 159, LOCATE_abstract_collection___ContainerIterator___next};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstract_collection___ContainerIterator____is_ok( self) /*ContainerIterator::_is_ok*/ =  TAG_Bool(false);
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___ContainerIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___ContainerIterator___init, 161};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 161, LOCATE_abstract_collection___ContainerIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -352,35 +362,37 @@ void abstract_collection___ContainerIterator___init(val_t  self, val_t  param0,
   return;
 }
 val_t abstract_collection___ContainerIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___ContainerIterator___is_ok, 163};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 163, LOCATE_abstract_collection___ContainerIterator___is_ok};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstract_collection___ContainerIterator____is_ok( self) /*ContainerIterator::_is_ok*/;
 }
 void abstract_collection___RemovableCollection___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___RemovableCollection___clear, 171};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 171, LOCATE_abstract_collection___RemovableCollection___clear};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "clear", LOCATE_abstract_collection___ContainerIterator___init, 171);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init, LOCATE_abstract_collection, 171);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___RemovableCollection___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___RemovableCollection___remove, 174};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 174, LOCATE_abstract_collection___RemovableCollection___remove};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "remove", LOCATE_abstract_collection___ContainerIterator___init, 174);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___ContainerIterator___init, LOCATE_abstract_collection, 174);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___RemovableCollection___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___RemovableCollection___remove_all, 177};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 177, LOCATE_abstract_collection___RemovableCollection___remove_all};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   while (true) { /*while*/
-    variable1 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*RemovableCollection::has*/;
+    variable1 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Collection::has*/;
     if (!UNTAG_Bool(variable1)) break; /* while*/
     ((abstract_collection___RemovableCollection___remove_t)CALL( self,COLOR_abstract_collection___RemovableCollection___remove))( self,  variable0 /*item*/) /*RemovableCollection::remove*/;
     continue_22: while(0);
@@ -390,21 +402,22 @@ void abstract_collection___RemovableCollection___remove_all(val_t  self, val_t
   return;
 }
 void abstract_collection___SimpleCollection___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___SimpleCollection___add, 184};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 184, LOCATE_abstract_collection___SimpleCollection___add};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "add", LOCATE_abstract_collection___RemovableCollection___remove_all, 184);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___RemovableCollection___remove_all, LOCATE_abstract_collection, 184);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___SimpleCollection___add_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___SimpleCollection___add_all, 188};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 188, LOCATE_abstract_collection___SimpleCollection___add_all};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*coll*/ ==  NIT_NULL /*null*/) || (( variable0 /*coll*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*coll*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))( variable0 /*coll*/,  NIT_NULL /*null*/) /*Collection::==*/)))))));
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*coll*/ ==  NIT_NULL /*null*/) || (( variable0 /*coll*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*coll*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))( variable0 /*coll*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*coll*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*coll*/) /*Collection::iterator*/;
     while (true) { /*for*/
@@ -421,17 +434,17 @@ void abstract_collection___SimpleCollection___add_all(val_t  self, val_t  param0
   return;
 }
 val_t abstract_collection___Set___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Set___has_only, 204};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 204, LOCATE_abstract_collection___Set___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*Set::length*/;
+  variable2 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*Collection::length*/;
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*l*/)==( TAG_Int(1)));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Set::has*/;
+    variable2 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Collection::has*/;
     variable1 = variable2;
     goto return_label25;
   } else { /*if*/
@@ -449,12 +462,12 @@ val_t abstract_collection___Set___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___Set___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Set___count, 216};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 216, LOCATE_abstract_collection___Set___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Set::has*/;
+  variable1 = ((abstract_collection___Collection___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*item*/) /*Collection::has*/;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 =  TAG_Int(1);
     goto return_label26;
@@ -467,48 +480,52 @@ val_t abstract_collection___Set___count(val_t  self, val_t  param0) {
   return variable1;
 }
 void abstract_collection___Set___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Set___remove_all, 226};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 226, LOCATE_abstract_collection___Set___remove_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ((abstract_collection___RemovableCollection___remove_t)CALL( self,COLOR_abstract_collection___RemovableCollection___remove))( self,  variable0 /*item*/) /*Set::remove*/;
+  ((abstract_collection___RemovableCollection___remove_t)CALL( self,COLOR_abstract_collection___RemovableCollection___remove))( self,  variable0 /*item*/) /*RemovableCollection::remove*/;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___Map_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Map_____bra, 244};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 244, LOCATE_abstract_collection___Map_____bra};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "[]", LOCATE_abstract_collection___Set___remove_all, 244);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 244);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void abstract_collection___Map_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Map_____braeq, 247};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 247, LOCATE_abstract_collection___Map_____braeq};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "[]=", LOCATE_abstract_collection___Set___remove_all, 247);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 247);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___Map___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Map___has_key, 250};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 250, LOCATE_abstract_collection___Map___has_key};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "has_key", LOCATE_abstract_collection___Set___remove_all, 250);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 250);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void abstract_collection___Map___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Map___remove_at, 253};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 253, LOCATE_abstract_collection___Map___remove_at};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "remove_at", LOCATE_abstract_collection___Set___remove_all, 253);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Set___remove_all, LOCATE_abstract_collection, 253);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___Map___recover_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Map___recover_with, 256};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 256, LOCATE_abstract_collection___Map___recover_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -518,12 +535,12 @@ void abstract_collection___Map___recover_with(val_t  self, val_t  param0) {
   variable2 = ((abstract_collection___Map___iterator_t)CALL( variable0 /*map*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*map*/) /*Map::iterator*/;
   variable1 = variable2;
   while (true) { /*while*/
-    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable1 /*i*/) /*MapIterator::is_ok*/;
+    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable1 /*i*/) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /* while*/
     variable2 = ((abstract_collection___MapIterator___key_t)CALL( variable1 /*i*/,COLOR_abstract_collection___MapIterator___key))( variable1 /*i*/) /*MapIterator::key*/;
-    variable3 = ((abstract_collection___Iterator___item_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___item))( variable1 /*i*/) /*MapIterator::item*/;
+    variable3 = ((abstract_collection___Iterator___item_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___item))( variable1 /*i*/) /*Iterator::item*/;
     ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable2, variable3) /*Map::[]=*/;
-    ((abstract_collection___Iterator___next_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___next))( variable1 /*i*/) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___next))( variable1 /*i*/) /*Iterator::next*/;
     continue_29: while(0);
   }
   break_29: while(0);
@@ -531,85 +548,88 @@ void abstract_collection___Map___recover_with(val_t  self, val_t  param0) {
   return;
 }
 val_t abstract_collection___Map___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Map___iterator, 267};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 267, LOCATE_abstract_collection___Map___iterator};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "iterator", LOCATE_abstract_collection___Map___recover_with, 267);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with, LOCATE_abstract_collection, 267);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___MapIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___MapIterator___key, 273};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 273, LOCATE_abstract_collection___MapIterator___key};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "key", LOCATE_abstract_collection___Map___recover_with, 273);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with, LOCATE_abstract_collection, 273);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void abstract_collection___MapIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___MapIterator___item__eq, 276};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 276, LOCATE_abstract_collection___MapIterator___item__eq};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "item=", LOCATE_abstract_collection___Map___recover_with, 276);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___Map___recover_with, LOCATE_abstract_collection, 276);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___IndexedCollection___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___first, 285};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 285, LOCATE_abstract_collection___IndexedCollection___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*IndexedCollection::is_empty*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'not_empty' ", LOCATE_abstract_collection___IndexedCollection___first, 289); nit_exit(1);}
-  variable0 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  TAG_Int(0)) /*IndexedCollection::[]*/;
+  variable0 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___first, LOCATE_abstract_collection, 289); nit_exit(1);}
+  variable0 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  TAG_Int(0)) /*Map::[]*/;
   goto return_label30;
   return_label30: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void abstract_collection___IndexedCollection___first__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___first__eq, 293};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 293, LOCATE_abstract_collection___IndexedCollection___first__eq};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  TAG_Int(0),  variable0 /*item*/) /*IndexedCollection::[]=*/;
+  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  TAG_Int(0),  variable0 /*item*/) /*Map::[]=*/;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___IndexedCollection___last(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___last, 298};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 298, LOCATE_abstract_collection___IndexedCollection___last};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*IndexedCollection::is_empty*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'not_empty' ", LOCATE_abstract_collection___IndexedCollection___last, 302); nit_exit(1);}
-  variable0 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*IndexedCollection::length*/;
+  variable0 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___last, LOCATE_abstract_collection, 302); nit_exit(1);}
+  variable0 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*Collection::length*/;
   variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int( TAG_Int(1)));
-  variable0 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self, variable0) /*IndexedCollection::[]*/;
+  variable0 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self, variable0) /*Map::[]*/;
   goto return_label32;
   return_label32: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void abstract_collection___IndexedCollection___last__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___last__eq, 306};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 306, LOCATE_abstract_collection___IndexedCollection___last__eq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*IndexedCollection::length*/;
+  variable2 = ((abstract_collection___Collection___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*Collection::length*/;
   variable1 = variable2;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*l*/)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = TAG_Int(UNTAG_Int( variable1 /*l*/)-UNTAG_Int( TAG_Int(1)));
-    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable2,  variable0 /*item*/) /*IndexedCollection::[]=*/;
+    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable2,  variable0 /*item*/) /*Map::[]=*/;
   } else { /*if*/
-    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  TAG_Int(0),  variable0 /*item*/) /*IndexedCollection::[]=*/;
+    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  TAG_Int(0),  variable0 /*item*/) /*Map::[]=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___IndexedCollection___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___add, 318};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 318, LOCATE_abstract_collection___IndexedCollection___add};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -618,21 +638,22 @@ void abstract_collection___IndexedCollection___add(val_t  self, val_t  param0) {
   return;
 }
 void abstract_collection___IndexedCollection___push(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___push, 321};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 321, LOCATE_abstract_collection___IndexedCollection___push};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "push", LOCATE_abstract_collection___IndexedCollection___add, 321);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___add, LOCATE_abstract_collection, 321);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___IndexedCollection___append(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___append, 324};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 324, LOCATE_abstract_collection___IndexedCollection___append};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*coll*/ ==  NIT_NULL /*null*/) || (( variable0 /*coll*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*coll*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))( variable0 /*coll*/,  NIT_NULL /*null*/) /*Collection::==*/)))))));
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*coll*/ ==  NIT_NULL /*null*/) || (( variable0 /*coll*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*coll*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*coll*/,COLOR_kernel___Object_____eqeq))( variable0 /*coll*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*coll*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*coll*/) /*Collection::iterator*/;
     while (true) { /*for*/
@@ -649,31 +670,34 @@ void abstract_collection___IndexedCollection___append(val_t  self, val_t  param0
   return;
 }
 val_t abstract_collection___IndexedCollection___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___pop, 327};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 327, LOCATE_abstract_collection___IndexedCollection___pop};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "pop", LOCATE_abstract_collection___IndexedCollection___append, 327);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append, LOCATE_abstract_collection, 327);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void abstract_collection___IndexedCollection___unshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___unshift, 330};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 330, LOCATE_abstract_collection___IndexedCollection___unshift};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "unshift", LOCATE_abstract_collection___IndexedCollection___append, 330);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append, LOCATE_abstract_collection, 330);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___IndexedCollection___shift(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___shift, 333};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 333, LOCATE_abstract_collection___IndexedCollection___shift};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "shift", LOCATE_abstract_collection___IndexedCollection___append, 333);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___append, LOCATE_abstract_collection, 333);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___IndexedCollection___index_of(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___index_of, 337};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 337, LOCATE_abstract_collection___IndexedCollection___index_of};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -682,16 +706,16 @@ val_t abstract_collection___IndexedCollection___index_of(val_t  self, val_t  par
   variable2 = ((abstract_collection___IndexedCollection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*IndexedCollection::iterator*/;
   variable1 = variable2;
   while (true) { /*while*/
-    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable1 /*i*/) /*IndexedIterator::is_ok*/;
+    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable1 /*i*/) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ((abstract_collection___Iterator___item_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___item))( variable1 /*i*/) /*IndexedIterator::item*/;
+    variable2 = ((abstract_collection___Iterator___item_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___item))( variable1 /*i*/) /*Iterator::item*/;
     variable2 = TAG_Bool((variable2 ==  variable0 /*item*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*item*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable2)) { /*if*/
       variable2 = ((abstract_collection___IndexedIterator___index_t)CALL( variable1 /*i*/,COLOR_abstract_collection___IndexedIterator___index))( variable1 /*i*/) /*IndexedIterator::index*/;
       variable1 = variable2;
       goto return_label37;
     }
-    ((abstract_collection___Iterator___next_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___next))( variable1 /*i*/) /*IndexedIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL( variable1 /*i*/,COLOR_abstract_collection___Iterator___next))( variable1 /*i*/) /*Iterator::next*/;
     continue_38: while(0);
   }
   break_38: while(0);
@@ -703,23 +727,25 @@ val_t abstract_collection___IndexedCollection___index_of(val_t  self, val_t  par
   return variable1;
 }
 val_t abstract_collection___IndexedCollection___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedCollection___iterator, 349};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 349, LOCATE_abstract_collection___IndexedCollection___iterator};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "iterator", LOCATE_abstract_collection___IndexedCollection___index_of, 349);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of, LOCATE_abstract_collection, 349);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___IndexedIterator___index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedIterator___index, 355};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 355, LOCATE_abstract_collection___IndexedIterator___index};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "index", LOCATE_abstract_collection___IndexedCollection___index_of, 355);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedCollection___index_of, LOCATE_abstract_collection, 355);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___IndexedIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___IndexedIterator___key, 358};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 358, LOCATE_abstract_collection___IndexedIterator___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstract_collection___IndexedIterator___index_t)CALL( self,COLOR_abstract_collection___IndexedIterator___index))( self) /*IndexedIterator::index*/;
@@ -729,15 +755,16 @@ val_t abstract_collection___IndexedIterator___key(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___CoupleMap___couple_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMap___couple_at, 365};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 365, LOCATE_abstract_collection___CoupleMap___couple_at};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "couple_at", LOCATE_abstract_collection___IndexedIterator___key, 365);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstract_collection___IndexedIterator___key, LOCATE_abstract_collection, 365);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t abstract_collection___CoupleMap_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMap_____bra, 369};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 369, LOCATE_abstract_collection___CoupleMap_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -745,7 +772,7 @@ val_t abstract_collection___CoupleMap_____bra(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((abstract_collection___CoupleMap___couple_at_t)CALL( self,COLOR_abstract_collection___CoupleMap___couple_at))( self,  variable0 /*key*/) /*CoupleMap::couple_at*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*c*/ ==  NIT_NULL /*null*/) || (( variable1 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))( variable1 /*c*/,  NIT_NULL /*null*/) /*Couple::==*/)))));
+  variable2 = TAG_Bool(( variable1 /*c*/ ==  NIT_NULL /*null*/) || (( variable1 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))( variable1 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable1 =  NIT_NULL /*null*/;
     goto return_label40;
@@ -759,20 +786,20 @@ val_t abstract_collection___CoupleMap_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstract_collection___CoupleMap___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMap___has_key, 379};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 379, LOCATE_abstract_collection___CoupleMap___has_key};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((abstract_collection___CoupleMap___couple_at_t)CALL( self,COLOR_abstract_collection___CoupleMap___couple_at))( self,  variable0 /*key*/) /*CoupleMap::couple_at*/;
-  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*/) /*Couple::==*/)))))));
+  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::==*/)))))));
   goto return_label41;
   return_label41: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t abstract_collection___CoupleMapIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMapIterator___item, 387};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 387, LOCATE_abstract_collection___CoupleMapIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
@@ -784,7 +811,7 @@ val_t abstract_collection___CoupleMapIterator___item(val_t  self) {
   return variable0;
 }
 void abstract_collection___CoupleMapIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMapIterator___item__eq, 389};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 389, LOCATE_abstract_collection___CoupleMapIterator___item__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -796,7 +823,7 @@ void abstract_collection___CoupleMapIterator___item__eq(val_t  self, val_t  para
   return;
 }
 val_t abstract_collection___CoupleMapIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMapIterator___key, 391};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 391, LOCATE_abstract_collection___CoupleMapIterator___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
@@ -808,7 +835,7 @@ val_t abstract_collection___CoupleMapIterator___key(val_t  self) {
   return variable0;
 }
 val_t abstract_collection___CoupleMapIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMapIterator___is_ok, 393};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 393, LOCATE_abstract_collection___CoupleMapIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
@@ -819,7 +846,7 @@ val_t abstract_collection___CoupleMapIterator___is_ok(val_t  self) {
   return variable0;
 }
 void abstract_collection___CoupleMapIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMapIterator___next, 395};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 395, LOCATE_abstract_collection___CoupleMapIterator___next};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -832,7 +859,7 @@ void abstract_collection___CoupleMapIterator___next(val_t  self) {
     if (UNTAG_Bool(variable1)) { /* and */
       variable1 = ATTR_abstract_collection___CoupleMapIterator____iter( self) /*CoupleMapIterator::_iter*/;
       variable1 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
-      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*/) /*Couple::==*/)))));
+      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::==*/)))));
     }
     variable0 = variable1;
     if (!UNTAG_Bool(variable0)) break; /* while*/
@@ -845,7 +872,7 @@ void abstract_collection___CoupleMapIterator___next(val_t  self) {
   return;
 }
 void abstract_collection___CoupleMapIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___CoupleMapIterator___init, 403};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 403, LOCATE_abstract_collection___CoupleMapIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -856,33 +883,33 @@ void abstract_collection___CoupleMapIterator___init(val_t  self, val_t  param0,
   return;
 }
 val_t abstract_collection___Couple___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Couple___first, 411};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 411, LOCATE_abstract_collection___Couple___first};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstract_collection___Couple____first( self) /*Couple::_first*/;
 }
 void abstract_collection___Couple___first__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Couple___first__eq, 411};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 411, LOCATE_abstract_collection___Couple___first__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstract_collection___Couple____first( self) /*Couple::_first*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstract_collection___Couple___second(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Couple___second, 414};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 414, LOCATE_abstract_collection___Couple___second};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstract_collection___Couple____second( self) /*Couple::_second*/;
 }
 void abstract_collection___Couple___second__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Couple___second__eq, 414};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 414, LOCATE_abstract_collection___Couple___second__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstract_collection___Couple____second( self) /*Couple::_second*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void abstract_collection___Couple___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstract_collection___Couple___init, 417};
+  struct trace_t trace = {NULL, LOCATE_abstract_collection, 417, LOCATE_abstract_collection___Couple___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
index aa6d875..1a0f2b0 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires abstract_collection. */
-#ifndef abstract_collection_3_sep
-#define abstract_collection_3_sep
+#ifndef abstract_collection_2_sep
+#define abstract_collection_2_sep
 #include "kernel._sep.h"
 #include <nit_common.h>
 
@@ -33,7 +33,7 @@ extern const classtable_elt_t VFT_CoupleMap[];
 extern const classtable_elt_t VFT_CoupleMapIterator[];
 
 extern const classtable_elt_t VFT_Couple[];
-#define LOCATE_abstract_collection "abstract_collection"
+#define LOCATE_abstract_collection "./../lib/standard//abstract_collection.nit"
 extern const int SFT_abstract_collection[];
 #define ID_Collection SFT_abstract_collection[0]
 #define COLOR_Collection SFT_abstract_collection[1]
index 0b41ebc..68fc52a 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module abstractmetamodel. */
 #include "abstractmetamodel._sep.h"
 void abstractmetamodel___MMContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMContext___init, 26};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 26, LOCATE_abstractmetamodel___MMContext___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMContext].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMContext].i] = 1;
@@ -9,25 +9,25 @@ void abstractmetamodel___MMContext___init(val_t  self, int* init_table) {
   return;
 }
 val_t abstractmetamodel___MMContext___module_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMContext___module_hierarchy, 28};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 28, LOCATE_abstractmetamodel___MMContext___module_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMContext____module_hierarchy( self) /*MMContext::_module_hierarchy*/;
 }
 val_t abstractmetamodel___MMContext___class_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMContext___class_hierarchy, 31};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 31, LOCATE_abstractmetamodel___MMContext___class_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMContext____class_hierarchy( self) /*MMContext::_class_hierarchy*/;
 }
 val_t abstractmetamodel___MMContext___modules(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMContext___modules, 38};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 38, LOCATE_abstractmetamodel___MMContext___modules};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMContext____modules( self) /*MMContext::_modules*/;
 }
 void abstractmetamodel___MMContext___add_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMContext___add_module, 41};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 41, LOCATE_abstractmetamodel___MMContext___add_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -35,17 +35,17 @@ void abstractmetamodel___MMContext___add_module(val_t  self, val_t  param0, val_
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMContext___add_module, 44); nit_exit(1);}
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_module, LOCATE_abstractmetamodel, 44); nit_exit(1);}
   variable2 = ATTR_abstractmetamodel___MMContext____module_hierarchy( self) /*MMContext::_module_hierarchy*/;
   variable3 = ATTR_abstractmetamodel___MMContext____module_hierarchy( self) /*MMContext::_module_hierarchy*/;
   variable3 = ((partial_order___PartialOrder___select_smallests_t)CALL(variable3,COLOR_partial_order___PartialOrder___select_smallests))(variable3,  variable1 /*supers*/) /*PartialOrder::select_smallests*/;
   ((partial_order___PartialOrder___add_t)CALL(variable2,COLOR_partial_order___PartialOrder___add))(variable2,  variable0 /*module*/, variable3) /*PartialOrder::add*/;
   variable2 = ((abstractmetamodel___MMModule___name_t)CALL( variable0 /*module*/,COLOR_abstractmetamodel___MMModule___name))( variable0 /*module*/) /*MMModule::name*/;
-  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*/) /*Symbol::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMContext___add_module, 46); nit_exit(1);}
+  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_abstractmetamodel___MMContext___add_module, LOCATE_abstractmetamodel, 46); nit_exit(1);}
   variable2 = ATTR_abstractmetamodel___MMContext____modules( self) /*MMContext::_modules*/;
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*module*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*module*/) /*AbstractArray::add*/;
   variable2 = ATTR_abstractmetamodel___MMContext____module_hierarchy( self) /*MMContext::_module_hierarchy*/;
   variable2 = ((partial_order___PartialOrder_____bra_t)CALL(variable2,COLOR_partial_order___PartialOrder_____bra))(variable2,  variable0 /*module*/) /*PartialOrder::[]*/;
   ATTR_abstractmetamodel___MMModule____mhe( variable0 /*module*/) /*MMModule::_mhe*/ = variable2;
@@ -53,18 +53,18 @@ void abstractmetamodel___MMContext___add_module(val_t  self, val_t  param0, val_
   return;
 }
 void abstractmetamodel___MMContext___add_global_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMContext___add_global_class, 51};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 51, LOCATE_abstractmetamodel___MMContext___add_global_class};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMContext____global_classes( self) /*MMContext::_global_classes*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*c*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*c*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMContext___add_local_class, 54};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 54, LOCATE_abstractmetamodel___MMContext___add_local_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -77,33 +77,33 @@ void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0,
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*sup*/ ==  NIT_NULL /*null*/) || (( variable1 /*sup*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*sup*/,COLOR_kernel___Object_____eqeq))( variable1 /*sup*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMContext___add_local_class, 57); nit_exit(1);}
-  variable3 = NEW_array___Array___init(); /*new Array[MMLocalClass]*/
+  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]*/
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[String]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
-  variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*sup*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*sup*/) /*Array::iterator*/;
+  variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*sup*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*sup*/) /*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 /*s*/==NIT_NULL) || VAL_ISA( variable5 /*s*/, COLOR_MMConcreteClass, ID_MMConcreteClass)) /*cast MMConcreteClass*/;
     if (UNTAG_Bool(variable6)) { /*if*/
-      ((array___AbstractArray___add_t)CALL( variable2 /*csup*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*csup*/,  variable5 /*s*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*csup*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*csup*/,  variable5 /*s*/) /*AbstractArray::add*/;
     } else { /*if*/
       variable6 = ((abstractmetamodel___MMLocalClass___che_t)CALL( variable5 /*s*/,COLOR_abstractmetamodel___MMLocalClass___che))( variable5 /*s*/) /*MMLocalClass::che*/;
       variable6 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable6,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable6) /*PartialOrderElement::direct_greaters*/;
-      variable6 = ((array___AbstractArray___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*Array::iterator*/;
+      variable6 = ((array___AbstractArray___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*AbstractArray::iterator*/;
       while (true) { /*for*/
         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 = ((array___AbstractArray___has_t)CALL( variable2 /*csup*/,COLOR_abstract_collection___Collection___has))( variable2 /*csup*/,  variable7 /*ss*/) /*Array::has*/;
+        variable8 = ((array___AbstractArray___has_t)CALL( variable2 /*csup*/,COLOR_abstract_collection___Collection___has))( variable2 /*csup*/,  variable7 /*ss*/) /*AbstractArray::has*/;
         if (UNTAG_Bool(variable8)) { /*if*/
           goto continue_5;
         }
-        ((array___AbstractArray___add_t)CALL( variable2 /*csup*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*csup*/,  variable7 /*ss*/) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL( variable2 /*csup*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*csup*/,  variable7 /*ss*/) /*AbstractArray::add*/;
         continue_5: while(0);
         ((array___ArrayIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ArrayIterator::next*/;
       }
@@ -121,44 +121,44 @@ void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0,
   return;
 }
 val_t abstractmetamodel___MMDirectory___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___name, 77};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 77, LOCATE_abstractmetamodel___MMDirectory___name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____name( self) /*MMDirectory::_name*/;
 }
 val_t abstractmetamodel___MMDirectory___path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___path, 80};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 80, LOCATE_abstractmetamodel___MMDirectory___path};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____path( self) /*MMDirectory::_path*/;
 }
 val_t abstractmetamodel___MMDirectory___parent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___parent, 83};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 83, LOCATE_abstractmetamodel___MMDirectory___parent};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____parent( self) /*MMDirectory::_parent*/;
 }
 val_t abstractmetamodel___MMDirectory___owner(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___owner, 87};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 87, LOCATE_abstractmetamodel___MMDirectory___owner};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____owner( self) /*MMDirectory::_owner*/;
 }
 void abstractmetamodel___MMDirectory___owner__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___owner__eq, 87};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 87, LOCATE_abstractmetamodel___MMDirectory___owner__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMDirectory____owner( self) /*MMDirectory::_owner*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMDirectory___modules(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___modules, 90};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 90, LOCATE_abstractmetamodel___MMDirectory___modules};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____modules( self) /*MMDirectory::_modules*/;
 }
 void abstractmetamodel___MMDirectory___add_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___add_module, 93};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 93, LOCATE_abstractmetamodel___MMDirectory___add_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -167,7 +167,7 @@ void abstractmetamodel___MMDirectory___add_module(val_t  self, val_t  param0) {
   variable1 = ATTR_abstractmetamodel___MMDirectory____modules( self) /*MMDirectory::_modules*/;
   variable2 = ((abstractmetamodel___MMModule___name_t)CALL( variable0 /*module*/,COLOR_abstractmetamodel___MMModule___name))( variable0 /*module*/) /*MMModule::name*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1, variable2) /*Map::has_key*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMDirectory___add_module, 96); nit_exit(1);}
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMDirectory___add_module, LOCATE_abstractmetamodel, 96); nit_exit(1);}
   variable1 = ATTR_abstractmetamodel___MMDirectory____modules( self) /*MMDirectory::_modules*/;
   variable2 = ((abstractmetamodel___MMModule___name_t)CALL( variable0 /*module*/,COLOR_abstractmetamodel___MMModule___name))( variable0 /*module*/) /*MMModule::name*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1, variable2,  variable0 /*module*/) /*Map::[]=*/;
@@ -175,13 +175,13 @@ void abstractmetamodel___MMDirectory___add_module(val_t  self, val_t  param0) {
   return;
 }
 val_t abstractmetamodel___MMDirectory___dhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___dhe, 100};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 100, LOCATE_abstractmetamodel___MMDirectory___dhe};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMDirectory____dhe( self) /*MMDirectory::_dhe*/;
 }
 void abstractmetamodel___MMDirectory___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___init, 103};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 103, LOCATE_abstractmetamodel___MMDirectory___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -198,7 +198,7 @@ void abstractmetamodel___MMDirectory___init(val_t  self, val_t  param0, val_t  p
   return;
 }
 val_t abstractmetamodel___MMDirectory___full_name_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMDirectory___full_name_for, 109};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 109, LOCATE_abstractmetamodel___MMDirectory___full_name_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -236,61 +236,61 @@ val_t abstractmetamodel___MMDirectory___full_name_for(val_t  self, val_t  param0
   return variable1;
 }
 val_t abstractmetamodel___MMModule___context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___context, 117};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 117, LOCATE_abstractmetamodel___MMModule___context};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____context( self) /*MMModule::_context*/;
 }
 val_t abstractmetamodel___MMModule___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___name, 120};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 120, LOCATE_abstractmetamodel___MMModule___name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____name( self) /*MMModule::_name*/;
 }
 val_t abstractmetamodel___MMModule___full_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___full_name, 123};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 123, LOCATE_abstractmetamodel___MMModule___full_name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____full_name( self) /*MMModule::_full_name*/;
 }
 val_t abstractmetamodel___MMModule___directory(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___directory, 126};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 126, LOCATE_abstractmetamodel___MMModule___directory};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____directory( self) /*MMModule::_directory*/;
 }
 val_t abstractmetamodel___MMModule___mhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___mhe, 129};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 129, LOCATE_abstractmetamodel___MMModule___mhe};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____mhe( self) /*MMModule::_mhe*/;
 }
 val_t abstractmetamodel___MMModule___global_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___global_classes, 132};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 132, LOCATE_abstractmetamodel___MMModule___global_classes};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____global_classes( self) /*MMModule::_global_classes*/;
 }
 val_t abstractmetamodel___MMModule___local_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___local_classes, 135};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 135, LOCATE_abstractmetamodel___MMModule___local_classes};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____local_classes( self) /*MMModule::_local_classes*/;
 }
 val_t abstractmetamodel___MMModule___class_specialization_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy, 138};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 138, LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self) /*MMModule::_class_specialization_hierarchy*/;
 }
 val_t abstractmetamodel___MMModule___explicit_imported_modules(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___explicit_imported_modules, 150};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 150, LOCATE_abstractmetamodel___MMModule___explicit_imported_modules};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self) /*MMModule::_explicit_imported_modules*/;
 }
 void abstractmetamodel___MMModule___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___init, 159};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 159, LOCATE_abstractmetamodel___MMModule___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -303,7 +303,7 @@ void abstractmetamodel___MMModule___init(val_t  self, val_t  param0, val_t  para
   ATTR_abstractmetamodel___MMModule____name( self) /*MMModule::_name*/ =  variable0 /*name*/;
   ATTR_abstractmetamodel___MMModule____directory( self) /*MMModule::_directory*/ =  variable1 /*dir*/;
   ATTR_abstractmetamodel___MMModule____context( self) /*MMModule::_context*/ =  variable2 /*context*/;
-  variable3 = TAG_Bool(( variable1 /*dir*/ ==  NIT_NULL /*null*/) || (( variable1 /*dir*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*dir*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*dir*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*dir*/,COLOR_kernel___Object_____eqeq))( variable1 /*dir*/,  NIT_NULL /*null*/) /*MMDirectory::==*/)))));
+  variable3 = TAG_Bool(( variable1 /*dir*/ ==  NIT_NULL /*null*/) || (( variable1 /*dir*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*dir*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*dir*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*dir*/,COLOR_kernel___Object_____eqeq))( variable1 /*dir*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable3)) { /*if*/
     ATTR_abstractmetamodel___MMModule____full_name( self) /*MMModule::_full_name*/ =  variable0 /*name*/;
   } else { /*if*/
@@ -315,7 +315,7 @@ void abstractmetamodel___MMModule___init(val_t  self, val_t  param0, val_t  para
   return;
 }
 void abstractmetamodel___MMModule___add_super_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___add_super_module, 172};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 172, LOCATE_abstractmetamodel___MMModule___add_super_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -324,57 +324,57 @@ void abstractmetamodel___MMModule___add_super_module(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self) /*MMModule::_explicit_imported_modules*/;
-  ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*Set::add*/;
+  ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*SimpleCollection::add*/;
   variable2 = TAG_Bool(( variable1 /*visibility_level*/)==( TAG_Int(0)));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ATTR_abstractmetamodel___MMModule____intrude_modules( self) /*MMModule::_intrude_modules*/;
-    ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*Set::add*/;
+    ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*SimpleCollection::add*/;
     variable2 = ATTR_abstractmetamodel___MMModule____intrude_modules( self) /*MMModule::_intrude_modules*/;
     variable3 = ATTR_abstractmetamodel___MMModule____intrude_modules( variable0 /*m*/) /*MMModule::_intrude_modules*/;
-    ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*Set::add_all*/;
+    ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*SimpleCollection::add_all*/;
     variable2 = ATTR_abstractmetamodel___MMModule____public_modules( self) /*MMModule::_public_modules*/;
     variable3 = ATTR_abstractmetamodel___MMModule____public_modules( variable0 /*m*/) /*MMModule::_public_modules*/;
-    ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*Set::add_all*/;
+    ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*SimpleCollection::add_all*/;
     variable2 = ATTR_abstractmetamodel___MMModule____private_modules( self) /*MMModule::_private_modules*/;
     variable3 = ATTR_abstractmetamodel___MMModule____private_modules( variable0 /*m*/) /*MMModule::_private_modules*/;
-    ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*Set::add_all*/;
+    ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*SimpleCollection::add_all*/;
   } else { /*if*/
     variable2 = TAG_Bool(( variable1 /*visibility_level*/)==( TAG_Int(1)));
     if (UNTAG_Bool(variable2)) { /*if*/
       variable2 = ATTR_abstractmetamodel___MMModule____public_modules( self) /*MMModule::_public_modules*/;
-      ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*Set::add*/;
+      ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*SimpleCollection::add*/;
       variable2 = ATTR_abstractmetamodel___MMModule____public_modules( self) /*MMModule::_public_modules*/;
       variable3 = ATTR_abstractmetamodel___MMModule____intrude_modules( variable0 /*m*/) /*MMModule::_intrude_modules*/;
-      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*Set::add_all*/;
+      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*SimpleCollection::add_all*/;
       variable2 = ATTR_abstractmetamodel___MMModule____public_modules( self) /*MMModule::_public_modules*/;
       variable3 = ATTR_abstractmetamodel___MMModule____public_modules( variable0 /*m*/) /*MMModule::_public_modules*/;
-      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*Set::add_all*/;
+      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*SimpleCollection::add_all*/;
     } else { /*if*/
       variable2 = ATTR_abstractmetamodel___MMModule____private_modules( self) /*MMModule::_private_modules*/;
-      ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*Set::add*/;
+      ((abstract_collection___SimpleCollection___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*m*/) /*SimpleCollection::add*/;
       variable2 = ATTR_abstractmetamodel___MMModule____private_modules( self) /*MMModule::_private_modules*/;
       variable3 = ATTR_abstractmetamodel___MMModule____intrude_modules( variable0 /*m*/) /*MMModule::_intrude_modules*/;
-      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*Set::add_all*/;
+      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*SimpleCollection::add_all*/;
       variable2 = ATTR_abstractmetamodel___MMModule____private_modules( self) /*MMModule::_private_modules*/;
       variable3 = ATTR_abstractmetamodel___MMModule____public_modules( variable0 /*m*/) /*MMModule::_public_modules*/;
-      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*Set::add_all*/;
+      ((abstract_collection___SimpleCollection___add_all_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add_all))(variable2, variable3) /*SimpleCollection::add_all*/;
     }
   }
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMModule___visibility_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___visibility_for, 196};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 196, LOCATE_abstractmetamodel___MMModule___visibility_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(( variable0 /*m*/ ==  self) || (( variable0 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*m*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*m*/,COLOR_kernel___Object_____eqeq))( variable0 /*m*/,  self) /*MMModule::==*/)))));
+  variable1 = TAG_Bool(( variable0 /*m*/ ==  self) || (( variable0 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*m*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*m*/,COLOR_kernel___Object_____eqeq))( variable0 /*m*/,  self) /*Object::==*/)))));
   variable2 = variable1;
   if (!UNTAG_Bool(variable2)) { /* or */
     variable2 = ATTR_abstractmetamodel___MMModule____intrude_modules( self) /*MMModule::_intrude_modules*/;
-    variable2 = ((abstract_collection___Collection___has_t)CALL(variable2,COLOR_abstract_collection___Collection___has))(variable2,  variable0 /*m*/) /*Set::has*/;
+    variable2 = ((abstract_collection___Collection___has_t)CALL(variable2,COLOR_abstract_collection___Collection___has))(variable2,  variable0 /*m*/) /*Collection::has*/;
   }
   variable1 = variable2;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -382,13 +382,13 @@ val_t abstractmetamodel___MMModule___visibility_for(val_t  self, val_t  param0)
     goto return_label11;
   } else { /*if*/
     variable1 = ATTR_abstractmetamodel___MMModule____public_modules( self) /*MMModule::_public_modules*/;
-    variable1 = ((abstract_collection___Collection___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*m*/) /*Set::has*/;
+    variable1 = ((abstract_collection___Collection___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*m*/) /*Collection::has*/;
     if (UNTAG_Bool(variable1)) { /*if*/
       variable1 =  TAG_Int(2);
       goto return_label11;
     } else { /*if*/
       variable1 = ATTR_abstractmetamodel___MMModule____private_modules( self) /*MMModule::_private_modules*/;
-      variable1 = ((abstract_collection___Collection___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*m*/) /*Set::has*/;
+      variable1 = ((abstract_collection___Collection___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*m*/) /*Collection::has*/;
       if (UNTAG_Bool(variable1)) { /*if*/
         variable1 =  TAG_Int(1);
         goto return_label11;
@@ -403,16 +403,16 @@ val_t abstractmetamodel___MMModule___visibility_for(val_t  self, val_t  param0)
   return variable1;
 }
 val_t abstractmetamodel___MMModule_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule_____bra, 215};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 215, LOCATE_abstractmetamodel___MMModule_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMModule____local_class_by_global( self) /*MMModule::_local_class_by_global*/;
-  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*/) /*Map::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule_____bra, 218); nit_exit(1);}
-  variable1 = TAG_Bool(!UNTAG_Bool(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*/) /*MMGlobalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule_____bra, 219); nit_exit(1);}
+  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_abstractmetamodel___MMModule_____bra, LOCATE_abstractmetamodel, 218); nit_exit(1);}
+  variable1 = TAG_Bool(!UNTAG_Bool(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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule_____bra, LOCATE_abstractmetamodel, 219); nit_exit(1);}
   variable1 = ATTR_abstractmetamodel___MMModule____local_class_by_global( self) /*MMModule::_local_class_by_global*/;
   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*/
@@ -428,19 +428,19 @@ val_t abstractmetamodel___MMModule_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void abstractmetamodel___MMModule___add_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___add_local_class, 227};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 227, LOCATE_abstractmetamodel___MMModule___add_local_class};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_abstractmetamodel___MMLocalClass____module( variable0 /*c*/) /*MMLocalClass::_module*/ =  self;
   variable1 = ATTR_abstractmetamodel___MMModule____local_classes( self) /*MMModule::_local_classes*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*c*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*c*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMModule___class_by_name(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___class_by_name, 234};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 234, LOCATE_abstractmetamodel___MMModule___class_by_name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -454,7 +454,7 @@ val_t abstractmetamodel___MMModule___class_by_name(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstractmetamodel___MMModule___has_global_class_named(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___has_global_class_named, 240};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 240, LOCATE_abstractmetamodel___MMModule___has_global_class_named};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -467,7 +467,7 @@ val_t abstractmetamodel___MMModule___has_global_class_named(val_t  self, val_t
   return variable1;
 }
 val_t abstractmetamodel___MMModule___global_class_named(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___global_class_named, 246};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 246, LOCATE_abstractmetamodel___MMModule___global_class_named};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -487,7 +487,7 @@ val_t abstractmetamodel___MMModule___global_class_named(val_t  self, val_t  para
   return variable1;
 }
 val_t abstractmetamodel___MMModule___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___to_s, 257};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 257, LOCATE_abstractmetamodel___MMModule___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMModule::name*/;
@@ -498,7 +498,7 @@ val_t abstractmetamodel___MMModule___to_s(val_t  self) {
   return variable0;
 }
 void abstractmetamodel___MMModule___set_supers_class(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___set_supers_class, 259};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 259, LOCATE_abstractmetamodel___MMModule___set_supers_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -507,8 +507,8 @@ void abstractmetamodel___MMModule___set_supers_class(val_t  self, val_t  param0,
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule___set_supers_class, 262); nit_exit(1);}
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule___set_supers_class, LOCATE_abstractmetamodel, 262); nit_exit(1);}
   variable3 = ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self) /*MMModule::_class_specialization_hierarchy*/;
   variable3 = ((partial_order___PartialOrder___select_smallests_t)CALL(variable3,COLOR_partial_order___PartialOrder___select_smallests))(variable3,  variable1 /*supers*/) /*PartialOrder::select_smallests*/;
   variable2 = variable3;
@@ -517,24 +517,24 @@ void abstractmetamodel___MMModule___set_supers_class(val_t  self, val_t  param0,
   ATTR_abstractmetamodel___MMLocalClass____cshe( variable0 /*c*/) /*MMLocalClass::_cshe*/ = variable3;
   variable4 = ((abstractmetamodel___MMLocalClass___crhe_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe))( variable0 /*c*/) /*MMLocalClass::crhe*/;
   variable4 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable4,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable4) /*PartialOrderElement::direct_greaters*/;
-  variable4 = ((array___Collection___to_a_t)CALL(variable4,COLOR_array___Collection___to_a))(variable4) /*Array::to_a*/;
+  variable4 = ((array___Collection___to_a_t)CALL(variable4,COLOR_array___Collection___to_a))(variable4) /*Collection::to_a*/;
   variable3 = variable4;
-  ((abstract_collection___SimpleCollection___add_all_t)CALL( variable3 /*tab_all*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable3 /*tab_all*/,  variable2 /*tab*/) /*Array::add_all*/;
+  ((abstract_collection___SimpleCollection___add_all_t)CALL( variable3 /*tab_all*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable3 /*tab_all*/,  variable2 /*tab*/) /*SimpleCollection::add_all*/;
   variable4 = ((abstractmetamodel___MMModule___context_t)CALL( self,COLOR_abstractmetamodel___MMModule___context))( self) /*MMModule::context*/;
   ((abstractmetamodel___MMContext___add_local_class_t)CALL(variable4,COLOR_abstractmetamodel___MMContext___add_local_class))(variable4,  variable0 /*c*/,  variable3 /*tab_all*/) /*MMContext::add_local_class*/;
   tracehead = trace.prev;
   return;
 }
 void abstractmetamodel___MMModule___register_global_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMModule___register_global_class, 270};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 270, LOCATE_abstractmetamodel___MMModule___register_global_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable0 /*c*/) /*MMLocalClass::global*/;
-  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*/) /*MMGlobalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule___register_global_class, 273); nit_exit(1);}
+  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_abstractmetamodel___MMModule___register_global_class, LOCATE_abstractmetamodel, 273); nit_exit(1);}
   variable1 = ATTR_abstractmetamodel___MMModule____local_class_by_global( self) /*MMModule::_local_class_by_global*/;
   variable2 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable0 /*c*/) /*MMLocalClass::global*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1, variable2,  variable0 /*c*/) /*Map::[]=*/;
@@ -542,19 +542,19 @@ void abstractmetamodel___MMModule___register_global_class(val_t  self, val_t  pa
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___intro(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___intro, 279};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 279, LOCATE_abstractmetamodel___MMGlobalClass___intro};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____intro( self) /*MMGlobalClass::_intro*/;
 }
 val_t abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy, 282};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 282, LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy( self) /*MMGlobalClass::_class_refinement_hierarchy*/;
 }
 void abstractmetamodel___MMGlobalClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___init, 286};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 286, LOCATE_abstractmetamodel___MMGlobalClass___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -568,7 +568,7 @@ void abstractmetamodel___MMGlobalClass___init(val_t  self, val_t  param0, int* i
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___name, 293};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 293, LOCATE_abstractmetamodel___MMGlobalClass___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
@@ -579,7 +579,7 @@ val_t abstractmetamodel___MMGlobalClass___name(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalClass___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___module, 299};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 299, LOCATE_abstractmetamodel___MMGlobalClass___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
@@ -590,7 +590,7 @@ val_t abstractmetamodel___MMGlobalClass___module(val_t  self) {
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalClass___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___to_s, 305};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 305, LOCATE_abstractmetamodel___MMGlobalClass___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
@@ -601,7 +601,7 @@ val_t abstractmetamodel___MMGlobalClass___to_s(val_t  self) {
   return variable0;
 }
 void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___register_local_class, 310};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 310, LOCATE_abstractmetamodel___MMGlobalClass___register_local_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -611,12 +611,12 @@ void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable0 /*c*/) /*MMLocalClass::module*/;
-  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*/) /*MMModule::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class, 313); nit_exit(1);}
+  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_abstractmetamodel___MMGlobalClass___register_local_class, LOCATE_abstractmetamodel, 313); nit_exit(1);}
   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*/) /*PartialOrderElement::==*/)))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class, 314); nit_exit(1);}
-  variable2 = NEW_array___Array___init(); /*new Array[MMLocalClass]*/
+  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]*/
   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*/;
@@ -634,7 +634,7 @@ void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t
     }
     variable4 = variable5;
     if (UNTAG_Bool(variable4)) { /*if*/
-      ((array___AbstractArray___add_t)CALL( variable1 /*sup*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*sup*/,  variable3 /*s*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable1 /*sup*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*sup*/,  variable3 /*s*/) /*AbstractArray::add*/;
     }
     continue_25: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
@@ -647,132 +647,132 @@ void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___is_interface(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___is_interface, 324};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____is_interface( self) /*MMGlobalClass::_is_interface*/;
 }
 void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq, 324};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMGlobalClass____is_interface( self) /*MMGlobalClass::_is_interface*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract, 327};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self) /*MMGlobalClass::_is_abstract*/;
 }
 void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq, 327};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self) /*MMGlobalClass::_is_abstract*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___is_universal, 330};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____is_universal( self) /*MMGlobalClass::_is_universal*/;
 }
 void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq, 330};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMGlobalClass____is_universal( self) /*MMGlobalClass::_is_universal*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalClass___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level, 333};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self) /*MMGlobalClass::_visibility_level*/;
 }
 void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq, 333};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self) /*MMGlobalClass::_visibility_level*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMLocalClass___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___name, 341};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 341, LOCATE_abstractmetamodel___MMLocalClass___name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____name( self) /*MMLocalClass::_name*/;
 }
 val_t abstractmetamodel___MMLocalClass___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___arity, 344};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 344, LOCATE_abstractmetamodel___MMLocalClass___arity};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____arity( self) /*MMLocalClass::_arity*/;
 }
 val_t abstractmetamodel___MMLocalClass___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___module, 348};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 348, LOCATE_abstractmetamodel___MMLocalClass___module};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____module( self) /*MMLocalClass::_module*/;
 }
 val_t abstractmetamodel___MMLocalClass___abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___abstract, 351};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____abstract( self) /*MMLocalClass::_abstract*/;
 }
 void abstractmetamodel___MMLocalClass___abstract__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___abstract__eq, 351};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMLocalClass____abstract( self) /*MMLocalClass::_abstract*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMLocalClass___global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___global, 354};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 354, LOCATE_abstractmetamodel___MMLocalClass___global};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____global( self) /*MMLocalClass::_global*/;
 }
 val_t abstractmetamodel___MMLocalClass___crhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___crhe, 357};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 357, LOCATE_abstractmetamodel___MMLocalClass___crhe};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
 }
 val_t abstractmetamodel___MMLocalClass___cshe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___cshe, 360};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 360, LOCATE_abstractmetamodel___MMLocalClass___cshe};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____cshe( self) /*MMLocalClass::_cshe*/;
 }
 val_t abstractmetamodel___MMLocalClass___che(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___che, 363};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 363, LOCATE_abstractmetamodel___MMLocalClass___che};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____che( self) /*MMLocalClass::_che*/;
 }
 val_t abstractmetamodel___MMLocalClass___local_property_by_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global, 366};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 366, LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
 }
 val_t abstractmetamodel___MMLocalClass___global_properties(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___global_properties, 369};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 369, LOCATE_abstractmetamodel___MMLocalClass___global_properties};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/;
 }
 val_t abstractmetamodel___MMLocalClass___properties_by_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___properties_by_name, 372};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 372, LOCATE_abstractmetamodel___MMLocalClass___properties_by_name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
 }
 void abstractmetamodel___MMLocalClass___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___init, 375};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 375, LOCATE_abstractmetamodel___MMLocalClass___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -786,7 +786,7 @@ void abstractmetamodel___MMLocalClass___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t abstractmetamodel___MMLocalClass___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___for_module, 382};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 382, LOCATE_abstractmetamodel___MMLocalClass___for_module};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -799,7 +799,7 @@ val_t abstractmetamodel___MMLocalClass___for_module(val_t  self, val_t  param0)
   return variable1;
 }
 void abstractmetamodel___MMLocalClass___new_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___new_global, 388};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 388, LOCATE_abstractmetamodel___MMLocalClass___new_global};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -808,7 +808,7 @@ void abstractmetamodel___MMLocalClass___new_global(val_t  self) {
   variable0 = variable1;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____module( self) /*MMLocalClass::_module*/;
   variable1 = ATTR_abstractmetamodel___MMModule____global_classes(variable1) /*MMModule::_global_classes*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*g*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*g*/) /*AbstractArray::add*/;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____module( self) /*MMLocalClass::_module*/;
   variable1 = ATTR_abstractmetamodel___MMModule____global_class_by_name(variable1) /*MMModule::_global_class_by_name*/;
   variable2 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
@@ -818,13 +818,13 @@ void abstractmetamodel___MMLocalClass___new_global(val_t  self) {
   return;
 }
 void abstractmetamodel___MMLocalClass___set_global(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___set_global, 397};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 397, LOCATE_abstractmetamodel___MMLocalClass___set_global};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*MMGlobalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass___set_global, 402); nit_exit(1);}
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___set_global, LOCATE_abstractmetamodel, 402); nit_exit(1);}
   ATTR_abstractmetamodel___MMLocalClass____global( self) /*MMLocalClass::_global*/ =  variable0 /*g*/;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____global( self) /*MMLocalClass::_global*/;
   ((abstractmetamodel___MMGlobalClass___register_local_class_t)CALL(variable1,COLOR_abstractmetamodel___MMGlobalClass___register_local_class))(variable1,  self) /*MMGlobalClass::register_local_class*/;
@@ -834,7 +834,7 @@ void abstractmetamodel___MMLocalClass___set_global(val_t  self, val_t  param0) {
   return;
 }
 val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name, 408};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 408, LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -843,7 +843,7 @@ val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t  self
   variable2 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable0 /*n*/) /*Map::[]*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*props*/ ==  NIT_NULL /*null*/) || (( variable1 /*props*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))( variable1 /*props*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*props*/ ==  NIT_NULL /*null*/) || (( variable1 /*props*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*props*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))( variable1 /*props*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   variable1 = variable2;
   goto return_label30;
   return_label30: while(false);
@@ -851,7 +851,7 @@ val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t  self
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name, 416};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 416, LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -861,10 +861,10 @@ val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t  self, val_t
   variable2 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable0 /*n*/) /*Map::[]*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*props*/ ==  NIT_NULL /*null*/) || (( variable1 /*props*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))( variable1 /*props*/,  NIT_NULL /*null*/) /*Array::==*/)));
+  variable2 = TAG_Bool(( variable1 /*props*/ ==  NIT_NULL /*null*/) || (( variable1 /*props*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))( variable1 /*props*/,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
   variable3 = variable2;
   if (!UNTAG_Bool(variable3)) { /* or */
-    variable3 = ((array___AbstractArray___length_t)CALL( variable1 /*props*/,COLOR_abstract_collection___Collection___length))( variable1 /*props*/) /*Array::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL( variable1 /*props*/,COLOR_abstract_collection___Collection___length))( variable1 /*props*/) /*AbstractArray::length*/;
     variable3 = TAG_Bool(UNTAG_Int(variable3)>UNTAG_Int( TAG_Int(1)));
   }
   variable2 = variable3;
@@ -872,7 +872,7 @@ val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t  self, val_t
     variable1 =  NIT_NULL /*null*/;
     goto return_label31;
   }
-  variable2 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*props*/,COLOR_abstract_collection___Collection___first))( variable1 /*props*/) /*Array::first*/;
+  variable2 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*props*/,COLOR_abstract_collection___Collection___first))( variable1 /*props*/) /*IndexedCollection::first*/;
   variable1 = variable2;
   goto return_label31;
   return_label31: while(false);
@@ -880,7 +880,7 @@ val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t  self, val_t
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___attribute(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___attribute, 427};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 427, LOCATE_abstractmetamodel___MMLocalClass___attribute};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -892,21 +892,21 @@ val_t abstractmetamodel___MMLocalClass___attribute(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___method(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___method, 434};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 434, LOCATE_abstractmetamodel___MMLocalClass___method};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
-  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*/) /*Map::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass___method, 438); nit_exit(1);}
+  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_abstractmetamodel___MMLocalClass___method, LOCATE_abstractmetamodel, 438); nit_exit(1);}
   variable2 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable0 /*na*/) /*Map::[]*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*props*/ ==  NIT_NULL /*null*/) || (( variable1 /*props*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))( variable1 /*props*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*props*/ ==  NIT_NULL /*null*/) || (( variable1 /*props*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*props*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*props*/,COLOR_kernel___Object_____eqeq))( variable1 /*props*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*props*/,COLOR_abstract_collection___Collection___first))( variable1 /*props*/) /*Array::first*/;
+    variable2 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*props*/,COLOR_abstract_collection___Collection___first))( variable1 /*props*/) /*IndexedCollection::first*/;
     variable1 = variable2;
     goto return_label33;
   }
@@ -916,8 +916,62 @@ val_t abstractmetamodel___MMLocalClass___method(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return variable1;
 }
+val_t abstractmetamodel___MMLocalClass___select_method(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 447, LOCATE_abstractmetamodel___MMLocalClass___select_method};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_method, LOCATE_abstractmetamodel, 451); nit_exit(1);}
+  variable2 = ((abstractmetamodel___MMLocalClass___method_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___method))( self,  variable0 /*name*/) /*MMLocalClass::method*/;
+  variable1 = variable2;
+  variable2 = TAG_Bool(( variable1 /*gp*/ ==  NIT_NULL /*null*/) || (( variable1 /*gp*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*gp*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*gp*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*gp*/,COLOR_kernel___Object_____eqeq))( variable1 /*gp*/,  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable2)) { /*if*/
+    variable1 =  NIT_NULL /*null*/;
+    goto return_label34;
+  }
+  variable3 = ((abstractmetamodel___MMLocalClass_____bra_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass_____bra))( self,  variable1 /*gp*/) /*MMLocalClass::[]*/;
+  variable2 = variable3;
+  variable3 = TAG_Bool(( variable2 /*res*/==NIT_NULL) || VAL_ISA( variable2 /*res*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_method, LOCATE_abstractmetamodel, 455); nit_exit(1);}
+  variable1 =  variable2 /*res*/;
+  goto return_label34;
+  return_label34: while(false);
+  tracehead = trace.prev;
+  return variable1;
+}
+val_t abstractmetamodel___MMLocalClass___select_attribute(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 459, LOCATE_abstractmetamodel___MMLocalClass___select_attribute};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_attribute, LOCATE_abstractmetamodel, 463); nit_exit(1);}
+  variable2 = ((abstractmetamodel___MMLocalClass___attribute_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___attribute))( self,  variable0 /*name*/) /*MMLocalClass::attribute*/;
+  variable1 = variable2;
+  variable2 = TAG_Bool(( variable1 /*gp*/ ==  NIT_NULL /*null*/) || (( variable1 /*gp*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*gp*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*gp*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*gp*/,COLOR_kernel___Object_____eqeq))( variable1 /*gp*/,  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable2)) { /*if*/
+    variable1 =  NIT_NULL /*null*/;
+    goto return_label35;
+  }
+  variable3 = ((abstractmetamodel___MMLocalClass_____bra_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass_____bra))( self,  variable1 /*gp*/) /*MMLocalClass::[]*/;
+  variable2 = variable3;
+  variable3 = TAG_Bool(( variable2 /*res*/==NIT_NULL) || VAL_ISA( variable2 /*res*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_attribute, LOCATE_abstractmetamodel, 467); nit_exit(1);}
+  variable1 =  variable2 /*res*/;
+  goto return_label35;
+  return_label35: while(false);
+  tracehead = trace.prev;
+  return variable1;
+}
 val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___super_methods_named, 447};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 471, LOCATE_abstractmetamodel___MMLocalClass___super_methods_named};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -927,33 +981,33 @@ val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[MMLocalClass]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
-  variable2 = ((abstract_collection___Collection___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Set::iterator*/;
+  variable2 = ((abstract_collection___Collection___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Collection::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*/;
     variable5 = ((abstractmetamodel___MMLocalClass___method_t)CALL( variable3 /*c*/,COLOR_abstractmetamodel___MMLocalClass___method))( variable3 /*c*/,  variable0 /*n*/) /*MMLocalClass::method*/;
     variable4 = variable5;
-    variable5 = TAG_Bool(( variable4 /*g*/ ==  NIT_NULL /*null*/) || (( variable4 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))( variable4 /*g*/,  NIT_NULL /*null*/) /*MMGlobalProperty::==*/)))));
+    variable5 = TAG_Bool(( variable4 /*g*/ ==  NIT_NULL /*null*/) || (( variable4 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))( variable4 /*g*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable5)) { /*if*/
-      goto continue_35;
+      goto continue_37;
     }
-    ((array___AbstractArray___add_t)CALL( variable1 /*classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*classes*/,  variable3 /*c*/) /*Array::add*/;
-    continue_35: while(0);
+    ((array___AbstractArray___add_t)CALL( variable1 /*classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*classes*/,  variable3 /*c*/) /*AbstractArray::add*/;
+    continue_37: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
-  break_35: while(0);
+  break_37: while(0);
   variable2 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___cshe))( self) /*MMLocalClass::cshe*/;
   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[MMLocalProperty]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*classes*/) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*classes*/) /*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*/
@@ -961,27 +1015,27 @@ val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t
     variable6 = ((abstractmetamodel___MMLocalClass___method_t)CALL( variable4 /*c*/,COLOR_abstractmetamodel___MMLocalClass___method))( variable4 /*c*/,  variable0 /*n*/) /*MMLocalClass::method*/;
     variable5 = variable6;
     variable6 = ((abstractmetamodel___MMLocalClass_____bra_t)CALL( variable4 /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable4 /*c*/,  variable5 /*g*/) /*MMLocalClass::[]*/;
-    ((array___AbstractArray___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable6) /*Array::add*/;
-    continue_36: while(0);
+    ((array___AbstractArray___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable6) /*AbstractArray::add*/;
+    continue_38: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
-  break_36: while(0);
+  break_38: while(0);
   variable1 =  variable2 /*res*/;
-  goto return_label34;
-  return_label34: while(false);
+  goto return_label36;
+  return_label36: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void abstractmetamodel___MMLocalClass___register_local_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___register_local_property, 467};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 491, LOCATE_abstractmetamodel___MMLocalClass___register_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable0 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable0 /*p*/) /*MMLocalProperty::global*/;
-  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*/) /*MMGlobalProperty::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass___register_local_property, 470); nit_exit(1);}
+  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_abstractmetamodel___MMLocalClass___register_local_property, LOCATE_abstractmetamodel, 494); nit_exit(1);}
   variable1 = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
   variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable0 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable0 /*p*/) /*MMLocalProperty::global*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1, variable2) /*Map::has_key*/;
@@ -994,7 +1048,7 @@ void abstractmetamodel___MMLocalClass___register_local_property(val_t  self, val
   return;
 }
 void abstractmetamodel___MMLocalClass___register_global_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___register_global_property, 477};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 501, LOCATE_abstractmetamodel___MMLocalClass___register_global_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1005,238 +1059,229 @@ void abstractmetamodel___MMLocalClass___register_global_property(val_t  self, va
   variable0 =  param0;
   variable2 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable0 /*glob*/) /*MMGlobalProperty::intro*/;
   variable1 = variable2;
-  variable3 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMConcreteProperty::name*/;
+  variable3 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMLocalProperty::name*/;
   variable2 = variable3;
   variable4 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
   variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable2 /*name*/) /*Map::[]*/;
   variable3 = variable4;
-  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*/) /*Array::==*/)));
+  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[MMGlobalProperty]*/
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable0 /*glob*/) /*Array::add*/;
+    variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+    ((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*/
     variable4 = ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/;
     variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable2 /*name*/) /*Map::[]*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*glob*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*glob*/) /*AbstractArray::add*/;
   }
   variable4 = ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/;
-  ((abstract_collection___SimpleCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*glob*/) /*Set::add*/;
+  ((abstract_collection___SimpleCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*glob*/) /*SimpleCollection::add*/;
   ((abstractmetamodel___MMLocalClass___register_local_property_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___register_local_property))( self,  variable1 /*prop*/) /*MMLocalClass::register_local_property*/;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMLocalClass_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass_____bra, 492};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 516, LOCATE_abstractmetamodel___MMLocalClass_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
-  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*/) /*Map::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass_____bra, 495); 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*/) /*MMGlobalProperty::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass_____bra, 496); nit_exit(1);}
+  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_abstractmetamodel___MMLocalClass_____bra, LOCATE_abstractmetamodel, 519); 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_abstractmetamodel___MMLocalClass_____bra, LOCATE_abstractmetamodel, 520); nit_exit(1);}
   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(variable1)) { /*if*/
     variable1 = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self) /*MMLocalClass::_local_property_by_global*/;
     variable1 = ((abstract_collection___Map_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*glob*/) /*Map::[]*/;
-    goto return_label39;
+    goto return_label41;
   }
   variable1 =  NIT_NULL /*null*/;
-  goto return_label39;
-  return_label39: while(false);
+  goto return_label41;
+  return_label41: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t abstractmetamodel___MMLocalClass___context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___context, 503};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 527, LOCATE_abstractmetamodel___MMLocalClass___context};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___module))( self) /*MMLocalClass::module*/;
   variable0 = ((abstractmetamodel___MMModule___context_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___context))(variable0) /*MMModule::context*/;
-  goto return_label40;
-  return_label40: while(false);
+  goto return_label42;
+  return_label42: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t abstractmetamodel___MMLocalClass___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalClass___to_s, 506};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 530, LOCATE_abstractmetamodel___MMLocalClass___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstractmetamodel___MMLocalClass____name( self) /*MMLocalClass::_name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
-  goto return_label41;
-  return_label41: while(false);
+  goto return_label43;
+  return_label43: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalProperty___intro(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___intro, 516};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 540, LOCATE_abstractmetamodel___MMGlobalProperty___intro};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalProperty____intro( self) /*MMGlobalProperty::_intro*/;
 }
 val_t abstractmetamodel___MMGlobalProperty___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___local_class, 519};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 543, LOCATE_abstractmetamodel___MMGlobalProperty___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
-  variable0 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable0) /*MMConcreteProperty::local_class*/;
-  goto return_label42;
-  return_label42: while(false);
+  variable0 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable0) /*MMLocalProperty::local_class*/;
+  goto return_label44;
+  return_label44: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy, 525};
+val_t abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 549, LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
-  return ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self) /*MMGlobalProperty::_concrete_property_hierarchy*/;
+  return ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self) /*MMGlobalProperty::_property_hierarchy*/;
 }
 void abstractmetamodel___MMGlobalProperty___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___init, 528};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 552, LOCATE_abstractmetamodel___MMGlobalProperty___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   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*/) /*MMConcreteProperty::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___init, 531); nit_exit(1);}
-  variable1 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( variable0 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( variable0 /*p*/) /*MMConcreteProperty::concrete_property*/;
-  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*/) /*MMConcreteProperty::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___init, 532); nit_exit(1);}
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMConcreteProperty]*/
-  ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self) /*MMGlobalProperty::_concrete_property_hierarchy*/ = variable1;
+  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]*/
+  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[MMConcreteProperty]*/
-  ((abstractmetamodel___MMGlobalProperty___add_concrete_property_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___add_concrete_property))( self,  variable0 /*p*/, variable1) /*MMGlobalProperty::add_concrete_property*/;
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
+  ((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;
   return;
 }
 val_t abstractmetamodel___MMGlobalProperty___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___to_s, 540};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 563, LOCATE_abstractmetamodel___MMGlobalProperty___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
-  variable0 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___full_name))(variable0) /*MMConcreteProperty::full_name*/;
-  goto return_label44;
-  return_label44: while(false);
+  variable0 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___full_name))(variable0) /*MMLocalProperty::full_name*/;
+  goto return_label46;
+  return_label46: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-void abstractmetamodel___MMGlobalProperty___add_concrete_property(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___add_concrete_property, 542};
+void abstractmetamodel___MMGlobalProperty___add_local_property(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 565, LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*i*/ ==  NIT_NULL /*null*/) || (( variable0 /*i*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*i*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*i*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*i*/,COLOR_kernel___Object_____eqeq))( variable0 /*i*/,  NIT_NULL /*null*/) /*MMConcreteProperty::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___add_concrete_property, 545); nit_exit(1);}
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*sup*/ ==  NIT_NULL /*null*/) || (( variable1 /*sup*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*sup*/,COLOR_kernel___Object_____eqeq))( variable1 /*sup*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___add_concrete_property, 546); nit_exit(1);}
-  variable2 = ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self) /*MMGlobalProperty::_concrete_property_hierarchy*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*i*/ ==  NIT_NULL /*null*/) || (( variable0 /*i*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*i*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*i*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*i*/,COLOR_kernel___Object_____eqeq))( variable0 /*i*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property, LOCATE_abstractmetamodel, 568); nit_exit(1);}
+  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___MMGlobalProperty___add_local_property, LOCATE_abstractmetamodel, 569); nit_exit(1);}
+  variable2 = ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self) /*MMGlobalProperty::_property_hierarchy*/;
   variable2 = ((partial_order___PartialOrder___add_t)CALL(variable2,COLOR_partial_order___PartialOrder___add))(variable2,  variable0 /*i*/,  variable1 /*sup*/) /*PartialOrder::add*/;
-  ATTR_abstractmetamodel___MMConcreteProperty____cprhe( variable0 /*i*/) /*MMConcreteProperty::_cprhe*/ = variable2;
+  ATTR_abstractmetamodel___MMLocalProperty____prhe( variable0 /*i*/) /*MMLocalProperty::_prhe*/ = variable2;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalProperty___is_attribute(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute, 550};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 573, LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable0 = TAG_Bool((variable0==NIT_NULL) || VAL_ISA(variable0, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
-  goto return_label46;
-  return_label46: while(false);
+  goto return_label48;
+  return_label48: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalProperty___is_method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___is_method, 553};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 576, LOCATE_abstractmetamodel___MMGlobalProperty___is_method};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
   variable0 = TAG_Bool((variable0==NIT_NULL) || VAL_ISA(variable0, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
-  goto return_label47;
-  return_label47: while(false);
+  goto return_label49;
+  return_label49: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t abstractmetamodel___MMGlobalProperty___is_init(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___is_init, 556};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalProperty____is_init( self) /*MMGlobalProperty::_is_init*/;
 }
 void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq, 556};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMGlobalProperty____is_init( self) /*MMGlobalProperty::_is_init*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMGlobalProperty___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level, 559};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self) /*MMGlobalProperty::_visibility_level*/;
 }
 void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq, 559};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self) /*MMGlobalProperty::_visibility_level*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t abstractmetamodel___MMLocalProperty___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___name, 569};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 591, LOCATE_abstractmetamodel___MMLocalProperty___name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____name( self) /*MMLocalProperty::_name*/;
 }
 val_t abstractmetamodel___MMLocalProperty___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___local_class, 572};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 594, LOCATE_abstractmetamodel___MMLocalProperty___local_class};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/;
 }
 val_t abstractmetamodel___MMLocalProperty___global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___global, 575};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 597, LOCATE_abstractmetamodel___MMLocalProperty___global};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/;
 }
-val_t abstractmetamodel___MMLocalProperty___super_prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___super_prop, 578};
+val_t abstractmetamodel___MMLocalProperty___prhe(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 600, LOCATE_abstractmetamodel___MMLocalProperty___prhe};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
-  return ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_prop*/;
-}
-val_t abstractmetamodel___MMLocalProperty___concrete_property(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___concrete_property, 582};
-  trace.prev = tracehead; tracehead = &trace;
-  tracehead = trace.prev;
-  return ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self) /*MMLocalProperty::_concrete_property*/;
+  return ATTR_abstractmetamodel___MMLocalProperty____prhe( self) /*MMLocalProperty::_prhe*/;
 }
 val_t abstractmetamodel___MMLocalProperty___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___module, 586};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 603, LOCATE_abstractmetamodel___MMLocalProperty___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
-  goto return_label48;
-  return_label48: while(false);
+  goto return_label50;
+  return_label50: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___full_name, 589};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 606, LOCATE_abstractmetamodel___MMLocalProperty___full_name};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -1254,7 +1299,7 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
     val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*MMGlobalProperty::==*/)))));
+  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*/
@@ -1282,11 +1327,11 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
     variable13 = NEW_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_label49;
+    goto return_label51;
   } else { /*if*/
     variable0 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
     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) /*MMConcreteProperty::==*/)))));
+    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*/
@@ -1314,7 +1359,7 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
       variable13 = NEW_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_label49;
+      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*/
@@ -1337,93 +1382,84 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self) {
       ((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*/;
       variable11 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable11,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable11) /*MMGlobalProperty::intro*/;
-      variable11 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL(variable11,COLOR_abstractmetamodel___MMLocalProperty___full_name))(variable11) /*MMConcreteProperty::full_name*/;
+      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*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable14) /*String::append*/;
-      goto return_label49;
+      goto return_label51;
     }
   }
-  return_label49: while(false);
+  return_label51: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void abstractmetamodel___MMLocalProperty___set_global(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___set_global, 601};
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 618, LOCATE_abstractmetamodel___MMLocalProperty___set_global};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*MMGlobalProperty::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalProperty___set_global, 604); nit_exit(1);}
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___set_global, LOCATE_abstractmetamodel, 621); nit_exit(1);}
   ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/ =  variable0 /*g*/;
   variable1 = ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/;
   ((abstractmetamodel___MMLocalClass___register_local_property_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___register_local_property))(variable1,  self) /*MMLocalClass::register_local_property*/;
   tracehead = trace.prev;
   return;
 }
-val_t abstractmetamodel___MMLocalProperty___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___to_s, 609};
-  val_t variable0;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
-  variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
-  goto return_label51;
-  return_label51: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-void abstractmetamodel___MMLocalProperty___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMLocalProperty___init, 611};
+void abstractmetamodel___MMLocalProperty___new_global(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 626, LOCATE_abstractmetamodel___MMLocalProperty___new_global};
   val_t variable0;
   val_t variable1;
-  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMLocalProperty].i]) return;
-  ATTR_abstractmetamodel___MMLocalProperty____name( self) /*MMLocalProperty::_name*/ =  variable0 /*n*/;
-  ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/ =  variable1 /*bc*/;
-  ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self) /*MMLocalProperty::_concrete_property*/ =  variable2 /*i*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMLocalProperty].i] = 1;
+  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*/
+  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*/;
+  ((abstractmetamodel___MMLocalClass___register_global_property_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___register_global_property))(variable0, variable1) /*MMLocalClass::register_global_property*/;
   tracehead = trace.prev;
   return;
 }
-val_t abstractmetamodel___MMConcreteProperty___cprhe(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMConcreteProperty___cprhe, 637};
+val_t abstractmetamodel___MMLocalProperty___to_s(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 634, LOCATE_abstractmetamodel___MMLocalProperty___to_s};
+  val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  variable0 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
+  variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
+  goto return_label54;
+  return_label54: while(false);
   tracehead = trace.prev;
-  return ATTR_abstractmetamodel___MMConcreteProperty____cprhe( self) /*MMConcreteProperty::_cprhe*/;
+  return variable0;
 }
-val_t abstractmetamodel___MMConcreteProperty___need_super(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMConcreteProperty___need_super, 640};
+val_t abstractmetamodel___MMLocalProperty___need_super(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
-  return ATTR_abstractmetamodel___MMConcreteProperty____need_super( self) /*MMConcreteProperty::_need_super*/;
+  return ATTR_abstractmetamodel___MMLocalProperty____need_super( self) /*MMLocalProperty::_need_super*/;
 }
-void abstractmetamodel___MMConcreteProperty___need_super__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMConcreteProperty___need_super__eq, 640};
+void abstractmetamodel___MMLocalProperty___need_super__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq};
   trace.prev = tracehead; tracehead = &trace;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super( self) /*MMConcreteProperty::_need_super*/ =  param0;
+  ATTR_abstractmetamodel___MMLocalProperty____need_super( self) /*MMLocalProperty::_need_super*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-void abstractmetamodel___MMConcreteProperty___new_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstractmetamodel___MMConcreteProperty___new_global, 643};
+void abstractmetamodel___MMLocalProperty___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_abstractmetamodel, 639, LOCATE_abstractmetamodel___MMLocalProperty___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMConcreteProperty::_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*/) /*MMGlobalProperty::==*/)))));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMConcreteProperty___new_global, 646); nit_exit(1);}
-  variable0 = NEW_abstractmetamodel___MMGlobalProperty___init( self); /*new MMGlobalProperty*/
-  ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMConcreteProperty::_global*/ = variable0;
-  variable0 = ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMConcreteProperty::_local_class*/;
-  variable1 = ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMConcreteProperty::_global*/;
-  ((abstractmetamodel___MMLocalClass___register_global_property_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___register_global_property))(variable0, variable1) /*MMLocalClass::register_global_property*/;
+  variable0 =  param0;
+  variable1 =  param1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMLocalProperty].i]) return;
+  ATTR_abstractmetamodel___MMLocalProperty____name( self) /*MMLocalProperty::_name*/ =  variable0 /*n*/;
+  ATTR_abstractmetamodel___MMLocalProperty____local_class( self) /*MMLocalProperty::_local_class*/ =  variable1 /*bc*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMLocalProperty].i] = 1;
   tracehead = trace.prev;
   return;
 }
index f6ba315..489c3bf 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires abstractmetamodel. */
-#ifndef abstractmetamodel_3_sep
-#define abstractmetamodel_3_sep
+#ifndef abstractmetamodel_2_sep
+#define abstractmetamodel_2_sep
 #include "partial_order._sep.h"
 #include <nit_common.h>
 
@@ -23,9 +23,7 @@ extern const classtable_elt_t VFT_MMAttribute[];
 extern const classtable_elt_t VFT_MMMethod[];
 
 extern const classtable_elt_t VFT_MMConcreteClass[];
-
-extern const classtable_elt_t VFT_MMConcreteProperty[];
-#define LOCATE_abstractmetamodel "abstractmetamodel"
+#define LOCATE_abstractmetamodel "./metamodel//abstractmetamodel.nit"
 extern const int SFT_abstractmetamodel[];
 #define ID_MMContext SFT_abstractmetamodel[0]
 #define COLOR_MMContext SFT_abstractmetamodel[1]
@@ -153,64 +151,59 @@ extern const int SFT_abstractmetamodel[];
 #define COLOR_abstractmetamodel___MMLocalClass___get_property_by_name SFT_abstractmetamodel[123]
 #define COLOR_abstractmetamodel___MMLocalClass___attribute SFT_abstractmetamodel[124]
 #define COLOR_abstractmetamodel___MMLocalClass___method SFT_abstractmetamodel[125]
-#define COLOR_abstractmetamodel___MMLocalClass___super_methods_named SFT_abstractmetamodel[126]
-#define COLOR_abstractmetamodel___MMLocalClass___register_local_property SFT_abstractmetamodel[127]
-#define COLOR_abstractmetamodel___MMLocalClass___register_global_property SFT_abstractmetamodel[128]
-#define COLOR_abstractmetamodel___MMLocalClass_____bra SFT_abstractmetamodel[129]
-#define COLOR_abstractmetamodel___MMLocalClass___context SFT_abstractmetamodel[130]
-#define ID_MMGlobalProperty SFT_abstractmetamodel[131]
-#define COLOR_MMGlobalProperty SFT_abstractmetamodel[132]
-#define COLOR_abstractmetamodel___MMGlobalProperty____intro SFT_abstractmetamodel[133]
-#define COLOR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy SFT_abstractmetamodel[134]
-#define COLOR_abstractmetamodel___MMGlobalProperty____is_init SFT_abstractmetamodel[135]
-#define COLOR_abstractmetamodel___MMGlobalProperty____visibility_level SFT_abstractmetamodel[136]
-#define INIT_TABLE_POS_MMGlobalProperty SFT_abstractmetamodel[137]
-#define COLOR_abstractmetamodel___MMGlobalProperty___intro SFT_abstractmetamodel[138]
-#define COLOR_abstractmetamodel___MMGlobalProperty___local_class SFT_abstractmetamodel[139]
-#define COLOR_abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy SFT_abstractmetamodel[140]
-#define COLOR_abstractmetamodel___MMGlobalProperty___init SFT_abstractmetamodel[141]
-#define COLOR_abstractmetamodel___MMGlobalProperty___add_concrete_property SFT_abstractmetamodel[142]
-#define COLOR_abstractmetamodel___MMGlobalProperty___is_attribute SFT_abstractmetamodel[143]
-#define COLOR_abstractmetamodel___MMGlobalProperty___is_method SFT_abstractmetamodel[144]
-#define COLOR_abstractmetamodel___MMGlobalProperty___is_init SFT_abstractmetamodel[145]
-#define COLOR_abstractmetamodel___MMGlobalProperty___is_init__eq SFT_abstractmetamodel[146]
-#define COLOR_abstractmetamodel___MMGlobalProperty___visibility_level SFT_abstractmetamodel[147]
-#define COLOR_abstractmetamodel___MMGlobalProperty___visibility_level__eq SFT_abstractmetamodel[148]
-#define ID_MMLocalProperty SFT_abstractmetamodel[149]
-#define COLOR_MMLocalProperty SFT_abstractmetamodel[150]
-#define COLOR_abstractmetamodel___MMLocalProperty____name SFT_abstractmetamodel[151]
-#define COLOR_abstractmetamodel___MMLocalProperty____local_class SFT_abstractmetamodel[152]
-#define COLOR_abstractmetamodel___MMLocalProperty____global SFT_abstractmetamodel[153]
-#define COLOR_abstractmetamodel___MMLocalProperty____super_prop SFT_abstractmetamodel[154]
-#define COLOR_abstractmetamodel___MMLocalProperty____concrete_property SFT_abstractmetamodel[155]
-#define INIT_TABLE_POS_MMLocalProperty SFT_abstractmetamodel[156]
-#define COLOR_abstractmetamodel___MMLocalProperty___name SFT_abstractmetamodel[157]
-#define COLOR_abstractmetamodel___MMLocalProperty___local_class SFT_abstractmetamodel[158]
-#define COLOR_abstractmetamodel___MMLocalProperty___global SFT_abstractmetamodel[159]
-#define COLOR_abstractmetamodel___MMLocalProperty___super_prop SFT_abstractmetamodel[160]
-#define COLOR_abstractmetamodel___MMLocalProperty___concrete_property SFT_abstractmetamodel[161]
-#define COLOR_abstractmetamodel___MMLocalProperty___module SFT_abstractmetamodel[162]
-#define COLOR_abstractmetamodel___MMLocalProperty___full_name SFT_abstractmetamodel[163]
-#define COLOR_abstractmetamodel___MMLocalProperty___set_global SFT_abstractmetamodel[164]
-#define COLOR_abstractmetamodel___MMLocalProperty___init SFT_abstractmetamodel[165]
-#define ID_MMAttribute SFT_abstractmetamodel[166]
-#define COLOR_MMAttribute SFT_abstractmetamodel[167]
-#define INIT_TABLE_POS_MMAttribute SFT_abstractmetamodel[168]
-#define ID_MMMethod SFT_abstractmetamodel[169]
-#define COLOR_MMMethod SFT_abstractmetamodel[170]
-#define INIT_TABLE_POS_MMMethod SFT_abstractmetamodel[171]
-#define ID_MMConcreteClass SFT_abstractmetamodel[172]
-#define COLOR_MMConcreteClass SFT_abstractmetamodel[173]
-#define INIT_TABLE_POS_MMConcreteClass SFT_abstractmetamodel[174]
-#define ID_MMConcreteProperty SFT_abstractmetamodel[175]
-#define COLOR_MMConcreteProperty SFT_abstractmetamodel[176]
-#define COLOR_abstractmetamodel___MMConcreteProperty____cprhe SFT_abstractmetamodel[177]
-#define COLOR_abstractmetamodel___MMConcreteProperty____need_super SFT_abstractmetamodel[178]
-#define INIT_TABLE_POS_MMConcreteProperty SFT_abstractmetamodel[179]
-#define COLOR_abstractmetamodel___MMConcreteProperty___cprhe SFT_abstractmetamodel[180]
-#define COLOR_abstractmetamodel___MMConcreteProperty___need_super SFT_abstractmetamodel[181]
-#define COLOR_abstractmetamodel___MMConcreteProperty___need_super__eq SFT_abstractmetamodel[182]
-#define COLOR_abstractmetamodel___MMConcreteProperty___new_global SFT_abstractmetamodel[183]
+#define COLOR_abstractmetamodel___MMLocalClass___select_method SFT_abstractmetamodel[126]
+#define COLOR_abstractmetamodel___MMLocalClass___select_attribute SFT_abstractmetamodel[127]
+#define COLOR_abstractmetamodel___MMLocalClass___super_methods_named SFT_abstractmetamodel[128]
+#define COLOR_abstractmetamodel___MMLocalClass___register_local_property SFT_abstractmetamodel[129]
+#define COLOR_abstractmetamodel___MMLocalClass___register_global_property SFT_abstractmetamodel[130]
+#define COLOR_abstractmetamodel___MMLocalClass_____bra SFT_abstractmetamodel[131]
+#define COLOR_abstractmetamodel___MMLocalClass___context SFT_abstractmetamodel[132]
+#define ID_MMGlobalProperty SFT_abstractmetamodel[133]
+#define COLOR_MMGlobalProperty SFT_abstractmetamodel[134]
+#define COLOR_abstractmetamodel___MMGlobalProperty____intro SFT_abstractmetamodel[135]
+#define COLOR_abstractmetamodel___MMGlobalProperty____property_hierarchy SFT_abstractmetamodel[136]
+#define COLOR_abstractmetamodel___MMGlobalProperty____is_init SFT_abstractmetamodel[137]
+#define COLOR_abstractmetamodel___MMGlobalProperty____visibility_level SFT_abstractmetamodel[138]
+#define INIT_TABLE_POS_MMGlobalProperty SFT_abstractmetamodel[139]
+#define COLOR_abstractmetamodel___MMGlobalProperty___intro SFT_abstractmetamodel[140]
+#define COLOR_abstractmetamodel___MMGlobalProperty___local_class SFT_abstractmetamodel[141]
+#define COLOR_abstractmetamodel___MMGlobalProperty___property_hierarchy SFT_abstractmetamodel[142]
+#define COLOR_abstractmetamodel___MMGlobalProperty___init SFT_abstractmetamodel[143]
+#define COLOR_abstractmetamodel___MMGlobalProperty___add_local_property SFT_abstractmetamodel[144]
+#define COLOR_abstractmetamodel___MMGlobalProperty___is_attribute SFT_abstractmetamodel[145]
+#define COLOR_abstractmetamodel___MMGlobalProperty___is_method SFT_abstractmetamodel[146]
+#define COLOR_abstractmetamodel___MMGlobalProperty___is_init SFT_abstractmetamodel[147]
+#define COLOR_abstractmetamodel___MMGlobalProperty___is_init__eq SFT_abstractmetamodel[148]
+#define COLOR_abstractmetamodel___MMGlobalProperty___visibility_level SFT_abstractmetamodel[149]
+#define COLOR_abstractmetamodel___MMGlobalProperty___visibility_level__eq SFT_abstractmetamodel[150]
+#define ID_MMLocalProperty SFT_abstractmetamodel[151]
+#define COLOR_MMLocalProperty SFT_abstractmetamodel[152]
+#define COLOR_abstractmetamodel___MMLocalProperty____name SFT_abstractmetamodel[153]
+#define COLOR_abstractmetamodel___MMLocalProperty____local_class SFT_abstractmetamodel[154]
+#define COLOR_abstractmetamodel___MMLocalProperty____global SFT_abstractmetamodel[155]
+#define COLOR_abstractmetamodel___MMLocalProperty____prhe SFT_abstractmetamodel[156]
+#define COLOR_abstractmetamodel___MMLocalProperty____need_super SFT_abstractmetamodel[157]
+#define INIT_TABLE_POS_MMLocalProperty SFT_abstractmetamodel[158]
+#define COLOR_abstractmetamodel___MMLocalProperty___name SFT_abstractmetamodel[159]
+#define COLOR_abstractmetamodel___MMLocalProperty___local_class SFT_abstractmetamodel[160]
+#define COLOR_abstractmetamodel___MMLocalProperty___global SFT_abstractmetamodel[161]
+#define COLOR_abstractmetamodel___MMLocalProperty___prhe SFT_abstractmetamodel[162]
+#define COLOR_abstractmetamodel___MMLocalProperty___module SFT_abstractmetamodel[163]
+#define COLOR_abstractmetamodel___MMLocalProperty___full_name SFT_abstractmetamodel[164]
+#define COLOR_abstractmetamodel___MMLocalProperty___set_global SFT_abstractmetamodel[165]
+#define COLOR_abstractmetamodel___MMLocalProperty___new_global SFT_abstractmetamodel[166]
+#define COLOR_abstractmetamodel___MMLocalProperty___need_super SFT_abstractmetamodel[167]
+#define COLOR_abstractmetamodel___MMLocalProperty___need_super__eq SFT_abstractmetamodel[168]
+#define COLOR_abstractmetamodel___MMLocalProperty___init SFT_abstractmetamodel[169]
+#define ID_MMAttribute SFT_abstractmetamodel[170]
+#define COLOR_MMAttribute SFT_abstractmetamodel[171]
+#define INIT_TABLE_POS_MMAttribute SFT_abstractmetamodel[172]
+#define ID_MMMethod SFT_abstractmetamodel[173]
+#define COLOR_MMMethod SFT_abstractmetamodel[174]
+#define INIT_TABLE_POS_MMMethod SFT_abstractmetamodel[175]
+#define ID_MMConcreteClass SFT_abstractmetamodel[176]
+#define COLOR_MMConcreteClass SFT_abstractmetamodel[177]
+#define INIT_TABLE_POS_MMConcreteClass SFT_abstractmetamodel[178]
 typedef void (* abstractmetamodel___MMContext___init_t)(val_t  self, int* init_table);
 void abstractmetamodel___MMContext___init(val_t  self, int* init_table);
 val_t NEW_abstractmetamodel___MMContext___init();
@@ -473,6 +466,12 @@ val_t abstractmetamodel___MMLocalClass___attribute(val_t  self, val_t  param0);
 typedef val_t (* abstractmetamodel___MMLocalClass___method_t)(val_t  self, val_t  param0);
 val_t abstractmetamodel___MMLocalClass___method(val_t  self, val_t  param0);
 #define LOCATE_abstractmetamodel___MMLocalClass___method "abstractmetamodel::MMLocalClass::method"
+typedef val_t (* abstractmetamodel___MMLocalClass___select_method_t)(val_t  self, val_t  param0);
+val_t abstractmetamodel___MMLocalClass___select_method(val_t  self, val_t  param0);
+#define LOCATE_abstractmetamodel___MMLocalClass___select_method "abstractmetamodel::MMLocalClass::select_method"
+typedef val_t (* abstractmetamodel___MMLocalClass___select_attribute_t)(val_t  self, val_t  param0);
+val_t abstractmetamodel___MMLocalClass___select_attribute(val_t  self, val_t  param0);
+#define LOCATE_abstractmetamodel___MMLocalClass___select_attribute "abstractmetamodel::MMLocalClass::select_attribute"
 typedef val_t (* abstractmetamodel___MMLocalClass___super_methods_named_t)(val_t  self, val_t  param0);
 val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t  param0);
 #define LOCATE_abstractmetamodel___MMLocalClass___super_methods_named "abstractmetamodel::MMLocalClass::super_methods_named"
@@ -498,10 +497,10 @@ val_t abstractmetamodel___MMGlobalProperty___intro(val_t  self);
 typedef val_t (* abstractmetamodel___MMGlobalProperty___local_class_t)(val_t  self);
 val_t abstractmetamodel___MMGlobalProperty___local_class(val_t  self);
 #define LOCATE_abstractmetamodel___MMGlobalProperty___local_class "abstractmetamodel::MMGlobalProperty::local_class"
-#define ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy(recv) ATTR(recv, COLOR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy)
-typedef val_t (* abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy "abstractmetamodel::MMGlobalProperty::concrete_property_hierarchy"
+#define ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(recv) ATTR(recv, COLOR_abstractmetamodel___MMGlobalProperty____property_hierarchy)
+typedef val_t (* abstractmetamodel___MMGlobalProperty___property_hierarchy_t)(val_t  self);
+val_t abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t  self);
+#define LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy "abstractmetamodel::MMGlobalProperty::property_hierarchy"
 typedef void (* abstractmetamodel___MMGlobalProperty___init_t)(val_t  self, val_t  param0, int* init_table);
 void abstractmetamodel___MMGlobalProperty___init(val_t  self, val_t  param0, int* init_table);
 val_t NEW_abstractmetamodel___MMGlobalProperty___init(val_t  param0);
@@ -509,9 +508,9 @@ val_t NEW_abstractmetamodel___MMGlobalProperty___init(val_t  param0);
 typedef val_t (* abstractmetamodel___MMGlobalProperty___to_s_t)(val_t  self);
 val_t abstractmetamodel___MMGlobalProperty___to_s(val_t  self);
 #define LOCATE_abstractmetamodel___MMGlobalProperty___to_s "abstractmetamodel::MMGlobalProperty::(string::Object::to_s)"
-typedef void (* abstractmetamodel___MMGlobalProperty___add_concrete_property_t)(val_t  self, val_t  param0, val_t  param1);
-void abstractmetamodel___MMGlobalProperty___add_concrete_property(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___add_concrete_property "abstractmetamodel::MMGlobalProperty::add_concrete_property"
+typedef void (* abstractmetamodel___MMGlobalProperty___add_local_property_t)(val_t  self, val_t  param0, val_t  param1);
+void abstractmetamodel___MMGlobalProperty___add_local_property(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property "abstractmetamodel::MMGlobalProperty::add_local_property"
 typedef val_t (* abstractmetamodel___MMGlobalProperty___is_attribute_t)(val_t  self);
 val_t abstractmetamodel___MMGlobalProperty___is_attribute(val_t  self);
 #define LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute "abstractmetamodel::MMGlobalProperty::is_attribute"
@@ -544,14 +543,10 @@ val_t abstractmetamodel___MMLocalProperty___local_class(val_t  self);
 typedef val_t (* abstractmetamodel___MMLocalProperty___global_t)(val_t  self);
 val_t abstractmetamodel___MMLocalProperty___global(val_t  self);
 #define LOCATE_abstractmetamodel___MMLocalProperty___global "abstractmetamodel::MMLocalProperty::global"
-#define ATTR_abstractmetamodel___MMLocalProperty____super_prop(recv) ATTR(recv, COLOR_abstractmetamodel___MMLocalProperty____super_prop)
-typedef val_t (* abstractmetamodel___MMLocalProperty___super_prop_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___super_prop(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___super_prop "abstractmetamodel::MMLocalProperty::super_prop"
-#define ATTR_abstractmetamodel___MMLocalProperty____concrete_property(recv) ATTR(recv, COLOR_abstractmetamodel___MMLocalProperty____concrete_property)
-typedef val_t (* abstractmetamodel___MMLocalProperty___concrete_property_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___concrete_property(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___concrete_property "abstractmetamodel::MMLocalProperty::concrete_property"
+#define ATTR_abstractmetamodel___MMLocalProperty____prhe(recv) ATTR(recv, COLOR_abstractmetamodel___MMLocalProperty____prhe)
+typedef val_t (* abstractmetamodel___MMLocalProperty___prhe_t)(val_t  self);
+val_t abstractmetamodel___MMLocalProperty___prhe(val_t  self);
+#define LOCATE_abstractmetamodel___MMLocalProperty___prhe "abstractmetamodel::MMLocalProperty::prhe"
 typedef val_t (* abstractmetamodel___MMLocalProperty___module_t)(val_t  self);
 val_t abstractmetamodel___MMLocalProperty___module(val_t  self);
 #define LOCATE_abstractmetamodel___MMLocalProperty___module "abstractmetamodel::MMLocalProperty::module"
@@ -561,25 +556,21 @@ val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self);
 typedef void (* abstractmetamodel___MMLocalProperty___set_global_t)(val_t  self, val_t  param0);
 void abstractmetamodel___MMLocalProperty___set_global(val_t  self, val_t  param0);
 #define LOCATE_abstractmetamodel___MMLocalProperty___set_global "abstractmetamodel::MMLocalProperty::set_global"
+typedef void (* abstractmetamodel___MMLocalProperty___new_global_t)(val_t  self);
+void abstractmetamodel___MMLocalProperty___new_global(val_t  self);
+#define LOCATE_abstractmetamodel___MMLocalProperty___new_global "abstractmetamodel::MMLocalProperty::new_global"
 typedef val_t (* abstractmetamodel___MMLocalProperty___to_s_t)(val_t  self);
 val_t abstractmetamodel___MMLocalProperty___to_s(val_t  self);
 #define LOCATE_abstractmetamodel___MMLocalProperty___to_s "abstractmetamodel::MMLocalProperty::(string::Object::to_s)"
-typedef void (* abstractmetamodel___MMLocalProperty___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void abstractmetamodel___MMLocalProperty___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-val_t NEW_abstractmetamodel___MMLocalProperty___init(val_t  param0, val_t  param1, val_t  param2);
+#define ATTR_abstractmetamodel___MMLocalProperty____need_super(recv) ATTR(recv, COLOR_abstractmetamodel___MMLocalProperty____need_super)
+typedef val_t (* abstractmetamodel___MMLocalProperty___need_super_t)(val_t  self);
+val_t abstractmetamodel___MMLocalProperty___need_super(val_t  self);
+#define LOCATE_abstractmetamodel___MMLocalProperty___need_super "abstractmetamodel::MMLocalProperty::need_super"
+typedef void (* abstractmetamodel___MMLocalProperty___need_super__eq_t)(val_t  self, val_t  param0);
+void abstractmetamodel___MMLocalProperty___need_super__eq(val_t  self, val_t  param0);
+#define LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq "abstractmetamodel::MMLocalProperty::need_super="
+typedef void (* abstractmetamodel___MMLocalProperty___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
+void abstractmetamodel___MMLocalProperty___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
+val_t NEW_abstractmetamodel___MMLocalProperty___init(val_t  param0, val_t  param1);
 #define LOCATE_abstractmetamodel___MMLocalProperty___init "abstractmetamodel::MMLocalProperty::init"
-#define ATTR_abstractmetamodel___MMConcreteProperty____cprhe(recv) ATTR(recv, COLOR_abstractmetamodel___MMConcreteProperty____cprhe)
-typedef val_t (* abstractmetamodel___MMConcreteProperty___cprhe_t)(val_t  self);
-val_t abstractmetamodel___MMConcreteProperty___cprhe(val_t  self);
-#define LOCATE_abstractmetamodel___MMConcreteProperty___cprhe "abstractmetamodel::MMConcreteProperty::cprhe"
-#define ATTR_abstractmetamodel___MMConcreteProperty____need_super(recv) ATTR(recv, COLOR_abstractmetamodel___MMConcreteProperty____need_super)
-typedef val_t (* abstractmetamodel___MMConcreteProperty___need_super_t)(val_t  self);
-val_t abstractmetamodel___MMConcreteProperty___need_super(val_t  self);
-#define LOCATE_abstractmetamodel___MMConcreteProperty___need_super "abstractmetamodel::MMConcreteProperty::need_super"
-typedef void (* abstractmetamodel___MMConcreteProperty___need_super__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMConcreteProperty___need_super__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMConcreteProperty___need_super__eq "abstractmetamodel::MMConcreteProperty::need_super="
-typedef void (* abstractmetamodel___MMConcreteProperty___new_global_t)(val_t  self);
-void abstractmetamodel___MMConcreteProperty___new_global(val_t  self);
-#define LOCATE_abstractmetamodel___MMConcreteProperty___new_global "abstractmetamodel::MMConcreteProperty::new_global"
 #endif
index e00bc69..85dbd1f 100644 (file)
@@ -1,19 +1,19 @@
 /* This C file is generated by NIT to compile module abstracttool. */
 #include "abstracttool._sep.h"
 void abstracttool___AbstractCompiler___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool___AbstractCompiler___init, 28};
+  struct trace_t trace = {NULL, LOCATE_abstracttool, 28, LOCATE_abstracttool___AbstractCompiler___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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*/
-  ((mmloader___ToolContext___register_loader_t)CALL( self,COLOR_mmloader___ToolContext___register_loader))( self, variable0) /*AbstractCompiler::register_loader*/;
+  ((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;
   return;
 }
 void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool___AbstractCompiler___exec_cmd_line, 34};
+  struct trace_t trace = {NULL, LOCATE_abstracttool, 34, LOCATE_abstracttool___AbstractCompiler___exec_cmd_line};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23,30 +23,30 @@ void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
-  ((mmloader___ToolContext___process_options_t)CALL( self,COLOR_mmloader___ToolContext___process_options))( self) /*AbstractCompiler::process_options*/;
-  variable0 = ((mmloader___ToolContext___opt_help_t)CALL( self,COLOR_mmloader___ToolContext___opt_help))( self) /*AbstractCompiler::opt_help*/;
-  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*OptionBool::value*/;
+  ((mmloader___ToolContext___process_options_t)CALL( self,COLOR_mmloader___ToolContext___process_options))( self) /*ToolContext::process_options*/;
+  variable0 = ((mmloader___ToolContext___opt_help_t)CALL( self,COLOR_mmloader___ToolContext___opt_help))( self) /*ToolContext::opt_help*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*AbstractCompiler::option_context*/;
+    variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
     ((opts___OptionContext___usage_t)CALL(variable0,COLOR_opts___OptionContext___usage))(variable0) /*OptionContext::usage*/;
     exit(UNTAG_Int( TAG_Int(0)));
   }
-  variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*AbstractCompiler::option_context*/;
+  variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
   variable0 = ((opts___OptionContext___rest_t)CALL(variable0,COLOR_opts___OptionContext___rest))(variable0) /*OptionContext::rest*/;
-  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Array::length*/;
+  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   variable0 = TAG_Bool((variable0)==( TAG_Int(0)));
   if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*AbstractCompiler::option_context*/;
+    variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
     ((opts___OptionContext___usage_t)CALL(variable0,COLOR_opts___OptionContext___usage))(variable0) /*OptionContext::usage*/;
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  variable1 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*AbstractCompiler::option_context*/;
+  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[MMModule]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
-  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*rest*/,COLOR_abstract_collection___Collection___length))( variable0 /*rest*/) /*Array::length*/;
-  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
+  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]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -57,33 +57,33 @@ void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
     variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable7 = variable6;
     if (UNTAG_Bool(variable7)) { /* and */
-      variable7 = ATTR_array___AbstractArray____length( variable0 /*rest*/) /*Array::_length*/;
+      variable7 = ATTR_array___AbstractArray____length( variable0 /*rest*/) /*AbstractArray::_length*/;
       variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
     }
     variable6 = variable7;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_abstracttool, 229); nit_exit(1);}
     variable6 = ATTR_array___Array____items( variable0 /*rest*/) /*Array::_items*/;
     variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
     goto return_label3;
     return_label3: while(false);
     variable5 = variable6;
-    variable5 = ((mmloader___ToolContext___get_module_from_filename_t)CALL( self,COLOR_mmloader___ToolContext___get_module_from_filename))( self, variable5) /*AbstractCompiler::get_module_from_filename*/;
+    variable5 = ((mmloader___ToolContext___get_module_from_filename_t)CALL( self,COLOR_mmloader___ToolContext___get_module_from_filename))( self, variable5) /*ToolContext::get_module_from_filename*/;
     variable4 = variable5;
-    ((array___AbstractArray___add_t)CALL( variable1 /*to_do*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*to_do*/,  variable4 /*mod*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable1 /*to_do*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*to_do*/,  variable4 /*mod*/) /*AbstractArray::add*/;
     continue_2: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_2: while(0);
-  variable2 = ((mmloader___ToolContext___opt_log_t)CALL( self,COLOR_mmloader___ToolContext___opt_log))( self) /*AbstractCompiler::opt_log*/;
-  variable2 = ((opts___Option___value_t)CALL(variable2,COLOR_opts___Option___value))(variable2) /*OptionBool::value*/;
+  variable2 = ((mmloader___ToolContext___opt_log_t)CALL( self,COLOR_mmloader___ToolContext___opt_log))( self) /*ToolContext::opt_log*/;
+  variable2 = ((opts___Option___value_t)CALL(variable2,COLOR_opts___Option___value))(variable2) /*Option::value*/;
   if (UNTAG_Bool(variable2)) { /*if*/
     ((abstracttool___AbstractCompiler___dump_context_info_t)CALL( self,COLOR_abstracttool___AbstractCompiler___dump_context_info))( self) /*AbstractCompiler::dump_context_info*/;
   }
-  variable2 = ((array___AbstractArray___is_empty_t)CALL( variable1 /*to_do*/,COLOR_abstract_collection___Collection___is_empty))( variable1 /*to_do*/) /*Array::is_empty*/;
+  variable2 = ((array___AbstractArray___is_empty_t)CALL( variable1 /*to_do*/,COLOR_abstract_collection___Collection___is_empty))( variable1 /*to_do*/) /*AbstractArray::is_empty*/;
   variable2 =  TAG_Bool(!UNTAG_Bool(variable2));
   if (UNTAG_Bool(variable2)) { /* and */
-    variable2 = ((mmloader___ToolContext___opt_only_metamodel_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_metamodel))( self) /*AbstractCompiler::opt_only_metamodel*/;
-    variable2 = ((opts___Option___value_t)CALL(variable2,COLOR_opts___Option___value))(variable2) /*OptionBool::value*/;
+    variable2 = ((mmloader___ToolContext___opt_only_metamodel_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_metamodel))( self) /*ToolContext::opt_only_metamodel*/;
+    variable2 = ((opts___Option___value_t)CALL(variable2,COLOR_opts___Option___value))(variable2) /*Option::value*/;
     variable2 =  TAG_Bool(!UNTAG_Bool(variable2));
   }
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -93,15 +93,16 @@ void abstracttool___AbstractCompiler___exec_cmd_line(val_t  self) {
   return;
 }
 void abstracttool___AbstractCompiler___perform_work(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool___AbstractCompiler___perform_work, 63};
+  struct trace_t trace = {NULL, LOCATE_abstracttool, 63, LOCATE_abstracttool___AbstractCompiler___perform_work};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "perform_work", LOCATE_array___Array_____bra, 63);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_abstracttool, 63);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool___AbstractCompiler___dump_context_info, 65};
+  struct trace_t trace = {NULL, LOCATE_abstracttool, 65, LOCATE_abstracttool___AbstractCompiler___dump_context_info};
   val_t variable0;
     val_t variable1;
   val_t variable2;
@@ -112,7 +113,7 @@ void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
   val_t variable7;
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*AbstractCompiler::module_hierarchy*/;
+  variable0 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*MMContext::module_hierarchy*/;
   variable0 = ((partial_order___PartialOrder___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*PartialOrder::iterator*/;
   while (true) { /*for*/
     variable1 = ((abstract_collection___Iterator___is_ok_t)CALL(variable0,COLOR_abstract_collection___Iterator___is_ok))(variable0) /*Iterator::is_ok*/;
@@ -123,14 +124,14 @@ 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[MMModule]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   variable0 = variable1;
-  variable1 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*AbstractCompiler::module_hierarchy*/;
-  ((abstract_collection___SimpleCollection___add_all_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable0 /*tab*/, variable1) /*Array::add_all*/;
-  variable2 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*AbstractCompiler::module_hierarchy*/;
+  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*/
-  variable2 = ((string___Collection___join_t)CALL(variable2,COLOR_string___Collection___join))(variable2, variable3) /*Array::join*/;
+  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*/
@@ -144,7 +145,7 @@ void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
   variable4 = NEW_file___OFStream___open(variable3); /*new OFStream*/
   variable3 = variable4;
   variable2 = variable3;
-  variable3 = ((abstractmetamodel___MMContext___class_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___class_hierarchy))( self) /*AbstractCompiler::class_hierarchy*/;
+  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*/;
@@ -160,7 +161,7 @@ void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
   variable4 = NEW_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) /*AbstractCompiler::module_hierarchy*/;
+  variable3 = ((abstractmetamodel___MMContext___module_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMContext___module_hierarchy))( self) /*MMContext::module_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*/;
@@ -168,7 +169,7 @@ void abstracttool___AbstractCompiler___dump_context_info(val_t  self) {
   return;
 }
 void abstracttool___MMModule___dump_module_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool___MMModule___dump_module_info, 85};
+  struct trace_t trace = {NULL, LOCATE_abstracttool, 85, LOCATE_abstracttool___MMModule___dump_module_info};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -231,7 +232,7 @@ void abstracttool___MMModule___dump_module_info(val_t  self) {
   variable3 = variable4;
   variable2 = variable3 /*f=*/;
   variable3 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMModule::local_classes*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+  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*/
@@ -248,7 +249,7 @@ void abstracttool___MMModule___dump_module_info(val_t  self) {
   return;
 }
 void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_abstracttool___MMLocalClass___dump_properties, 103};
+  struct trace_t trace = {NULL, LOCATE_abstracttool, 103, LOCATE_abstracttool___MMLocalClass___dump_properties};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -277,7 +278,7 @@ void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
   ((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*/;
   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) /*Set::iterator*/;
+  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*/
@@ -294,7 +295,8 @@ void abstracttool___MMLocalClass___dump_properties(val_t  self, val_t  param0) {
     variable8 = NEW_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___MMLocalProperty___signature_t)CALL( variable3 /*lp*/,COLOR_static_type___MMLocalProperty___signature))( variable3 /*lp*/) /*MMLocalProperty::signature*/;
+    variable10 = ((genericity___MMLocalClass___get_type_t)CALL( self,COLOR_static_type___MMLocalClass___get_type))( self) /*MMLocalClass::get_type*/;
+    variable10 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable3 /*lp*/,COLOR_static_type___MMLocalProperty___signature_for))( variable3 /*lp*/, variable10) /*MMLocalProperty::signature_for*/;
     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*/;
index a991b28..2d137d6 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires abstracttool. */
-#ifndef abstracttool_3_sep
-#define abstracttool_3_sep
+#ifndef abstracttool_2_sep
+#define abstracttool_2_sep
 #include "syntax._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_AbstractCompiler[];
-#define LOCATE_abstracttool "abstracttool"
+#define LOCATE_abstracttool "./abstracttool.nit"
 extern const int SFT_abstracttool[];
 #define ID_AbstractCompiler SFT_abstracttool[0]
 #define COLOR_AbstractCompiler SFT_abstracttool[1]
index 057347d..23410d5 100644 (file)
@@ -1,21 +1,22 @@
 /* This C file is generated by NIT to compile module array. */
 #include "array._sep.h"
 void array___AbstractArray___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___enlarge, 23};
+  struct trace_t trace = {NULL, LOCATE_array, 23, LOCATE_array___AbstractArray___enlarge};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "enlarge", LOCATE_array, 23);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t array___AbstractArray___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___length, 25};
+  struct trace_t trace = {NULL, LOCATE_array, 25, LOCATE_array___AbstractArray___length};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
 }
 val_t array___AbstractArray___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___is_empty, 28};
+  struct trace_t trace = {NULL, LOCATE_array, 28, LOCATE_array___AbstractArray___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
@@ -26,7 +27,7 @@ val_t array___AbstractArray___is_empty(val_t  self) {
   return variable0;
 }
 void array___AbstractArray___push(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___push, 30};
+  struct trace_t trace = {NULL, LOCATE_array, 30, LOCATE_array___AbstractArray___push};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -35,13 +36,13 @@ void array___AbstractArray___push(val_t  self, val_t  param0) {
   return;
 }
 val_t array___AbstractArray___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___pop, 32};
+  struct trace_t trace = {NULL, LOCATE_array, 32, LOCATE_array___AbstractArray___pop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((array___AbstractArray___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*AbstractArray::is_empty*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'not_empty' ", LOCATE_array___AbstractArray___pop, 34); nit_exit(1);}
-  variable1 = ((abstract_collection___IndexedCollection___last_t)CALL( self,COLOR_abstract_collection___IndexedCollection___last))( self) /*AbstractArray::last*/;
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___AbstractArray___pop, LOCATE_array, 34); nit_exit(1);}
+  variable1 = ((abstract_collection___IndexedCollection___last_t)CALL( self,COLOR_abstract_collection___IndexedCollection___last))( self) /*IndexedCollection::last*/;
   variable0 = variable1;
   ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)-UNTAG_Int( TAG_Int(1)));
   variable0 =  variable0 /*r*/;
@@ -51,7 +52,7 @@ val_t array___AbstractArray___pop(val_t  self) {
   return variable0;
 }
 val_t array___AbstractArray___shift(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___shift, 40};
+  struct trace_t trace = {NULL, LOCATE_array, 40, LOCATE_array___AbstractArray___shift};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -59,8 +60,8 @@ val_t array___AbstractArray___shift(val_t  self) {
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((array___AbstractArray___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*AbstractArray::is_empty*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'not_empty' ", LOCATE_array___AbstractArray___shift, 42); nit_exit(1);}
-  variable1 = ((abstract_collection___IndexedCollection___first_t)CALL( self,COLOR_abstract_collection___Collection___first))( self) /*AbstractArray::first*/;
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", " 'not_empty' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___AbstractArray___shift, LOCATE_array, 42); nit_exit(1);}
+  variable1 = ((abstract_collection___IndexedCollection___first_t)CALL( self,COLOR_abstract_collection___Collection___first))( self) /*IndexedCollection::first*/;
   variable0 = variable1;
   variable1 =  TAG_Int(1);
   variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
@@ -69,8 +70,8 @@ val_t array___AbstractArray___shift(val_t  self) {
     variable3 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l*/));
     if (!UNTAG_Bool(variable3)) break; /* while*/
     variable3 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
-    variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*AbstractArray::[]*/;
-    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable3, variable4) /*AbstractArray::[]=*/;
+    variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*Map::[]*/;
+    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable3, variable4) /*Map::[]=*/;
     variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*i*/;
     continue_4: while(0);
   }
@@ -84,7 +85,7 @@ val_t array___AbstractArray___shift(val_t  self) {
   return variable0;
 }
 void array___AbstractArray___unshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___unshift, 54};
+  struct trace_t trace = {NULL, LOCATE_array, 54, LOCATE_array___AbstractArray___unshift};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -98,18 +99,18 @@ void array___AbstractArray___unshift(val_t  self, val_t  param0) {
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)+UNTAG_Int( TAG_Int(1)));
-    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*AbstractArray::[]*/;
-    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable2, variable3) /*AbstractArray::[]=*/;
+    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*Map::[]*/;
+    ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable2, variable3) /*Map::[]=*/;
     variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1))) /*i*/;
     continue_6: while(0);
   }
   break_6: while(0);
-  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  TAG_Int(0),  variable0 /*item*/) /*AbstractArray::[]=*/;
+  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  TAG_Int(0),  variable0 /*item*/) /*Map::[]=*/;
   tracehead = trace.prev;
   return;
 }
 void array___AbstractArray___insert(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___insert, 64};
+  struct trace_t trace = {NULL, LOCATE_array, 64, LOCATE_array___AbstractArray___insert};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -124,30 +125,30 @@ void array___AbstractArray___insert(val_t  self, val_t  param0, val_t  param1) {
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( variable1 /*pos*/));
   variable3 = TAG_Int(UNTAG_Int( variable1 /*pos*/)+UNTAG_Int( TAG_Int(1)));
   ((array___AbstractArray___copy_to_t)CALL( self,COLOR_array___AbstractArray___copy_to))( self,  variable1 /*pos*/, variable2,  self, variable3) /*AbstractArray::copy_to*/;
-  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  variable1 /*pos*/,  variable0 /*item*/) /*AbstractArray::[]=*/;
+  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self,  variable1 /*pos*/,  variable0 /*item*/) /*Map::[]=*/;
   tracehead = trace.prev;
   return;
 }
 void array___AbstractArray___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___add, 71};
+  struct trace_t trace = {NULL, LOCATE_array, 71, LOCATE_array___AbstractArray___add};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
-  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable1,  variable0 /*item*/) /*AbstractArray::[]=*/;
+  ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable1,  variable0 /*item*/) /*Map::[]=*/;
   tracehead = trace.prev;
   return;
 }
 void array___AbstractArray___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___clear, 73};
+  struct trace_t trace = {NULL, LOCATE_array, 73, LOCATE_array___AbstractArray___clear};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  TAG_Int(0);
   tracehead = trace.prev;
   return;
 }
 val_t array___AbstractArray___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___has, 75};
+  struct trace_t trace = {NULL, LOCATE_array, 75, LOCATE_array___AbstractArray___has};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -160,7 +161,7 @@ val_t array___AbstractArray___has(val_t  self, val_t  param0) {
   while (true) { /*while*/
     variable3 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l*/));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*AbstractArray::[]*/;
+    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*Map::[]*/;
     variable3 = TAG_Bool((variable3 ==  variable0 /*item*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  variable0 /*item*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable3)) { /*if*/
       variable1 =  TAG_Bool(true);
@@ -177,7 +178,7 @@ val_t array___AbstractArray___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___has_only, 86};
+  struct trace_t trace = {NULL, LOCATE_array, 86, LOCATE_array___AbstractArray___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -190,7 +191,7 @@ val_t array___AbstractArray___has_only(val_t  self, val_t  param0) {
   while (true) { /*while*/
     variable3 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l*/));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*AbstractArray::[]*/;
+    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable1 /*i*/) /*Map::[]*/;
     variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  variable0 /*item*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  variable0 /*item*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable3)) { /*if*/
       variable1 =  TAG_Bool(false);
@@ -207,7 +208,7 @@ val_t array___AbstractArray___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___has_key, 97};
+  struct trace_t trace = {NULL, LOCATE_array, 97, LOCATE_array___AbstractArray___has_key};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -226,7 +227,7 @@ val_t array___AbstractArray___has_key(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___count, 99};
+  struct trace_t trace = {NULL, LOCATE_array, 99, LOCATE_array___AbstractArray___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -241,7 +242,7 @@ val_t array___AbstractArray___count(val_t  self, val_t  param0) {
   while (true) { /*while*/
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int( variable3 /*l*/));
     if (!UNTAG_Bool(variable4)) break; /* while*/
-    variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*AbstractArray::[]*/;
+    variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*Map::[]*/;
     variable4 = TAG_Bool((variable4 ==  variable0 /*item*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*item*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
       variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*res*/;
@@ -257,7 +258,7 @@ val_t array___AbstractArray___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___index_of(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___index_of, 111};
+  struct trace_t trace = {NULL, LOCATE_array, 111, LOCATE_array___AbstractArray___index_of};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -269,7 +270,7 @@ val_t array___AbstractArray___index_of(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___last_index_of(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___last_index_of, 113};
+  struct trace_t trace = {NULL, LOCATE_array, 113, LOCATE_array___AbstractArray___last_index_of};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -283,7 +284,7 @@ val_t array___AbstractArray___last_index_of(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___AbstractArray___index_of_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___index_of_from, 115};
+  struct trace_t trace = {NULL, LOCATE_array, 115, LOCATE_array___AbstractArray___index_of_from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -298,7 +299,7 @@ val_t array___AbstractArray___index_of_from(val_t  self, val_t  param0, val_t  p
   while (true) { /*while*/
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int( variable3 /*len*/));
     if (!UNTAG_Bool(variable4)) break; /* while*/
-    variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*AbstractArray::[]*/;
+    variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*Map::[]*/;
     variable4 = TAG_Bool((variable4 ==  variable0 /*item*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*item*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
       variable2 =  variable2 /*i*/;
@@ -316,7 +317,7 @@ val_t array___AbstractArray___index_of_from(val_t  self, val_t  param0, val_t  p
   return variable2;
 }
 val_t array___AbstractArray___last_index_of_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___last_index_of_from, 128};
+  struct trace_t trace = {NULL, LOCATE_array, 128, LOCATE_array___AbstractArray___last_index_of_from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -328,7 +329,7 @@ val_t array___AbstractArray___last_index_of_from(val_t  self, val_t  param0, val
   while (true) { /*while*/
     variable3 = TAG_Bool(UNTAG_Int( variable2 /*i*/)>=UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*AbstractArray::[]*/;
+    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*Map::[]*/;
     variable3 = TAG_Bool((variable3 ==  variable0 /*item*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  variable0 /*item*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable3)) { /*if*/
       variable2 =  variable2 /*i*/;
@@ -347,7 +348,7 @@ val_t array___AbstractArray___last_index_of_from(val_t  self, val_t  param0, val
   return variable2;
 }
 val_t array___AbstractArray___reversed(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___reversed, 141};
+  struct trace_t trace = {NULL, LOCATE_array, 141, LOCATE_array___AbstractArray___reversed};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -360,8 +361,8 @@ val_t array___AbstractArray___reversed(val_t  self) {
     variable2 = TAG_Bool(UNTAG_Int( variable0 /*cmp*/)>UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
     variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int( TAG_Int(1))) /*cmp*/;
-    variable2 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable0 /*cmp*/) /*AbstractArray::[]*/;
-    ((array___AbstractArray___add_t)CALL( variable1 /*result*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*result*/, variable2) /*Array::add*/;
+    variable2 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable0 /*cmp*/) /*Map::[]*/;
+    ((array___AbstractArray___add_t)CALL( variable1 /*result*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*result*/, variable2) /*AbstractArray::add*/;
     continue_24: while(0);
   }
   break_24: while(0);
@@ -372,7 +373,7 @@ val_t array___AbstractArray___reversed(val_t  self) {
   return variable0;
 }
 void array___AbstractArray___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___remove, 152};
+  struct trace_t trace = {NULL, LOCATE_array, 152, LOCATE_array___AbstractArray___remove};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -383,7 +384,7 @@ void array___AbstractArray___remove(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___remove_all, 154};
+  struct trace_t trace = {NULL, LOCATE_array, 154, LOCATE_array___AbstractArray___remove_all};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -404,7 +405,7 @@ void array___AbstractArray___remove_all(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___remove_at, 163};
+  struct trace_t trace = {NULL, LOCATE_array, 163, LOCATE_array___AbstractArray___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -427,8 +428,8 @@ void array___AbstractArray___remove_at(val_t  self, val_t  param0) {
       variable3 = TAG_Bool(UNTAG_Int( variable2 /*j*/)<UNTAG_Int( variable1 /*l*/));
       if (!UNTAG_Bool(variable3)) break; /* while*/
       variable3 = TAG_Int(UNTAG_Int( variable2 /*j*/)-UNTAG_Int( TAG_Int(1)));
-      variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*j*/) /*AbstractArray::[]*/;
-      ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable3, variable4) /*AbstractArray::[]=*/;
+      variable4 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*j*/) /*Map::[]*/;
+      ((abstract_collection___Map_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable3, variable4) /*Map::[]=*/;
       variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*j*/;
       continue_29: while(0);
     }
@@ -440,7 +441,7 @@ void array___AbstractArray___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void array___AbstractArray___copy_to(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___copy_to, 176};
+  struct trace_t trace = {NULL, LOCATE_array, 176, LOCATE_array___AbstractArray___copy_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -460,8 +461,8 @@ void array___AbstractArray___copy_to(val_t  self, val_t  param0, val_t  param1,
     variable4 = TAG_Int(UNTAG_Int(variable4)-UNTAG_Int( TAG_Int(1))) /*i*/;
     variable5 = TAG_Int(UNTAG_Int( variable3 /*new_start*/)+UNTAG_Int( variable4 /*i*/));
     variable6 = TAG_Int(UNTAG_Int( variable0 /*start*/)+UNTAG_Int( variable4 /*i*/));
-    variable6 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self, variable6) /*AbstractArray::[]*/;
-    ((abstract_collection___Map_____braeq_t)CALL( variable2 /*dest*/,COLOR_abstract_collection___Map_____braeq))( variable2 /*dest*/, variable5, variable6) /*AbstractArray::[]=*/;
+    variable6 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self, variable6) /*Map::[]*/;
+    ((abstract_collection___Map_____braeq_t)CALL( variable2 /*dest*/,COLOR_abstract_collection___Map_____braeq))( variable2 /*dest*/, variable5, variable6) /*Map::[]=*/;
     continue_31: while(0);
   }
   break_31: while(0);
@@ -469,7 +470,7 @@ void array___AbstractArray___copy_to(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 void array___AbstractArray___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___output, 186};
+  struct trace_t trace = {NULL, LOCATE_array, 186, LOCATE_array___AbstractArray___output};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -481,7 +482,7 @@ void array___AbstractArray___output(val_t  self) {
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable0 /*i*/)<UNTAG_Int( variable1 /*l*/));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable0 /*i*/) /*AbstractArray::[]*/;
+    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable0 /*i*/) /*Map::[]*/;
     variable2 = variable3;
     variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*e*/ ==  NIT_NULL /*null*/) || (( variable2 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*e*/,COLOR_kernel___Object_____eqeq))( variable2 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable3)) { /*if*/
@@ -495,7 +496,7 @@ void array___AbstractArray___output(val_t  self) {
   return;
 }
 val_t array___AbstractArray___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray___iterator, 197};
+  struct trace_t trace = {NULL, LOCATE_array, 197, LOCATE_array___AbstractArray___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_array___ArrayIterator___init( self); /*new ArrayIterator[E]*/
@@ -505,7 +506,7 @@ val_t array___AbstractArray___iterator(val_t  self) {
   return variable0;
 }
 val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___AbstractArray_____eqeq, 199};
+  struct trace_t trace = {NULL, LOCATE_array, 199, LOCATE_array___AbstractArray_____eqeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -523,7 +524,7 @@ val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0) {
     goto return_label35;
   }
   variable1 = TAG_Bool(( variable0 /*o*/==NIT_NULL) || VAL_ISA( variable0 /*o*/, COLOR_AbstractArray, ID_AbstractArray)) /*cast AbstractArray[E]*/;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_array___AbstractArray_____eqeq, 203); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___AbstractArray_____eqeq, LOCATE_array, 203); nit_exit(1);}
   variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = variable2;
   variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*o*/,COLOR_abstract_collection___Collection___length))( variable0 /*o*/) /*AbstractArray::length*/;
@@ -536,8 +537,8 @@ val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0) {
   while (true) { /*while*/
     variable3 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int( variable1 /*l*/));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*AbstractArray::[]*/;
-    variable4 = ((abstract_collection___Map_____bra_t)CALL( variable0 /*o*/,COLOR_abstract_collection___Map_____bra))( variable0 /*o*/,  variable2 /*i*/) /*AbstractArray::[]*/;
+    variable3 = ((abstract_collection___Map_____bra_t)CALL( self,COLOR_abstract_collection___Map_____bra))( self,  variable2 /*i*/) /*Map::[]*/;
+    variable4 = ((abstract_collection___Map_____bra_t)CALL( variable0 /*o*/,COLOR_abstract_collection___Map_____bra))( variable0 /*o*/,  variable2 /*i*/) /*Map::[]*/;
     variable3 = TAG_Bool(!UNTAG_Bool(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*/
       variable1 =  TAG_Bool(false);
@@ -554,7 +555,7 @@ val_t array___AbstractArray_____eqeq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___Array_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___Array_____bra, 227};
+  struct trace_t trace = {NULL, LOCATE_array, 227, LOCATE_array___Array_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -563,11 +564,11 @@ val_t array___Array_____bra(val_t  self, val_t  param0) {
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
-    variable2 = ATTR_array___AbstractArray____length( self) /*Array::_length*/;
+    variable2 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
     variable2 = TAG_Bool(UNTAG_Int( variable0 /*index*/)<UNTAG_Int(variable2));
   }
   variable1 = variable2;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
   variable1 = ATTR_array___Array____items( self) /*Array::_items*/;
   variable1 = UNBOX_NativeArray(variable1)[UNTAG_Int( variable0 /*index*/)];
   goto return_label37;
@@ -576,7 +577,7 @@ val_t array___Array_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___Array_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array___Array_____braeq, 233};
+  struct trace_t trace = {NULL, LOCATE_array, 233, LOCATE_array___Array_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -587,23 +588,23 @@ void array___Array_____braeq(val_t  self, val_t  param0, val_t  param1) {
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
-    variable3 = ATTR_array___AbstractArray____length( self) /*Array::_length*/;
+    variable3 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
     variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1)));
     variable3 = TAG_Bool(UNTAG_Int( variable0 /*index*/)<UNTAG_Int(variable3));
   }
   variable2 = variable3;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____braeq, 235); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____braeq, LOCATE_array, 235); nit_exit(1);}
   variable2 = ATTR_array___Array____capacity( self) /*Array::_capacity*/;
   variable2 = TAG_Bool(UNTAG_Int(variable2)<=UNTAG_Int( variable0 /*index*/));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = TAG_Int(UNTAG_Int( variable0 /*index*/)+UNTAG_Int( TAG_Int(1)));
     ((array___Array___enlarge_t)CALL( self,COLOR_array___AbstractArray___enlarge))( self, variable2) /*Array::enlarge*/;
   }
-  variable2 = ATTR_array___AbstractArray____length( self) /*Array::_length*/;
+  variable2 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable2 = TAG_Bool(UNTAG_Int(variable2)<=UNTAG_Int( variable0 /*index*/));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = TAG_Int(UNTAG_Int( variable0 /*index*/)+UNTAG_Int( TAG_Int(1)));
-    ATTR_array___AbstractArray____length( self) /*Array::_length*/ = variable2;
+    ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = variable2;
   }
   variable2 = ATTR_array___Array____items( self) /*Array::_items*/;
   UNBOX_NativeArray(variable2)[UNTAG_Int( variable0 /*index*/)]= variable1 /*item*/;
@@ -611,7 +612,7 @@ void array___Array_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void array___Array___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___Array___enlarge, 245};
+  struct trace_t trace = {NULL, LOCATE_array, 245, LOCATE_array___Array___enlarge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -640,7 +641,7 @@ void array___Array___enlarge(val_t  self, val_t  param0) {
   variable3 = TAG_Bool(UNTAG_Int(variable3)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable3)) { /*if*/
     variable3 = ATTR_array___Array____items( self) /*Array::_items*/;
-    variable4 = ATTR_array___AbstractArray____length( self) /*Array::_length*/;
+    variable4 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
     (void)memcpy(UNBOX_NativeArray( variable2 /*a*/), UNBOX_NativeArray(variable3), UNTAG_Int(variable4)*sizeof(val_t));
   }
   ATTR_array___Array____items( self) /*Array::_items*/ =  variable2 /*a*/;
@@ -650,53 +651,53 @@ void array___Array___enlarge(val_t  self, val_t  param0) {
   return;
 }
 void array___Array___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___Array___init, 256};
+  struct trace_t trace = {NULL, LOCATE_array, 256, LOCATE_array___Array___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
   ATTR_array___Array____capacity( self) /*Array::_capacity*/ =  TAG_Int(0);
-  ATTR_array___AbstractArray____length( self) /*Array::_length*/ =  TAG_Int(0);
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  TAG_Int(0);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void array___Array___with(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___Array___with, 263};
+  struct trace_t trace = {NULL, LOCATE_array, 263, LOCATE_array___Array___with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   /* check if p<Array[E] with p:E */
-  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_array___Array___init, 264); nit_exit(1); } /*cast Array[E]*/;
+  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array___init, LOCATE_array, 264); nit_exit(1); } /*cast Array[E]*/;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
   variable1 = ATTR_array___Array____items( variable0 /*objects*/) /*Array::_items*/;
   ATTR_array___Array____items( self) /*Array::_items*/ = variable1;
   variable1 = ATTR_array___Array____capacity( variable0 /*objects*/) /*Array::_capacity*/;
   ATTR_array___Array____capacity( self) /*Array::_capacity*/ = variable1;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*objects*/,COLOR_abstract_collection___Collection___length))( variable0 /*objects*/) /*Array::length*/;
-  ATTR_array___AbstractArray____length( self) /*Array::_length*/ = variable1;
+  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*objects*/,COLOR_abstract_collection___Collection___length))( variable0 /*objects*/) /*AbstractArray::length*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void array___Array___with_capacity(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___Array___with_capacity, 271};
+  struct trace_t trace = {NULL, LOCATE_array, 271, LOCATE_array___Array___with_capacity};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*cap*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'positive' ", LOCATE_array___Array___with_capacity, 274); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'positive' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array___with_capacity, LOCATE_array, 274); nit_exit(1);}
   variable1 = BOX_NativeArray((val_t*)malloc((UNTAG_Int( variable0 /*cap*/) * sizeof(val_t))));
   ATTR_array___Array____items( self) /*Array::_items*/ = variable1;
   ATTR_array___Array____capacity( self) /*Array::_capacity*/ =  variable0 /*cap*/;
-  ATTR_array___AbstractArray____length( self) /*Array::_length*/ =  TAG_Int(0);
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  TAG_Int(0);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void array___Array___filled_with(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___Array___filled_with, 280};
+  struct trace_t trace = {NULL, LOCATE_array, 280, LOCATE_array___Array___filled_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -706,11 +707,11 @@ void array___Array___filled_with(val_t  self, val_t  param0, val_t  param1, int*
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*count*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'positive' ", LOCATE_array___Array___filled_with, 283); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", " 'positive' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array___filled_with, LOCATE_array, 283); nit_exit(1);}
   variable2 = BOX_NativeArray((val_t*)malloc((UNTAG_Int( variable1 /*count*/) * sizeof(val_t))));
   ATTR_array___Array____items( self) /*Array::_items*/ = variable2;
   ATTR_array___Array____capacity( self) /*Array::_capacity*/ =  variable1 /*count*/;
-  ATTR_array___AbstractArray____length( self) /*Array::_length*/ =  variable1 /*count*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*count*/;
   variable2 =  TAG_Int(0);
   while (true) { /*while*/
     variable3 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int( variable1 /*count*/));
@@ -725,7 +726,7 @@ void array___Array___filled_with(val_t  self, val_t  param0, val_t  param1, int*
   return;
 }
 void array___Array___with_native(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___Array___with_native, 294};
+  struct trace_t trace = {NULL, LOCATE_array, 294, LOCATE_array___Array___with_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -734,29 +735,29 @@ void array___Array___with_native(val_t  self, val_t  param0, val_t  param1, int*
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i]) return;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*size*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'positive' ", LOCATE_array___Array___with_native, 297); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", " 'positive' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array___with_native, LOCATE_array, 297); nit_exit(1);}
   ATTR_array___Array____items( self) /*Array::_items*/ =  variable0 /*nat*/;
   ATTR_array___Array____capacity( self) /*Array::_capacity*/ =  variable1 /*size*/;
-  ATTR_array___AbstractArray____length( self) /*Array::_length*/ =  variable1 /*size*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*size*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Array].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t array___ArrayIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayIterator___item, 313};
+  struct trace_t trace = {NULL, LOCATE_array, 313, LOCATE_array___ArrayIterator___item};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArrayIterator____array( self) /*ArrayIterator::_array*/;
   variable1 = ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/;
-  variable0 = ((abstract_collection___Map_____bra_t)CALL(variable0,COLOR_abstract_collection___Map_____bra))(variable0, variable1) /*AbstractArray::[]*/;
+  variable0 = ((abstract_collection___Map_____bra_t)CALL(variable0,COLOR_abstract_collection___Map_____bra))(variable0, variable1) /*Map::[]*/;
   goto return_label47;
   return_label47: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void array___ArrayIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayIterator___item__eq, 315};
+  struct trace_t trace = {NULL, LOCATE_array, 315, LOCATE_array___ArrayIterator___item__eq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -764,12 +765,12 @@ void array___ArrayIterator___item__eq(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ATTR_array___ArrayIterator____array( self) /*ArrayIterator::_array*/;
   variable2 = ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/;
-  ((abstract_collection___Map_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1, variable2,  variable0 /*e*/) /*AbstractArray::[]=*/;
+  ((abstract_collection___Map_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1, variable2,  variable0 /*e*/) /*Map::[]=*/;
   tracehead = trace.prev;
   return;
 }
 val_t array___ArrayIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayIterator___is_ok, 317};
+  struct trace_t trace = {NULL, LOCATE_array, 317, LOCATE_array___ArrayIterator___is_ok};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -783,21 +784,21 @@ val_t array___ArrayIterator___is_ok(val_t  self) {
   return variable0;
 }
 void array___ArrayIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayIterator___next, 319};
+  struct trace_t trace = {NULL, LOCATE_array, 319, LOCATE_array___ArrayIterator___next};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/ = TAG_Int(UNTAG_Int(ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/)+UNTAG_Int( TAG_Int(1)));
   tracehead = trace.prev;
   return;
 }
 void array___ArrayIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayIterator___init, 321};
+  struct trace_t trace = {NULL, LOCATE_array, 321, LOCATE_array___ArrayIterator___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayIterator].i]) return;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*a*/ ==  NIT_NULL /*null*/) || (( variable0 /*a*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable0 /*a*/,COLOR_kernel___Object_____eqeq))( variable0 /*a*/,  NIT_NULL /*null*/) /*AbstractArray::==*/)))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'not_nil' ", LOCATE_array___ArrayIterator___init, 323); nit_exit(1);}
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*a*/ ==  NIT_NULL /*null*/) || (( variable0 /*a*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*a*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*a*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*a*/,COLOR_kernel___Object_____eqeq))( variable0 /*a*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'not_nil' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___ArrayIterator___init, LOCATE_array, 323); nit_exit(1);}
   ATTR_array___ArrayIterator____array( self) /*ArrayIterator::_array*/ =  variable0 /*a*/;
   ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/ =  TAG_Int(0);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayIterator].i] = 1;
@@ -805,85 +806,85 @@ void array___ArrayIterator___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t array___ArrayIterator___index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayIterator___index, 328};
+  struct trace_t trace = {NULL, LOCATE_array, 328, LOCATE_array___ArrayIterator___index};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_array___ArrayIterator____index( self) /*ArrayIterator::_index*/;
 }
 val_t array___ArraySet___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___has, 340};
+  struct trace_t trace = {NULL, LOCATE_array, 340, LOCATE_array___ArraySet___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable1 = ((array___AbstractArray___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*e*/) /*Array::has*/;
+  variable1 = ((array___AbstractArray___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*e*/) /*AbstractArray::has*/;
   goto return_label52;
   return_label52: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void array___ArraySet___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___add, 342};
+  struct trace_t trace = {NULL, LOCATE_array, 342, LOCATE_array___ArraySet___add};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable1 = ((array___AbstractArray___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*e*/) /*Array::has*/;
+  variable1 = ((array___AbstractArray___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*e*/) /*AbstractArray::has*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
     variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*e*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*e*/) /*AbstractArray::add*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t array___ArraySet___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___is_empty, 344};
+  struct trace_t trace = {NULL, LOCATE_array, 344, LOCATE_array___ArraySet___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*Array::is_empty*/;
+  variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*AbstractArray::is_empty*/;
   goto return_label54;
   return_label54: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t array___ArraySet___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___length, 346};
+  struct trace_t trace = {NULL, LOCATE_array, 346, LOCATE_array___ArraySet___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Array::length*/;
+  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   goto return_label55;
   return_label55: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t array___ArraySet___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___first, 348};
+  struct trace_t trace = {NULL, LOCATE_array, 348, LOCATE_array___ArraySet___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Array::length*/;
+  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_array___ArraySet___first, 350); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___ArraySet___first, LOCATE_array, 350); nit_exit(1);}
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*Array::first*/;
+  variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*IndexedCollection::first*/;
   goto return_label56;
   return_label56: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void array___ArraySet___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___remove, 354};
+  struct trace_t trace = {NULL, LOCATE_array, 354, LOCATE_array___ArraySet___remove};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable2 = ((array___AbstractArray___index_of_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___index_of))(variable2,  variable0 /*item*/) /*Array::index_of*/;
+  variable2 = ((array___AbstractArray___index_of_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___index_of))(variable2,  variable0 /*item*/) /*AbstractArray::index_of*/;
   variable1 = variable2;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -893,7 +894,7 @@ void array___ArraySet___remove(val_t  self, val_t  param0) {
   return;
 }
 void array___ArraySet___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___remove_all, 360};
+  struct trace_t trace = {NULL, LOCATE_array, 360, LOCATE_array___ArraySet___remove_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -902,21 +903,21 @@ void array___ArraySet___remove_all(val_t  self, val_t  param0) {
   return;
 }
 void array___ArraySet___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___clear, 362};
+  struct trace_t trace = {NULL, LOCATE_array, 362, LOCATE_array___ArraySet___clear};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*Array::clear*/;
+  ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*AbstractArray::clear*/;
   tracehead = trace.prev;
   return;
 }
 val_t array___ArraySet___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___iterator, 364};
+  struct trace_t trace = {NULL, LOCATE_array, 364, LOCATE_array___ArraySet___iterator};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Array::iterator*/;
+  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   variable1 = NEW_array___ArraySetIterator___init(variable0); /*new ArraySetIterator[E]*/
   variable0 = variable1;
   goto return_label60;
@@ -925,7 +926,7 @@ val_t array___ArraySet___iterator(val_t  self) {
   return variable0;
 }
 void array___ArraySet___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___enlarge, 366};
+  struct trace_t trace = {NULL, LOCATE_array, 366, LOCATE_array___ArraySet___enlarge};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -936,7 +937,7 @@ void array___ArraySet___enlarge(val_t  self, val_t  param0) {
   return;
 }
 void array___ArraySet___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___remove_at, 369};
+  struct trace_t trace = {NULL, LOCATE_array, 369, LOCATE_array___ArraySet___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -944,15 +945,15 @@ void array___ArraySet___remove_at(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
   variable2 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  variable2 = ((abstract_collection___IndexedCollection___last_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___last))(variable2) /*Array::last*/;
+  variable2 = ((abstract_collection___IndexedCollection___last_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___last))(variable2) /*IndexedCollection::last*/;
   ((array___Array_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1,  variable0 /*i*/, variable2) /*Array::[]=*/;
   variable1 = ATTR_array___ArraySet____array( self) /*ArraySet::_array*/;
-  ((array___AbstractArray___pop_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___pop))(variable1) /*Array::pop*/;
+  ((array___AbstractArray___pop_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___pop))(variable1) /*AbstractArray::pop*/;
   tracehead = trace.prev;
   return;
 }
 void array___ArraySet___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___init, 375};
+  struct trace_t trace = {NULL, LOCATE_array, 375, LOCATE_array___ArraySet___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArraySet].i]) return;
@@ -963,7 +964,7 @@ void array___ArraySet___init(val_t  self, int* init_table) {
   return;
 }
 void array___ArraySet___with_capacity(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySet___with_capacity, 378};
+  struct trace_t trace = {NULL, LOCATE_array, 378, LOCATE_array___ArraySet___with_capacity};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -976,7 +977,7 @@ void array___ArraySet___with_capacity(val_t  self, val_t  param0, int* init_tabl
   return;
 }
 val_t array___ArraySetIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySetIterator___is_ok, 386};
+  struct trace_t trace = {NULL, LOCATE_array, 386, LOCATE_array___ArraySetIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySetIterator____iter( self) /*ArraySetIterator::_iter*/;
@@ -987,7 +988,7 @@ val_t array___ArraySetIterator___is_ok(val_t  self) {
   return variable0;
 }
 void array___ArraySetIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySetIterator___next, 388};
+  struct trace_t trace = {NULL, LOCATE_array, 388, LOCATE_array___ArraySetIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySetIterator____iter( self) /*ArraySetIterator::_iter*/;
@@ -996,7 +997,7 @@ void array___ArraySetIterator___next(val_t  self) {
   return;
 }
 val_t array___ArraySetIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySetIterator___item, 390};
+  struct trace_t trace = {NULL, LOCATE_array, 390, LOCATE_array___ArraySetIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArraySetIterator____iter( self) /*ArraySetIterator::_iter*/;
@@ -1007,7 +1008,7 @@ val_t array___ArraySetIterator___item(val_t  self) {
   return variable0;
 }
 void array___ArraySetIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___ArraySetIterator___init, 392};
+  struct trace_t trace = {NULL, LOCATE_array, 392, LOCATE_array___ArraySetIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1018,7 +1019,7 @@ void array___ArraySetIterator___init(val_t  self, val_t  param0, int* init_table
   return;
 }
 val_t array___ArrayMap_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap_____bra, 402};
+  struct trace_t trace = {NULL, LOCATE_array, 402, LOCATE_array___ArrayMap_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1037,11 +1038,11 @@ val_t array___ArrayMap_____bra(val_t  self, val_t  param0) {
     variable5 = variable4;
     if (UNTAG_Bool(variable5)) { /* and */
       variable5 = variable2;
-      variable5 = ATTR_array___AbstractArray____length(variable5) /*Array::_length*/;
+      variable5 = ATTR_array___AbstractArray____length(variable5) /*AbstractArray::_length*/;
       variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
     }
     variable4 = variable5;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
     variable4 = variable2;
     variable4 = ATTR_array___Array____items(variable4) /*Array::_items*/;
     variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
@@ -1060,7 +1061,7 @@ val_t array___ArrayMap_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___ArrayMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap_____braeq, 413};
+  struct trace_t trace = {NULL, LOCATE_array, 413, LOCATE_array___ArrayMap_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1081,11 +1082,11 @@ void array___ArrayMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
       variable6 = variable3;
-      variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+      variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
     }
     variable5 = variable6;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
     variable5 = variable3;
     variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
@@ -1095,14 +1096,14 @@ 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[K, E]*/
-    ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*Array::push*/;
+    variable4 = NEW_abstract_collection___Couple___init( variable0 /*key*/,  variable1 /*item*/); /*new Couple[F, S]*/
+    ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*AbstractArray::push*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t array___ArrayMap___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___has_key, 424};
+  struct trace_t trace = {NULL, LOCATE_array, 424, LOCATE_array___ArrayMap___has_key};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1115,7 +1116,7 @@ val_t array___ArrayMap___has_key(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___has, 427};
+  struct trace_t trace = {NULL, LOCATE_array, 427, LOCATE_array___ArrayMap___has};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -1123,7 +1124,7 @@ val_t array___ArrayMap___has(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -1145,7 +1146,7 @@ val_t array___ArrayMap___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___has_only, 434};
+  struct trace_t trace = {NULL, LOCATE_array, 434, LOCATE_array___ArrayMap___has_only};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -1153,7 +1154,7 @@ val_t array___ArrayMap___has_only(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -1175,22 +1176,22 @@ val_t array___ArrayMap___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___length, 441};
+  struct trace_t trace = {NULL, LOCATE_array, 441, LOCATE_array___ArrayMap___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Array::length*/;
+  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
   goto return_label78;
   return_label78: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t array___ArrayMap___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___first, 444};
+  struct trace_t trace = {NULL, LOCATE_array, 444, LOCATE_array___ArrayMap___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*Array::first*/;
+  variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*IndexedCollection::first*/;
   variable0 = ((abstract_collection___Couple___first_t)CALL(variable0,COLOR_abstract_collection___Couple___first))(variable0) /*Couple::first*/;
   goto return_label79;
   return_label79: while(false);
@@ -1198,7 +1199,7 @@ val_t array___ArrayMap___first(val_t  self) {
   return variable0;
 }
 val_t array___ArrayMap___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___count, 446};
+  struct trace_t trace = {NULL, LOCATE_array, 446, LOCATE_array___ArrayMap___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1208,7 +1209,7 @@ val_t array___ArrayMap___count(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  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*/
@@ -1229,12 +1230,12 @@ val_t array___ArrayMap___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t array___ArrayMap___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___iterator, 454};
+  struct trace_t trace = {NULL, LOCATE_array, 454, LOCATE_array___ArrayMap___iterator};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Array::iterator*/;
+  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]*/
   variable0 = variable1;
   goto return_label82;
@@ -1243,18 +1244,18 @@ val_t array___ArrayMap___iterator(val_t  self) {
   return variable0;
 }
 val_t array___ArrayMap___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___is_empty, 456};
+  struct trace_t trace = {NULL, LOCATE_array, 456, LOCATE_array___ArrayMap___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*Array::is_empty*/;
+  variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*AbstractArray::is_empty*/;
   goto return_label83;
   return_label83: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void array___ArrayMap___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___remove, 458};
+  struct trace_t trace = {NULL, LOCATE_array, 458, LOCATE_array___ArrayMap___remove};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1264,7 +1265,7 @@ void array___ArrayMap___remove(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
   variable1 = variable2;
   while (true) { /*while*/
@@ -1276,11 +1277,11 @@ void array___ArrayMap___remove(val_t  self, val_t  param0) {
     variable5 = variable4;
     if (UNTAG_Bool(variable5)) { /* and */
       variable5 = variable2;
-      variable5 = ATTR_array___AbstractArray____length(variable5) /*Array::_length*/;
+      variable5 = ATTR_array___AbstractArray____length(variable5) /*AbstractArray::_length*/;
       variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
     }
     variable4 = variable5;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
     variable4 = variable2;
     variable4 = ATTR_array___Array____items(variable4) /*Array::_items*/;
     variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
@@ -1302,7 +1303,7 @@ void array___ArrayMap___remove(val_t  self, val_t  param0) {
   return;
 }
 void array___ArrayMap___remove_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___remove_all, 470};
+  struct trace_t trace = {NULL, LOCATE_array, 470, LOCATE_array___ArrayMap___remove_all};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1312,7 +1313,7 @@ void array___ArrayMap___remove_all(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
   variable1 = variable2;
   while (true) { /*while*/
@@ -1324,11 +1325,11 @@ void array___ArrayMap___remove_all(val_t  self, val_t  param0) {
     variable5 = variable4;
     if (UNTAG_Bool(variable5)) { /* and */
       variable5 = variable2;
-      variable5 = ATTR_array___AbstractArray____length(variable5) /*Array::_length*/;
+      variable5 = ATTR_array___AbstractArray____length(variable5) /*AbstractArray::_length*/;
       variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
     }
     variable4 = variable5;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
     variable4 = variable2;
     variable4 = ATTR_array___Array____items(variable4) /*Array::_items*/;
     variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
@@ -1348,7 +1349,7 @@ void array___ArrayMap___remove_all(val_t  self, val_t  param0) {
   return;
 }
 void array___ArrayMap___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___remove_at, 481};
+  struct trace_t trace = {NULL, LOCATE_array, 481, LOCATE_array___ArrayMap___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1364,16 +1365,16 @@ void array___ArrayMap___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void array___ArrayMap___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___clear, 487};
+  struct trace_t trace = {NULL, LOCATE_array, 487, LOCATE_array___ArrayMap___clear};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*Array::clear*/;
+  ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*AbstractArray::clear*/;
   tracehead = trace.prev;
   return;
 }
 void array___ArrayMap___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___enlarge, 489};
+  struct trace_t trace = {NULL, LOCATE_array, 489, LOCATE_array___ArrayMap___enlarge};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1384,7 +1385,7 @@ void array___ArrayMap___enlarge(val_t  self, val_t  param0) {
   return;
 }
 val_t array___ArrayMap___couple_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___couple_at, 492};
+  struct trace_t trace = {NULL, LOCATE_array, 492, LOCATE_array___ArrayMap___couple_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1403,11 +1404,11 @@ val_t array___ArrayMap___couple_at(val_t  self, val_t  param0) {
     variable5 = variable4;
     if (UNTAG_Bool(variable5)) { /* and */
       variable5 = variable2;
-      variable5 = ATTR_array___AbstractArray____length(variable5) /*Array::_length*/;
+      variable5 = ATTR_array___AbstractArray____length(variable5) /*AbstractArray::_length*/;
       variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
     }
     variable4 = variable5;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
     variable4 = variable2;
     variable4 = ATTR_array___Array____items(variable4) /*Array::_items*/;
     variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
@@ -1425,7 +1426,7 @@ val_t array___ArrayMap___couple_at(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___ArrayMap___remove_at_index(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___remove_at_index, 505};
+  struct trace_t trace = {NULL, LOCATE_array, 505, LOCATE_array___ArrayMap___remove_at_index};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1433,15 +1434,15 @@ void array___ArrayMap___remove_at_index(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable2 = ((abstract_collection___IndexedCollection___last_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___last))(variable2) /*Array::last*/;
+  variable2 = ((abstract_collection___IndexedCollection___last_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___last))(variable2) /*IndexedCollection::last*/;
   ((array___Array_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1,  variable0 /*i*/, variable2) /*Array::[]=*/;
   variable1 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  ((array___AbstractArray___pop_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___pop))(variable1) /*Array::pop*/;
+  ((array___AbstractArray___pop_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___pop))(variable1) /*AbstractArray::pop*/;
   tracehead = trace.prev;
   return;
 }
 val_t array___ArrayMap___index(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___index, 515};
+  struct trace_t trace = {NULL, LOCATE_array, 515, LOCATE_array___ArrayMap___index};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1454,7 +1455,7 @@ val_t array___ArrayMap___index(val_t  self, val_t  param0) {
   variable2 = ATTR_array___ArrayMap____last_index( self) /*ArrayMap::_last_index*/;
   variable1 = variable2;
   variable2 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*l*/)<UNTAG_Int(variable2));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
@@ -1464,11 +1465,11 @@ val_t array___ArrayMap___index(val_t  self, val_t  param0) {
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
       variable6 = variable3;
-      variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+      variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
     }
     variable5 = variable6;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
     variable5 = variable3;
     variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
@@ -1486,7 +1487,7 @@ val_t array___ArrayMap___index(val_t  self, val_t  param0) {
   variable2 =  TAG_Int(0);
   while (true) { /*while*/
     variable3 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
-    variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*AbstractArray::length*/;
     variable3 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int(variable3));
     if (!UNTAG_Bool(variable3)) break; /* while*/
     variable3 = ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/;
@@ -1495,11 +1496,11 @@ val_t array___ArrayMap___index(val_t  self, val_t  param0) {
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
       variable6 = variable3;
-      variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+      variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
     }
     variable5 = variable6;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_array, 229); nit_exit(1);}
     variable5 = variable3;
     variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
@@ -1525,18 +1526,18 @@ val_t array___ArrayMap___index(val_t  self, val_t  param0) {
   return variable1;
 }
 void array___ArrayMap___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayMap___init, 533};
+  struct trace_t trace = {NULL, LOCATE_array, 533, LOCATE_array___ArrayMap___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayMap].i]) return;
-  variable0 = NEW_array___Array___init(); /*new Array[Couple[K, E]]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_array___ArrayMap____items( self) /*ArrayMap::_items*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ArrayMap].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t array___Iterator___to_a(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___Iterator___to_a, 543};
+  struct trace_t trace = {NULL, LOCATE_array, 543, LOCATE_array___Iterator___to_a};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1546,7 +1547,7 @@ val_t array___Iterator___to_a(val_t  self) {
     variable1 = ((abstract_collection___Iterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable1)) break; /* while*/
     variable1 = ((abstract_collection___Iterator___item_t)CALL( self,COLOR_abstract_collection___Iterator___item))( self) /*Iterator::item*/;
-    ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable1) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable1) /*AbstractArray::add*/;
     ((abstract_collection___Iterator___next_t)CALL( self,COLOR_abstract_collection___Iterator___next))( self) /*Iterator::next*/;
     continue_102: while(0);
   }
@@ -1558,7 +1559,7 @@ val_t array___Iterator___to_a(val_t  self) {
   return variable0;
 }
 val_t array___Collection___to_a(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_array___Collection___to_a, 556};
+  struct trace_t trace = {NULL, LOCATE_array, 556, LOCATE_array___Collection___to_a};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
@@ -1569,26 +1570,26 @@ val_t array___Collection___to_a(val_t  self) {
   return variable0;
 }
 val_t array___ArrayCapable___calloc_array(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___ArrayCapable___calloc_array, 567};
+  struct trace_t trace = {NULL, LOCATE_array, 567, LOCATE_array___ArrayCapable___calloc_array};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_NativeArray((val_t*)malloc((UNTAG_Int( param0) * sizeof(val_t))));
 }
 val_t array___NativeArray_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_array___NativeArray_____bra, 573};
+  struct trace_t trace = {NULL, LOCATE_array, 573, LOCATE_array___NativeArray_____bra};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return UNBOX_NativeArray( self)[UNTAG_Int( param0)];
 }
 void array___NativeArray_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array___NativeArray_____braeq, 574};
+  struct trace_t trace = {NULL, LOCATE_array, 574, LOCATE_array___NativeArray_____braeq};
   trace.prev = tracehead; tracehead = &trace;
   UNBOX_NativeArray( self)[UNTAG_Int( param0)]= param1;
   tracehead = trace.prev;
   return;
 }
 void array___NativeArray___copy_to(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_array___NativeArray___copy_to, 575};
+  struct trace_t trace = {NULL, LOCATE_array, 575, LOCATE_array___NativeArray___copy_to};
   trace.prev = tracehead; tracehead = &trace;
   (void)memcpy(UNBOX_NativeArray( param0), UNBOX_NativeArray( self), UNTAG_Int( param1)*sizeof(val_t));
   tracehead = trace.prev;
index 8356528..c5c2210 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires array. */
-#ifndef array_3_sep
-#define array_3_sep
+#ifndef array_2_sep
+#define array_2_sep
 #include "abstract_collection._sep.h"
 #include <nit_common.h>
 
@@ -22,7 +22,7 @@ extern const classtable_elt_t VFT_NativeArray[];
 struct TBOX_NativeArray { const classtable_elt_t * vft; val_t * val;};
 val_t BOX_NativeArray(val_t * val);
 #define UNBOX_NativeArray(x) (((struct TBOX_NativeArray *)(VAL2OBJ(x)))->val)
-#define LOCATE_array "array"
+#define LOCATE_array "./../lib/standard//array.nit"
 extern const int SFT_array[];
 #define ID_AbstractArray SFT_array[0]
 #define COLOR_AbstractArray SFT_array[1]
index 7f9f756..be914d0 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module compiling. */
 #include "compiling._sep.h"
 void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling___MMSrcModule___compile_prog_to_c, 26};
+  struct trace_t trace = {NULL, LOCATE_compiling, 26, LOCATE_compiling___MMSrcModule___compile_prog_to_c};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -25,7 +25,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMSrcModule::mhe*/;
+  variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable1 = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable1,COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable1) /*PartialOrderElement::greaters_and_self*/;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -33,7 +33,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
     variable3 = TAG_Bool(( variable2 /*m*/==NIT_NULL) || VAL_ISA( variable2 /*m*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling___MMSrcModule___compile_prog_to_c, 32); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling___MMSrcModule___compile_prog_to_c, LOCATE_compiling, 32); nit_exit(1);}
     ((compiling_global___MMSrcModule___local_analysis_t)CALL( variable2 /*m*/,COLOR_compiling_global___MMSrcModule___local_analysis))( variable2 /*m*/,  variable0 /*tc*/) /*MMSrcModule::local_analysis*/;
     continue_1: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
@@ -43,13 +43,13 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = ((compiling_base___ToolContext___base_dir_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___base_dir))( variable0 /*tc*/) /*ToolContext::base_dir*/;
   ((file___String___mkdir_t)CALL(variable2,COLOR_file___String___mkdir))(variable2) /*String::mkdir*/;
-  variable3 = NEW_array___Array___init(); /*new Array[String]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable4 = NEW_array___ArraySet___init(); /*new ArraySet[String]*/
+  variable4 = NEW_array___ArraySet___init(); /*new ArraySet[E]*/
   variable3 = variable4;
   variable4 = NEW_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) /*Array::add*/;
-  variable4 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMSrcModule::mhe*/;
+  ((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*/;
   variable4 = ((abstract_collection___Collection___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -57,7 +57,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     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 /*m*/==NIT_NULL) || VAL_ISA( variable5 /*m*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling___MMSrcModule___compile_prog_to_c, 44); nit_exit(1);}
+    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*/
     variable8 = variable7;
@@ -68,7 +68,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     variable11 = NEW_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*/) /*MMSrcModule::name*/;
+    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*/;
@@ -81,9 +81,9 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     variable19 = NEW_string___String___with_native(BOX_NativeString("_sep.c"), TAG_Int(6)); /*new String*/
     variable20 = variable19;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
-    ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/, variable6) /*Array::add*/;
+    ((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*/) /*MMSrcModule::filename*/;
+    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*/
     variable7 = ((file___String___strip_extension_t)CALL(variable7,COLOR_file___String___strip_extension))(variable7, variable8) /*String::strip_extension*/;
     variable6 = variable7;
@@ -107,7 +107,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     ((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*/
-      ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/,  variable6 /*native_name*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/,  variable6 /*native_name*/) /*AbstractArray::add*/;
     }
     continue_2: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
@@ -123,7 +123,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   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*/;
-  variable11 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMSrcModule::name*/;
+  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*/;
@@ -136,7 +136,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable17 = NEW_string___String___with_native(BOX_NativeString("_tables.c"), TAG_Int(9)); /*new String*/
   variable18 = variable17;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
-  ((array___AbstractArray___add_t)CALL( variable2 /*files*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*files*/, variable4) /*Array::add*/;
+  ((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*/
@@ -148,7 +148,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable10 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -170,7 +170,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   variable7 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -206,7 +206,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   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 = ((string___Collection___join_t)CALL( variable3 /*includes*/,COLOR_string___Collection___join))( variable3 /*includes*/, variable17) /*ArraySet::join*/;
+  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*/
@@ -214,7 +214,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   ((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) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))(variable6,  NIT_NULL /*null*/) /*String::==*/)))));
+  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*/
@@ -229,13 +229,13 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
     ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
   } else { /*if*/
     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) /*String::is_empty*/;
+    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*/
       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) /*MMSrcModule::name*/;
+      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*/;
@@ -248,7 +248,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
       variable7 = NEW_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) /*MMSrcModule::name*/;
+      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*/;
@@ -274,7 +274,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   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 = ((string___Collection___join_t)CALL( variable2 /*files*/,COLOR_string___Collection___join))( variable2 /*files*/, variable9) /*Array::join*/;
+  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*/
@@ -300,7 +300,7 @@ void compiling___MMSrcModule___compile_prog_to_c(val_t  self, val_t  param0) {
   return;
 }
 void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling___MMSrcModule___compile_main, 80};
+  struct trace_t trace = {NULL, LOCATE_compiling, 80, LOCATE_compiling___MMSrcModule___compile_main};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -341,7 +341,7 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   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*/;
-  variable11 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMSrcModule::name*/;
+  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*/;
@@ -361,7 +361,7 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   variable5 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -369,7 +369,7 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   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*/;
-  variable4 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMSrcModule::mhe*/;
+  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*/;
   variable4 = ((abstract_collection___Collection___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -405,7 +405,7 @@ void compiling___MMSrcModule___compile_main(val_t  self, val_t  param0, val_t  p
   return;
 }
 void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling___MMSrcModule___compile_separate_module, 98};
+  struct trace_t trace = {NULL, LOCATE_compiling, 98, LOCATE_compiling___MMSrcModule___compile_separate_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -436,7 +436,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   ((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*/
   ((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) /*MMSrcModule::filename*/;
+  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*/
   variable4 = ((file___String___strip_extension_t)CALL(variable4,COLOR_file___String___strip_extension))(variable4, variable5) /*String::strip_extension*/;
   variable3 = variable4;
@@ -469,7 +469,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable10 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -489,7 +489,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   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*/
   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) /*MMSrcModule::name*/;
+  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*/;
@@ -501,7 +501,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable6 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -519,7 +519,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable6 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -533,9 +533,9 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable15 = variable14;
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
-  variable5 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMSrcModule::mhe*/;
+  variable5 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable5 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable5,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable5) /*PartialOrderElement::direct_greaters*/;
-  variable5 = ((array___AbstractArray___iterator_t)CALL(variable5,COLOR_abstract_collection___Collection___iterator))(variable5) /*Array::iterator*/;
+  variable5 = ((array___AbstractArray___iterator_t)CALL(variable5,COLOR_abstract_collection___Collection___iterator))(variable5) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable6 = ((array___ArrayIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable6)) break; /*for*/
@@ -565,7 +565,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   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*/
-  variable5 = ((string___Collection___join_t)CALL(variable5,COLOR_string___Collection___join))(variable5, variable6) /*Array::join*/;
+  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*/
   ((file___OFStream___write_t)CALL( variable4 /*f*/,COLOR_stream___OStream___write))( variable4 /*f*/, variable5) /*OFStream::write*/;
@@ -580,7 +580,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable11 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -600,7 +600,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable7 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -612,7 +612,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   variable7 = NEW_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) /*MMSrcModule::name*/;
+  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*/;
@@ -629,7 +629,7 @@ void compiling___MMSrcModule___compile_separate_module(val_t  self, val_t  param
   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*/
-  variable6 = ((string___Collection___join_t)CALL(variable6,COLOR_string___Collection___join))(variable6, variable7) /*Array::join*/;
+  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*/
   ((file___OFStream___write_t)CALL( variable5 /*f*/,COLOR_stream___OStream___write))( variable5 /*f*/, variable6) /*OFStream::write*/;
index 563019e..a63681b 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling. */
-#ifndef compiling_3_sep
-#define compiling_3_sep
+#ifndef compiling_2_sep
+#define compiling_2_sep
 #include "compiling_global._sep.h"
 #include <nit_common.h>
-#define LOCATE_compiling "compiling"
+#define LOCATE_compiling "./compiling//compiling.nit"
 extern const int SFT_compiling[];
 #define COLOR_compiling___MMSrcModule___compile_prog_to_c SFT_compiling[0]
 #define COLOR_compiling___MMSrcModule___compile_main SFT_compiling[1]
index 71b52a4..e50ea8e 100644 (file)
 /* This C file is generated by NIT to compile module compiling_base. */
 #include "compiling_base._sep.h"
 val_t compiling_base___ToolContext___global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___global, 24};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 24, LOCATE_compiling_base___ToolContext___global};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____global( self) /*ToolContext::_global*/;
 }
 void compiling_base___ToolContext___global__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___global__eq, 24};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 24, LOCATE_compiling_base___ToolContext___global__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____global( self) /*ToolContext::_global*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___attr_sim(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___attr_sim, 25};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 25, LOCATE_compiling_base___ToolContext___attr_sim};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____attr_sim( self) /*ToolContext::_attr_sim*/;
 }
 void compiling_base___ToolContext___attr_sim__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___attr_sim__eq, 25};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 25, LOCATE_compiling_base___ToolContext___attr_sim__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____attr_sim( self) /*ToolContext::_attr_sim*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___base_dir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___base_dir, 26};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 26, LOCATE_compiling_base___ToolContext___base_dir};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____base_dir( self) /*ToolContext::_base_dir*/;
 }
 void compiling_base___ToolContext___base_dir__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___base_dir__eq, 26};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 26, LOCATE_compiling_base___ToolContext___base_dir__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____base_dir( self) /*ToolContext::_base_dir*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___clibdir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___clibdir, 27};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 27, LOCATE_compiling_base___ToolContext___clibdir};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____clibdir( self) /*ToolContext::_clibdir*/;
 }
 void compiling_base___ToolContext___clibdir__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___clibdir__eq, 27};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 27, LOCATE_compiling_base___ToolContext___clibdir__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____clibdir( self) /*ToolContext::_clibdir*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___bindir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___bindir, 28};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 28, LOCATE_compiling_base___ToolContext___bindir};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____bindir( self) /*ToolContext::_bindir*/;
 }
 void compiling_base___ToolContext___bindir__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___bindir__eq, 28};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 28, LOCATE_compiling_base___ToolContext___bindir__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____bindir( self) /*ToolContext::_bindir*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___output_file(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___output_file, 29};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 29, LOCATE_compiling_base___ToolContext___output_file};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____output_file( self) /*ToolContext::_output_file*/;
 }
 void compiling_base___ToolContext___output_file__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___output_file__eq, 29};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 29, LOCATE_compiling_base___ToolContext___output_file__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____output_file( self) /*ToolContext::_output_file*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___boost(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___boost, 30};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 30, LOCATE_compiling_base___ToolContext___boost};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____boost( self) /*ToolContext::_boost*/;
 }
 void compiling_base___ToolContext___boost__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___boost__eq, 30};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 30, LOCATE_compiling_base___ToolContext___boost__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____boost( self) /*ToolContext::_boost*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___no_cc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___no_cc, 31};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 31, LOCATE_compiling_base___ToolContext___no_cc};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____no_cc( self) /*ToolContext::_no_cc*/;
 }
 void compiling_base___ToolContext___no_cc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___no_cc__eq, 31};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 31, LOCATE_compiling_base___ToolContext___no_cc__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____no_cc( self) /*ToolContext::_no_cc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___ToolContext___ext_prefix(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___ext_prefix, 32};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 32, LOCATE_compiling_base___ToolContext___ext_prefix};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___ToolContext____ext_prefix( self) /*ToolContext::_ext_prefix*/;
 }
 void compiling_base___ToolContext___ext_prefix__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___ToolContext___ext_prefix__eq, 32};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 32, LOCATE_compiling_base___ToolContext___ext_prefix__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___ToolContext____ext_prefix( self) /*ToolContext::_ext_prefix*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CompilerVisitor___add_decl(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___add_decl, 39};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 39, LOCATE_compiling_base___CompilerVisitor___add_decl};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -132,7 +132,7 @@ void compiling_base___CompilerVisitor___add_decl(val_t  self, val_t  param0) {
     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 = ((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) /*Array::add*/;
+    ((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*/;
@@ -140,13 +140,13 @@ void compiling_base___CompilerVisitor___add_decl(val_t  self, val_t  param0) {
     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::+*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   }
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CompilerVisitor___add_instr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___add_instr, 49};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 49, LOCATE_compiling_base___CompilerVisitor___add_instr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -160,7 +160,7 @@ void compiling_base___CompilerVisitor___add_instr(val_t  self, val_t  param0) {
     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 = ((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) /*Array::add*/;
+    ((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*/;
@@ -168,13 +168,13 @@ void compiling_base___CompilerVisitor___add_instr(val_t  self, val_t  param0) {
     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::+*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___CompilerVisitor___new_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___new_number, 59};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 59, LOCATE_compiling_base___CompilerVisitor___new_number};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -189,14 +189,14 @@ val_t compiling_base___CompilerVisitor___new_number(val_t  self) {
   return variable0;
 }
 void compiling_base___CompilerVisitor___indent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___indent, 69};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 69, LOCATE_compiling_base___CompilerVisitor___indent};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/)+UNTAG_Int( TAG_Int(1)));
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CompilerVisitor___unindent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___unindent, 73};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 73, LOCATE_compiling_base___CompilerVisitor___unindent};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/)-UNTAG_Int( TAG_Int(1)));
@@ -209,22 +209,22 @@ void compiling_base___CompilerVisitor___unindent(val_t  self) {
   return;
 }
 val_t compiling_base___CompilerVisitor___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___to_s, 80};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 80, LOCATE_compiling_base___CompilerVisitor___to_s};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = NEW_array___Array___init(); /*new Array[String]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
-  ((abstract_collection___IndexedCollection___append_t)CALL( variable0 /*out*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*out*/, variable1) /*Array::append*/;
+  ((abstract_collection___IndexedCollection___append_t)CALL( variable0 /*out*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*out*/, variable1) /*IndexedCollection::append*/;
   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) /*Array::append*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL( variable0 /*out*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*out*/, variable1) /*Array::add*/;
+  ((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 = ((string___Collection___join_t)CALL( variable0 /*out*/,COLOR_string___Collection___join))( variable0 /*out*/, variable1) /*Array::join*/;
+  variable1 = ((string___Collection___join_t)CALL( variable0 /*out*/,COLOR_string___Collection___join))( variable0 /*out*/, variable1) /*Collection::join*/;
   variable0 = variable1;
   goto return_label5;
   return_label5: while(false);
@@ -232,59 +232,59 @@ val_t compiling_base___CompilerVisitor___to_s(val_t  self) {
   return variable0;
 }
 val_t compiling_base___CompilerVisitor___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___module, 90};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 90, LOCATE_compiling_base___CompilerVisitor___module};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/;
 }
 void compiling_base___CompilerVisitor___module__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___module__eq, 90};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 90, LOCATE_compiling_base___CompilerVisitor___module__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___CompilerVisitor___ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___ctx, 93};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 93, LOCATE_compiling_base___CompilerVisitor___ctx};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
 }
 void compiling_base___CompilerVisitor___ctx__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___ctx__eq, 93};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 93, LOCATE_compiling_base___CompilerVisitor___ctx__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___CompilerVisitor___indent_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___indent_level, 96};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 96, LOCATE_compiling_base___CompilerVisitor___indent_level};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
 }
 void compiling_base___CompilerVisitor___indent_level__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___indent_level__eq, 96};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 96, LOCATE_compiling_base___CompilerVisitor___indent_level__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___CompilerVisitor___tc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___tc, 99};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 99, LOCATE_compiling_base___CompilerVisitor___tc};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___CompilerVisitor____tc( self) /*CompilerVisitor::_tc*/;
 }
 void compiling_base___CompilerVisitor___tc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___tc__eq, 99};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 99, LOCATE_compiling_base___CompilerVisitor___tc__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___CompilerVisitor____tc( self) /*CompilerVisitor::_tc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CompilerVisitor___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CompilerVisitor___init, 102};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 102, LOCATE_compiling_base___CompilerVisitor___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -295,19 +295,19 @@ void compiling_base___CompilerVisitor___init(val_t  self, val_t  param0, int* in
   return;
 }
 val_t compiling_base___CContext___decls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CContext___decls, 109};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 109, LOCATE_compiling_base___CContext___decls};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___CContext____decls( self) /*CContext::_decls*/;
 }
 val_t compiling_base___CContext___instrs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CContext___instrs, 110};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 110, LOCATE_compiling_base___CContext___instrs};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___CContext____instrs( self) /*CContext::_instrs*/;
 }
 void compiling_base___CContext___append(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CContext___append, 112};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 112, LOCATE_compiling_base___CContext___append};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -315,15 +315,15 @@ void compiling_base___CContext___append(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ATTR_compiling_base___CContext____instrs( self) /*CContext::_instrs*/;
   variable2 = ((compiling_base___CContext___decls_t)CALL( variable0 /*c*/,COLOR_compiling_base___CContext___decls))( variable0 /*c*/) /*CContext::decls*/;
-  ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*Array::append*/;
+  ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*IndexedCollection::append*/;
   variable1 = ATTR_compiling_base___CContext____instrs( self) /*CContext::_instrs*/;
   variable2 = ((compiling_base___CContext___instrs_t)CALL( variable0 /*c*/,COLOR_compiling_base___CContext___instrs))( variable0 /*c*/) /*CContext::instrs*/;
-  ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*Array::append*/;
+  ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*IndexedCollection::append*/;
   tracehead = trace.prev;
   return;
 }
 void compiling_base___CContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___CContext___init, 118};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 118, LOCATE_compiling_base___CContext___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CContext].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CContext].i] = 1;
@@ -331,7 +331,7 @@ void compiling_base___CContext___init(val_t  self, int* init_table) {
   return;
 }
 val_t compiling_base___MMGlobalProperty___meth_call(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMGlobalProperty___meth_call, 122};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 122, LOCATE_compiling_base___MMGlobalProperty___meth_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -345,7 +345,7 @@ val_t compiling_base___MMGlobalProperty___meth_call(val_t  self) {
   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) /*MMConcreteProperty::cname*/;
+  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*/
@@ -357,7 +357,7 @@ val_t compiling_base___MMGlobalProperty___meth_call(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalProperty___attr_access(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMGlobalProperty___attr_access, 128};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 128, LOCATE_compiling_base___MMGlobalProperty___attr_access};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -371,7 +371,7 @@ val_t compiling_base___MMGlobalProperty___attr_access(val_t  self) {
   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) /*MMConcreteProperty::cname*/;
+  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*/
@@ -383,7 +383,7 @@ val_t compiling_base___MMGlobalProperty___attr_access(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalProperty___color_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMGlobalProperty___color_id, 134};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 134, LOCATE_compiling_base___MMGlobalProperty___color_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -397,7 +397,7 @@ val_t compiling_base___MMGlobalProperty___color_id(val_t  self) {
   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) /*MMConcreteProperty::cname*/;
+  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*/
@@ -409,7 +409,7 @@ val_t compiling_base___MMGlobalProperty___color_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalClass___id_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMGlobalClass___id_id, 143};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 143, LOCATE_compiling_base___MMGlobalClass___id_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -436,7 +436,7 @@ val_t compiling_base___MMGlobalClass___id_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalClass___color_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMGlobalClass___color_id, 149};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 149, LOCATE_compiling_base___MMGlobalClass___color_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -463,7 +463,7 @@ val_t compiling_base___MMGlobalClass___color_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMGlobalClass___init_table_pos_id, 155};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 155, LOCATE_compiling_base___MMGlobalClass___init_table_pos_id};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -490,7 +490,7 @@ val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMLocalClass___primitive_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMLocalClass___primitive_info, 169};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 169, LOCATE_compiling_base___MMLocalClass___primitive_info};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_16; static int once_bool_variable1_16;
@@ -512,10 +512,10 @@ val_t compiling_base___MMLocalClass___primitive_info(val_t  self) {
   }
   variable0 = variable1;
   variable1 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
-  variable1 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable0 /*ctypes*/,COLOR_abstract_collection___Map___has_key))( variable0 /*ctypes*/, variable1) /*HashMap::has_key*/;
+  variable1 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable0 /*ctypes*/,COLOR_abstract_collection___Map___has_key))( variable0 /*ctypes*/, variable1) /*CoupleMap::has_key*/;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
-    variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable0 /*ctypes*/,COLOR_abstract_collection___Map_____bra))( variable0 /*ctypes*/, variable1) /*HashMap::[]*/;
+    variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable0 /*ctypes*/,COLOR_abstract_collection___Map_____bra))( variable0 /*ctypes*/, variable1) /*CoupleMap::[]*/;
     ATTR_compiling_base___MMLocalClass____primitive_info_cache( self) /*MMLocalClass::_primitive_info_cache*/ = variable1;
     ATTR_compiling_base___MMLocalClass____primitive_info_b( self) /*MMLocalClass::_primitive_info_b*/ =  TAG_Bool(true);
     variable1 = ATTR_compiling_base___MMLocalClass____primitive_info_cache( self) /*MMLocalClass::_primitive_info_cache*/;
@@ -558,7 +558,7 @@ val_t compiling_base___MMLocalClass___primitive_info(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMLocalClass___primitive_ctypes, 199};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 199, LOCATE_compiling_base___MMLocalClass___primitive_ctypes};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -572,51 +572,51 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
   val_t variable10;
   val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, PrimitiveInfo]*/
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable0 = variable1;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
+  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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable5) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable6) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable7) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable8) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable9) /*Array::add*/;
+  ((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[Bool]*/
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(true)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(true)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(true)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(false)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(false)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(false)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Bool(false)) /*Array::add*/;
+  variable3 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[E]*/
+  ((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*/;
+  ((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*/;
+  ((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[String]*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString("int"), TAG_Int(3)); /*new String*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable5) /*Array::add*/;
+  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*/
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable6) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable7) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable8) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable9) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable10) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable11) /*Array::add*/;
+  ((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*/) /*Array::length*/;
-  variable5 = NEW_range___Range___without_last( TAG_Int(0), variable4); /*new Range[Int]*/
+  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]*/
   variable4 = variable5;
   variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
   while (true) { /*for*/
@@ -627,11 +627,11 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
     variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable9 = variable8;
     if (UNTAG_Bool(variable9)) { /* and */
-      variable9 = ATTR_array___AbstractArray____length( variable1 /*pnames*/) /*Array::_length*/;
+      variable9 = ATTR_array___AbstractArray____length( variable1 /*pnames*/) /*AbstractArray::_length*/;
       variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
     }
     variable8 = variable9;
-    if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_base, 229); nit_exit(1);}
     variable8 = ATTR_array___Array____items( variable1 /*pnames*/) /*Array::_items*/;
     variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
     goto return_label20;
@@ -646,11 +646,11 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
     variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable10 = variable9;
     if (UNTAG_Bool(variable10)) { /* and */
-      variable10 = ATTR_array___AbstractArray____length( variable2 /*tagged*/) /*Array::_length*/;
+      variable10 = ATTR_array___AbstractArray____length( variable2 /*tagged*/) /*AbstractArray::_length*/;
       variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
     }
     variable9 = variable10;
-    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_base, 229); nit_exit(1);}
     variable9 = ATTR_array___Array____items( variable2 /*tagged*/) /*Array::_items*/;
     variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
     goto return_label21;
@@ -661,11 +661,11 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
     variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable10 = variable9;
     if (UNTAG_Bool(variable10)) { /* and */
-      variable10 = ATTR_array___AbstractArray____length( variable3 /*cnames*/) /*Array::_length*/;
+      variable10 = ATTR_array___AbstractArray____length( variable3 /*cnames*/) /*AbstractArray::_length*/;
       variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
     }
     variable9 = variable10;
-    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_base, 229); nit_exit(1);}
     variable9 = ATTR_array___Array____items( variable3 /*cnames*/) /*Array::_items*/;
     variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
     goto return_label22;
@@ -684,46 +684,46 @@ val_t compiling_base___MMLocalClass___primitive_ctypes(val_t  self) {
   return variable0;
 }
 val_t compiling_base___PrimitiveInfo___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___PrimitiveInfo___name, 220};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 220, LOCATE_compiling_base___PrimitiveInfo___name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___PrimitiveInfo____name( self) /*PrimitiveInfo::_name*/;
 }
 void compiling_base___PrimitiveInfo___name__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___PrimitiveInfo___name__eq, 220};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 220, LOCATE_compiling_base___PrimitiveInfo___name__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___PrimitiveInfo____name( self) /*PrimitiveInfo::_name*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___PrimitiveInfo___tagged(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___PrimitiveInfo___tagged, 223};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 223, LOCATE_compiling_base___PrimitiveInfo___tagged};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___PrimitiveInfo____tagged( self) /*PrimitiveInfo::_tagged*/;
 }
 void compiling_base___PrimitiveInfo___tagged__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___PrimitiveInfo___tagged__eq, 223};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 223, LOCATE_compiling_base___PrimitiveInfo___tagged__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___PrimitiveInfo____tagged( self) /*PrimitiveInfo::_tagged*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_base___PrimitiveInfo___cname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___PrimitiveInfo___cname, 226};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 226, LOCATE_compiling_base___PrimitiveInfo___cname};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_base___PrimitiveInfo____cname( self) /*PrimitiveInfo::_cname*/;
 }
 void compiling_base___PrimitiveInfo___cname__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___PrimitiveInfo___cname__eq, 226};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 226, LOCATE_compiling_base___PrimitiveInfo___cname__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_base___PrimitiveInfo____cname( self) /*PrimitiveInfo::_cname*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_base___PrimitiveInfo___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___PrimitiveInfo___init, 229};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 229, LOCATE_compiling_base___PrimitiveInfo___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PrimitiveInfo].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PrimitiveInfo].i] = 1;
@@ -731,14 +731,14 @@ void compiling_base___PrimitiveInfo___init(val_t  self, int* init_table) {
   return;
 }
 val_t compiling_base___MMType___cname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMType___cname, 233};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 233, LOCATE_compiling_base___MMType___cname};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable1 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable1,COLOR_compiling_base___MMLocalClass___primitive_info))(variable1) /*MMLocalClass::primitive_info*/;
   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*/) /*PrimitiveInfo::==*/)))));
+  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*/
     variable0 = variable1;
@@ -753,7 +753,7 @@ val_t compiling_base___MMType___cname(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMType___default_cvalue(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMType___default_cvalue, 244};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 244, LOCATE_compiling_base___MMType___default_cvalue};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -770,7 +770,7 @@ val_t compiling_base___MMType___default_cvalue(val_t  self) {
   variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable1 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable1,COLOR_compiling_base___MMLocalClass___primitive_info))(variable1) /*MMLocalClass::primitive_info*/;
   variable0 = variable1;
-  variable1 = TAG_Bool(!UNTAG_Bool(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*/) /*PrimitiveInfo::==*/)))))));
+  variable1 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable0 /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable0 /*pi*/) /*PrimitiveInfo::tagged*/;
@@ -807,7 +807,7 @@ val_t compiling_base___MMType___default_cvalue(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMType___boxtype, 256};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 256, LOCATE_compiling_base___MMType___boxtype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -825,7 +825,7 @@ val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
   variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable2 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable2,COLOR_compiling_base___MMLocalClass___primitive_info))(variable2) /*MMLocalClass::primitive_info*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*pi*/ ==  NIT_NULL /*null*/) || (( variable1 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))( variable1 /*pi*/,  NIT_NULL /*null*/) /*PrimitiveInfo::==*/)))));
+  variable2 = TAG_Bool(( variable1 /*pi*/ ==  NIT_NULL /*null*/) || (( variable1 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))( variable1 /*pi*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable1 =  variable0 /*s*/;
     goto return_label26;
@@ -878,7 +878,7 @@ val_t compiling_base___MMType___boxtype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMType___unboxtype, 270};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 270, LOCATE_compiling_base___MMType___unboxtype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -896,7 +896,7 @@ val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
   variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
   variable2 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable2,COLOR_compiling_base___MMLocalClass___primitive_info))(variable2) /*MMLocalClass::primitive_info*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*pi*/ ==  NIT_NULL /*null*/) || (( variable1 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))( variable1 /*pi*/,  NIT_NULL /*null*/) /*PrimitiveInfo::==*/)))));
+  variable2 = TAG_Bool(( variable1 /*pi*/ ==  NIT_NULL /*null*/) || (( variable1 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))( variable1 /*pi*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable1 =  variable0 /*s*/;
     goto return_label27;
@@ -949,7 +949,7 @@ val_t compiling_base___MMType___unboxtype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_base___MMLocalProperty___cname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMLocalProperty___cname, 289};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 289, LOCATE_compiling_base___MMLocalProperty___cname};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -958,18 +958,16 @@ 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[Symbol]*/
-    variable1 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( self) /*MMLocalProperty::concrete_property*/;
-    variable1 = ((abstractmetamodel___MMLocalProperty___module_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalProperty___module))(variable1) /*MMConcreteProperty::module*/;
+    variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+    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) /*Array::add*/;
-    variable2 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( self) /*MMLocalProperty::concrete_property*/;
-    variable2 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable2) /*MMConcreteProperty::local_class*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+    variable2 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
     variable2 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___name))(variable2) /*MMLocalClass::name*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*AbstractArray::add*/;
     variable3 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*Array::add*/;
-    variable0 = ((utils___Object___cmangle_t)CALL( self,COLOR_utils___Object___cmangle))( self, variable0) /*MMLocalProperty::cmangle*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*AbstractArray::add*/;
+    variable0 = ((utils___Object___cmangle_t)CALL( self,COLOR_utils___Object___cmangle))( self, variable0) /*Object::cmangle*/;
     ATTR_compiling_base___MMLocalProperty____cname_cache( self) /*MMLocalProperty::_cname_cache*/ = variable0;
   }
   variable0 = ATTR_compiling_base___MMLocalProperty____cname_cache( self) /*MMLocalProperty::_cname_cache*/;
@@ -979,7 +977,7 @@ val_t compiling_base___MMLocalProperty___cname(val_t  self) {
   return variable0;
 }
 val_t compiling_base___MMLocalProperty___color_id_for_super(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_base___MMLocalProperty___color_id_for_super, 298};
+  struct trace_t trace = {NULL, LOCATE_compiling_base, 298, LOCATE_compiling_base___MMLocalProperty___color_id_for_super};
   val_t variable0;
   val_t variable1;
   val_t variable2;
index 88bc8a7..b7b98d7 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_base. */
-#ifndef compiling_base_3_sep
-#define compiling_base_3_sep
+#ifndef compiling_base_2_sep
+#define compiling_base_2_sep
 #include "syntax._sep.h"
 #include "utils._sep.h"
 #include <nit_common.h>
@@ -10,7 +10,7 @@ extern const classtable_elt_t VFT_CompilerVisitor[];
 extern const classtable_elt_t VFT_CContext[];
 
 extern const classtable_elt_t VFT_PrimitiveInfo[];
-#define LOCATE_compiling_base "compiling_base"
+#define LOCATE_compiling_base "./compiling//compiling_base.nit"
 extern const int SFT_compiling_base[];
 #define COLOR_compiling_base___ToolContext____global SFT_compiling_base[0]
 #define COLOR_compiling_base___ToolContext____attr_sim SFT_compiling_base[1]
index 1971de1..8b443c3 100644 (file)
@@ -1,31 +1,31 @@
 /* This C file is generated by NIT to compile module compiling_global. */
 #include "compiling_global._sep.h"
 val_t compiling_global___ColorContext___color(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___ColorContext___color, 28};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 28, LOCATE_compiling_global___ColorContext___color};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
-  variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*e*/) /*HashMap::[]*/;
+  variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*e*/) /*CoupleMap::[]*/;
   goto return_label0;
   return_label0: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___ColorContext___has_color(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___ColorContext___has_color, 34};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 34, LOCATE_compiling_global___ColorContext___has_color};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
-  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*/) /*HashMap::==*/)))))));
+  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::==*/)))))));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ATTR_compiling_global___ColorContext____colors( self) /*ColorContext::_colors*/;
-    variable2 = ((abstract_collection___CoupleMap___has_key_t)CALL(variable2,COLOR_abstract_collection___Map___has_key))(variable2,  variable0 /*e*/) /*HashMap::has_key*/;
+    variable2 = ((abstract_collection___CoupleMap___has_key_t)CALL(variable2,COLOR_abstract_collection___Map___has_key))(variable2,  variable0 /*e*/) /*CoupleMap::has_key*/;
   }
   variable1 = variable2;
   goto return_label1;
@@ -34,7 +34,7 @@ val_t compiling_global___ColorContext___has_color(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___ColorContext___color__eq, 40};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 40, LOCATE_compiling_global___ColorContext___color__eq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -46,16 +46,16 @@ void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val
   variable0 =  param0;
   variable1 =  param1;
   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*/) /*HashMap::==*/)))));
+  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[TableElt, Int]*/
+    variable2 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
     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[Int]*/
+  variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3); /*new Range[E]*/
   variable3 = variable4;
   variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
   while (true) { /*for*/
@@ -75,38 +75,38 @@ void compiling_global___ColorContext___color__eq(val_t  self, val_t  param0, val
   return;
 }
 val_t compiling_global___GlobalAnalysis___compiled_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___GlobalAnalysis___compiled_classes, 56};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 56, LOCATE_compiling_global___GlobalAnalysis___compiled_classes};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___GlobalAnalysis____compiled_classes( self) /*GlobalAnalysis::_compiled_classes*/;
 }
 val_t compiling_global___GlobalAnalysis___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___GlobalAnalysis___module, 59};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 59, LOCATE_compiling_global___GlobalAnalysis___module};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___GlobalAnalysis____module( self) /*GlobalAnalysis::_module*/;
 }
 val_t compiling_global___GlobalAnalysis___max_class_table_length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length, 62};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self) /*GlobalAnalysis::_max_class_table_length*/;
 }
 void compiling_global___GlobalAnalysis___max_class_table_length__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length__eq, 62};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self) /*GlobalAnalysis::_max_class_table_length*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_global___GlobalAnalysis___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___GlobalAnalysis___init, 65};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 65, LOCATE_compiling_global___GlobalAnalysis___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_GlobalAnalysis].i]) return;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[MMGlobalClass, CompiledClass]*/
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   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;
@@ -114,91 +114,91 @@ void compiling_global___GlobalAnalysis___init(val_t  self, val_t  param0, int* i
   return;
 }
 val_t compiling_global___CompilerVisitor___global_analysis(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompilerVisitor___global_analysis, 73};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompilerVisitor____global_analysis( self) /*CompilerVisitor::_global_analysis*/;
 }
 void compiling_global___CompilerVisitor___global_analysis__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompilerVisitor___global_analysis__eq, 73};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___CompilerVisitor____global_analysis( self) /*CompilerVisitor::_global_analysis*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___local_class, 80};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 80, LOCATE_compiling_global___CompiledClass___local_class};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____local_class( self) /*CompiledClass::_local_class*/;
 }
 val_t compiling_global___CompiledClass___id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___id, 83};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 83, LOCATE_compiling_global___CompiledClass___id};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____id( self) /*CompiledClass::_id*/;
 }
 void compiling_global___CompiledClass___id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___id__eq, 83};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 83, LOCATE_compiling_global___CompiledClass___id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___CompiledClass____id( self) /*CompiledClass::_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___class_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___class_table, 86};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 86, LOCATE_compiling_global___CompiledClass___class_table};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____class_table( self) /*CompiledClass::_class_table*/;
 }
 void compiling_global___CompiledClass___class_table__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___class_table__eq, 86};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 86, LOCATE_compiling_global___CompiledClass___class_table__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___CompiledClass____class_table( self) /*CompiledClass::_class_table*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___instance_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___instance_table, 89};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 89, LOCATE_compiling_global___CompiledClass___instance_table};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____instance_table( self) /*CompiledClass::_instance_table*/;
 }
 void compiling_global___CompiledClass___instance_table__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___instance_table__eq, 89};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 89, LOCATE_compiling_global___CompiledClass___instance_table__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___CompiledClass____instance_table( self) /*CompiledClass::_instance_table*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___class_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___class_layout, 92};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 92, LOCATE_compiling_global___CompiledClass___class_layout};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____class_layout( self) /*CompiledClass::_class_layout*/;
 }
 void compiling_global___CompiledClass___class_layout__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___class_layout__eq, 92};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 92, LOCATE_compiling_global___CompiledClass___class_layout__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___CompiledClass____class_layout( self) /*CompiledClass::_class_layout*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___CompiledClass___instance_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___instance_layout, 95};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 95, LOCATE_compiling_global___CompiledClass___instance_layout};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___CompiledClass____instance_layout( self) /*CompiledClass::_instance_layout*/;
 }
 void compiling_global___CompiledClass___instance_layout__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___instance_layout__eq, 95};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 95, LOCATE_compiling_global___CompiledClass___instance_layout__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___CompiledClass____instance_layout( self) /*CompiledClass::_instance_layout*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void compiling_global___CompiledClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___CompiledClass___init, 98};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 98, LOCATE_compiling_global___CompiledClass___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -209,44 +209,44 @@ void compiling_global___CompiledClass___init(val_t  self, val_t  param0, int* in
   return;
 }
 val_t compiling_global___MMGlobalProperty___pos_of(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMGlobalProperty___pos_of, 102};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMGlobalProperty____pos_of( self) /*MMGlobalProperty::_pos_of*/;
 }
 void compiling_global___MMGlobalProperty___pos_of__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMGlobalProperty___pos_of__eq, 102};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_global___MMGlobalProperty____pos_of( self) /*MMGlobalProperty::_pos_of*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___MMSrcLocalClass___base_attr_pos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcLocalClass___base_attr_pos, 108};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 108, LOCATE_compiling_global___MMSrcLocalClass___base_attr_pos};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self) /*MMSrcLocalClass::_base_attr_pos*/;
 }
 val_t compiling_global___MMSrcLocalClass___class_color_pos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos, 111};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 111, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self) /*MMSrcLocalClass::_class_color_pos*/;
 }
 val_t compiling_global___MMSrcLocalClass___class_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcLocalClass___class_layout, 114};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 114, LOCATE_compiling_global___MMSrcLocalClass___class_layout};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____class_layout( self) /*MMSrcLocalClass::_class_layout*/;
 }
 val_t compiling_global___MMSrcLocalClass___instance_layout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcLocalClass___instance_layout, 117};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 117, LOCATE_compiling_global___MMSrcLocalClass___instance_layout};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_global___MMSrcLocalClass____instance_layout( self) /*MMSrcLocalClass::_instance_layout*/;
 }
 void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in, 120};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 120, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -261,76 +261,76 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_array___Array___init(); /*new Array[MMGlobalProperty]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[MMGlobalProperty]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[LocalTableElt]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   ATTR_compiling_global___MMSrcLocalClass____class_layout( self) /*MMSrcLocalClass::_class_layout*/ =  variable4 /*clt*/;
-  variable6 = NEW_array___Array___init(); /*new Array[LocalTableElt]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   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) /*MMSrcLocalClass::global*/;
+  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) /*MMLocalClass::==*/)))));
+  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*/
-    ((array___AbstractArray___add_t)CALL( variable1 /*module_table*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*module_table*/, variable6) /*Array::add*/;
+    ((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*/
     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) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable6) /*Array::add*/;
+    ((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*/;
   variable6 = ((abstract_collection___Map___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*Map::iterator*/;
   while (true) { /*for*/
-    variable7 = ((abstract_collection___Iterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*MapIterator::is_ok*/;
+    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) /*MapIterator::item*/;
-    variable9 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable7 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable7 /*p*/) /*MMSrcLocalProperty::global*/;
+    variable7 = ((abstract_collection___Iterator___item_t)CALL(variable6,COLOR_abstract_collection___Iterator___item))(variable6) /*Iterator::item*/;
+    variable9 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable7 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable7 /*p*/) /*MMLocalProperty::global*/;
     variable8 = variable9;
     variable9 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable8 /*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable8 /*pg*/) /*MMGlobalProperty::intro*/;
-    variable9 = TAG_Bool((variable9 ==  variable7 /*p*/) || ((variable9 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable9, variable7 /*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))(variable9,  variable7 /*p*/) /*MMConcreteProperty::==*/)))));
+    variable9 = TAG_Bool((variable9 ==  variable7 /*p*/) || ((variable9 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable9, variable7 /*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))(variable9,  variable7 /*p*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable9)) { /*if*/
       variable9 = TAG_Bool(( variable7 /*p*/==NIT_NULL) || VAL_ISA( variable7 /*p*/, COLOR_MMSrcAttribute, ID_MMSrcAttribute)) /*cast MMSrcAttribute*/;
       if (UNTAG_Bool(variable9)) { /*if*/
-        variable9 = ((array___AbstractArray___length_t)CALL( variable3 /*intro_attributes*/,COLOR_abstract_collection___Collection___length))( variable3 /*intro_attributes*/) /*Array::length*/;
+        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*/) /*Array::add*/;
+        ((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*/
-        ((array___AbstractArray___add_t)CALL( variable5 /*ilt*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*ilt*/, variable9) /*Array::add*/;
+        ((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*/;
         if (UNTAG_Bool(variable9)) { /*if*/
-          variable9 = ((array___AbstractArray___length_t)CALL( variable2 /*intro_methods*/,COLOR_abstract_collection___Collection___length))( variable2 /*intro_methods*/) /*Array::length*/;
+          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*/) /*Array::add*/;
+          ((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*/
-          ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable9) /*Array::add*/;
+          ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable9) /*AbstractArray::add*/;
         }
       }
     }
     variable9 = TAG_Bool(( variable7 /*p*/==NIT_NULL) || VAL_ISA( variable7 /*p*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
     variable10 = variable9;
     if (UNTAG_Bool(variable10)) { /* and */
-      variable10 = ((abstractmetamodel___MMConcreteProperty___need_super_t)CALL( variable7 /*p*/,COLOR_abstractmetamodel___MMConcreteProperty___need_super))( variable7 /*p*/) /*MMSrcMethod::need_super*/;
+      variable10 = ((abstractmetamodel___MMLocalProperty___need_super_t)CALL( variable7 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___need_super))( variable7 /*p*/) /*MMLocalProperty::need_super*/;
     }
     variable9 = variable10;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable9 = NEW_compiling_global___TableEltSuperPos___init( variable7 /*p*/); /*new TableEltSuperPos*/
-      ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable9) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable9) /*AbstractArray::add*/;
     }
     continue_7: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*Iterator::next*/;
   }
   break_7: while(0);
   variable6 = ((compiling_base___ToolContext___attr_sim_t)CALL( variable0 /*tc*/,COLOR_compiling_base___ToolContext___attr_sim))( variable0 /*tc*/) /*ToolContext::attr_sim*/;
   variable7 = variable6;
   if (UNTAG_Bool(variable7)) { /* and */
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*intro_attributes*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*intro_attributes*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*intro_attributes*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*intro_attributes*/) /*AbstractArray::is_empty*/;
     variable7 =  TAG_Bool(!UNTAG_Bool(variable7));
   }
   variable6 = variable7;
@@ -338,41 +338,41 @@ void compiling_global___MMSrcLocalClass___build_layout_in(val_t  self, val_t  pa
     variable6 = NEW_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) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*clt*/, variable6) /*AbstractArray::add*/;
   } else { /*if*/
-    ((abstract_collection___IndexedCollection___append_t)CALL( variable1 /*module_table*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*module_table*/,  variable5 /*ilt*/) /*Array::append*/;
+    ((abstract_collection___IndexedCollection___append_t)CALL( variable1 /*module_table*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*module_table*/,  variable5 /*ilt*/) /*IndexedCollection::append*/;
   }
-  ((abstract_collection___IndexedCollection___append_t)CALL( variable1 /*module_table*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*module_table*/,  variable4 /*clt*/) /*Array::append*/;
+  ((abstract_collection___IndexedCollection___append_t)CALL( variable1 /*module_table*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*module_table*/,  variable4 /*clt*/) /*IndexedCollection::append*/;
   tracehead = trace.prev;
   return;
 }
 void compiling_global___MMSrcModule___local_analysis(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___local_analysis, 168};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 168, LOCATE_compiling_global___MMSrcModule___local_analysis};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[LocalTableElt]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
   variable2 = ((abstract_collection___Map___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Map::iterator*/;
   while (true) { /*for*/
-    variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*MapIterator::is_ok*/;
+    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) /*MapIterator::item*/;
+    variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     ((compiling_global___MMSrcLocalClass___build_layout_in_t)CALL( variable3 /*c*/,COLOR_compiling_global___MMSrcLocalClass___build_layout_in))( variable3 /*c*/,  variable0 /*tc*/,  variable1 /*lt*/) /*MMSrcLocalClass::build_layout_in*/;
     continue_9: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_9: while(0);
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___global_analysis, 178};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 178, LOCATE_compiling_global___MMSrcModule___global_analysis};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -398,38 +398,38 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
   variable0 =  param0;
   variable2 = NEW_compiling_global___GlobalAnalysis___init( self); /*new GlobalAnalysis*/
   variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[MMLocalClass]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable4 = NEW_hash___HashSet___init(); /*new HashSet[MMGlobalProperty]*/
+  variable4 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[TableElt]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[TableElt]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 = NEW_compiling_global___TableEltClassSelfId___init(); /*new TableEltClassSelfId*/
-  ((array___AbstractArray___add_t)CALL( variable4 /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*ctab*/, variable6) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL( variable5 /*itab*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*itab*/, variable6) /*Array::add*/;
+  ((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[MMLocalClass]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
-  variable9 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMSrcModule::local_classes*/;
-  variable9 = ((array___AbstractArray___iterator_t)CALL(variable9,COLOR_abstract_collection___Collection___iterator))(variable9) /*Array::iterator*/;
+  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*/;
   while (true) { /*for*/
     variable10 = ((array___ArrayIterator___is_ok_t)CALL(variable9,COLOR_abstract_collection___Iterator___is_ok))(variable9) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable10)) break; /*for*/
     variable10 = ((array___ArrayIterator___item_t)CALL(variable9,COLOR_abstract_collection___Iterator___item))(variable9) /*ArrayIterator::item*/;
     ((inheritance___MMLocalClass___compute_super_classes_t)CALL( variable10 /*c*/,COLOR_inheritance___MMLocalClass___compute_super_classes))( variable10 /*c*/) /*MMLocalClass::compute_super_classes*/;
-    ((array___AbstractArray___add_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*classes*/,  variable10 /*c*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*classes*/,  variable10 /*c*/) /*AbstractArray::add*/;
     continue_11: while(0);
     ((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*/
-  ((sorter___AbstractSorter___sort_t)CALL(variable9,COLOR_sorter___AbstractSorter___sort))(variable9,  variable8 /*classes*/) /*ClassSorter::sort*/;
-  variable9 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*Array::iterator*/;
+  ((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*/
     variable10 = ((array___ArrayIterator___is_ok_t)CALL(variable9,COLOR_abstract_collection___Iterator___is_ok))(variable9) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable10)) break; /*for*/
@@ -446,7 +446,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     variable14 = ((abstractmetamodel___MMGlobalClass___module_t)CALL( variable12 /*gc*/,COLOR_abstractmetamodel___MMGlobalClass___module))( variable12 /*gc*/) /*MMGlobalClass::module*/;
     variable13 = variable14;
     variable14 = ((compiling_base___MMLocalClass___primitive_info_t)CALL( variable10 /*c*/,COLOR_compiling_base___MMLocalClass___primitive_info))( variable10 /*c*/) /*MMLocalClass::primitive_info*/;
-    variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable14 ==  NIT_NULL /*null*/) || ((variable14 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable14,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable14, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable14,COLOR_kernel___Object_____eqeq))(variable14,  NIT_NULL /*null*/) /*PrimitiveInfo::==*/)))))));
+    variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable14 ==  NIT_NULL /*null*/) || ((variable14 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable14,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable14, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable14,COLOR_kernel___Object_____eqeq))(variable14,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable14)) { /*if*/
       ((compiling_global___CompiledClass___id__eq_t)CALL( variable11 /*cc*/,COLOR_compiling_global___CompiledClass___id__eq))( variable11 /*cc*/,  variable6 /*pclassid*/) /*CompiledClass::id=*/;
       variable14 = TAG_Int(UNTAG_Int( variable6 /*pclassid*/)-UNTAG_Int( TAG_Int(4)));
@@ -458,26 +458,26 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     }
     variable14 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable10 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable10 /*c*/) /*MMLocalClass::cshe*/;
     variable14 = ((partial_order___PartialOrderElement___direct_smallers_t)CALL(variable14,COLOR_partial_order___PartialOrderElement___direct_smallers))(variable14) /*PartialOrderElement::direct_smallers*/;
-    variable14 = ((array___AbstractArray___is_empty_t)CALL(variable14,COLOR_abstract_collection___Collection___is_empty))(variable14) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL(variable14,COLOR_abstract_collection___Collection___is_empty))(variable14) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
-      ((array___AbstractArray___add_t)CALL( variable2 /*smallest_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*smallest_classes*/,  variable10 /*c*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*smallest_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*smallest_classes*/,  variable10 /*c*/) /*AbstractArray::add*/;
     }
     variable15 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable10 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable10 /*c*/) /*MMLocalClass::global*/;
     variable15 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable15,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable15) /*MMGlobalClass::intro*/;
     variable14 = variable15;
     variable15 = TAG_Bool(( variable14 /*bc*/==NIT_NULL) || VAL_ISA( variable14 /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
-    if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMSrcModule___global_analysis, 230); nit_exit(1);}
+    if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis, LOCATE_compiling_global, 230); nit_exit(1);}
     variable15 = ((compiling_global___MMSrcLocalClass___class_color_pos_t)CALL( variable14 /*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos))( variable14 /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
-    ((array___AbstractArray___add_t)CALL( variable4 /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*ctab*/, variable15) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*ctab*/, variable15) /*AbstractArray::add*/;
     continue_12: while(0);
     ((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[MMLocalClass]*/
+  variable10 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   variable9 = variable10;
-  variable11 = NEW_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
+  variable11 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   variable10 = variable11;
-  variable11 = ((array___AbstractArray___iterator_t)CALL( variable2 /*smallest_classes*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*smallest_classes*/) /*Array::iterator*/;
+  variable11 = ((array___AbstractArray___iterator_t)CALL( variable2 /*smallest_classes*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*smallest_classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable12 = ((array___ArrayIterator___is_ok_t)CALL(variable11,COLOR_abstract_collection___Iterator___is_ok))(variable11) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable12)) break; /*for*/
@@ -485,12 +485,12 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     while (true) { /*while*/
       variable13 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable12 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable12 /*c*/) /*MMLocalClass::cshe*/;
       variable13 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable13,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable13) /*PartialOrderElement::direct_greaters*/;
-      variable13 = ((array___AbstractArray___length_t)CALL(variable13,COLOR_abstract_collection___Collection___length))(variable13) /*Array::length*/;
+      variable13 = ((array___AbstractArray___length_t)CALL(variable13,COLOR_abstract_collection___Collection___length))(variable13) /*AbstractArray::length*/;
       variable13 = TAG_Bool((variable13)==( TAG_Int(1)));
       if (!UNTAG_Bool(variable13)) break; /* while*/
       variable13 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable12 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable12 /*c*/) /*MMLocalClass::cshe*/;
       variable13 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable13,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable13) /*PartialOrderElement::direct_greaters*/;
-      variable13 = ((abstract_collection___IndexedCollection___first_t)CALL(variable13,COLOR_abstract_collection___Collection___first))(variable13) /*Array::first*/;
+      variable13 = ((abstract_collection___IndexedCollection___first_t)CALL(variable13,COLOR_abstract_collection___Collection___first))(variable13) /*IndexedCollection::first*/;
       variable12 = variable13 /*c=*/;
       continue_14: while(0);
     }
@@ -498,59 +498,59 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     ((hash___HashSet___add_t)CALL( variable9 /*crown_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*crown_classes*/,  variable12 /*c*/) /*HashSet::add*/;
     variable13 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable12 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable12 /*c*/) /*MMLocalClass::cshe*/;
     variable13 = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable13,COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable13) /*PartialOrderElement::greaters_and_self*/;
-    ((abstract_collection___SimpleCollection___add_all_t)CALL( variable10 /*core_classes*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable10 /*core_classes*/, variable13) /*HashSet::add_all*/;
+    ((abstract_collection___SimpleCollection___add_all_t)CALL( variable10 /*core_classes*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable10 /*core_classes*/, variable13) /*SimpleCollection::add_all*/;
     continue_13: while(0);
     ((array___ArrayIterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*ArrayIterator::next*/;
   }
   break_13: while(0);
   ((compiling_global___MMSrcModule___colorize_t)CALL( self,COLOR_compiling_global___MMSrcModule___colorize))( self,  variable1 /*ga*/,  variable4 /*ctab*/,  variable9 /*crown_classes*/,  TAG_Int(0)) /*MMSrcModule::colorize*/;
   variable11 =  TAG_Int(0);
-  variable12 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*Array::iterator*/;
+  variable12 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable13 = ((array___ArrayIterator___is_ok_t)CALL(variable12,COLOR_abstract_collection___Iterator___is_ok))(variable12) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable13)) break; /*for*/
     variable13 = ((array___ArrayIterator___item_t)CALL(variable12,COLOR_abstract_collection___Iterator___item))(variable12) /*ArrayIterator::item*/;
     variable15 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable1 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
     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) /*HashMap::[]*/;
+    variable15 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable15,COLOR_abstract_collection___Map_____bra))(variable15, variable16) /*CoupleMap::[]*/;
     variable14 = variable15;
     variable15 = ((hash___HashSet___has_t)CALL( variable10 /*core_classes*/,COLOR_abstract_collection___Collection___has))( variable10 /*core_classes*/,  variable13 /*c*/) /*HashSet::has*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable15 = ((compiling_global___MMSrcModule___build_tables_t)CALL( self,COLOR_compiling_global___MMSrcModule___build_tables))( self,  variable1 /*ga*/,  variable13 /*c*/,  variable4 /*ctab*/) /*MMSrcModule::build_tables*/;
       ((compiling_global___CompiledClass___class_table__eq_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq))( variable14 /*cc*/, variable15) /*CompiledClass::class_table=*/;
       variable15 = ((compiling_global___CompiledClass___class_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable14 /*cc*/) /*CompiledClass::class_table*/;
-      variable15 = ((array___AbstractArray___length_t)CALL(variable15,COLOR_abstract_collection___Collection___length))(variable15) /*Array::length*/;
+      variable15 = ((array___AbstractArray___length_t)CALL(variable15,COLOR_abstract_collection___Collection___length))(variable15) /*AbstractArray::length*/;
       variable15 = TAG_Bool(UNTAG_Int( variable11 /*maxcolor*/)<UNTAG_Int(variable15));
       if (UNTAG_Bool(variable15)) { /*if*/
         variable15 = ((compiling_global___CompiledClass___class_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable14 /*cc*/) /*CompiledClass::class_table*/;
-        variable15 = ((array___AbstractArray___length_t)CALL(variable15,COLOR_abstract_collection___Collection___length))(variable15) /*Array::length*/;
+        variable15 = ((array___AbstractArray___length_t)CALL(variable15,COLOR_abstract_collection___Collection___length))(variable15) /*AbstractArray::length*/;
         variable11 = variable15 /*maxcolor=*/;
       }
     } else { /*if*/
       variable16 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable13 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable13 /*c*/) /*MMLocalClass::cshe*/;
       variable16 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable16,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable16) /*PartialOrderElement::direct_greaters*/;
-      variable16 = ((abstract_collection___IndexedCollection___first_t)CALL(variable16,COLOR_abstract_collection___Collection___first))(variable16) /*Array::first*/;
+      variable16 = ((abstract_collection___IndexedCollection___first_t)CALL(variable16,COLOR_abstract_collection___Collection___first))(variable16) /*IndexedCollection::first*/;
       variable15 = variable16;
       variable17 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable1 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
       variable18 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable15 /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable15 /*sc*/) /*MMLocalClass::global*/;
-      variable17 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable17,COLOR_abstract_collection___Map_____bra))(variable17, variable18) /*HashMap::[]*/;
+      variable17 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable17,COLOR_abstract_collection___Map_____bra))(variable17, variable18) /*CoupleMap::[]*/;
       variable16 = variable17;
       variable17 = ((compiling_global___CompiledClass___class_table_t)CALL( variable16 /*scc*/,COLOR_compiling_global___CompiledClass___class_table))( variable16 /*scc*/) /*CompiledClass::class_table*/;
-      variable17 = ((array___Collection___to_a_t)CALL(variable17,COLOR_array___Collection___to_a))(variable17) /*Array::to_a*/;
+      variable17 = ((array___Collection___to_a_t)CALL(variable17,COLOR_array___Collection___to_a))(variable17) /*Collection::to_a*/;
       ((compiling_global___CompiledClass___class_table__eq_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq))( variable14 /*cc*/, variable17) /*CompiledClass::class_table=*/;
       variable18 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable13 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable13 /*c*/) /*MMLocalClass::global*/;
       variable18 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable18,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable18) /*MMGlobalClass::intro*/;
       variable17 = variable18;
       variable18 = TAG_Bool(( variable17 /*bc*/==NIT_NULL) || VAL_ISA( variable17 /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
-      if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMSrcModule___global_analysis, 263); nit_exit(1);}
+      if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis, LOCATE_compiling_global, 263); nit_exit(1);}
       variable19 = ((compiling_global___MMSrcLocalClass___class_color_pos_t)CALL( variable17 /*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos))( variable17 /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
       variable18 = variable19;
       variable20 = ((compiling_global___CompiledClass___class_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable14 /*cc*/) /*CompiledClass::class_table*/;
-      variable20 = ((array___AbstractArray___length_t)CALL(variable20,COLOR_abstract_collection___Collection___length))(variable20) /*Array::length*/;
+      variable20 = ((array___AbstractArray___length_t)CALL(variable20,COLOR_abstract_collection___Collection___length))(variable20) /*AbstractArray::length*/;
       variable19 = variable20;
-      ((compiling_global___ColorContext___color__eq_t)CALL( variable1 /*ga*/,COLOR_compiling_global___ColorContext___color__eq))( variable1 /*ga*/,  variable18 /*colpos*/,  variable19 /*colposcolor*/) /*GlobalAnalysis::color=*/;
+      ((compiling_global___ColorContext___color__eq_t)CALL( variable1 /*ga*/,COLOR_compiling_global___ColorContext___color__eq))( variable1 /*ga*/,  variable18 /*colpos*/,  variable19 /*colposcolor*/) /*ColorContext::color=*/;
       variable20 = ((compiling_global___CompiledClass___class_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable14 /*cc*/) /*CompiledClass::class_table*/;
-      ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  variable18 /*colpos*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  variable18 /*colpos*/) /*AbstractArray::add*/;
       variable20 = TAG_Bool(UNTAG_Int( variable11 /*maxcolor*/)<UNTAG_Int( variable19 /*colposcolor*/));
       if (UNTAG_Bool(variable20)) { /*if*/
         variable11 =  variable19 /*colposcolor*/ /*maxcolor=*/;
@@ -562,14 +562,14 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
   break_15: while(0);
   variable12 = TAG_Int(UNTAG_Int( variable11 /*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
   ((compiling_global___GlobalAnalysis___max_class_table_length__eq_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq))( variable1 /*ga*/, variable12) /*GlobalAnalysis::max_class_table_length=*/;
-  variable12 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*Array::iterator*/;
+  variable12 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable13 = ((array___ArrayIterator___is_ok_t)CALL(variable12,COLOR_abstract_collection___Iterator___is_ok))(variable12) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable13)) break; /*for*/
     variable13 = ((array___ArrayIterator___item_t)CALL(variable12,COLOR_abstract_collection___Iterator___item))(variable12) /*ArrayIterator::item*/;
     variable15 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable1 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
     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) /*HashMap::[]*/;
+    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*/
     variable15 = variable16;
@@ -600,7 +600,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
       variable17 = ((compiling_global___TableEltComposite___length_t)CALL( variable15 /*cte*/,COLOR_compiling_global___TableElt___length))( variable15 /*cte*/) /*TableEltComposite::length*/;
       variable17 = TAG_Bool(UNTAG_Int(variable17)>UNTAG_Int( TAG_Int(0)));
       if (UNTAG_Bool(variable17)) { /*if*/
-        ((array___AbstractArray___add_t)CALL( variable4 /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*ctab*/,  variable15 /*cte*/) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL( variable4 /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*ctab*/,  variable15 /*cte*/) /*AbstractArray::add*/;
       }
       variable17 = ((compiling_base___ToolContext___attr_sim_t)CALL( variable0 /*cctx*/,COLOR_compiling_base___ToolContext___attr_sim))( variable0 /*cctx*/) /*ToolContext::attr_sim*/;
       variable17 =  TAG_Bool(!UNTAG_Bool(variable17));
@@ -609,7 +609,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
         variable17 = TAG_Bool(UNTAG_Int(variable17)>UNTAG_Int( TAG_Int(0)));
       }
       if (UNTAG_Bool(variable17)) { /*if*/
-        ((array___AbstractArray___add_t)CALL( variable5 /*itab*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*itab*/,  variable16 /*ite*/) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL( variable5 /*itab*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*itab*/,  variable16 /*ite*/) /*AbstractArray::add*/;
       }
     }
     continue_16: while(0);
@@ -620,14 +620,14 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
   ((compiling_global___MMSrcModule___colorize_t)CALL( self,COLOR_compiling_global___MMSrcModule___colorize))( self,  variable1 /*ga*/,  variable4 /*ctab*/,  variable9 /*crown_classes*/, variable12) /*MMSrcModule::colorize*/;
   ((compiling_global___MMSrcModule___colorize_t)CALL( self,COLOR_compiling_global___MMSrcModule___colorize))( self,  variable1 /*ga*/,  variable5 /*itab*/,  variable9 /*crown_classes*/,  TAG_Int(0)) /*MMSrcModule::colorize*/;
   ((compiling_global___GlobalAnalysis___max_class_table_length__eq_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq))( variable1 /*ga*/,  TAG_Int(0)) /*GlobalAnalysis::max_class_table_length=*/;
-  variable12 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*Array::iterator*/;
+  variable12 = ((array___AbstractArray___iterator_t)CALL( variable8 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable8 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable13 = ((array___ArrayIterator___is_ok_t)CALL(variable12,COLOR_abstract_collection___Iterator___is_ok))(variable12) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable13)) break; /*for*/
     variable13 = ((array___ArrayIterator___item_t)CALL(variable12,COLOR_abstract_collection___Iterator___item))(variable12) /*ArrayIterator::item*/;
     variable15 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable1 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
     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) /*HashMap::[]*/;
+    variable15 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable15,COLOR_abstract_collection___Map_____bra))(variable15, variable16) /*CoupleMap::[]*/;
     variable14 = variable15;
     variable15 = ((hash___HashSet___has_t)CALL( variable10 /*core_classes*/,COLOR_abstract_collection___Collection___has))( variable10 /*core_classes*/,  variable13 /*c*/) /*HashSet::has*/;
     if (UNTAG_Bool(variable15)) { /*if*/
@@ -638,32 +638,32 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
     } else { /*if*/
       variable16 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable13 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable13 /*c*/) /*MMLocalClass::cshe*/;
       variable16 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable16,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable16) /*PartialOrderElement::direct_greaters*/;
-      variable16 = ((abstract_collection___IndexedCollection___first_t)CALL(variable16,COLOR_abstract_collection___Collection___first))(variable16) /*Array::first*/;
+      variable16 = ((abstract_collection___IndexedCollection___first_t)CALL(variable16,COLOR_abstract_collection___Collection___first))(variable16) /*IndexedCollection::first*/;
       variable15 = variable16;
       variable17 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable1 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
       variable18 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable15 /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable15 /*sc*/) /*MMLocalClass::global*/;
-      variable17 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable17,COLOR_abstract_collection___Map_____bra))(variable17, variable18) /*HashMap::[]*/;
+      variable17 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable17,COLOR_abstract_collection___Map_____bra))(variable17, variable18) /*CoupleMap::[]*/;
       variable16 = variable17;
       variable17 = ((compiling_global___CompiledClass___class_table_t)CALL( variable16 /*scc*/,COLOR_compiling_global___CompiledClass___class_table))( variable16 /*scc*/) /*CompiledClass::class_table*/;
-      variable17 = ((array___Collection___to_a_t)CALL(variable17,COLOR_array___Collection___to_a))(variable17) /*Array::to_a*/;
+      variable17 = ((array___Collection___to_a_t)CALL(variable17,COLOR_array___Collection___to_a))(variable17) /*Collection::to_a*/;
       ((compiling_global___CompiledClass___class_table__eq_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq))( variable14 /*cc*/, variable17) /*CompiledClass::class_table=*/;
       variable18 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable13 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable13 /*c*/) /*MMLocalClass::global*/;
       variable18 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable18,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable18) /*MMGlobalClass::intro*/;
       variable17 = variable18;
       variable18 = TAG_Bool(( variable17 /*bc*/==NIT_NULL) || VAL_ISA( variable17 /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
-      if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMSrcModule___global_analysis, 315); nit_exit(1);}
+      if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis, LOCATE_compiling_global, 315); nit_exit(1);}
       variable19 = ((compiling_global___MMSrcLocalClass___class_color_pos_t)CALL( variable17 /*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos))( variable17 /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
       variable18 = variable19;
       variable19 = ((compiling_global___CompiledClass___class_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable14 /*cc*/) /*CompiledClass::class_table*/;
-      variable20 = ((compiling_global___ColorContext___color_t)CALL( variable1 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable1 /*ga*/,  variable18 /*colpos*/) /*GlobalAnalysis::color*/;
+      variable20 = ((compiling_global___ColorContext___color_t)CALL( variable1 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable1 /*ga*/,  variable18 /*colpos*/) /*ColorContext::color*/;
       ((array___Array_____braeq_t)CALL(variable19,COLOR_abstract_collection___Map_____braeq))(variable19, variable20,  variable18 /*colpos*/) /*Array::[]=*/;
       while (true) { /*while*/
         variable19 = ((compiling_global___CompiledClass___class_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable14 /*cc*/) /*CompiledClass::class_table*/;
-        variable19 = ((array___AbstractArray___length_t)CALL(variable19,COLOR_abstract_collection___Collection___length))(variable19) /*Array::length*/;
+        variable19 = ((array___AbstractArray___length_t)CALL(variable19,COLOR_abstract_collection___Collection___length))(variable19) /*AbstractArray::length*/;
         variable19 = TAG_Bool(UNTAG_Int(variable19)<=UNTAG_Int( variable11 /*maxcolor*/));
         if (!UNTAG_Bool(variable19)) break; /* while*/
         variable19 = ((compiling_global___CompiledClass___class_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable14 /*cc*/) /*CompiledClass::class_table*/;
-        ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  NIT_NULL /*null*/) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  NIT_NULL /*null*/) /*AbstractArray::add*/;
         continue_19: while(0);
       }
       break_19: while(0);
@@ -671,7 +671,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
       variable20 = ((compiling_global___CompiledClass___class_layout_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___class_layout))( variable14 /*cc*/) /*CompiledClass::class_layout*/;
       ((compiling_global___MMSrcModule___append_to_table_t)CALL( self,COLOR_compiling_global___MMSrcModule___append_to_table))( self,  variable1 /*ga*/, variable19, variable20) /*MMSrcModule::append_to_table*/;
       variable19 = ((compiling_global___CompiledClass___instance_table_t)CALL( variable16 /*scc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable16 /*scc*/) /*CompiledClass::instance_table*/;
-      variable19 = ((array___Collection___to_a_t)CALL(variable19,COLOR_array___Collection___to_a))(variable19) /*Array::to_a*/;
+      variable19 = ((array___Collection___to_a_t)CALL(variable19,COLOR_array___Collection___to_a))(variable19) /*Collection::to_a*/;
       ((compiling_global___CompiledClass___instance_table__eq_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq))( variable14 /*cc*/, variable19) /*CompiledClass::instance_table=*/;
       variable19 = ((compiling_global___CompiledClass___instance_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable14 /*cc*/) /*CompiledClass::instance_table*/;
       variable20 = ((compiling_global___CompiledClass___instance_layout_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___instance_layout))( variable14 /*cc*/) /*CompiledClass::instance_layout*/;
@@ -690,7 +690,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
         variable16 = ((abstract_collection___Iterator___item_t)CALL(variable15,COLOR_abstract_collection___Iterator___item))(variable15) /*Iterator::item*/;
         variable18 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable1 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable1 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
         variable19 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable16 /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable16 /*sc*/) /*MMLocalClass::global*/;
-        variable18 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable18,COLOR_abstract_collection___Map_____bra))(variable18, variable19) /*HashMap::[]*/;
+        variable18 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable18,COLOR_abstract_collection___Map_____bra))(variable18, variable19) /*CoupleMap::[]*/;
         variable17 = variable18;
         variable18 = ((compiling_global___CompiledClass___instance_table_t)CALL( variable14 /*cc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable14 /*cc*/) /*CompiledClass::instance_table*/;
         variable19 = ((compiling_global___CompiledClass___instance_layout_t)CALL( variable17 /*scc*/,COLOR_compiling_global___CompiledClass___instance_layout))( variable17 /*scc*/) /*CompiledClass::instance_layout*/;
@@ -711,7 +711,7 @@ val_t compiling_global___MMSrcModule___global_analysis(val_t  self, val_t  param
   return variable1;
 }
 void compiling_global___MMSrcModule___append_to_table(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___append_to_table, 338};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 338, LOCATE_compiling_global___MMSrcModule___append_to_table};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -724,7 +724,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[Int]*/
+  variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3); /*new Range[E]*/
   variable3 = variable4;
   variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
   while (true) { /*for*/
@@ -733,9 +733,9 @@ void compiling_global___MMSrcModule___append_to_table(val_t  self, val_t  param0
     variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
     variable6 = ((compiling_global___TableEltComposite___item_t)CALL( variable2 /*cmp*/,COLOR_compiling_global___TableElt___item))( variable2 /*cmp*/,  variable4 /*j*/) /*TableEltComposite::item*/;
     variable5 = variable6;
-    variable6 = ((array___AbstractArray___length_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Collection___length))( variable1 /*table*/) /*Array::length*/;
+    variable6 = ((array___AbstractArray___length_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Collection___length))( variable1 /*table*/) /*AbstractArray::length*/;
     ((compiling_global___ColorContext___color__eq_t)CALL( variable0 /*cc*/,COLOR_compiling_global___ColorContext___color__eq))( variable0 /*cc*/,  variable5 /*e*/, variable6) /*ColorContext::color=*/;
-    ((array___AbstractArray___add_t)CALL( variable1 /*table*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*table*/,  variable5 /*e*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable1 /*table*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*table*/,  variable5 /*e*/) /*AbstractArray::add*/;
     continue_22: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
   }
@@ -744,7 +744,7 @@ void compiling_global___MMSrcModule___append_to_table(val_t  self, val_t  param0
   return;
 }
 val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___build_tables, 347};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 347, LOCATE_compiling_global___MMSrcModule___build_tables};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -760,17 +760,17 @@ 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[Int, TableElt]*/
+  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable3 = variable4;
   variable4 =  TAG_Int(0);
-  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*elts*/) /*Array::iterator*/;
+  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*elts*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     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 = ((compiling_global___TableElt___is_related_to_t)CALL( variable6 /*e*/,COLOR_compiling_global___TableElt___is_related_to))( variable6 /*e*/,  variable1 /*c*/) /*TableElt::is_related_to*/;
     if (UNTAG_Bool(variable7)) { /*if*/
-      variable8 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  variable6 /*e*/) /*GlobalAnalysis::color*/;
+      variable8 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  variable6 /*e*/) /*ColorContext::color*/;
       variable7 = variable8;
       variable9 = ((compiling_global___TableElt___length_t)CALL( variable6 /*e*/,COLOR_compiling_global___TableElt___length))( variable6 /*e*/) /*TableElt::length*/;
       variable9 = TAG_Int(UNTAG_Int( variable7 /*col*/)+UNTAG_Int(variable9));
@@ -785,18 +785,18 @@ 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[TableElt]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  TAG_Int(0);
   while (true) { /*while*/
     variable7 = TAG_Bool(UNTAG_Int( variable6 /*i*/)<UNTAG_Int( variable4 /*len*/));
     if (!UNTAG_Bool(variable7)) break; /* while*/
-    variable7 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable3 /*tab*/,COLOR_abstract_collection___Map___has_key))( variable3 /*tab*/,  variable6 /*i*/) /*HashMap::has_key*/;
+    variable7 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable3 /*tab*/,COLOR_abstract_collection___Map___has_key))( variable3 /*tab*/,  variable6 /*i*/) /*CoupleMap::has_key*/;
     if (UNTAG_Bool(variable7)) { /*if*/
-      variable8 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable3 /*tab*/,COLOR_abstract_collection___Map_____bra))( variable3 /*tab*/,  variable6 /*i*/) /*HashMap::[]*/;
+      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[Int]*/
+      variable9 = NEW_range___Range___without_last( TAG_Int(0), variable8); /*new Range[E]*/
       variable8 = variable9;
       variable8 = ((range___Range___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Range::iterator*/;
       while (true) { /*for*/
@@ -826,7 +826,7 @@ val_t compiling_global___MMSrcModule___build_tables(val_t  self, val_t  param0,
   return variable3;
 }
 void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___colorize, 378};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 378, LOCATE_compiling_global___MMSrcModule___colorize};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -848,11 +848,11 @@ 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[Int, Array[TableElt]]*/
+  variable5 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[MMLocalClass]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable6 = ((array___AbstractArray___iterator_t)CALL( variable1 /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*elts*/) /*Array::iterator*/;
+  variable6 = ((array___AbstractArray___iterator_t)CALL( variable1 /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*elts*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable7 = ((array___ArrayIterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable7)) break; /*for*/
@@ -861,12 +861,12 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
     variable8 = variable9;
     variable10 = ((compiling_global___TableElt___length_t)CALL( variable7 /*e*/,COLOR_compiling_global___TableElt___length))( variable7 /*e*/) /*TableElt::length*/;
     variable9 = variable10;
-    variable10 = ((compiling_global___ColorContext___has_color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___has_color))( variable0 /*ga*/,  variable7 /*e*/) /*GlobalAnalysis::has_color*/;
+    variable10 = ((compiling_global___ColorContext___has_color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___has_color))( variable0 /*ga*/,  variable7 /*e*/) /*ColorContext::has_color*/;
     if (UNTAG_Bool(variable10)) { /*if*/
-      variable10 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  variable7 /*e*/) /*GlobalAnalysis::color*/;
+      variable10 = ((compiling_global___ColorContext___color_t)CALL( variable0 /*ga*/,COLOR_compiling_global___ColorContext___color))( variable0 /*ga*/,  variable7 /*e*/) /*ColorContext::color*/;
       variable8 = variable10 /*color=*/;
     } else { /*if*/
-      ((array___AbstractArray___clear_t)CALL( variable5 /*rel_classes*/,COLOR_abstract_collection___RemovableCollection___clear))( variable5 /*rel_classes*/) /*Array::clear*/;
+      ((array___AbstractArray___clear_t)CALL( variable5 /*rel_classes*/,COLOR_abstract_collection___RemovableCollection___clear))( variable5 /*rel_classes*/) /*AbstractArray::clear*/;
       variable10 = ((abstract_collection___Collection___iterator_t)CALL( variable2 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*classes*/) /*Collection::iterator*/;
       while (true) { /*for*/
         variable11 = ((abstract_collection___Iterator___is_ok_t)CALL(variable10,COLOR_abstract_collection___Iterator___is_ok))(variable10) /*Iterator::is_ok*/;
@@ -874,7 +874,7 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
         variable11 = ((abstract_collection___Iterator___item_t)CALL(variable10,COLOR_abstract_collection___Iterator___item))(variable10) /*Iterator::item*/;
         variable12 = ((compiling_global___TableElt___is_related_to_t)CALL( variable7 /*e*/,COLOR_compiling_global___TableElt___is_related_to))( variable7 /*e*/,  variable11 /*c*/) /*TableElt::is_related_to*/;
         if (UNTAG_Bool(variable12)) { /*if*/
-          ((array___AbstractArray___add_t)CALL( variable5 /*rel_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*rel_classes*/,  variable11 /*c*/) /*Array::add*/;
+          ((array___AbstractArray___add_t)CALL( variable5 /*rel_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*rel_classes*/,  variable11 /*c*/) /*AbstractArray::add*/;
         }
         continue_29: while(0);
         ((abstract_collection___Iterator___next_t)CALL(variable10,COLOR_abstract_collection___Iterator___next))(variable10) /*Iterator::next*/;
@@ -885,7 +885,7 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
         variable11 = TAG_Bool(( variable10 /*trycolor*/)!=( variable8 /*color*/));
         if (!UNTAG_Bool(variable11)) break; /* while*/
         variable8 =  variable10 /*trycolor*/ /*color=*/;
-        variable11 = ((array___AbstractArray___iterator_t)CALL( variable5 /*rel_classes*/,COLOR_abstract_collection___Collection___iterator))( variable5 /*rel_classes*/) /*Array::iterator*/;
+        variable11 = ((array___AbstractArray___iterator_t)CALL( variable5 /*rel_classes*/,COLOR_abstract_collection___Collection___iterator))( variable5 /*rel_classes*/) /*AbstractArray::iterator*/;
         while (true) { /*for*/
           variable12 = ((array___ArrayIterator___is_ok_t)CALL(variable11,COLOR_abstract_collection___Iterator___is_ok))(variable11) /*ArrayIterator::is_ok*/;
           if (!UNTAG_Bool(variable12)) break; /*for*/
@@ -895,11 +895,11 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
             variable14 = TAG_Bool(UNTAG_Int( variable13 /*idx*/)<UNTAG_Int( variable9 /*len*/));
             if (!UNTAG_Bool(variable14)) break; /* while*/
             variable14 = TAG_Int(UNTAG_Int( variable10 /*trycolor*/)+UNTAG_Int( variable13 /*idx*/));
-            variable14 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map___has_key))( variable4 /*colors*/, variable14) /*HashMap::has_key*/;
+            variable14 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map___has_key))( variable4 /*colors*/, variable14) /*CoupleMap::has_key*/;
             variable15 = variable14;
             if (UNTAG_Bool(variable15)) { /* and */
               variable15 = TAG_Int(UNTAG_Int( variable10 /*trycolor*/)+UNTAG_Int( variable13 /*idx*/));
-              variable15 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map_____bra))( variable4 /*colors*/, variable15) /*HashMap::[]*/;
+              variable15 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map_____bra))( variable4 /*colors*/, variable15) /*CoupleMap::[]*/;
               variable15 = ((compiling_global___MMSrcModule___free_color_t)CALL( self,COLOR_compiling_global___MMSrcModule___free_color))( self, variable15,  variable12 /*c*/) /*MMSrcModule::free_color*/;
               variable15 =  TAG_Bool(!UNTAG_Bool(variable15));
             }
@@ -923,24 +923,24 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
         continue_30: while(0);
       }
       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*/) /*GlobalAnalysis::color=*/;
+      ((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[Int]*/
+    variable10 = NEW_range___Range___without_last( TAG_Int(0),  variable9 /*len*/); /*new Range[E]*/
     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*/;
       if (!UNTAG_Bool(variable11)) break; /*for*/
       variable11 = ((abstract_collection___Iterator___item_t)CALL(variable10,COLOR_abstract_collection___Iterator___item))(variable10) /*Iterator::item*/;
       variable12 = TAG_Int(UNTAG_Int( variable8 /*color*/)+UNTAG_Int( variable11 /*idx*/));
-      variable12 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map___has_key))( variable4 /*colors*/, variable12) /*HashMap::has_key*/;
+      variable12 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map___has_key))( variable4 /*colors*/, variable12) /*CoupleMap::has_key*/;
       if (UNTAG_Bool(variable12)) { /*if*/
         variable12 = TAG_Int(UNTAG_Int( variable8 /*color*/)+UNTAG_Int( variable11 /*idx*/));
-        variable12 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map_____bra))( variable4 /*colors*/, variable12) /*HashMap::[]*/;
-        ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  variable7 /*e*/) /*Array::add*/;
+        variable12 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable4 /*colors*/,COLOR_abstract_collection___Map_____bra))( variable4 /*colors*/, variable12) /*CoupleMap::[]*/;
+        ((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[TableElt]*/
-        ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  variable7 /*e*/) /*Array::add*/;
+        variable13 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+        ((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::[]=*/;
       }
       continue_33: while(0);
@@ -955,7 +955,7 @@ void compiling_global___MMSrcModule___colorize(val_t  self, val_t  param0, val_t
   return;
 }
 val_t compiling_global___MMSrcModule___free_color(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___free_color, 422};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 422, LOCATE_compiling_global___MMSrcModule___free_color};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -964,7 +964,7 @@ val_t compiling_global___MMSrcModule___free_color(val_t  self, val_t  param0, va
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*es*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*es*/) /*Array::iterator*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*es*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*es*/) /*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*/
@@ -985,7 +985,7 @@ val_t compiling_global___MMSrcModule___free_color(val_t  self, val_t  param0, va
   return variable2;
 }
 void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c, 432};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 432, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -998,7 +998,7 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
       val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMSrcModule::mhe*/;
+  variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   variable1 = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable1,COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable1) /*PartialOrderElement::greaters_and_self*/;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -1006,14 +1006,14 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
     variable3 = TAG_Bool(( variable2 /*m*/==NIT_NULL) || VAL_ISA( variable2 /*m*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMSrcModule___compile_tables_to_c, 436); nit_exit(1);}
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_tables_to_c, LOCATE_compiling_global, 436); nit_exit(1);}
     ((compiling_global___MMSrcModule___compile_local_table_to_c_t)CALL( variable2 /*m*/,COLOR_compiling_global___MMSrcModule___compile_local_table_to_c))( variable2 /*m*/,  variable0 /*v*/) /*MMSrcModule::compile_local_table_to_c*/;
     continue_37: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
   break_37: while(0);
-  variable1 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMSrcModule::local_classes*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMModule::local_classes*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -1025,20 +1025,20 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
   break_38: while(0);
   variable2 = NEW_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[String]*/
+  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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable5) /*Array::add*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  ((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*/
     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 = ((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) /*MMSrcModule::has_global_class_named*/;
+    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*/
@@ -1065,22 +1065,22 @@ void compiling_global___MMSrcModule___compile_tables_to_c(val_t  self, val_t  pa
   return;
 }
 void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c, 455};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 455, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMSrcModule::local_classes*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMModule::local_classes*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable2 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable2 /*c*/) /*MMLocalClass::global*/;
     variable3 = ((abstractmetamodel___MMGlobalClass___module_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalClass___module))(variable3) /*MMGlobalClass::module*/;
-    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) /*MMModule::==*/)))));
+    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*/
       ((compiling_global___MMLocalClass___declare_tables_to_c_t)CALL( variable2 /*c*/,COLOR_compiling_global___MMLocalClass___declare_tables_to_c))( variable2 /*c*/,  variable0 /*v*/) /*MMLocalClass::declare_tables_to_c*/;
     }
@@ -1092,7 +1092,7 @@ void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t  self, val
   return;
 }
 void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___compile_main_part, 465};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 465, LOCATE_compiling_global___MMSrcModule___compile_main_part};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1100,7 +1100,6 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
     val_t variable3;
     val_t variable4;
     static val_t once_value_variable4_44; static int once_bool_variable4_44;
-      static val_t once_value_variable4_45; static int once_bool_variable4_45;
       val_t variable5;
       val_t variable6;
       val_t variable7;
@@ -1124,39 +1123,26 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
     once_bool_variable2_43 = true;
   }
   variable1 = variable2;
-  variable2 = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( self,COLOR_abstractmetamodel___MMModule___has_global_class_named))( self,  variable1 /*sysname*/) /*MMSrcModule::has_global_class_named*/;
+  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*/
-    ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable2) /*MMSrcModule::print*/;
+    ((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*/) /*MMSrcModule::class_by_name*/;
-    variable3 = ((genericity___MMLocalClass___get_type_t)CALL(variable3,COLOR_static_type___MMLocalClass___get_type))(variable3) /*MMLocalClass::get_type*/;
+    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("init"), TAG_Int(4)); /*new String*/
+      variable4 = NEW_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;
     }
-    variable4 = ((static_type___MMType___select_method_t)CALL( variable2 /*sys*/,COLOR_static_type___MMType___select_method))( variable2 /*sys*/, variable4) /*MMType::select_method*/;
+    variable4 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL( variable2 /*sys*/,COLOR_abstractmetamodel___MMLocalClass___select_method))( variable2 /*sys*/, variable4) /*MMLocalClass::select_method*/;
     variable3 = variable4;
-    variable4 = TAG_Bool(( variable3 /*main*/ ==  NIT_NULL /*null*/) || (( variable3 /*main*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*main*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*main*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*main*/,COLOR_kernel___Object_____eqeq))( variable3 /*main*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))));
-    if (UNTAG_Bool(variable4)) { /*if*/
-      if (once_bool_variable4_45) variable4 = once_value_variable4_45;
-      else {
-        variable4 = NEW_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_45 = variable4;
-        once_bool_variable4_45 = true;
-      }
-      variable4 = ((static_type___MMType___select_method_t)CALL( variable2 /*sys*/,COLOR_static_type___MMType___select_method))( variable2 /*sys*/, variable4) /*MMType::select_method*/;
-      variable3 = variable4 /*main=*/;
-    }
-    variable4 = TAG_Bool(( variable3 /*main*/ ==  NIT_NULL /*null*/) || (( variable3 /*main*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*main*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*main*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*main*/,COLOR_kernel___Object_____eqeq))( variable3 /*main*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))));
+    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*/
-      ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable4) /*MMSrcModule::print*/;
+      ((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*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
@@ -1164,7 +1150,7 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
       variable5 = NEW_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 /*main*/,COLOR_compiling_base___MMLocalProperty___cname))( variable3 /*main*/) /*MMMethod::cname*/;
+      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*/
@@ -1182,7 +1168,7 @@ void compiling_global___MMSrcModule___compile_main_part(val_t  self, val_t  para
   return;
 }
 void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c, 493};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 492, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1212,16 +1198,15 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
   variable2 = NEW_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)); /*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) /*MMSrcModule::name*/;
+  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(2)); /*new String*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  variable8 = ((abstractmetamodel___MMModule___name_t)CALL( self,COLOR_abstractmetamodel___MMModule___name))( self) /*MMSrcModule::name*/;
+  variable8 = ((mmloader___MMModule___filename_t)CALL( self,COLOR_mmloader___MMModule___filename))( self) /*MMModule::filename*/;
   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*/
   variable11 = variable10;
@@ -1234,7 +1219,7 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
     variable2 = NEW_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) /*MMSrcModule::name*/;
+    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*/;
@@ -1245,7 +1230,7 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
   }
   variable1 =  TAG_Int(0);
   variable2 = ATTR_compiling_global___MMSrcModule____local_table( self) /*MMSrcModule::_local_table*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  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*/
@@ -1282,7 +1267,7 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
       variable9 = NEW_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) /*MMSrcModule::name*/;
+      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*/;
@@ -1299,26 +1284,26 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
       variable4 = TAG_Int(UNTAG_Int( variable1 /*i*/)+UNTAG_Int( TAG_Int(1)));
       variable1 = variable4 /*i=*/;
     }
-    continue_47: while(0);
+    continue_46: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_47: while(0);
+  break_46: while(0);
   variable2 = ((syntax_base___MMSrcModule___src_local_classes_t)CALL( self,COLOR_syntax_base___MMSrcModule___src_local_classes))( self) /*MMSrcModule::src_local_classes*/;
   variable2 = ((abstract_collection___Map___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Map::iterator*/;
   while (true) { /*for*/
-    variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*MapIterator::is_ok*/;
+    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) /*MapIterator::item*/;
+    variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL( variable3 /*c*/,COLOR_syntax_base___MMSrcLocalClass___src_local_properties))( variable3 /*c*/) /*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) /*MapIterator::is_ok*/;
+      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) /*MapIterator::item*/;
-      variable7 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable5 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable5 /*p*/) /*MMSrcLocalProperty::global*/;
+      variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
+      variable7 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable5 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable5 /*p*/) /*MMLocalProperty::global*/;
       variable6 = variable7;
       variable7 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable6 /*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable6 /*pg*/) /*MMGlobalProperty::intro*/;
-      variable7 = TAG_Bool((variable7 ==  variable5 /*p*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, variable5 /*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7,  variable5 /*p*/) /*MMConcreteProperty::==*/)))));
+      variable7 = TAG_Bool((variable7 ==  variable5 /*p*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, variable5 /*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7,  variable5 /*p*/) /*Object::==*/)))));
       variable8 = variable7;
       if (UNTAG_Bool(variable8)) { /* and */
         variable8 = TAG_Bool(( variable5 /*p*/==NIT_NULL) || VAL_ISA( variable5 /*p*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
@@ -1331,7 +1316,7 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
           variable8 = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL( variable6 /*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class))( variable6 /*pg*/) /*MMGlobalProperty::local_class*/;
           variable7 = variable8;
           variable8 = TAG_Bool(( variable7 /*bc*/==NIT_NULL) || VAL_ISA( variable7 /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
-          if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMSrcModule___compile_mod_to_c, 515); nit_exit(1);}
+          if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_mod_to_c, LOCATE_compiling_global, 514); nit_exit(1);}
           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;
@@ -1378,22 +1363,20 @@ void compiling_global___MMSrcModule___compile_mod_to_c(val_t  self, val_t  param
           ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
         }
       }
-      variable7 = TAG_Bool(( variable5 /*p*/==NIT_NULL) || VAL_ISA( variable5 /*p*/, COLOR_MMSrcLocalProperty, ID_MMSrcLocalProperty)) /*cast MMSrcLocalProperty*/;
-      if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMSrcModule___compile_mod_to_c, 522); nit_exit(1);}
-      ((compiling_methods___MMSrcLocalProperty___compile_property_to_c_t)CALL( variable5 /*p*/,COLOR_compiling_methods___MMSrcLocalProperty___compile_property_to_c))( variable5 /*p*/,  variable0 /*v*/) /*MMSrcLocalProperty::compile_property_to_c*/;
-      continue_49: while(0);
-      ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*MapIterator::next*/;
+      ((compiling_methods___MMLocalProperty___compile_property_to_c_t)CALL( variable5 /*p*/,COLOR_compiling_methods___MMLocalProperty___compile_property_to_c))( variable5 /*p*/,  variable0 /*v*/) /*MMLocalProperty::compile_property_to_c*/;
+      continue_48: while(0);
+      ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
     }
-    break_49: while(0);
-    continue_48: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*MapIterator::next*/;
+    break_48: while(0);
+    continue_47: while(0);
+    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
-  break_48: while(0);
+  break_47: while(0);
   tracehead = trace.prev;
   return;
 }
 void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c, 528};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 526, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1413,17 +1396,17 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   variable2 = variable1;
   if (!UNTAG_Bool(variable2)) { /* or */
     variable2 = ATTR_compiling_global___MMSrcModule____local_table( self) /*MMSrcModule::_local_table*/;
-    variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*Array::is_empty*/;
+    variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*AbstractArray::is_empty*/;
   }
   variable1 = variable2;
   if (UNTAG_Bool(variable1)) { /*if*/
-    goto return_label50;
+    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*/
   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) /*MMSrcModule::name*/;
+  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*/;
@@ -1431,7 +1414,7 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   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*/;
-  variable8 = ((array___AbstractArray___length_t)CALL(variable8,COLOR_abstract_collection___Collection___length))(variable8) /*Array::length*/;
+  variable8 = ((array___AbstractArray___length_t)CALL(variable8,COLOR_abstract_collection___Collection___length))(variable8) /*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(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
@@ -1441,7 +1424,7 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
   ((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 = ATTR_compiling_global___MMSrcModule____local_table( self) /*MMSrcModule::_local_table*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -1451,85 +1434,89 @@ void compiling_global___MMSrcModule___compile_local_table_to_c(val_t  self, val_
     variable4 = NEW_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_51: while(0);
+    continue_50: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_51: while(0);
+  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*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
-  return_label50: while(false);
+  return_label49: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___TableElt___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableElt___is_related_to, 546};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 544, LOCATE_compiling_global___TableElt___is_related_to};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "is_related_to", LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c, 546);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c, LOCATE_compiling_global, 544);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___TableElt___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableElt___length, 547};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 545, LOCATE_compiling_global___TableElt___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(1);
-  goto return_label52;
-  return_label52: while(false);
+  goto return_label51;
+  return_label51: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableElt___item(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableElt___item, 548};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 546, LOCATE_compiling_global___TableElt___item};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  goto return_label53;
-  return_label53: while(false);
+  goto return_label52;
+  return_label52: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___TableElt___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableElt___compile_to_c, 549};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 547, LOCATE_compiling_global___TableElt___compile_to_c};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "compile_to_c", LOCATE_compiling_global___TableElt___item, 549);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 547);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___LocalTableElt___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___LocalTableElt___symbol, 554};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 552, LOCATE_compiling_global___LocalTableElt___symbol};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "symbol", LOCATE_compiling_global___TableElt___item, 554);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 552);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___LocalTableElt___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___LocalTableElt___value, 555};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 553, LOCATE_compiling_global___LocalTableElt___value};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "value", LOCATE_compiling_global___TableElt___item, 555);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item, LOCATE_compiling_global, 553);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_global___TableEltPropPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltPropPos___symbol, 561};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 559, LOCATE_compiling_global___TableEltPropPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
-  variable0 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___global))(variable0) /*MMSrcLocalProperty::global*/;
+  variable0 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalProperty___global))(variable0) /*MMLocalProperty::global*/;
   variable0 = ((compiling_base___MMGlobalProperty___color_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalProperty___color_id))(variable0) /*MMGlobalProperty::color_id*/;
-  goto return_label54;
-  return_label54: while(false);
+  goto return_label53;
+  return_label53: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableEltPropPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltPropPos___value, 562};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 560, LOCATE_compiling_global___TableEltPropPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1548,7 +1535,7 @@ val_t compiling_global___TableEltPropPos___value(val_t  self, val_t  param0) {
   variable2 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -1562,13 +1549,13 @@ val_t compiling_global___TableEltPropPos___value(val_t  self, val_t  param0) {
   variable10 = NEW_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_label55;
-  return_label55: while(false);
+  goto return_label54;
+  return_label54: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_global___TableEltPropPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltPropPos___init, 564};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 562, LOCATE_compiling_global___TableEltPropPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1579,7 +1566,7 @@ void compiling_global___TableEltPropPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltMethPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltMethPos___compile_to_c, 572};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 570, LOCATE_compiling_global___TableEltMethPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1587,19 +1574,19 @@ val_t compiling_global___TableEltMethPos___compile_to_c(val_t  self, val_t  para
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltMethPos::_property*/;
-  variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMSrcLocalProperty::global*/;
+  variable3 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
+  variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMLocalProperty::global*/;
   variable3 = ((inheritance___MMLocalClass_____bra_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable1 /*c*/, variable3) /*MMLocalClass::[]*/;
   variable2 = variable3;
   variable3 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable2 /*p*/,COLOR_compiling_base___MMLocalProperty___cname))( variable2 /*p*/) /*MMLocalProperty::cname*/;
   variable2 = variable3;
-  goto return_label57;
-  return_label57: while(false);
+  goto return_label56;
+  return_label56: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltMethPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltMethPos___init, 577};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 575, LOCATE_compiling_global___TableEltMethPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1610,18 +1597,18 @@ void compiling_global___TableEltMethPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltSuperPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltSuperPos___symbol, 582};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 580, LOCATE_compiling_global___TableEltSuperPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltSuperPos::_property*/;
-  variable0 = ((compiling_base___MMLocalProperty___color_id_for_super_t)CALL(variable0,COLOR_compiling_base___MMLocalProperty___color_id_for_super))(variable0) /*MMSrcLocalProperty::color_id_for_super*/;
-  goto return_label59;
-  return_label59: while(false);
+  variable0 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
+  variable0 = ((compiling_base___MMLocalProperty___color_id_for_super_t)CALL(variable0,COLOR_compiling_base___MMLocalProperty___color_id_for_super))(variable0) /*MMLocalProperty::color_id_for_super*/;
+  goto return_label58;
+  return_label58: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableEltSuperPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltSuperPos___compile_to_c, 583};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 581, LOCATE_compiling_global___TableEltSuperPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1632,26 +1619,25 @@ val_t compiling_global___TableEltSuperPos___compile_to_c(val_t  self, val_t  par
     val_t variable7;
     val_t variable8;
         val_t variable9;
-        val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltSuperPos::_property*/;
-  variable3 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable3) /*MMSrcLocalProperty::local_class*/;
+  variable3 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
+  variable3 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable3) /*MMLocalProperty::local_class*/;
   variable2 = variable3;
-  variable4 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltSuperPos::_property*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMSrcLocalProperty::global*/;
+  variable4 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
+  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMLocalProperty::global*/;
   variable3 = variable4;
   variable5 = ((abstractmetamodel___MMLocalClass___che_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass___che))( variable1 /*c*/) /*MMLocalClass::che*/;
   variable5 = ((partial_order___PartialOrderElement___linear_extension_t)CALL(variable5,COLOR_partial_order___PartialOrderElement___linear_extension))(variable5) /*PartialOrderElement::linear_extension*/;
   variable4 = variable5;
   variable5 =  TAG_Bool(false);
-  variable6 = ((array___AbstractArray___iterator_t)CALL( variable4 /*lin*/,COLOR_abstract_collection___Collection___iterator))( variable4 /*lin*/) /*Array::iterator*/;
+  variable6 = ((array___AbstractArray___iterator_t)CALL( variable4 /*lin*/,COLOR_abstract_collection___Collection___iterator))( variable4 /*lin*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     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 = TAG_Bool(( variable7 /*s*/ ==  variable2 /*pc*/) || (( variable7 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*s*/, variable2 /*pc*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*s*/,COLOR_kernel___Object_____eqeq))( variable7 /*s*/,  variable2 /*pc*/) /*MMLocalClass::==*/)))));
+    variable8 = TAG_Bool(( variable7 /*s*/ ==  variable2 /*pc*/) || (( variable7 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*s*/, variable2 /*pc*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*s*/,COLOR_kernel___Object_____eqeq))( variable7 /*s*/,  variable2 /*pc*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable8)) { /*if*/
       variable5 =  TAG_Bool(true) /*found=*/;
     } else { /*if*/
@@ -1663,32 +1649,27 @@ val_t compiling_global___TableEltSuperPos___compile_to_c(val_t  self, val_t  par
       if (UNTAG_Bool(variable8)) { /*if*/
         variable9 = ((inheritance___MMLocalClass_____bra_t)CALL( variable7 /*s*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable7 /*s*/,  variable3 /*g*/) /*MMLocalClass::[]*/;
         variable8 = variable9;
-        variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*p*/ ==  NIT_NULL /*null*/) || (( variable8 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*p*/,COLOR_kernel___Object_____eqeq))( variable8 /*p*/,  NIT_NULL /*null*/) /*MMLocalProperty::==*/)))))));
-        variable10 = variable9;
-        if (UNTAG_Bool(variable10)) { /* and */
-          variable10 = TAG_Bool(( variable8 /*p*/==NIT_NULL) || VAL_ISA( variable8 /*p*/, COLOR_MMConcreteProperty, ID_MMConcreteProperty)) /*cast MMConcreteProperty*/;
-        }
-        variable9 = variable10;
+        variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*p*/ ==  NIT_NULL /*null*/) || (( variable8 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*p*/,COLOR_kernel___Object_____eqeq))( variable8 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
         if (UNTAG_Bool(variable9)) { /*if*/
-          variable9 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable8 /*p*/,COLOR_compiling_base___MMLocalProperty___cname))( variable8 /*p*/) /*MMConcreteProperty::cname*/;
+          variable9 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable8 /*p*/,COLOR_compiling_base___MMLocalProperty___cname))( variable8 /*p*/) /*MMLocalProperty::cname*/;
           variable2 = variable9;
-          goto return_label60;
+          goto return_label59;
         }
       }
     }
-    continue_61: while(0);
+    continue_60: while(0);
     ((array___ArrayIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ArrayIterator::next*/;
   }
-  break_61: while(0);
-  if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___TableEltSuperPos___compile_to_c, 601); nit_exit(1);}
+  break_60: while(0);
+  if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltSuperPos___compile_to_c, LOCATE_compiling_global, 599); nit_exit(1);}
   variable2 =  NIT_NULL /*null*/;
-  goto return_label60;
-  return_label60: while(false);
+  goto return_label59;
+  return_label59: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltSuperPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltSuperPos___init, 605};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 603, LOCATE_compiling_global___TableEltSuperPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1699,7 +1680,7 @@ void compiling_global___TableEltSuperPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltAttrPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltAttrPos___compile_to_c, 610};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 608, LOCATE_compiling_global___TableEltAttrPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1722,15 +1703,15 @@ val_t compiling_global___TableEltAttrPos___compile_to_c(val_t  self, val_t  para
   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;
-  variable4 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltAttrPos::_property*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMSrcLocalProperty::global*/;
+  variable4 = ATTR_compiling_global___TableEltPropPos____property( self) /*TableEltPropPos::_property*/;
+  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*/
   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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -1750,13 +1731,13 @@ val_t compiling_global___TableEltAttrPos___compile_to_c(val_t  self, val_t  para
   variable16 = variable15;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
   variable2 = variable4;
-  goto return_label63;
-  return_label63: while(false);
+  goto return_label62;
+  return_label62: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltAttrPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltAttrPos___init, 617};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 615, LOCATE_compiling_global___TableEltAttrPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1767,7 +1748,7 @@ void compiling_global___TableEltAttrPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltClassPos___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassPos___is_related_to, 623};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 621, LOCATE_compiling_global___TableEltClassPos___is_related_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1782,13 +1763,13 @@ val_t compiling_global___TableEltClassPos___is_related_to(val_t  self, val_t  pa
   variable2 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable0 /*c*/) /*MMLocalClass::cshe*/;
   variable2 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable2,COLOR_partial_order___PartialOrderElement_____leq))(variable2,  variable1 /*bc*/) /*PartialOrderElement::<=*/;
   variable1 = variable2;
-  goto return_label65;
-  return_label65: while(false);
+  goto return_label64;
+  return_label64: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_global___TableEltClassPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassPos___init, 629};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 627, LOCATE_compiling_global___TableEltClassPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1799,19 +1780,19 @@ void compiling_global___TableEltClassPos___init(val_t  self, val_t  param0, int*
   return;
 }
 val_t compiling_global___TableEltClassIdPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassIdPos___symbol, 637};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 635, LOCATE_compiling_global___TableEltClassIdPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassIdPos::_local_class*/;
+  variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
   variable0 = ((compiling_base___MMGlobalClass___id_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalClass___id_id))(variable0) /*MMGlobalClass::id_id*/;
-  goto return_label67;
-  return_label67: while(false);
+  goto return_label66;
+  return_label66: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassIdPos___value, 638};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 636, LOCATE_compiling_global___TableEltClassIdPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1831,9 +1812,9 @@ val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0)
   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*/;
-  variable5 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassIdPos::_local_class*/;
+  variable5 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   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) /*HashMap::[]*/;
+  variable4 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*CoupleMap::[]*/;
   variable4 = ((compiling_global___CompiledClass___id_t)CALL(variable4,COLOR_compiling_global___CompiledClass___id))(variable4) /*CompiledClass::id*/;
   variable5 = variable4;
   variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
@@ -1841,20 +1822,20 @@ val_t compiling_global___TableEltClassIdPos___value(val_t  self, val_t  param0)
   variable6 = NEW_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) /*TableEltClassIdPos::_local_class*/;
+  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*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
-  goto return_label68;
-  return_label68: while(false);
+  goto return_label67;
+  return_label67: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_global___TableEltClassIdPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassIdPos___init, 643};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 641, LOCATE_compiling_global___TableEltClassIdPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1865,19 +1846,19 @@ void compiling_global___TableEltClassIdPos___init(val_t  self, val_t  param0, in
   return;
 }
 val_t compiling_global___TableEltClassInitTablePos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassInitTablePos___symbol, 648};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 646, LOCATE_compiling_global___TableEltClassInitTablePos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassInitTablePos::_local_class*/;
+  variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
   variable0 = ((compiling_base___MMGlobalClass___init_table_pos_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalClass___init_table_pos_id))(variable0) /*MMGlobalClass::init_table_pos_id*/;
-  goto return_label70;
-  return_label70: while(false);
+  goto return_label69;
+  return_label69: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableEltClassInitTablePos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassInitTablePos___value, 649};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 647, LOCATE_compiling_global___TableEltClassInitTablePos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1896,27 +1877,27 @@ val_t compiling_global___TableEltClassInitTablePos___value(val_t  self, val_t  p
   variable2 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/
   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) /*TableEltClassInitTablePos::_local_class*/;
+  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*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
-  goto return_label71;
-  return_label71: while(false);
+  goto return_label70;
+  return_label70: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassInitTablePos___compile_to_c, 653};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 651, LOCATE_compiling_global___TableEltClassInitTablePos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1946,9 +1927,9 @@ val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, v
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   variable2 = variable3;
   variable4 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable2 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable2 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
-  variable5 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassInitTablePos::_local_class*/;
+  variable5 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   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) /*HashMap::[]*/;
+  variable4 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*CoupleMap::[]*/;
   variable3 = variable4;
   variable5 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable1 /*c*/) /*MMLocalClass::cshe*/;
   variable5 = ((partial_order___PartialOrderElement___reverse_linear_extension_t)CALL(variable5,COLOR_partial_order___PartialOrderElement___reverse_linear_extension))(variable5) /*PartialOrderElement::reverse_linear_extension*/;
@@ -1959,25 +1940,25 @@ val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, v
     variable7 = TAG_Bool(UNTAG_Int( variable6 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable8 = variable7;
     if (UNTAG_Bool(variable8)) { /* and */
-      variable8 = ATTR_array___AbstractArray____length( variable4 /*linext*/) /*Array::_length*/;
+      variable8 = ATTR_array___AbstractArray____length( variable4 /*linext*/) /*AbstractArray::_length*/;
       variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
     }
     variable7 = variable8;
-    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_global, 229); nit_exit(1);}
     variable7 = ATTR_array___Array____items( variable4 /*linext*/) /*Array::_items*/;
     variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
-    goto return_label74;
-    return_label74: while(false);
+    goto return_label73;
+    return_label73: while(false);
     variable6 = variable7;
     variable6 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___global))(variable6) /*MMLocalClass::global*/;
-    variable7 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassInitTablePos::_local_class*/;
+    variable7 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
     variable7 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___global))(variable7) /*MMLocalClass::global*/;
-    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) /*MMGlobalClass::==*/)))))));
+    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)) break; /* while*/
     variable5 = TAG_Int(UNTAG_Int(variable5)+UNTAG_Int( TAG_Int(1))) /*i*/;
-    continue_73: while(0);
+    continue_72: while(0);
   }
-  break_73: 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*/
   variable8 = variable7;
@@ -1988,7 +1969,7 @@ val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, v
   variable10 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -2009,13 +1990,13 @@ val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t  self, v
   variable22 = variable21;
   ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable22) /*String::append*/;
   variable2 = variable6;
-  goto return_label72;
-  return_label72: while(false);
+  goto return_label71;
+  return_label71: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltClassInitTablePos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassInitTablePos___init, 665};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 663, LOCATE_compiling_global___TableEltClassInitTablePos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -2026,19 +2007,19 @@ void compiling_global___TableEltClassInitTablePos___init(val_t  self, val_t  par
   return;
 }
 val_t compiling_global___TableEltClassColorPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassColorPos___symbol, 670};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 668, LOCATE_compiling_global___TableEltClassColorPos___symbol};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassColorPos::_local_class*/;
+  variable0 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
   variable0 = ((compiling_base___MMGlobalClass___color_id_t)CALL(variable0,COLOR_compiling_base___MMGlobalClass___color_id))(variable0) /*MMGlobalClass::color_id*/;
-  goto return_label76;
-  return_label76: while(false);
+  goto return_label75;
+  return_label75: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableEltClassColorPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassColorPos___value, 671};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 669, LOCATE_compiling_global___TableEltClassColorPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2057,27 +2038,27 @@ val_t compiling_global___TableEltClassColorPos___value(val_t  self, val_t  param
   variable2 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/
   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) /*TableEltClassColorPos::_local_class*/;
+  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*/
   variable11 = variable10;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
-  goto return_label77;
-  return_label77: while(false);
+  goto return_label76;
+  return_label76: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassColorPos___compile_to_c, 675};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 673, LOCATE_compiling_global___TableEltClassColorPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2106,9 +2087,9 @@ val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t
   variable3 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   variable2 = variable3;
   variable4 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable2 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable2 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
-  variable5 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassColorPos::_local_class*/;
+  variable5 = ATTR_compiling_global___TableEltClassPos____local_class( self) /*TableEltClassPos::_local_class*/;
   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) /*HashMap::[]*/;
+  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*/
@@ -2121,7 +2102,7 @@ val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t
   variable9 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -2142,13 +2123,13 @@ val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t  self, val_t
   variable21 = variable20;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable21) /*String::append*/;
   variable2 = variable4;
-  goto return_label78;
-  return_label78: while(false);
+  goto return_label77;
+  return_label77: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltClassColorPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassColorPos___init, 682};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 680, LOCATE_compiling_global___TableEltClassColorPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -2159,7 +2140,7 @@ void compiling_global___TableEltClassColorPos___init(val_t  self, val_t  param0,
   return;
 }
 val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltBaseAttrPos___symbol, 688};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 686, LOCATE_compiling_global___TableEltBaseAttrPos___symbol};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2177,7 +2158,7 @@ val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
   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*/;
-  variable3 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___module))(variable3) /*MMSrcLocalClass::module*/;
+  variable3 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___module))(variable3) /*MMLocalClass::module*/;
   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*/;
@@ -2185,20 +2166,20 @@ val_t compiling_global___TableEltBaseAttrPos___symbol(val_t  self) {
   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*/;
-  variable7 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___name))(variable7) /*MMSrcLocalClass::name*/;
+  variable7 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___name))(variable7) /*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(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable8) /*String::append*/;
   variable9 = NEW_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_label80;
-  return_label80: while(false);
+  goto return_label79;
+  return_label79: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableEltBaseAttrPos___value(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltBaseAttrPos___value, 689};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 687, LOCATE_compiling_global___TableEltBaseAttrPos___value};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2217,7 +2198,7 @@ val_t compiling_global___TableEltBaseAttrPos___value(val_t  self, val_t  param0)
   variable2 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -2231,13 +2212,13 @@ val_t compiling_global___TableEltBaseAttrPos___value(val_t  self, val_t  param0)
   variable10 = NEW_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_label81;
-  return_label81: while(false);
+  goto return_label80;
+  return_label80: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltBaseAttrPos___compile_to_c, 694};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 692, LOCATE_compiling_global___TableEltBaseAttrPos___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2271,7 +2252,7 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   variable2 = variable3;
   variable4 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable2 /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable2 /*ga*/) /*GlobalAnalysis::compiled_classes*/;
   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) /*HashMap::[]*/;
+  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*/
@@ -2279,15 +2260,15 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   ((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*/;
   variable7 = ((compiling_global___MMSrcLocalClass___instance_layout_t)CALL(variable7,COLOR_compiling_global___MMSrcLocalClass___instance_layout))(variable7) /*MMSrcLocalClass::instance_layout*/;
-  variable7 = ((abstract_collection___IndexedCollection___first_t)CALL(variable7,COLOR_abstract_collection___Collection___first))(variable7) /*Array::first*/;
-  variable7 = ((compiling_global___ColorContext___color_t)CALL( variable3 /*cc*/,COLOR_compiling_global___ColorContext___color))( variable3 /*cc*/, variable7) /*CompiledClass::color*/;
+  variable7 = ((abstract_collection___IndexedCollection___first_t)CALL(variable7,COLOR_abstract_collection___Collection___first))(variable7) /*IndexedCollection::first*/;
+  variable7 = ((compiling_global___ColorContext___color_t)CALL( variable3 /*cc*/,COLOR_compiling_global___ColorContext___color))( variable3 /*cc*/, variable7) /*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(" /* "), 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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -2295,7 +2276,7 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   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*/;
-  variable15 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable15,COLOR_abstractmetamodel___MMLocalClass___module))(variable15) /*MMSrcLocalClass::module*/;
+  variable15 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable15,COLOR_abstractmetamodel___MMLocalClass___module))(variable15) /*MMLocalClass::module*/;
   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*/;
@@ -2316,13 +2297,13 @@ val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t  self, val_t
   variable25 = variable24;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable25) /*String::append*/;
   variable2 = variable4;
-  goto return_label82;
-  return_label82: while(false);
+  goto return_label81;
+  return_label81: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltBaseAttrPos___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltBaseAttrPos___init, 701};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 699, LOCATE_compiling_global___TableEltBaseAttrPos___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -2333,18 +2314,18 @@ void compiling_global___TableEltBaseAttrPos___init(val_t  self, val_t  param0, i
   return;
 }
 val_t compiling_global___TableEltComposite___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltComposite___length, 712};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 710, LOCATE_compiling_global___TableEltComposite___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_compiling_global___TableEltComposite____table( self) /*TableEltComposite::_table*/;
-  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Array::length*/;
-  goto return_label84;
-  return_label84: while(false);
+  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
+  goto return_label83;
+  return_label83: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_global___TableEltComposite___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltComposite___is_related_to, 713};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 711, LOCATE_compiling_global___TableEltComposite___is_related_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2354,13 +2335,13 @@ val_t compiling_global___TableEltComposite___is_related_to(val_t  self, val_t  p
   variable2 = ATTR_compiling_global___TableEltComposite____cc( self) /*TableEltComposite::_cc*/;
   variable2 = ((compiling_global___CompiledClass___local_class_t)CALL(variable2,COLOR_compiling_global___CompiledClass___local_class))(variable2) /*CompiledClass::local_class*/;
   variable1 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable1,COLOR_partial_order___PartialOrderElement_____leq))(variable1, variable2) /*PartialOrderElement::<=*/;
-  goto return_label85;
-  return_label85: while(false);
+  goto return_label84;
+  return_label84: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_global___TableEltComposite___add(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltComposite___add, 715};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 713, LOCATE_compiling_global___TableEltComposite___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2370,15 +2351,15 @@ void compiling_global___TableEltComposite___add(val_t  self, val_t  param0, val_
   variable1 =  param1;
   variable2 = ATTR_compiling_global___TableEltComposite____offsets( self) /*TableEltComposite::_offsets*/;
   variable3 = ATTR_compiling_global___TableEltComposite____table( self) /*TableEltComposite::_table*/;
-  variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*AbstractArray::length*/;
   ((hash___HashMap_____braeq_t)CALL(variable2,COLOR_abstract_collection___Map_____braeq))(variable2,  variable0 /*c*/, variable3) /*HashMap::[]=*/;
   variable2 = ATTR_compiling_global___TableEltComposite____table( self) /*TableEltComposite::_table*/;
-  ((abstract_collection___IndexedCollection___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2,  variable1 /*tab*/) /*Array::append*/;
+  ((abstract_collection___IndexedCollection___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2,  variable1 /*tab*/) /*IndexedCollection::append*/;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___TableEltComposite___item(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltComposite___item, 721};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 719, LOCATE_compiling_global___TableEltComposite___item};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2392,64 +2373,64 @@ val_t compiling_global___TableEltComposite___item(val_t  self, val_t  param0) {
   variable4 = variable3;
   if (UNTAG_Bool(variable4)) { /* and */
     variable4 = variable1;
-    variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
+    variable4 = ATTR_array___AbstractArray____length(variable4) /*AbstractArray::_length*/;
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
   }
   variable3 = variable4;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_global, 229); nit_exit(1);}
   variable3 = variable1;
   variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
-  goto return_label88;
-  return_label88: while(false);
-  variable1 = variable3;
   goto return_label87;
   return_label87: while(false);
+  variable1 = variable3;
+  goto return_label86;
+  return_label86: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___TableEltComposite___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltComposite___compile_to_c, 723};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 721, LOCATE_compiling_global___TableEltComposite___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c, 723); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c, LOCATE_compiling_global, 721); nit_exit(1);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltComposite___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltComposite___init, 725};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 723, LOCATE_compiling_global___TableEltComposite___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   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[LocalTableElt]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_compiling_global___TableEltComposite____table( self) /*TableEltComposite::_table*/ = variable1;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[MMLocalClass, Int]*/
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_compiling_global___TableEltComposite____offsets( self) /*TableEltComposite::_offsets*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltComposite].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_global___TableEltClassSelfId___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassSelfId___is_related_to, 735};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 733, LOCATE_compiling_global___TableEltClassSelfId___is_related_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  TAG_Bool(true);
-  goto return_label91;
-  return_label91: while(false);
+  goto return_label90;
+  return_label90: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c, 736};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 734, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2476,7 +2457,7 @@ val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t
   variable6 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   variable6 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL(variable6,COLOR_compiling_global___GlobalAnalysis___compiled_classes))(variable6) /*GlobalAnalysis::compiled_classes*/;
   variable7 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable1 /*c*/) /*MMLocalClass::global*/;
-  variable6 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable6,COLOR_abstract_collection___Map_____bra))(variable6, variable7) /*HashMap::[]*/;
+  variable6 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable6,COLOR_abstract_collection___Map_____bra))(variable6, variable7) /*CoupleMap::[]*/;
   variable6 = ((compiling_global___CompiledClass___id_t)CALL(variable6,COLOR_compiling_global___CompiledClass___id))(variable6) /*CompiledClass::id*/;
   variable7 = variable6;
   variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
@@ -2484,7 +2465,7 @@ val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t
   variable8 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -2492,13 +2473,13 @@ val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t  self, val_t
   variable13 = variable12;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
   variable2 = variable3;
-  goto return_label92;
-  return_label92: while(false);
+  goto return_label91;
+  return_label91: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltClassSelfId___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltClassSelfId___init, 742};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 740, LOCATE_compiling_global___TableEltClassSelfId___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassSelfId].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassSelfId].i] = 1;
@@ -2506,19 +2487,19 @@ void compiling_global___TableEltClassSelfId___init(val_t  self, int* init_table)
   return;
 }
 val_t compiling_global___TableEltVftPointer___is_related_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltVftPointer___is_related_to, 747};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 745, LOCATE_compiling_global___TableEltVftPointer___is_related_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  TAG_Bool(true);
-  goto return_label94;
-  return_label94: while(false);
+  goto return_label93;
+  return_label93: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_global___TableEltVftPointer___compile_to_c(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltVftPointer___compile_to_c, 748};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 746, LOCATE_compiling_global___TableEltVftPointer___compile_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2538,7 +2519,7 @@ val_t compiling_global___TableEltVftPointer___compile_to_c(val_t  self, val_t  p
   variable4 = NEW_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) /*GlobalAnalysis::color*/;
+  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*/;
@@ -2546,13 +2527,13 @@ val_t compiling_global___TableEltVftPointer___compile_to_c(val_t  self, val_t  p
   variable9 = variable8;
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
   variable2 = variable3;
-  goto return_label95;
-  return_label95: while(false);
+  goto return_label94;
+  return_label94: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___TableEltVftPointer___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___TableEltVftPointer___init, 754};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 752, LOCATE_compiling_global___TableEltVftPointer___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltVftPointer].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltVftPointer].i] = 1;
@@ -2560,7 +2541,7 @@ void compiling_global___TableEltVftPointer___init(val_t  self, int* init_table)
   return;
 }
 val_t compiling_global___ClassSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___ClassSorter___compare, 761};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 759, LOCATE_compiling_global___ClassSorter___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2568,13 +2549,13 @@ val_t compiling_global___ClassSorter___compare(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((compiling_global___MMLocalClass___compare_t)CALL( variable0 /*a*/,COLOR_compiling_global___MMLocalClass___compare))( variable0 /*a*/,  variable1 /*b*/) /*MMLocalClass::compare*/;
-  goto return_label97;
-  return_label97: while(false);
+  goto return_label96;
+  return_label96: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 void compiling_global___ClassSorter___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___ClassSorter___init, 762};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 760, LOCATE_compiling_global___ClassSorter___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassSorter].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassSorter].i] = 1;
@@ -2582,7 +2563,7 @@ void compiling_global___ClassSorter___init(val_t  self, int* init_table) {
   return;
 }
 val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMLocalClass___compare, 766};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 764, LOCATE_compiling_global___MMLocalClass___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2592,10 +2573,10 @@ val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  variable2 = TAG_Bool(( variable1 /*a*/ ==  variable0 /*b*/) || (( variable1 /*a*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*a*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*a*/, variable0 /*b*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*a*/,COLOR_kernel___Object_____eqeq))( variable1 /*a*/,  variable0 /*b*/) /*MMLocalClass::==*/)))));
+  variable2 = TAG_Bool(( variable1 /*a*/ ==  variable0 /*b*/) || (( variable1 /*a*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*a*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*a*/, variable0 /*b*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*a*/,COLOR_kernel___Object_____eqeq))( variable1 /*a*/,  variable0 /*b*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable1 =  TAG_Int(0);
-    goto return_label99;
+    goto return_label98;
   } else { /*if*/
     variable2 = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable1 /*a*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable1 /*a*/) /*MMLocalClass::module*/;
     variable2 = ((abstractmetamodel___MMModule___mhe_t)CALL(variable2,COLOR_abstractmetamodel___MMModule___mhe))(variable2) /*MMModule::mhe*/;
@@ -2603,7 +2584,7 @@ val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
     variable2 = ((partial_order___PartialOrderElement_____l_t)CALL(variable2,COLOR_partial_order___PartialOrderElement_____l))(variable2, variable3) /*PartialOrderElement::<*/;
     if (UNTAG_Bool(variable2)) { /*if*/
       variable1 =  TAG_Int(1);
-      goto return_label99;
+      goto return_label98;
     } else { /*if*/
       variable2 = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable0 /*b*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable0 /*b*/) /*MMLocalClass::module*/;
       variable2 = ((abstractmetamodel___MMModule___mhe_t)CALL(variable2,COLOR_abstractmetamodel___MMModule___mhe))(variable2) /*MMModule::mhe*/;
@@ -2612,7 +2593,7 @@ val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
       if (UNTAG_Bool(variable2)) { /*if*/
         variable2 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
         variable1 = variable2;
-        goto return_label99;
+        goto return_label98;
       }
     }
   }
@@ -2625,29 +2606,29 @@ val_t compiling_global___MMLocalClass___compare(val_t  self, val_t  param0) {
   variable4 = TAG_Bool(UNTAG_Int( variable2 /*ar*/)>UNTAG_Int( variable3 /*br*/));
   if (UNTAG_Bool(variable4)) { /*if*/
     variable1 =  TAG_Int(1);
-    goto return_label99;
+    goto return_label98;
   } else { /*if*/
     variable4 = TAG_Bool(UNTAG_Int( variable3 /*br*/)>UNTAG_Int( variable2 /*ar*/));
     if (UNTAG_Bool(variable4)) { /*if*/
       variable4 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
       variable1 = variable4;
-      goto return_label99;
+      goto return_label98;
     } else { /*if*/
       variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable0 /*b*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable0 /*b*/) /*MMLocalClass::name*/;
       variable4 = ((symbol___Symbol___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*Symbol::to_s*/;
       variable5 = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable1 /*a*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable1 /*a*/) /*MMLocalClass::name*/;
       variable5 = ((symbol___Symbol___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*Symbol::to_s*/;
-      variable4 = ((kernel___Comparable_____leqg_t)CALL(variable4,COLOR_kernel___Comparable_____leqg))(variable4, variable5) /*String::<=>*/;
+      variable4 = ((kernel___Comparable_____leqg_t)CALL(variable4,COLOR_kernel___Comparable_____leqg))(variable4, variable5) /*Comparable::<=>*/;
       variable1 = variable4;
-      goto return_label99;
+      goto return_label98;
     }
   }
-  return_label99: while(false);
+  return_label98: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c, 788};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 786, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2680,7 +2661,7 @@ void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  p
   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*/;
-  variable2 = TAG_Bool(( variable1 /*pi*/ ==  NIT_NULL /*null*/) || (( variable1 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))( variable1 /*pi*/,  NIT_NULL /*null*/) /*PrimitiveInfo::==*/)))));
+  variable2 = TAG_Bool(( variable1 /*pi*/ ==  NIT_NULL /*null*/) || (( variable1 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*pi*/,COLOR_kernel___Object_____eqeq))( variable1 /*pi*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
   } else { /*if*/
     variable2 = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable1 /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable1 /*pi*/) /*PrimitiveInfo::tagged*/;
@@ -2754,7 +2735,7 @@ void compiling_global___MMLocalClass___declare_tables_to_c(val_t  self, val_t  p
   return;
 }
 void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, 805};
+  struct trace_t trace = {NULL, LOCATE_compiling_global, 803, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2770,7 +2751,7 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
   val_t variable12;
   val_t variable13;
     val_t variable14;
-        val_t variable15;
+          val_t variable15;
           val_t variable16;
           val_t variable17;
           val_t variable18;
@@ -2780,22 +2761,22 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
           val_t variable22;
           val_t variable23;
           val_t variable24;
-          val_t variable25;
-            val_t variable26;
+            val_t variable25;
+      val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   variable2 = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL(variable2,COLOR_compiling_global___GlobalAnalysis___compiled_classes))(variable2) /*GlobalAnalysis::compiled_classes*/;
   variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global))( self) /*MMLocalClass::global*/;
-  variable2 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*HashMap::[]*/;
+  variable2 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*CoupleMap::[]*/;
   variable1 = variable2;
   variable3 = ((compiling_global___CompiledClass___class_table_t)CALL( variable1 /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable1 /*cc*/) /*CompiledClass::class_table*/;
   variable2 = variable3;
-  variable4 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*Array::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*AbstractArray::length*/;
   variable3 = variable4;
   variable4 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
   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*/;
-  variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*Array::length*/;
+  variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*AbstractArray::length*/;
   variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int(variable5));
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable0 /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable0 /*v*/) /*CompilerVisitor::global_analysis*/;
@@ -2821,18 +2802,18 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
   ((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*/;
   ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
-  variable4 = ((array___AbstractArray___iterator_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*ctab*/) /*Array::iterator*/;
+  variable4 = ((array___AbstractArray___iterator_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*ctab*/) /*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 /*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*/) /*TableElt::==*/)))));
+    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*/
       ((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("{(long int) "), TAG_Int(12)); /*new String*/
+      variable7 = NEW_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*/;
@@ -2843,15 +2824,15 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       ((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*/;
     }
-    continue_102: while(0);
+    continue_101: while(0);
     ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
   }
-  break_102: while(0);
-  variable4 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*Array::length*/;
+  break_101: while(0);
+  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*/
-    variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*ctab*/,COLOR_abstract_collection___Collection___length))( variable2 /*ctab*/) /*Array::length*/;
+    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*/;
@@ -2861,12 +2842,12 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
   ((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;
-  variable5 = ((array___AbstractArray___iterator_t)CALL( variable4 /*itab*/,COLOR_abstract_collection___Collection___iterator))( variable4 /*itab*/) /*Array::iterator*/;
+  variable5 = ((array___AbstractArray___iterator_t)CALL( variable4 /*itab*/,COLOR_abstract_collection___Collection___iterator))( variable4 /*itab*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     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 = 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*/) /*TableElt::==*/)))));
+    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*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
@@ -2874,13 +2855,13 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       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*/;
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
     }
-    continue_103: while(0);
+    continue_102: while(0);
     ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
   }
-  break_103: while(0);
+  break_102: while(0);
   variable6 = ((compiling_base___MMLocalClass___primitive_info_t)CALL( self,COLOR_compiling_base___MMLocalClass___primitive_info))( self) /*MMLocalClass::primitive_info*/;
   variable5 = variable6;
-  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*/) /*PrimitiveInfo::==*/)))));
+  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*/
@@ -2903,9 +2884,9 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     variable7 = variable8;
     variable8 = NEW_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[String]*/
+    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*/
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*Array::add*/;
+    ((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*/
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
@@ -2913,7 +2894,7 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     variable9 = NEW_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*/) /*Array::length*/;
+    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*/;
@@ -2934,91 +2915,89 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     ((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 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global_properties))( self) /*MMLocalClass::global_properties*/;
-    variable8 = ((abstract_collection___Collection___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Set::iterator*/;
+    variable8 = ((abstract_collection___Collection___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Collection::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*/;
       variable11 = ((inheritance___MMLocalClass_____bra_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass_____bra))( self,  variable9 /*g*/) /*MMLocalClass::[]*/;
       variable10 = variable11;
-      variable12 = ((genericity___MMLocalProperty___signature_t)CALL( variable10 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable10 /*p*/) /*MMLocalProperty::signature*/;
+      variable12 = ((static_type___MMLocalProperty___signature_t)CALL( variable10 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable10 /*p*/) /*MMLocalProperty::signature*/;
       variable12 = ((static_type___MMSignature___return_type_t)CALL(variable12,COLOR_static_type___MMSignature___return_type))(variable12) /*MMSignature::return_type*/;
       variable11 = variable12;
       variable12 = TAG_Bool(( variable10 /*p*/==NIT_NULL) || VAL_ISA( variable10 /*p*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
       variable13 = variable12;
       if (UNTAG_Bool(variable13)) { /* and */
-        variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*t*/ ==  NIT_NULL /*null*/) || (( variable11 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*t*/,COLOR_kernel___Object_____eqeq))( variable11 /*t*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+        variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*t*/ ==  NIT_NULL /*null*/) || (( variable11 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*t*/,COLOR_kernel___Object_____eqeq))( variable11 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       }
       variable12 = variable13;
       if (UNTAG_Bool(variable12)) { /*if*/
-        variable13 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( variable10 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( variable10 /*p*/) /*MMAttribute::concrete_property*/;
+        variable12 = TAG_Bool(( variable10 /*p*/==NIT_NULL) || VAL_ISA( variable10 /*p*/, COLOR_MMSrcAttribute, ID_MMSrcAttribute)) /*cast MMSrcAttribute*/;
+        if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 855); nit_exit(1);}
+        variable13 = ((syntax_base___MMSrcAttribute___node_t)CALL( variable10 /*p*/,COLOR_syntax_base___MMLocalProperty___node))( variable10 /*p*/) /*MMSrcAttribute::node*/;
         variable12 = variable13;
-        variable13 = TAG_Bool(( variable12 /*pi*/==NIT_NULL) || VAL_ISA( variable12 /*pi*/, COLOR_MMSrcAttribute, ID_MMSrcAttribute)) /*cast MMSrcAttribute*/;
-        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, 858); nit_exit(1);}
-        variable14 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( variable12 /*pi*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable12 /*pi*/) /*MMSrcAttribute::node*/;
+        variable13 = TAG_Bool(( variable12 /*np*/==NIT_NULL) || VAL_ISA( variable12 /*np*/, COLOR_AAttrPropdef, ID_AAttrPropdef)) /*cast AAttrPropdef*/;
+        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 857); nit_exit(1);}
+        variable14 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( variable12 /*np*/,COLOR_parser_nodes___AAttrPropdef___n_expr))( variable12 /*np*/) /*AAttrPropdef::n_expr*/;
         variable13 = variable14;
-        variable14 = TAG_Bool(( variable13 /*np*/==NIT_NULL) || VAL_ISA( variable13 /*np*/, COLOR_AAttrPropdef, ID_AAttrPropdef)) /*cast AAttrPropdef*/;
-        if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, 860); nit_exit(1);}
-        variable15 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( variable13 /*np*/,COLOR_parser_nodes___AAttrPropdef___n_expr))( variable13 /*np*/) /*AAttrPropdef::n_expr*/;
-        variable14 = variable15;
-        variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ne*/ ==  NIT_NULL /*null*/) || (( variable14 /*ne*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ne*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ne*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ne*/,COLOR_kernel___Object_____eqeq))( variable14 /*ne*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-        if (UNTAG_Bool(variable15)) { /*if*/
-          variable16 = ((compiling_methods___PExpr___compile_expr_t)CALL( variable14 /*ne*/,COLOR_compiling_methods___PExpr___compile_expr))( variable14 /*ne*/,  variable0 /*v*/) /*PExpr::compile_expr*/;
-          variable15 = variable16;
-          variable16 = NEW_string___String___init(); /*new String*/
-          variable17 = NEW_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*/) /*MMAttribute::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*/
-          variable22 = variable21;
-          ((string___String___append_t)CALL(variable16,COLOR_abstract_collection___IndexedCollection___append))(variable16, variable22) /*String::append*/;
-          variable23 =  variable15 /*e*/;
-          ((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*/
-          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*/;
-        } else { /*if*/
-          variable16 = ((static_type___MMType___local_class_t)CALL( variable11 /*t*/,COLOR_static_type___MMType___local_class))( variable11 /*t*/) /*MMType::local_class*/;
-          variable16 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable16,COLOR_compiling_base___MMLocalClass___primitive_info))(variable16) /*MMLocalClass::primitive_info*/;
-          variable15 = variable16;
-          variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pi*/ ==  NIT_NULL /*null*/) || (( variable15 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pi*/,COLOR_kernel___Object_____eqeq))( variable15 /*pi*/,  NIT_NULL /*null*/) /*PrimitiveInfo::==*/)))))));
+        variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ne*/ ==  NIT_NULL /*null*/) || (( variable13 /*ne*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ne*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ne*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ne*/,COLOR_kernel___Object_____eqeq))( variable13 /*ne*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+        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*/
           variable17 = variable16;
-          if (UNTAG_Bool(variable17)) { /* and */
-            variable17 = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable15 /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable15 /*pi*/) /*PrimitiveInfo::tagged*/;
+          ((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*/
+          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*/
+          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*/;
+        } else { /*if*/
+          variable15 = ((static_type___MMType___local_class_t)CALL( variable11 /*t*/,COLOR_static_type___MMType___local_class))( variable11 /*t*/) /*MMType::local_class*/;
+          variable15 = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable15,COLOR_compiling_base___MMLocalClass___primitive_info))(variable15) /*MMLocalClass::primitive_info*/;
+          variable14 = variable15;
+          variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pi*/ ==  NIT_NULL /*null*/) || (( variable14 /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pi*/,COLOR_kernel___Object_____eqeq))( variable14 /*pi*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+          variable16 = variable15;
+          if (UNTAG_Bool(variable16)) { /* and */
+            variable16 = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable14 /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable14 /*pi*/) /*PrimitiveInfo::tagged*/;
           }
-          variable16 = variable17;
-          if (UNTAG_Bool(variable16)) { /*if*/
-            variable17 = ((compiling_base___MMType___default_cvalue_t)CALL( variable11 /*t*/,COLOR_compiling_base___MMType___default_cvalue))( variable11 /*t*/) /*MMType::default_cvalue*/;
-            variable16 = variable17;
-            variable17 = NEW_string___String___init(); /*new String*/
-            variable18 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-            variable19 = variable18;
-            ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable19) /*String::append*/;
-            variable20 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable10 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable10 /*p*/) /*MMAttribute::global*/;
-            variable20 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable20,COLOR_compiling_base___MMGlobalProperty___attr_access))(variable20) /*MMGlobalProperty::attr_access*/;
-            variable21 = variable20;
-            ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable21) /*String::append*/;
-            variable22 = NEW_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
-            variable23 = variable22;
-            ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable23) /*String::append*/;
-            variable24 =  variable16 /*default*/;
-            ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable24) /*String::append*/;
-            variable25 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
-            variable26 = variable25;
-            ((string___String___append_t)CALL(variable17,COLOR_abstract_collection___IndexedCollection___append))(variable17, variable26) /*String::append*/;
-            ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable17) /*CompilerVisitor::add_instr*/;
+          variable15 = variable16;
+          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*/
+            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*/
+            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*/
+            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*/;
           }
         }
       }
-      continue_104: while(0);
+      continue_103: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*Iterator::next*/;
     }
-    break_104: while(0);
+    break_103: while(0);
     variable8 = NEW_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*/;
@@ -3029,7 +3008,7 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     ((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) /*Set::length*/;
+    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*/
@@ -3052,7 +3031,7 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
     ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable19) /*String::append*/;
     variable9 = variable10;
     variable10 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global_properties))( self) /*MMLocalClass::global_properties*/;
-    variable10 = ((abstract_collection___Collection___iterator_t)CALL(variable10,COLOR_abstract_collection___Collection___iterator))(variable10) /*Set::iterator*/;
+    variable10 = ((abstract_collection___Collection___iterator_t)CALL(variable10,COLOR_abstract_collection___Collection___iterator))(variable10) /*Collection::iterator*/;
     while (true) { /*for*/
       variable11 = ((abstract_collection___Iterator___is_ok_t)CALL(variable10,COLOR_abstract_collection___Iterator___is_ok))(variable10) /*Iterator::is_ok*/;
       if (!UNTAG_Bool(variable11)) break; /*for*/
@@ -3065,24 +3044,24 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       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) /*MMConcreteProperty::local_class*/;
+        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) /*MMGlobalClass::==*/)))))));
+        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*/
-        goto continue_105;
+        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[String]*/
+      variable14 = NEW_array___Array___init(); /*new Array[E]*/
       variable13 = variable14;
-      variable15 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
+      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*/
-      ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15, variable16) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15, variable16) /*AbstractArray::add*/;
       variable14 = variable15;
-      variable15 = ((genericity___MMLocalProperty___signature_t)CALL( variable12 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable12 /*p*/) /*MMLocalProperty::signature*/;
+      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[Int]*/
+      variable16 = NEW_range___Range___without_last( TAG_Int(0), variable15); /*new Range[E]*/
       variable15 = variable16;
       variable15 = ((range___Range___iterator_t)CALL(variable15,COLOR_abstract_collection___Collection___iterator))(variable15) /*Range::iterator*/;
       while (true) { /*for*/
@@ -3099,7 +3078,7 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
         variable21 = NEW_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) /*Array::add*/;
+        ((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*/
         variable19 = variable18;
@@ -3110,27 +3089,27 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
         variable21 = NEW_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) /*Array::add*/;
-        continue_106: while(0);
+        ((array___AbstractArray___add_t)CALL( variable14 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*args*/, variable17) /*AbstractArray::add*/;
+        continue_105: while(0);
         ((abstract_collection___Iterator___next_t)CALL(variable15,COLOR_abstract_collection___Iterator___next))(variable15) /*Iterator::next*/;
       }
-      break_106: while(0);
+      break_105: while(0);
       variable15 = NEW_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) /*Array::add*/;
+      ((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*/
       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) /*MMConcreteProperty::cname*/;
+      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) /*Array::join*/;
+      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*/
@@ -3158,15 +3137,14 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       variable17 = NEW_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___concrete_property_t)CALL( variable12 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( variable12 /*p*/) /*MMLocalProperty::concrete_property*/;
-      variable19 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable19,COLOR_compiling_base___MMLocalProperty___cname))(variable19) /*MMConcreteProperty::cname*/;
+      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*/
       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( variable14 /*args*/,COLOR_string___Collection___join))( variable14 /*args*/, variable23) /*Array::join*/;
+      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*/
@@ -3178,10 +3156,10 @@ void compiling_global___MMLocalClass___compile_tables_to_c(val_t  self, val_t  p
       ((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*/
       ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable16) /*CompilerVisitor::add_instr*/;
-      continue_105: while(0);
+      continue_104: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable10,COLOR_abstract_collection___Iterator___next))(variable10) /*Iterator::next*/;
     }
-    break_105: while(0);
+    break_104: while(0);
   } else { /*if*/
     variable6 = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable5 /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable5 /*pi*/) /*PrimitiveInfo::tagged*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable6)))) { /*if*/
index 3aac5a9..9b0e29b 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_global. */
-#ifndef compiling_global_3_sep
-#define compiling_global_3_sep
+#ifndef compiling_global_2_sep
+#define compiling_global_2_sep
 #include "compiling_methods._sep.h"
 #include <nit_common.h>
 
@@ -39,7 +39,7 @@ extern const classtable_elt_t VFT_TableEltClassSelfId[];
 extern const classtable_elt_t VFT_TableEltVftPointer[];
 
 extern const classtable_elt_t VFT_ClassSorter[];
-#define LOCATE_compiling_global "compiling_global"
+#define LOCATE_compiling_global "./compiling//compiling_global.nit"
 extern const int SFT_compiling_global[];
 #define ID_ColorContext SFT_compiling_global[0]
 #define COLOR_ColorContext SFT_compiling_global[1]
index 56810a5..ae76e7e 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module compiling_methods. */
 #include "compiling_methods._sep.h"
 void compiling_methods___CompilerVisitor___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___compile_stmt, 24};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 24, LOCATE_compiling_methods___CompilerVisitor___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16,7 +16,7 @@ void compiling_methods___CompilerVisitor___compile_stmt(val_t  self, val_t  para
   return;
 }
 val_t compiling_methods___CompilerVisitor___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___compile_expr, 33};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 33, LOCATE_compiling_methods___CompilerVisitor___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -53,7 +53,7 @@ val_t compiling_methods___CompilerVisitor___compile_expr(val_t  self, val_t  par
   return variable1;
 }
 val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___ensure_var, 50};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 50, LOCATE_compiling_methods___CompilerVisitor___ensure_var};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -76,7 +76,7 @@ val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param
   return variable1;
 }
 void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___add_assignment, 61};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 61, LOCATE_compiling_methods___CompilerVisitor___add_assignment};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -91,7 +91,7 @@ void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  pa
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*v*/ ==  variable1 /*s*/) || (( variable0 /*v*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))( variable0 /*v*/,  variable1 /*s*/) /*String::==*/)))));
+  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*/
@@ -113,7 +113,7 @@ void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  pa
   return;
 }
 val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___variable, 69};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 69, LOCATE_compiling_methods___CompilerVisitor___variable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -139,7 +139,7 @@ val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0)
   return variable1;
 }
 val_t compiling_methods___CompilerVisitor___get_var(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___get_var, 81};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 81, LOCATE_compiling_methods___CompilerVisitor___get_var};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -178,7 +178,7 @@ val_t compiling_methods___CompilerVisitor___get_var(val_t  self) {
   return variable0;
 }
 void compiling_methods___CompilerVisitor___free_var(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___free_var, 93};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 93, LOCATE_compiling_methods___CompilerVisitor___free_var};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -196,7 +196,7 @@ void compiling_methods___CompilerVisitor___free_var(val_t  self, val_t  param0)
   return;
 }
 void compiling_methods___CompilerVisitor___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___clear, 102};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 102, LOCATE_compiling_methods___CompilerVisitor___clear};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ =  TAG_Bool(false);
   ((compiling_base___CompilerVisitor___indent_level__eq_t)CALL( self,COLOR_compiling_base___CompilerVisitor___indent_level__eq))( self,  TAG_Int(0)) /*CompilerVisitor::indent_level=*/;
@@ -206,148 +206,173 @@ void compiling_methods___CompilerVisitor___clear(val_t  self) {
   return;
 }
 val_t compiling_methods___CompilerVisitor___varnames(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___varnames, 111};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 111, LOCATE_compiling_methods___CompilerVisitor___varnames};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____varnames( self) /*CompilerVisitor::_varnames*/;
 }
 val_t compiling_methods___CompilerVisitor___has_return(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___has_return, 114};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 114, LOCATE_compiling_methods___CompilerVisitor___has_return};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/;
 }
 void compiling_methods___CompilerVisitor___has_return__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___has_return__eq, 114};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 114, LOCATE_compiling_methods___CompilerVisitor___has_return__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___method_params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___method_params, 117};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 117, LOCATE_compiling_methods___CompilerVisitor___method_params};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/;
 }
 void compiling_methods___CompilerVisitor___method_params__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___method_params__eq, 117};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 117, LOCATE_compiling_methods___CompilerVisitor___method_params__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___method, 120};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 120, LOCATE_compiling_methods___CompilerVisitor___method};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/;
 }
 void compiling_methods___CompilerVisitor___method__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___method__eq, 120};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 120, LOCATE_compiling_methods___CompilerVisitor___method__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___return_label(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___return_label, 123};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 123, LOCATE_compiling_methods___CompilerVisitor___return_label};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/;
 }
 void compiling_methods___CompilerVisitor___return_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___return_label__eq, 123};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 123, LOCATE_compiling_methods___CompilerVisitor___return_label__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___break_label(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___break_label, 126};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 126, LOCATE_compiling_methods___CompilerVisitor___break_label};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/;
 }
 void compiling_methods___CompilerVisitor___break_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___break_label__eq, 126};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 126, LOCATE_compiling_methods___CompilerVisitor___break_label__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___continue_label(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___continue_label, 129};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 129, LOCATE_compiling_methods___CompilerVisitor___continue_label};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/;
 }
 void compiling_methods___CompilerVisitor___continue_label__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___continue_label__eq, 129};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 129, LOCATE_compiling_methods___CompilerVisitor___continue_label__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___CompilerVisitor___return_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___return_value, 132};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 132, LOCATE_compiling_methods___CompilerVisitor___return_value};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/;
 }
 void compiling_methods___CompilerVisitor___return_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___return_value__eq, 132};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 132, LOCATE_compiling_methods___CompilerVisitor___return_value__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
-val_t compiling_methods___CompilerVisitor___locate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___locate, 135};
+val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 135, LOCATE_compiling_methods___CompilerVisitor___printf_locate_error};
   val_t variable0;
-    val_t variable1;
-    val_t variable2;
+  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;
-  variable0 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
-  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*/) /*MMSrcMethod::==*/)))))));
-  if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = NEW_string___String___init(); /*new String*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
-    variable2 = variable1;
-    ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
-    variable3 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
-    variable3 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable3,COLOR_compiling_base___MMLocalProperty___cname))(variable3) /*MMSrcMethod::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*/
-    variable6 = variable5;
-    ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
-    goto return_label8;
-  } else { /*if*/
-    variable0 = NEW_string___String___init(); /*new String*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
-    variable2 = variable1;
-    ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
-    variable3 = ((compiling_base___CompilerVisitor___module_t)CALL( self,COLOR_compiling_base___CompilerVisitor___module))( self) /*CompilerVisitor::module*/;
-    variable3 = ((abstractmetamodel___MMModule___name_t)CALL(variable3,COLOR_abstractmetamodel___MMModule___name))(variable3) /*MMSrcModule::name*/;
+  variable0 =  param0;
+  variable2 = NEW_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*/
+    ((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*/
+  ((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*/
     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*/
+    ((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(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
-    goto return_label8;
+    ((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*/
+    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*/
+  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*/;
+  variable5 = ((abstractmetamodel___MMModule___name_t)CALL(variable5,COLOR_abstractmetamodel___MMModule___name))(variable5) /*MMModule::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(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*/
+  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*/;
+  variable1 =  variable1 /*s*/;
+  goto return_label8;
   return_label8: while(false);
   tracehead = trace.prev;
-  return variable0;
+  return variable1;
 }
 void compiling_methods___CompilerVisitor___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___init, 145};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 146, LOCATE_compiling_methods___CompilerVisitor___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -359,7 +384,7 @@ void compiling_methods___CompilerVisitor___init(val_t  self, val_t  param0, int*
   return;
 }
 void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after, 151};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 152, LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -376,18 +401,18 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL(variable2,COLOR_syntax_base___MMSrcLocalProperty___node))(variable2) /*MMSrcMethod::node*/;
+  variable2 = ((syntax_base___MMLocalProperty___node_t)CALL(variable2,COLOR_syntax_base___MMLocalProperty___node))(variable2) /*MMLocalProperty::node*/;
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*n*/==NIT_NULL) || VAL_ISA( variable1 /*n*/, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after, 154); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after, LOCATE_compiling_methods, 155); nit_exit(1);}
   variable2 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
-  variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*Array::is_empty*/;
+  variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool(variable2)) { /*if*/
     goto return_label10;
   }
   variable2 =  TAG_Int(0);
   variable3 =  TAG_Int(0);
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*start_prop*/ ==  NIT_NULL /*null*/) || (( variable0 /*start_prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*start_prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))( variable0 /*start_prop*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*start_prop*/ ==  NIT_NULL /*null*/) || (( variable0 /*start_prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*start_prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))( variable0 /*start_prop*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
     while (true) { /*while*/
       variable4 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
@@ -396,18 +421,18 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
       variable7 = variable6;
       if (UNTAG_Bool(variable7)) { /* and */
         variable7 = variable4;
-        variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
+        variable7 = ATTR_array___AbstractArray____length(variable7) /*AbstractArray::_length*/;
         variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
       }
       variable6 = variable7;
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
       variable6 = variable4;
       variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
       variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
       goto return_label12;
       return_label12: while(false);
       variable4 = variable6;
-      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*start_prop*/) /*MMMethod::==*/)))))));
+      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*start_prop*/) /*Object::==*/)))))));
       if (!UNTAG_Bool(variable4)) break; /* while*/
       variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
       continue_11: while(0);
@@ -421,18 +446,18 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
       variable7 = variable6;
       if (UNTAG_Bool(variable7)) { /* and */
         variable7 = variable4;
-        variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
+        variable7 = ATTR_array___AbstractArray____length(variable7) /*AbstractArray::_length*/;
         variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
       }
       variable6 = variable7;
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
       variable6 = variable4;
       variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
       variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
       goto return_label14;
       return_label14: while(false);
       variable4 = variable6;
-      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*start_prop*/) /*MMMethod::==*/)))))));
+      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*start_prop*/) /*Object::==*/)))))));
       if (!UNTAG_Bool(variable4)) break; /* while*/
       variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*j*/;
       continue_13: while(0);
@@ -440,9 +465,9 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
     break_13: while(0);
     variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*j*/;
   }
-  variable4 = NIT_NULL /*decl variable stop_prop*/;
+  variable4 =  NIT_NULL /*null*/;
   variable5 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
-  variable5 = ((array___AbstractArray___length_t)CALL(variable5,COLOR_abstract_collection___Collection___length))(variable5) /*Array::length*/;
+  variable5 = ((array___AbstractArray___length_t)CALL(variable5,COLOR_abstract_collection___Collection___length))(variable5) /*AbstractArray::length*/;
   variable5 = TAG_Bool(UNTAG_Int( variable3 /*j*/)<UNTAG_Int(variable5));
   if (UNTAG_Bool(variable5)) { /*if*/
     variable5 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
@@ -451,11 +476,11 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
     variable8 = variable7;
     if (UNTAG_Bool(variable8)) { /* and */
       variable8 = variable5;
-      variable8 = ATTR_array___AbstractArray____length(variable8) /*Array::_length*/;
+      variable8 = ATTR_array___AbstractArray____length(variable8) /*AbstractArray::_length*/;
       variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
     }
     variable7 = variable8;
-    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
     variable7 = variable5;
     variable7 = ATTR_array___Array____items(variable7) /*Array::_items*/;
     variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
@@ -465,7 +490,7 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
     variable4 = variable5 /*stop_prop=*/;
   }
   variable6 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
-  variable6 = ((array___AbstractArray___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*Array::length*/;
+  variable6 = ((array___AbstractArray___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*AbstractArray::length*/;
   variable5 = variable6;
   while (true) { /*while*/
     variable6 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int( variable5 /*l*/));
@@ -476,11 +501,11 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
     variable10 = variable9;
     if (UNTAG_Bool(variable10)) { /* and */
       variable10 = variable7;
-      variable10 = ATTR_array___AbstractArray____length(variable10) /*Array::_length*/;
+      variable10 = ATTR_array___AbstractArray____length(variable10) /*AbstractArray::_length*/;
       variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
     }
     variable9 = variable10;
-    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    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 = variable7;
     variable9 = ATTR_array___Array____items(variable9) /*Array::_items*/;
     variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
@@ -488,35 +513,35 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
     return_label17: while(false);
     variable7 = variable9;
     variable6 = variable7;
-    variable7 = TAG_Bool(( variable6 /*p*/ ==  variable4 /*stop_prop*/) || (( variable6 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*p*/, variable4 /*stop_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))( variable6 /*p*/,  variable4 /*stop_prop*/) /*MMMethod::==*/)))));
+    variable7 = TAG_Bool(( variable6 /*p*/ ==  variable4 /*stop_prop*/) || (( variable6 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*p*/, variable4 /*stop_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))( variable6 /*p*/,  variable4 /*stop_prop*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable7)) { /*if*/
       goto break_16;
     }
     variable8 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method_params))( self) /*CompilerVisitor::method_params*/;
     variable7 = variable8;
-    variable8 = ((genericity___MMLocalProperty___signature_t)CALL( variable6 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable6 /*p*/) /*MMMethod::signature*/;
+    variable8 = ((static_type___MMLocalProperty___signature_t)CALL( variable6 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable6 /*p*/) /*MMLocalProperty::signature*/;
     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[String]*/
+      variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
       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)));
       variable12 = variable11;
       if (UNTAG_Bool(variable12)) { /* and */
         variable12 = variable9;
-        variable12 = ATTR_array___AbstractArray____length(variable12) /*Array::_length*/;
+        variable12 = ATTR_array___AbstractArray____length(variable12) /*AbstractArray::_length*/;
         variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
       }
       variable11 = variable12;
-      if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      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 = variable9;
       variable11 = ATTR_array___Array____items(variable11) /*Array::_items*/;
       variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
       goto return_label18;
       return_label18: while(false);
       variable9 = variable11;
-      ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*AbstractArray::add*/;
       variable7 = variable8 /*cargs=*/;
     }
     ((compiling_methods___MMMethod___compile_call_t)CALL( variable6 /*p*/,COLOR_compiling_methods___MMMethod___compile_call))( variable6 /*p*/,  self,  variable7 /*cargs*/) /*MMMethod::compile_call*/;
@@ -529,7 +554,7 @@ void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t
   return;
 }
 val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMMethod___compile_call, 203};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 204, LOCATE_compiling_methods___MMMethod___compile_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -567,15 +592,14 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( self) /*MMMethod::concrete_property*/;
-  variable2 = variable3;
+  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 (%s: %d)\n", "", LOCATE_compiling_methods___MMMethod___compile_call, 210); nit_exit(1);}
-  variable3 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( variable2 /*i*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable2 /*i*/) /*MMSrcMethod::node*/;
+  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*/) /*MMSrcMethod::local_class*/;
+    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 {
@@ -584,10 +608,10 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       once_value_variable5_20 = variable5;
       once_bool_variable5_20 = true;
     }
-    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) /*Symbol::==*/)))));
+    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) /*MMMethod::name*/;
+      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___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
@@ -595,7 +619,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
         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) /*Symbol::==*/)))));
+      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;
   }
@@ -622,12 +646,13 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     once_bool_variable5_23 = true;
   }
   variable4 = variable5;
-  variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
-  variable5 = TAG_Bool((variable5 ==  variable4 /*ne*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, variable4 /*ne*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  variable4 /*ne*/) /*Symbol::==*/)))));
+  variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMLocalProperty::name*/;
+  variable5 = TAG_Bool((variable5 ==  variable4 /*ne*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, variable4 /*ne*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  variable4 /*ne*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable6 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
+    variable6 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
     variable6 = ((static_type___MMSignature___recv_t)CALL(variable6,COLOR_static_type___MMSignature___recv))(variable6) /*MMSignature::recv*/;
-    variable6 = ((static_type___MMType___select_method_t)CALL(variable6,COLOR_static_type___MMType___select_method))(variable6,  variable3 /*ee*/) /*MMType::select_method*/;
+    variable6 = ((static_type___MMType___local_class_t)CALL(variable6,COLOR_static_type___MMType___local_class))(variable6) /*MMType::local_class*/;
+    variable6 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable6,  variable3 /*ee*/) /*MMLocalClass::select_method*/;
     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;
@@ -643,19 +668,19 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable2 = variable7;
     goto return_label19;
   }
-  variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMMethod::global*/;
+  variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
   variable5 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable5) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___Collection___to_a_t)CALL( variable1 /*cargs*/,COLOR_array___Collection___to_a))( variable1 /*cargs*/) /*Array::to_a*/;
+    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*/
-    ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable5) /*Array::add*/;
+    ((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*/
   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) /*MMMethod::cname*/;
+  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*/
@@ -665,11 +690,11 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable15 = variable14;
   if (UNTAG_Bool(variable15)) { /* and */
-    variable15 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
+    variable15 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*AbstractArray::_length*/;
     variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
   }
   variable14 = variable15;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  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( variable1 /*cargs*/) /*Array::_items*/;
   variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
   goto return_label24;
@@ -680,7 +705,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   variable15 = NEW_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) /*MMMethod::global*/;
+  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*/;
@@ -698,20 +723,20 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   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 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable13) /*Array::join*/;
+  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*/
   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) /*MMMethod::local_class*/;
+  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*/
   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) /*MMMethod::name*/;
+  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*/;
@@ -719,8 +744,8 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   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) /*MMMethod::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*/) /*Symbol::==*/)))));
+  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*/
@@ -740,9 +765,9 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       once_bool_variable8_25 = true;
     }
     variable7 = variable8;
-    variable8 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMSrcMethod::local_class*/;
+    variable8 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMLocalProperty::local_class*/;
     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*/) /*Symbol::==*/)))));
+    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*/
@@ -753,7 +778,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       variable12 = NEW_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*/) /*MMSrcMethod::cname*/;
+      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*/
@@ -763,11 +788,11 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable20 = variable19;
       if (UNTAG_Bool(variable20)) { /* and */
-        variable20 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
+        variable20 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*AbstractArray::_length*/;
         variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
       }
       variable19 = variable20;
-      if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
       variable19 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
       variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
       goto return_label26;
@@ -782,11 +807,11 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
       variable23 = TAG_Bool(UNTAG_Int( variable22 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable24 = variable23;
       if (UNTAG_Bool(variable24)) { /* and */
-        variable24 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
+        variable24 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*AbstractArray::_length*/;
         variable24 = TAG_Bool(UNTAG_Int( variable22 /*index*/)<UNTAG_Int(variable24));
       }
       variable23 = variable24;
-      if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
       variable23 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
       variable23 = UNBOX_NativeArray(variable23)[UNTAG_Int( variable22 /*index*/)];
       goto return_label27;
@@ -808,7 +833,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable9 = NEW_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*/) /*Array::first*/;
+    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*/
@@ -818,11 +843,11 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable16 = TAG_Bool(UNTAG_Int( variable15 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable17 = variable16;
     if (UNTAG_Bool(variable17)) { /* and */
-      variable17 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
+      variable17 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*AbstractArray::_length*/;
       variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
     }
     variable16 = variable17;
-    if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
     variable16 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
     variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
     goto return_label28;
@@ -833,7 +858,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     variable17 = NEW_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*/) /*Array::first*/;
+    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*/
@@ -846,9 +871,9 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
     ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable25) /*String::append*/;
     variable6 = variable8 /*vcall=*/;
   }
-  variable7 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
+  variable7 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
   variable7 = ((static_type___MMSignature___return_type_t)CALL(variable7,COLOR_static_type___MMSignature___return_type))(variable7) /*MMSignature::return_type*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(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*/
     variable2 =  variable6 /*vcall*/;
     goto return_label19;
@@ -864,7 +889,7 @@ val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, va
   return variable2;
 }
 val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMMethod___compile_constructor_call, 247};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 248, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -891,7 +916,7 @@ val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t
   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 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
+  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*/;
   variable3 = variable4;
   variable4 = NEW_string___String___init(); /*new String*/
@@ -903,16 +928,16 @@ val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t
   variable8 = NEW_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) /*MMMethod::global*/;
+  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) /*MMConcreteProperty::cname*/;
+  variable10 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable10,COLOR_compiling_base___MMLocalProperty___cname))(variable10) /*MMLocalProperty::cname*/;
   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*/
   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) /*Array::join*/;
+  variable14 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable14) /*Collection::join*/;
   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*/
@@ -932,7 +957,7 @@ val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t
   return variable2;
 }
 val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMMethod___compile_super_call, 256};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 257, LOCATE_compiling_methods___MMMethod___compile_super_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -962,7 +987,7 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   variable4 = NEW_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) /*MMMethod::cname*/;
+  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*/
@@ -972,11 +997,11 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   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 /*cargs*/) /*Array::_length*/;
+    variable12 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*AbstractArray::_length*/;
     variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
   }
   variable11 = variable12;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  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 /*cargs*/) /*Array::_items*/;
   variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
   goto return_label31;
@@ -987,7 +1012,7 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   variable12 = NEW_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) /*MMMethod::color_id_for_super*/;
+  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*/
@@ -1004,20 +1029,20 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   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 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable10) /*Array::join*/;
+  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*/
   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) /*MMMethod::local_class*/;
+  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*/
   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) /*MMMethod::name*/;
+  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*/;
@@ -1032,7 +1057,7 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
   return variable2;
 }
 val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMAttribute___compile_access, 266};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 267, LOCATE_compiling_methods___MMAttribute___compile_access};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1060,7 +1085,7 @@ val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param
   variable3 = NEW_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) /*MMAttribute::global*/;
+  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*/;
@@ -1072,14 +1097,14 @@ val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param
   variable10 = NEW_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) /*MMAttribute::local_class*/;
+  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*/
   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) /*MMAttribute::name*/;
+  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*/;
@@ -1091,8 +1116,8 @@ val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param
   tracehead = trace.prev;
   return variable2;
 }
-void compiling_methods___MMSrcLocalProperty___compile_property_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMSrcLocalProperty___compile_property_to_c, 275};
+void compiling_methods___MMLocalProperty___compile_property_to_c(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 276, LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1100,7 +1125,7 @@ void compiling_methods___MMSrcLocalProperty___compile_property_to_c(val_t  self,
   return;
 }
 val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMSrcMethod___decl_csignature, 280};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 281, LOCATE_compiling_methods___MMSrcMethod___decl_csignature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1124,13 +1149,13 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_array___Array___init(); /*new Array[String]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable3 = NIT_NULL /*decl variable params_new*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMSrcMethod::global*/;
+  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[String]*/
+    variable4 = NEW_array___Array___init(); /*new Array[E]*/
     variable3 = variable4 /*params_new=*/;
   }
   variable4 = NEW_string___String___init(); /*new String*/
@@ -1141,11 +1166,11 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable9 = variable8;
   if (UNTAG_Bool(variable9)) { /* and */
-    variable9 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*Array::_length*/;
+    variable9 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*AbstractArray::_length*/;
     variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
   }
   variable8 = variable9;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  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( variable1 /*args*/) /*Array::_items*/;
   variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
   goto return_label35;
@@ -1156,10 +1181,10 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable9 = NEW_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) /*Array::add*/;
-  variable4 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
+  ((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[Int]*/
+  variable5 = NEW_range___Range___without_last( TAG_Int(0), variable4); /*new Range[E]*/
   variable4 = variable5;
   variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1175,11 +1200,11 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
     variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable13 = variable12;
     if (UNTAG_Bool(variable13)) { /* and */
-      variable13 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*Array::_length*/;
+      variable13 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*AbstractArray::_length*/;
       variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
     }
     variable12 = variable13;
-    if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    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( variable1 /*args*/) /*Array::_items*/;
     variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
     goto return_label37;
@@ -1191,25 +1216,25 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
     variable13 = variable12;
     ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
     variable6 = variable7;
-    ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/,  variable6 /*p*/) /*Array::add*/;
-    variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*params_new*/ ==  NIT_NULL /*null*/) || (( variable3 /*params_new*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))( variable3 /*params_new*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+    ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/,  variable6 /*p*/) /*AbstractArray::add*/;
+    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*/
-      ((array___AbstractArray___add_t)CALL( variable3 /*params_new*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*params_new*/,  variable6 /*p*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable3 /*params_new*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*params_new*/,  variable6 /*p*/) /*AbstractArray::add*/;
     }
     continue_36: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
   }
   break_36: while(0);
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMSrcMethod::global*/;
+  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*/
-    ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*AbstractArray::add*/;
   }
   variable4 = NIT_NULL /*decl variable ret*/;
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
+  variable5 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
   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*/) /*MMType::==*/)))))));
+  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*/
     variable4 = variable5 /*ret=*/;
@@ -1218,7 +1243,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
     variable4 = variable5 /*ret=*/;
   }
   variable6 = NEW_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) /*Array::join*/;
+  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*/
@@ -1229,7 +1254,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable11 = NEW_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) /*MMSrcMethod::cname*/;
+  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*/
@@ -1250,7 +1275,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable11 = NEW_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) /*MMSrcMethod::cname*/;
+  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*/
@@ -1265,20 +1290,20 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   variable7 = NEW_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) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))( variable3 /*params_new*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
     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) /*MMSrcMethod::cname*/;
+    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*/
     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 = ((string___Collection___join_t)CALL( variable3 /*params_new*/,COLOR_string___Collection___join))( variable3 /*params_new*/, variable14) /*Array::join*/;
+    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*/
@@ -1293,7 +1318,7 @@ val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  para
   return variable2;
 }
 void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c, 313};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 314, LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1309,16 +1334,20 @@ 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;
+  val_t variable16;
+  val_t variable17;
+  val_t variable18;
   trace.prev = tracehead; tracehead = &trace;
   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[String]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
   variable2 = NEW_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) /*Array::add*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
+  ((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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1335,7 +1364,7 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
     variable8 = NEW_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) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable1 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*args*/, variable4) /*AbstractArray::add*/;
     continue_39: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
@@ -1346,13 +1375,13 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   variable4 = NEW_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) /*MMSrcMethod::cname*/;
+  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*/
   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) /*MMSrcMethod::full_name*/;
+  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*/
@@ -1378,20 +1407,28 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   variable5 = NEW_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, LOCATE_"), TAG_Int(37)); /*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( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMSrcMethod::cname*/;
+  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*/;
   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*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMSrcMethod::node*/;
-  variable11 = ((parser_prod___Prod___line_number_t)CALL(variable11,COLOR_parser_prod___PNode___line_number))(variable11) /*PPropdef::line_number*/;
+  variable11 = ((syntax_base___MMLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMLocalProperty::node*/;
+  variable11 = ((parser_prod___PNode___line_number_t)CALL(variable11,COLOR_parser_prod___PNode___line_number))(variable11) /*PNode::line_number*/;
   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___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)); /*new String*/
   variable14 = variable13;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
+  variable15 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMLocalProperty::cname*/;
+  variable16 = variable15;
+  ((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*/
+  variable18 = variable17;
+  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*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*/;
@@ -1425,15 +1462,16 @@ void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t
   return;
 }
 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside, 345};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 346, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "do_compile_inside", LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c, 345);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c, LOCATE_compiling_methods, 346);
   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, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside, 350};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 351, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1443,30 +1481,30 @@ val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMReadImplementationMethod::node*/;
+  variable2 = ((syntax_base___MMAttrImplementationMethod___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMAttrImplementationMethod::node*/;
   variable2 = ((mmbuilder___AAttrPropdef___prop_t)CALL(variable2,COLOR_syntax_base___AAttrPropdef___prop))(variable2) /*AAttrPropdef::prop*/;
   variable3 =  TAG_Int(0);
   variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable5 = variable4;
   if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
+    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*AbstractArray::_length*/;
     variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
   }
   variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
   variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
   variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
   goto return_label41;
   return_label41: while(false);
   variable3 = variable4;
-  variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/, variable3) /*MMSrcAttribute::compile_access*/;
+  variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/, variable3) /*MMAttribute::compile_access*/;
   goto return_label40;
   return_label40: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside, 357};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 358, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1476,32 +1514,32 @@ val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMWriteImplementationMethod::node*/;
+  variable2 = ((syntax_base___MMAttrImplementationMethod___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMAttrImplementationMethod::node*/;
   variable2 = ((mmbuilder___AAttrPropdef___prop_t)CALL(variable2,COLOR_syntax_base___AAttrPropdef___prop))(variable2) /*AAttrPropdef::prop*/;
   variable3 =  TAG_Int(0);
   variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable5 = variable4;
   if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
+    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*AbstractArray::_length*/;
     variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
   }
   variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
   variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
   variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
   goto return_label43;
   return_label43: while(false);
   variable3 = variable4;
-  variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/, variable3) /*MMSrcAttribute::compile_access*/;
+  variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2,  variable0 /*v*/, variable3) /*MMAttribute::compile_access*/;
   variable3 =  TAG_Int(1);
   variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable5 = variable4;
   if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
+    variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*AbstractArray::_length*/;
     variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
   }
   variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
   variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
   variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
   goto return_label44;
@@ -1515,14 +1553,14 @@ 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, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside, 365};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 366, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMMethSrcMethod::node*/;
+  variable2 = ((syntax_base___MMMethSrcMethod___node_t)CALL( self,COLOR_syntax_base___MMLocalProperty___node))( self) /*MMMethSrcMethod::node*/;
   variable2 = ((compiling_methods___AMethPropdef___do_compile_inside_t)CALL(variable2,COLOR_compiling_methods___AMethPropdef___do_compile_inside))(variable2,  variable0 /*v*/,  self,  variable1 /*params*/) /*AMethPropdef::do_compile_inside*/;
   goto return_label45;
   return_label45: while(false);
@@ -1530,7 +1568,7 @@ val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t
   return variable2;
 }
 val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___MMType___compile_cast, 372};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 373, LOCATE_compiling_methods___MMType___compile_cast};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1599,7 +1637,7 @@ val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_
   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, LOCATE_compiling_methods___MMType___compile_type_check, 381};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 382, LOCATE_compiling_methods___MMType___compile_type_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1628,10 +1666,6 @@ void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0,
   val_t variable25;
   val_t variable26;
   val_t variable27;
-  val_t variable28;
-  val_t variable29;
-  val_t variable30;
-  val_t variable31;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
@@ -1662,49 +1696,43 @@ void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0,
   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 (%s: %d)\\n\", "), TAG_Int(48)); /*new String*/
+  variable19 = NEW_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___locate_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___locate))( variable0 /*v*/) /*CompilerVisitor::locate*/;
+  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(", "), TAG_Int(2)); /*new String*/
+  variable23 = NEW_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 = ((parser_prod___PNode___line_number_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___line_number))( variable2 /*n*/) /*PNode::line_number*/;
-  variable26 = variable25;
-  variable26 = ((string___String___to_s_t)CALL(variable26,COLOR_string___Object___to_s))(variable26) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable26) /*String::append*/;
-  variable27 = NEW_string___String___with_native(BOX_NativeString("); nit_exit(1); } /*cast "), TAG_Int(25)); /*new String*/
-  variable28 = variable27;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable28) /*String::append*/;
-  variable29 =  self;
-  variable29 = ((string___String___to_s_t)CALL(variable29,COLOR_string___Object___to_s))(variable29) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable29) /*String::append*/;
-  variable30 = NEW_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)); /*new String*/
-  variable31 = variable30;
-  ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable31) /*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*/
+  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*/;
   tracehead = trace.prev;
   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, LOCATE_compiling_methods___AMethPropdef___do_compile_inside, 393};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 394, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "do_compile_inside", LOCATE_compiling_methods___MMType___compile_type_check, 393);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMType___compile_type_check, LOCATE_compiling_methods, 394);
   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, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside, 398};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 399, LOCATE_compiling_methods___AConcreteMethPropdef___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 variable6;
       val_t variable7;
       val_t variable8;
       val_t variable9;
@@ -1723,21 +1751,20 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*method*/) /*MMSrcMethod::global*/;
+  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*method*/) /*MMLocalProperty::global*/;
   variable4 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable4) /*MMGlobalProperty::intro*/;
   variable3 = variable4;
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable3 /*orig_meth*/,COLOR_static_type___MMLocalProperty___signature))( variable3 /*orig_meth*/) /*MMLocalProperty::signature*/;
-  variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
-  variable6 = ((static_type___MMSignature___recv_t)CALL(variable6,COLOR_static_type___MMSignature___recv))(variable6) /*MMSignature::recv*/;
-  variable5 = ((vararg___MMSignature___adaptation_to_t)CALL(variable5,COLOR_genericity___MMSignature___adaptation_to))(variable5, variable6) /*MMSignature::adaptation_to*/;
+  variable5 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMLocalProperty::signature*/;
+  variable5 = ((static_type___MMSignature___recv_t)CALL(variable5,COLOR_static_type___MMSignature___recv))(variable5) /*MMSignature::recv*/;
+  variable5 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable3 /*orig_meth*/,COLOR_static_type___MMLocalProperty___signature_for))( variable3 /*orig_meth*/, variable5) /*MMLocalProperty::signature_for*/;
   variable4 = variable5;
-  variable5 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AConcreteMethPropdef::n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable5 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AMethPropdef::n_signature*/;
+  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*/
-    variable6 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AConcreteMethPropdef::n_signature*/;
+    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 (%s: %d)\n", "", LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside, 404); 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, 405); 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*/
@@ -1783,11 +1810,11 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
         variable13 = TAG_Bool(UNTAG_Int( variable12 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable14 = variable13;
         if (UNTAG_Bool(variable14)) { /* and */
-          variable14 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
+          variable14 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*AbstractArray::_length*/;
           variable14 = TAG_Bool(UNTAG_Int( variable12 /*index*/)<UNTAG_Int(variable14));
         }
         variable13 = variable14;
-        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        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;
@@ -1801,11 +1828,11 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
       variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable13 = variable12;
       if (UNTAG_Bool(variable13)) { /* and */
-        variable13 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
+        variable13 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*AbstractArray::_length*/;
         variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
       }
       variable12 = variable13;
-      if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      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;
@@ -1825,7 +1852,7 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   variable7 = variable8;
   variable9 = ((compiling_methods___CompilerVisitor___has_return_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return))( variable0 /*v*/) /*CompilerVisitor::has_return*/;
   variable8 = variable9;
-  variable9 = NIT_NULL /*decl variable itpos*/;
+  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*/
@@ -1836,11 +1863,11 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
     variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable15 = variable14;
     if (UNTAG_Bool(variable15)) { /* and */
-      variable15 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
+      variable15 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*AbstractArray::_length*/;
       variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
     }
     variable14 = variable15;
-    if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    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;
@@ -1851,7 +1878,7 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
     variable15 = NEW_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*/) /*MMSrcMethod::local_class*/;
+    variable17 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMLocalProperty::local_class*/;
     variable17 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable17,COLOR_abstractmetamodel___MMLocalClass___global))(variable17) /*MMLocalClass::global*/;
     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;
@@ -1885,9 +1912,9 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   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=*/;
-  variable10 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
+  variable10 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMLocalProperty::signature*/;
   variable10 = ((static_type___MMSignature___return_type_t)CALL(variable10,COLOR_static_type___MMSignature___return_type))(variable10) /*MMSignature::return_type*/;
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 ==  NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 ==  NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
     variable10 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
     ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/, variable10) /*CompilerVisitor::return_value=*/;
@@ -1902,7 +1929,7 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
     ((compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after))( variable0 /*v*/,  NIT_NULL /*null*/) /*CompilerVisitor::invoke_super_init_calls_after*/;
   }
   variable10 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 ==  NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 ==  NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
     variable10 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
     ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable10) /*CompilerVisitor::compile_stmt*/;
@@ -1947,59 +1974,24 @@ val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self,
   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, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside, 462};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 463, LOCATE_compiling_methods___ADeferredMethPropdef___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;
-  val_t variable13;
-  val_t variable14;
-  val_t variable15;
-  val_t variable16;
-  val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable3 = NEW_string___String___init(); /*new String*/
-  variable4 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method %s called (%s: %d)\\n\", \""), TAG_Int(57)); /*new String*/
-  variable5 = variable4;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
-  variable6 = ((mmbuilder___AMethPropdef___name_t)CALL( self,COLOR_mmbuilder___AMethPropdef___name))( self) /*ADeferredMethPropdef::name*/;
-  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(3)); /*new String*/
-  variable9 = variable8;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
-  variable10 = ((compiling_methods___CompilerVisitor___locate_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___locate))( variable0 /*v*/) /*CompilerVisitor::locate*/;
-  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(2)); /*new String*/
-  variable13 = variable12;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
-  variable14 = ((parser_prod___Prod___line_number_t)CALL( self,COLOR_parser_prod___PNode___line_number))( self) /*ADeferredMethPropdef::line_number*/;
-  variable15 = variable14;
-  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(2)); /*new String*/
-  variable17 = variable16;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
+  variable3 = NEW_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*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
-  variable3 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
+  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*/) /*MMType::==*/)))))));
+  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;
@@ -2012,7 +2004,7 @@ val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self,
   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, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside, 475};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 477, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2048,7 +2040,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable5 = NEW_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*/) /*MMSrcMethod::module*/;
+  variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___module))( variable1 /*method*/) /*MMLocalProperty::module*/;
   variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
   variable8 = variable7;
   variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
@@ -2056,7 +2048,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   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*/;
-  variable11 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
+  variable11 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMLocalProperty::local_class*/;
   variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable11,COLOR_abstractmetamodel___MMLocalClass___name))(variable11) /*MMLocalClass::name*/;
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
@@ -2064,7 +2056,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable13 = NEW_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*/) /*MMSrcMethod::local_class*/;
+  variable15 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMLocalProperty::local_class*/;
   variable15 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable15,COLOR_abstractmetamodel___MMLocalClass___name))(variable15) /*MMLocalClass::name*/;
   variable16 = variable15;
   variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
@@ -2072,14 +2064,14 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   variable17 = NEW_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*/) /*MMSrcMethod::name*/;
+  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*/
   variable22 = variable21;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
-  variable23 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
+  variable23 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMLocalProperty::signature*/;
   variable23 = ((static_type___MMSignature___arity_t)CALL(variable23,COLOR_static_type___MMSignature___arity))(variable23) /*MMSignature::arity*/;
   variable24 = variable23;
   variable24 = ((string___String___to_s_t)CALL(variable24,COLOR_string___Object___to_s))(variable24) /*String::to_s*/;
@@ -2089,19 +2081,19 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable26) /*String::append*/;
   variable3 = variable4;
   variable4 = ((parser_nodes___AExternMethPropdef___n_extern_t)CALL( self,COLOR_parser_nodes___AExternMethPropdef___n_extern))( self) /*AExternMethPropdef::n_extern*/;
-  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*/) /*TString::==*/)))))));
+  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 = ((parser_nodes___AExternMethPropdef___n_extern_t)CALL( self,COLOR_parser_nodes___AExternMethPropdef___n_extern))( self) /*AExternMethPropdef::n_extern*/;
-    variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TString::text*/;
+    variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*Token::text*/;
     variable3 = variable4 /*ename=*/;
-    variable4 = ((array___AbstractArray___length_t)CALL( variable3 /*ename*/,COLOR_abstract_collection___Collection___length))( variable3 /*ename*/) /*String::length*/;
+    variable4 = ((array___AbstractArray___length_t)CALL( variable3 /*ename*/,COLOR_abstract_collection___Collection___length))( variable3 /*ename*/) /*AbstractArray::length*/;
     variable4 = TAG_Int(UNTAG_Int(variable4)-UNTAG_Int( TAG_Int(2)));
     variable4 = ((string___String___substring_t)CALL( variable3 /*ename*/,COLOR_string___String___substring))( variable3 /*ename*/,  TAG_Int(1), variable4) /*String::substring*/;
     variable3 = variable4 /*ename=*/;
   }
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
+  variable5 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMLocalProperty::signature*/;
   variable4 = variable5;
-  variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*params*/,COLOR_abstract_collection___Collection___length))( variable2 /*params*/) /*Array::length*/;
+  variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*params*/,COLOR_abstract_collection___Collection___length))( variable2 /*params*/) /*AbstractArray::length*/;
   variable6 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
   variable6 = TAG_Int(UNTAG_Int(variable6)+UNTAG_Int( TAG_Int(1)));
   variable5 = TAG_Bool((variable5)!=(variable6));
@@ -2110,7 +2102,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
     variable6 = NEW_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*/) /*Array::length*/;
+    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*/;
@@ -2124,29 +2116,29 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
     variable14 = NEW_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) /*AExternMethPropdef::printl*/;
+    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable5) /*PNode::printl*/;
   }
-  variable6 = NEW_array___Array___init(); /*new Array[String]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 = ((static_type___MMSignature___recv_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___recv))( variable4 /*sig*/) /*MMSignature::recv*/;
   variable7 =  TAG_Int(0);
   variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable9 = variable8;
   if (UNTAG_Bool(variable9)) { /* and */
-    variable9 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
+    variable9 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*AbstractArray::_length*/;
     variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
   }
   variable8 = variable9;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  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);
   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) /*Array::add*/;
+  ((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[Int]*/
+  variable7 = NEW_range___Range___without_last( TAG_Int(0), variable6); /*new Range[E]*/
   variable6 = variable7;
   variable6 = ((range___Range___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*Range::iterator*/;
   while (true) { /*for*/
@@ -2159,18 +2151,18 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
     variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable12 = variable11;
     if (UNTAG_Bool(variable12)) { /* and */
-      variable12 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
+      variable12 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*AbstractArray::_length*/;
       variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
     }
     variable11 = variable12;
-    if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    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);
     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) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable5 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*args*/, variable8) /*AbstractArray::add*/;
     continue_56: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*Iterator::next*/;
   }
@@ -2185,7 +2177,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   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 = ((string___Collection___join_t)CALL( variable5 /*args*/,COLOR_string___Collection___join))( variable5 /*args*/, variable13) /*Array::join*/;
+  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*/
@@ -2193,7 +2185,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
   variable6 = variable7;
   variable7 = ((static_type___MMSignature___return_type_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___return_type))( variable4 /*sig*/) /*MMSignature::return_type*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(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*/
     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*/;
@@ -2218,7 +2210,7 @@ val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, va
   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, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside, 502};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 504, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2330,12 +2322,12 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
+  variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMLocalProperty::local_class*/;
   variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___name))(variable4) /*MMLocalClass::name*/;
   variable3 = variable4;
-  variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMSrcMethod::name*/;
+  variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMLocalProperty::name*/;
   variable4 = variable5;
-  variable5 = NIT_NULL /*decl variable s*/;
+  variable5 =  NIT_NULL /*null*/;
   if (once_bool_variable6_59) variable6 = once_value_variable6_59;
   else {
     variable6 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
@@ -2343,7 +2335,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
     once_value_variable6_59 = variable6;
     once_bool_variable6_59 = 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) /*Symbol::==*/)))));
+  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;
     else {
@@ -2352,7 +2344,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
       once_value_variable6_60 = variable6;
       once_bool_variable6_60 = 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) /*Symbol::==*/)))));
+    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*/
@@ -2362,11 +2354,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
       variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable11 = variable10;
       if (UNTAG_Bool(variable11)) { /* and */
-        variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+        variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
         variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
       }
       variable10 = variable11;
-      if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      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;
@@ -2386,7 +2378,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
         once_value_variable6_62 = variable6;
         once_bool_variable6_62 = 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) /*Symbol::==*/)))));
+      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*/
@@ -2396,11 +2388,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
         variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable11 = variable10;
         if (UNTAG_Bool(variable11)) { /* and */
-          variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+          variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
           variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
         }
         variable10 = variable11;
-        if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        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;
@@ -2420,7 +2412,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           once_value_variable6_64 = variable6;
           once_bool_variable6_64 = 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) /*Symbol::==*/)))));
+        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*/
@@ -2430,11 +2422,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
           variable11 = variable10;
           if (UNTAG_Bool(variable11)) { /* and */
-            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
             variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
           }
           variable10 = variable11;
-          if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+          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;
@@ -2454,7 +2446,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             once_value_variable6_66 = variable6;
             once_bool_variable6_66 = 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) /*Symbol::==*/)))));
+          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*/
@@ -2464,11 +2456,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
             variable11 = variable10;
             if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
             }
             variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+            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;
@@ -2488,7 +2480,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               once_value_variable6_68 = variable6;
               once_bool_variable6_68 = 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) /*Symbol::==*/)))));
+            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*/
@@ -2498,11 +2490,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
               variable11 = variable10;
               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
               }
               variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+              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;
@@ -2522,7 +2514,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_70 = variable6;
                once_bool_variable6_70 = 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) /*Symbol::==*/)))));
+              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*/
@@ -2532,11 +2524,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2556,7 +2548,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_72 = variable6;
                once_bool_variable6_72 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2566,11 +2558,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2590,7 +2582,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_74 = variable6;
                once_bool_variable6_74 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2600,11 +2592,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2619,11 +2611,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2643,7 +2635,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -2653,11 +2645,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2672,11 +2664,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2696,7 +2688,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_80 = variable6;
                once_bool_variable6_80 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2706,11 +2698,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2725,11 +2717,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2749,7 +2741,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_83 = variable6;
                once_bool_variable6_83 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2759,11 +2751,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2778,11 +2770,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2802,7 +2794,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_86 = variable6;
                once_bool_variable6_86 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2812,11 +2804,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2831,11 +2823,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2855,7 +2847,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_89 = variable6;
                once_bool_variable6_89 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2865,11 +2857,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2884,11 +2876,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2908,7 +2900,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_92 = variable6;
                once_bool_variable6_92 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2918,11 +2910,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2937,11 +2929,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2961,7 +2953,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_95 = variable6;
                once_bool_variable6_95 = 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) /*Symbol::==*/)))));
+               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*/
@@ -2971,11 +2963,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -2990,11 +2982,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3014,7 +3006,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_98 = variable6;
                once_bool_variable6_98 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3024,11 +3016,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3043,11 +3035,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3067,7 +3059,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_101 = variable6;
                once_bool_variable6_101 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3077,11 +3069,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3096,11 +3088,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3120,7 +3112,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_104 = variable6;
                once_bool_variable6_104 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3130,11 +3122,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3149,11 +3141,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3173,7 +3165,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_107 = variable6;
                once_bool_variable6_107 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3183,11 +3175,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3202,11 +3194,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3226,7 +3218,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_110 = variable6;
                once_bool_variable6_110 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3236,11 +3228,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3255,11 +3247,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3299,7 +3291,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
       once_value_variable6_113 = variable6;
       once_bool_variable6_113 = 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) /*Symbol::==*/)))));
+    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;
       else {
@@ -3308,21 +3300,21 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
         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) /*Symbol::==*/)))));
+      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((int)UNBOX_Float("), TAG_Int(25)); /*new String*/
+        variable7 = NEW_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);
         variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable11 = variable10;
         if (UNTAG_Bool(variable11)) { /* and */
-          variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+          variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
           variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
         }
         variable10 = variable11;
-        if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        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;
@@ -3342,7 +3334,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           once_value_variable6_116 = variable6;
           once_bool_variable6_116 = 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) /*Symbol::==*/)))));
+        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*/
@@ -3352,11 +3344,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
           variable11 = variable10;
           if (UNTAG_Bool(variable11)) { /* and */
-            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
             variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
           }
           variable10 = variable11;
-          if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+          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;
@@ -3376,7 +3368,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             once_value_variable6_118 = variable6;
             once_bool_variable6_118 = 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) /*Symbol::==*/)))));
+          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*/
@@ -3386,11 +3378,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
             variable11 = variable10;
             if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
             }
             variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+            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;
@@ -3410,21 +3402,21 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               once_value_variable6_120 = variable6;
               once_bool_variable6_120 = 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) /*Symbol::==*/)))));
+            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((int)UNBOX_Float("), TAG_Int(25)); /*new String*/
+              variable7 = NEW_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);
               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
               variable11 = variable10;
               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
               }
               variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+              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;
@@ -3444,7 +3436,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_122 = variable6;
                once_bool_variable6_122 = 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) /*Symbol::==*/)))));
+              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*/
@@ -3454,11 +3446,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3473,11 +3465,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3497,7 +3489,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -3507,11 +3499,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3526,11 +3518,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3550,7 +3542,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_128 = variable6;
                once_bool_variable6_128 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3560,11 +3552,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3579,11 +3571,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3603,7 +3595,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_131 = variable6;
                once_bool_variable6_131 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3613,11 +3605,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3632,11 +3624,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3656,7 +3648,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_134 = variable6;
                once_bool_variable6_134 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3666,11 +3658,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3685,11 +3677,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3709,7 +3701,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_137 = variable6;
                once_bool_variable6_137 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3719,11 +3711,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3738,11 +3730,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3762,7 +3754,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_140 = variable6;
                once_bool_variable6_140 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3772,11 +3764,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3791,11 +3783,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3815,7 +3807,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_143 = variable6;
                once_bool_variable6_143 = 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) /*Symbol::==*/)))));
+               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*/
@@ -3825,11 +3817,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3844,11 +3836,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -3880,7 +3872,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
         once_value_variable6_146 = variable6;
         once_bool_variable6_146 = 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) /*Symbol::==*/)))));
+      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;
         else {
@@ -3889,7 +3881,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           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) /*Symbol::==*/)))));
+        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*/
@@ -3899,11 +3891,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
           variable11 = variable10;
           if (UNTAG_Bool(variable11)) { /* and */
-            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+            variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
             variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
           }
           variable10 = variable11;
-          if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+          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;
@@ -3923,7 +3915,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             once_value_variable6_149 = variable6;
             once_bool_variable6_149 = 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) /*Symbol::==*/)))));
+          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*/
@@ -3933,11 +3925,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
             variable11 = variable10;
             if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
             }
             variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+            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;
@@ -3957,7 +3949,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               once_value_variable6_151 = variable6;
               once_bool_variable6_151 = 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) /*Symbol::==*/)))));
+            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*/
@@ -3967,11 +3959,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
               variable11 = variable10;
               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
               }
               variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+              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;
@@ -3991,7 +3983,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_153 = variable6;
                once_bool_variable6_153 = 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) /*Symbol::==*/)))));
+              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*/
@@ -4001,11 +3993,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4025,7 +4017,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_155 = variable6;
                once_bool_variable6_155 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4035,11 +4027,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4059,7 +4051,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_157 = variable6;
                once_bool_variable6_157 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4069,11 +4061,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4093,7 +4085,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_159 = variable6;
                once_bool_variable6_159 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4103,11 +4095,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4127,7 +4119,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_161 = variable6;
                once_bool_variable6_161 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4137,11 +4129,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4156,11 +4148,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4180,7 +4172,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -4190,11 +4182,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4209,11 +4201,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4233,7 +4225,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_167 = variable6;
                once_bool_variable6_167 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4243,11 +4235,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4262,11 +4254,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4286,7 +4278,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_170 = variable6;
                once_bool_variable6_170 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4296,11 +4288,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4315,11 +4307,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4339,7 +4331,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_173 = variable6;
                once_bool_variable6_173 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4349,11 +4341,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4368,11 +4360,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4392,7 +4384,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_176 = variable6;
                once_bool_variable6_176 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4402,11 +4394,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4421,11 +4413,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4445,7 +4437,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_179 = variable6;
                once_bool_variable6_179 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4455,11 +4447,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4474,11 +4466,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4498,7 +4490,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_182 = variable6;
                once_bool_variable6_182 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4508,11 +4500,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4527,11 +4519,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4551,7 +4543,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_185 = variable6;
                once_bool_variable6_185 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4561,11 +4553,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4580,11 +4572,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4604,7 +4596,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_188 = variable6;
                once_bool_variable6_188 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4614,11 +4606,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4633,11 +4625,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4657,7 +4649,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_191 = variable6;
                once_bool_variable6_191 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4667,11 +4659,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4686,11 +4678,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4728,7 +4720,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
           once_value_variable6_194 = variable6;
           once_bool_variable6_194 = 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) /*Symbol::==*/)))));
+        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;
           else {
@@ -4737,7 +4729,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             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) /*Symbol::==*/)))));
+          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*/
@@ -4747,11 +4739,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
             variable11 = variable10;
             if (UNTAG_Bool(variable11)) { /* and */
-              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+              variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
               variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
             }
             variable10 = variable11;
-            if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+            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;
@@ -4771,7 +4763,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               once_value_variable6_197 = variable6;
               once_bool_variable6_197 = 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) /*Symbol::==*/)))));
+            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*/
@@ -4781,11 +4773,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
               variable11 = variable10;
               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
               }
               variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+              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;
@@ -4805,7 +4797,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_199 = variable6;
                once_bool_variable6_199 = 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) /*Symbol::==*/)))));
+              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*/
@@ -4815,11 +4807,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4839,7 +4831,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_201 = variable6;
                once_bool_variable6_201 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4849,11 +4841,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4873,7 +4865,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_203 = variable6;
                once_bool_variable6_203 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4883,11 +4875,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4907,7 +4899,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_205 = variable6;
                once_bool_variable6_205 = 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) /*Symbol::==*/)))));
+               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*/
@@ -4917,11 +4909,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4936,11 +4928,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4960,7 +4952,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -4970,11 +4962,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -4989,11 +4981,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5020,7 +5012,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
             once_value_variable6_211 = variable6;
             once_bool_variable6_211 = 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) /*Symbol::==*/)))));
+          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;
             else {
@@ -5029,7 +5021,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               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) /*Symbol::==*/)))));
+            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*/
@@ -5039,11 +5031,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
               variable11 = variable10;
               if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
               }
               variable10 = variable11;
-              if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+              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;
@@ -5063,7 +5055,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_214 = variable6;
                once_bool_variable6_214 = 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) /*Symbol::==*/)))));
+              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*/
@@ -5073,11 +5065,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5092,11 +5084,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5116,7 +5108,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_217 = variable6;
                once_bool_variable6_217 = 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) /*Symbol::==*/)))));
+               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*/
@@ -5126,11 +5118,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5145,11 +5137,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5164,11 +5156,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable19 = variable18;
                if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
                }
                variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5188,7 +5180,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -5198,11 +5190,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5217,11 +5209,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5236,11 +5228,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable19 = variable18;
                if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
                }
                variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5264,7 +5256,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
               once_value_variable6_225 = variable6;
               once_bool_variable6_225 = 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) /*Symbol::==*/)))));
+            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;
               else {
@@ -5273,7 +5265,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_226 = variable6;
                once_bool_variable6_226 = 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) /*Symbol::==*/)))));
+              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*/
@@ -5283,11 +5275,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5307,7 +5299,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -5317,11 +5309,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5341,7 +5333,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_230 = variable6;
                once_bool_variable6_230 = 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) /*Symbol::==*/)))));
+               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*/
@@ -5351,11 +5343,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5370,11 +5362,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5394,7 +5386,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -5404,11 +5396,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5423,11 +5415,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5442,11 +5434,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable19 = variable18;
                if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
                }
                variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5466,7 +5458,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -5476,11 +5468,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5495,11 +5487,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5514,11 +5506,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable19 = variable18;
                if (UNTAG_Bool(variable19)) { /* and */
-               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
                }
                variable18 = variable19;
-               if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5533,11 +5525,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable22 = TAG_Bool(UNTAG_Int( variable21 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable23 = variable22;
                if (UNTAG_Bool(variable23)) { /* and */
-               variable23 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable23 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable23 = TAG_Bool(UNTAG_Int( variable21 /*index*/)<UNTAG_Int(variable23));
                }
                variable22 = variable23;
-               if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5552,11 +5544,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable26 = TAG_Bool(UNTAG_Int( variable25 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable27 = variable26;
                if (UNTAG_Bool(variable27)) { /* and */
-               variable27 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable27 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable27 = TAG_Bool(UNTAG_Int( variable25 /*index*/)<UNTAG_Int(variable27));
                }
                variable26 = variable27;
-               if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5581,21 +5573,21 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_243 = variable6;
                once_bool_variable6_243 = 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) /*Symbol::==*/)))));
+              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((int)"), TAG_Int(13)); /*new String*/
+               variable7 = NEW_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);
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5615,7 +5607,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_245 = variable6;
                once_bool_variable6_245 = 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) /*Symbol::==*/)))));
+               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*/
                variable5 = variable6 /*s=*/;
@@ -5627,7 +5619,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_246 = variable6;
                once_bool_variable6_246 = 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) /*Symbol::==*/)))));
+               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*/
@@ -5637,11 +5629,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5656,11 +5648,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable15 = variable14;
                if (UNTAG_Bool(variable15)) { /* and */
-               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
                }
                variable14 = variable15;
-               if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5680,7 +5672,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_249 = variable6;
                once_bool_variable6_249 = 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) /*Symbol::==*/)))));
+               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*/
@@ -5690,11 +5682,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5714,7 +5706,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                once_value_variable6_251 = variable6;
                once_bool_variable6_251 = 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) /*Symbol::==*/)))));
+               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*/
@@ -5724,11 +5716,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5748,7 +5740,7 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                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) /*Symbol::==*/)))));
+               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*/
@@ -5758,11 +5750,11 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
                variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
                variable11 = variable10;
                if (UNTAG_Bool(variable11)) { /* and */
-               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
+               variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*AbstractArray::_length*/;
                variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
                }
                variable10 = variable11;
-               if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+               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;
@@ -5798,9 +5790,9 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
       }
     }
   }
-  variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
+  variable6 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMLocalProperty::signature*/;
   variable6 = ((static_type___MMSignature___return_type_t)CALL(variable6,COLOR_static_type___MMSignature___return_type))(variable6) /*MMSignature::return_type*/;
-  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*/) /*MMType::==*/)))))));
+  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::==*/)))))));
   variable7 = variable6;
   if (UNTAG_Bool(variable7)) { /* and */
     variable7 = TAG_Bool(( variable5 /*s*/ ==  NIT_NULL /*null*/) || (( variable5 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable5 /*s*/,COLOR_kernel___Object_____eqeq))( variable5 /*s*/,  NIT_NULL /*null*/) /*String::==*/)));
@@ -5817,15 +5809,16 @@ val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, va
   return variable3;
 }
 val_t compiling_methods___PExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___PExpr___compile_expr, 677};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 679, LOCATE_compiling_methods___PExpr___compile_expr};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "compile_expr", LOCATE_array___Array_____bra, 677);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 679);
   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, LOCATE_compiling_methods___PExpr___prepare_compile_stmt, 681};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 683, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -5833,18 +5826,18 @@ 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, LOCATE_compiling_methods___PExpr___compile_stmt, 686};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 688, LOCATE_compiling_methods___PExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = NEW_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) /*PExpr::printl*/;
+  ((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, LOCATE_compiling_methods___ABlockExpr___compile_stmt, 692};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 694, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -5865,7 +5858,7 @@ void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt, 701};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 703, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5875,13 +5868,13 @@ void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t
   variable2 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
   variable1 = variable2;
   variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
+  variable3 = ((syntax_base___AVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable2,COLOR_abstract_collection___Map_____braeq))(variable2, variable3,  variable1 /*cname*/) /*Map::[]=*/;
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AVardeclExpr___compile_stmt, 707};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 709, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5899,13 +5892,13 @@ void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
+  variable3 = ((syntax_base___AVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
   variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
   variable1 = variable2;
   variable2 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
+    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*/
@@ -5918,7 +5911,7 @@ void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0)
     variable8 = NEW_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 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
+    variable10 = ((syntax_base___AVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
     variable10 = ((syntax_base___Variable___name_t)CALL(variable10,COLOR_syntax_base___Variable___name))(variable10) /*Variable::name*/;
     variable11 = variable10;
     variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
@@ -5937,7 +5930,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, LOCATE_compiling_methods___AReturnExpr___compile_stmt, 721};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 723, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -5950,7 +5943,7 @@ void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0)
   variable0 =  param0;
   ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/,  TAG_Bool(true)) /*CompilerVisitor::has_return=*/;
   variable1 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
     variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
@@ -5973,7 +5966,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, LOCATE_compiling_methods___ABreakExpr___compile_stmt, 733};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 735, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5999,7 +5992,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, LOCATE_compiling_methods___AContinueExpr___compile_stmt, 740};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 742, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6025,7 +6018,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, LOCATE_compiling_methods___AAbortExpr___compile_stmt, 747};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 749, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6034,41 +6027,30 @@ void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0) {
   val_t variable5;
   val_t variable6;
   val_t variable7;
-  val_t variable8;
-  val_t variable9;
-  val_t variable10;
-  val_t variable11;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = NEW_string___String___init(); /*new String*/
-  variable2 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted (%s: %d)\\n\", "), TAG_Int(38)); /*new String*/
+  variable2 = NEW_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___locate_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___locate))( variable0 /*v*/) /*CompilerVisitor::locate*/;
+  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(", "), TAG_Int(2)); /*new String*/
+  variable6 = NEW_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*/;
-  variable8 = ((parser_prod___Prod___line_number_t)CALL( self,COLOR_parser_prod___PNode___line_number))( self) /*AAbortExpr::line_number*/;
-  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("); nit_exit(1);"), TAG_Int(15)); /*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*/;
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___ADoExpr___compile_stmt, 754};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 756, LOCATE_compiling_methods___ADoExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((parser_nodes___ADoExpr___n_block_t)CALL( self,COLOR_parser_nodes___ADoExpr___n_block))( self) /*ADoExpr::n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ((parser_nodes___ADoExpr___n_block_t)CALL( self,COLOR_parser_nodes___ADoExpr___n_block))( self) /*ADoExpr::n_block*/;
     ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_stmt*/;
@@ -6077,7 +6059,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, LOCATE_compiling_methods___AIfExpr___compile_stmt, 763};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 765, LOCATE_compiling_methods___AIfExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6103,7 +6085,7 @@ void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
   ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
   variable2 = ((parser_nodes___AIfExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_then))( self) /*AIfExpr::n_then*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
     ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
     variable2 = ((parser_nodes___AIfExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_then))( self) /*AIfExpr::n_then*/;
@@ -6111,7 +6093,7 @@ void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
     ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
   }
   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*/) /*PExpr::==*/)))))));
+  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*/
     ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
@@ -6126,7 +6108,7 @@ void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0) {
   return;
 }
 val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AIfexprExpr___compile_expr, 784};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 786, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6176,15 +6158,16 @@ val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0)
   return variable1;
 }
 void compiling_methods___AControlableBlock___compile_inside_block(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AControlableBlock___compile_inside_block, 804};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 806, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "compile_inside_block", LOCATE_compiling_methods___AIfexprExpr___compile_expr, 804);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AIfexprExpr___compile_expr, LOCATE_compiling_methods, 806);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AControlableBlock___compile_stmt, 805};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 807, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6232,7 +6215,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, LOCATE_compiling_methods___AWhileExpr___compile_inside_block, 822};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 824, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6262,7 +6245,7 @@ void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  p
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
   ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/,  variable1 /*e*/) /*CompilerVisitor::free_var*/;
   variable2 = ((parser_nodes___AWhileExpr___n_block_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_block))( self) /*AWhileExpr::n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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___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*/;
@@ -6296,7 +6279,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, LOCATE_compiling_methods___AForExpr___compile_inside_block, 840};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 842, LOCATE_compiling_methods___AForExpr___compile_inside_block};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -6307,7 +6290,7 @@ 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, LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, 847};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 849, LOCATE_compiling_methods___AForVardeclExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6316,12 +6299,12 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   static val_t once_value_variable4_272; static int once_bool_variable4_272;
   val_t variable5;
   val_t variable6;
-  static val_t once_value_variable6_273; static int once_bool_variable6_273;
   val_t variable7;
-  static val_t once_value_variable7_274; static int once_bool_variable7_274;
+  static val_t once_value_variable7_273; static int once_bool_variable7_273;
   val_t variable8;
-  static val_t once_value_variable8_275; static int once_bool_variable8_275;
+  static val_t once_value_variable8_274; static int once_bool_variable8_274;
   val_t variable9;
+  static val_t once_value_variable9_275; static int once_bool_variable9_275;
   val_t variable10;
   val_t variable11;
   val_t variable12;
@@ -6338,6 +6321,7 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   variable1 = variable2;
   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;
   else {
     variable4 = NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
@@ -6345,67 +6329,70 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
     once_value_variable4_272 = variable4;
     once_bool_variable4_272 = true;
   }
-  variable3 = ((static_type___MMType___select_method_t)CALL(variable3,COLOR_static_type___MMType___select_method))(variable3, variable4) /*MMType::select_method*/;
+  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*/) /*MMMethod::==*/)))));
+  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*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable3) /*AForVardeclExpr::printl*/;
+    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable3) /*PNode::printl*/;
     goto return_label271;
   }
-  variable4 = ((genericity___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMMethod::signature*/;
+  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*/;
   variable3 = variable4;
   ((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[String]*/
-  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*e*/) /*Array::add*/;
+  variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  ((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*/;
-  if (once_bool_variable6_273) variable6 = once_value_variable6_273;
+  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;
   else {
-    variable6 = NEW_string___String___with_native(BOX_NativeString("is_ok"), 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_273 = variable6;
-    once_bool_variable6_273 = true;
+    variable7 = NEW_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;
   }
-  variable6 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable6) /*MMType::select_method*/;
+  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*/) /*MMMethod::==*/)))));
+  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*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable6) /*AForVardeclExpr::printl*/;
+    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable6) /*PNode::printl*/;
     goto return_label271;
   }
-  if (once_bool_variable7_274) variable7 = once_value_variable7_274;
+  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;
   else {
-    variable7 = NEW_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_274 = variable7;
-    once_bool_variable7_274 = true;
+    variable8 = NEW_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;
   }
-  variable7 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable7) /*MMType::select_method*/;
+  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*/) /*MMMethod::==*/)))));
+  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*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable7) /*AForVardeclExpr::printl*/;
+    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable7) /*PNode::printl*/;
     goto return_label271;
   }
-  if (once_bool_variable8_275) variable8 = once_value_variable8_275;
+  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;
   else {
-    variable8 = NEW_string___String___with_native(BOX_NativeString("next"), 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_275 = variable8;
-    once_bool_variable8_275 = true;
+    variable9 = NEW_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;
   }
-  variable8 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable8) /*MMType::select_method*/;
+  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*/) /*MMMethod::==*/)))));
+  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*/
-    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable8) /*AForVardeclExpr::printl*/;
+    ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable8) /*PNode::printl*/;
     goto return_label271;
   }
   variable8 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)); /*new String*/
@@ -6413,8 +6400,8 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   ((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[String]*/
-  ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  variable4 /*iter*/) /*Array::add*/;
+  variable9 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  ((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*/
@@ -6428,22 +6415,22 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   ((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[String]*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  variable4 /*iter*/) /*Array::add*/;
+  variable10 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  ((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;
   variable10 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/,  variable9 /*e*/) /*CompilerVisitor::ensure_var*/;
   variable9 = variable10 /*e=*/;
   variable10 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable11 = ((typing___AForVardeclExpr___variable_t)CALL( self,COLOR_typing___AForVardeclExpr___variable))( self) /*AForVardeclExpr::variable*/;
+  variable11 = ((syntax_base___AForVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AForVardeclExpr___variable))( self) /*AForVardeclExpr::variable*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable10,COLOR_abstract_collection___Map_____braeq))(variable10, variable11,  variable9 /*e*/) /*Map::[]=*/;
-  variable11 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*AForVardeclExpr::parent*/;
+  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 (%s: %d)\n", "", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, 884); 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, 886); 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*/) /*PExpr::==*/)))))));
+  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*/;
   }
@@ -6458,12 +6445,12 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   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[String]*/
-  ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  variable4 /*iter*/) /*Array::add*/;
+  variable12 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  ((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 (%s: %d)\n", "", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, 891); 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, 893); 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*/
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
@@ -6483,7 +6470,7 @@ void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  para
   return;
 }
 void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AAssertExpr___compile_stmt, 899};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 901, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6500,10 +6487,6 @@ void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0)
   val_t variable13;
   val_t variable14;
   val_t variable15;
-  val_t variable16;
-  val_t variable17;
-  val_t variable18;
-  val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
@@ -6512,14 +6495,14 @@ void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0)
   variable3 = NEW_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*/) /*TId::==*/)))))));
+  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*/
     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) /*TId::text*/;
+    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*/
@@ -6533,33 +6516,26 @@ void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0)
   ((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 (%s: %d)\\n\", \""), TAG_Int(52)); /*new String*/
+  variable7 = NEW_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(3)); /*new String*/
+  variable10 = NEW_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___locate_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___locate))( variable0 /*v*/) /*CompilerVisitor::locate*/;
+  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(", "), TAG_Int(2)); /*new String*/
+  variable14 = NEW_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*/;
-  variable16 = ((parser_prod___Prod___line_number_t)CALL( self,COLOR_parser_prod___PNode___line_number))( self) /*AAssertExpr::line_number*/;
-  variable17 = variable16;
-  variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
-  variable18 = NEW_string___String___with_native(BOX_NativeString("); nit_exit(1);}"), TAG_Int(16)); /*new String*/
-  variable19 = variable18;
-  ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable19) /*String::append*/;
   ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
   tracehead = trace.prev;
   return;
 }
 val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AVarExpr___compile_expr, 911};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 913, LOCATE_compiling_methods___AVarExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6579,14 +6555,14 @@ val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
   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*/;
-  variable5 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarExpr::variable*/;
+  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 = 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*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  variable8 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarExpr::variable*/;
+  variable8 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
   variable8 = ((syntax_base___Variable___name_t)CALL(variable8,COLOR_syntax_base___Variable___name))(variable8) /*Variable::name*/;
   variable9 = variable8;
   variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
@@ -6600,7 +6576,7 @@ val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt, 918};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 920, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6616,11 +6592,11 @@ void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AVarAssignExpr::n_value*/;
+  variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
   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 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarAssignExpr::variable*/;
+  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*/
@@ -6631,7 +6607,7 @@ void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param
   variable7 = NEW_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 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarAssignExpr::variable*/;
+  variable9 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
   variable9 = ((syntax_base___Variable___name_t)CALL(variable9,COLOR_syntax_base___Variable___name))(variable9) /*Variable::name*/;
   variable10 = variable9;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
@@ -6644,7 +6620,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, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt, 926};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 928, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6663,20 +6639,20 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
+  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::[]*/;
   variable1 = variable2;
-  variable3 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AVarReassignExpr::n_value*/;
+  variable3 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AReassignFormExpr::n_value*/;
   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) /*AVarReassignExpr::assign_method*/;
-  variable5 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*e1*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable2 /*e2*/) /*Array::add*/;
+  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]*/
+  ((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*/;
   variable3 = variable4;
   variable4 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
-  variable5 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
+  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*/
@@ -6687,7 +6663,7 @@ void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  par
   variable9 = NEW_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 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
+  variable11 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
   variable11 = ((syntax_base___Variable___name_t)CALL(variable11,COLOR_syntax_base___Variable___name))(variable11) /*Variable::name*/;
   variable12 = variable11;
   variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
@@ -6700,7 +6676,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, LOCATE_compiling_methods___ASelfExpr___compile_expr, 936};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 938, LOCATE_compiling_methods___ASelfExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6714,11 +6690,11 @@ val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
   variable4 = variable3;
   if (UNTAG_Bool(variable4)) { /* and */
     variable4 = variable1;
-    variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
+    variable4 = ATTR_array___AbstractArray____length(variable4) /*AbstractArray::_length*/;
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
   }
   variable3 = variable4;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
   variable3 = variable1;
   variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
@@ -6731,7 +6707,7 @@ val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AOrExpr___compile_expr, 943};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 945, LOCATE_compiling_methods___AOrExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6772,7 +6748,7 @@ val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AAndExpr___compile_expr, 958};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 960, LOCATE_compiling_methods___AAndExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6813,7 +6789,7 @@ val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___ANotExpr___compile_expr, 973};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 975, LOCATE_compiling_methods___ANotExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6841,7 +6817,7 @@ val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AEeExpr___compile_expr, 980};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 982, LOCATE_compiling_methods___AEeExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6883,7 +6859,7 @@ val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AIsaExpr___compile_expr, 989};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 991, LOCATE_compiling_methods___AIsaExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6901,32 +6877,51 @@ val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return variable1;
 }
-val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___ATrueExpr___compile_expr, 997};
+val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 999, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
   val_t variable0;
   val_t variable1;
+  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
+  variable2 = ((parser_nodes___AAsCastExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAsCastExpr___n_expr))( self) /*AAsCastExpr::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 = ((parser_nodes___AAsCastExpr___n_type_t)CALL( self,COLOR_parser_nodes___AAsCastExpr___n_type))( self) /*AAsCastExpr::n_type*/;
+  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);
   tracehead = trace.prev;
   return variable1;
 }
-val_t compiling_methods___AFalseExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AFalseExpr___compile_expr, 1004};
+val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1008, LOCATE_compiling_methods___ATrueExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)); /*new String*/
+  variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
   goto return_label288;
   return_label288: 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, LOCATE_compiling_methods, 1015, LOCATE_compiling_methods___AFalseExpr___compile_expr};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  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);
+  tracehead = trace.prev;
+  return variable1;
+}
 val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AIntExpr___compile_expr, 1011};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1022, LOCATE_compiling_methods___AIntExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6942,19 +6937,19 @@ val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0) {
   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) /*TNumber::text*/;
+  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*/
   variable7 = variable6;
   ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
-  goto return_label289;
-  return_label289: while(false);
+  goto return_label290;
+  return_label290: 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, LOCATE_compiling_methods___AFloatExpr___compile_expr, 1018};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1029, LOCATE_compiling_methods___AFloatExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6970,19 +6965,19 @@ val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0)
   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) /*TFloat::text*/;
+  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*/
   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_label291;
+  return_label291: 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, LOCATE_compiling_methods___ACharExpr___compile_expr, 1025};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1036, LOCATE_compiling_methods___ACharExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6998,24 +6993,24 @@ val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0) {
   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) /*TChar::text*/;
+  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*/
   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_label292;
+  return_label292: 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, LOCATE_compiling_methods___AStringFormExpr___compile_expr, 1032};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1043, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
-  static val_t once_value_variable3_293; static int once_bool_variable3_293;
+  static val_t once_value_variable3_294; static int once_bool_variable3_294;
   val_t variable4;
   val_t variable5;
   val_t variable6;
@@ -7025,18 +7020,19 @@ val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  par
   val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AStringFormExpr::stype*/;
-  if (once_bool_variable3_293) variable3 = once_value_variable3_293;
+  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;
   else {
     variable3 = NEW_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_293 = variable3;
-    once_bool_variable3_293 = true;
+    once_value_variable3_294 = variable3;
+    once_bool_variable3_294 = true;
   }
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
+  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[String]*/
+  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;
@@ -7047,7 +7043,7 @@ val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  par
   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) /*Array::add*/;
+  ((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*/
   variable6 = variable5;
@@ -7059,24 +7055,25 @@ val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  par
   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(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*Array::add*/;
+  ((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*/;
   variable1 = variable2;
-  goto return_label292;
-  return_label292: while(false);
+  goto return_label293;
+  return_label293: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___AStringFormExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AStringFormExpr___string_text, 1039};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1050, LOCATE_compiling_methods___AStringFormExpr___string_text};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "string_text", LOCATE_compiling_methods___AStringFormExpr___compile_expr, 1039);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AStringFormExpr___compile_expr, LOCATE_compiling_methods, 1050);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AStringFormExpr___compute_string_info, 1048};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1059, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7093,7 +7090,7 @@ void compiling_methods___AStringFormExpr___compute_string_info(val_t  self) {
   variable2 = variable3;
   variable3 =  TAG_Int(0);
   while (true) { /*while*/
-    variable4 = ((array___AbstractArray___length_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Collection___length))( variable1 /*str*/) /*String::length*/;
+    variable4 = ((array___AbstractArray___length_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Collection___length))( variable1 /*str*/) /*AbstractArray::length*/;
     variable4 = TAG_Bool(UNTAG_Int( variable3 /*i*/)<UNTAG_Int(variable4));
     if (!UNTAG_Bool(variable4)) break; /* while*/
     variable5 = ((string___String_____bra_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Map_____bra))( variable1 /*str*/,  variable3 /*i*/) /*String::[]*/;
@@ -7120,131 +7117,134 @@ 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_295: while(0);
+    continue_296: while(0);
   }
-  break_295: while(0);
+  break_296: 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, LOCATE_compiling_methods___AStringExpr___string_text, 1075};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1086, LOCATE_compiling_methods___AStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TString::text*/;
+  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
+  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*Token::text*/;
+  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_label296;
-  return_label296: while(false);
+  goto return_label297;
+  return_label297: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AStartStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AStartStringExpr___string_text, 1078};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1089, LOCATE_compiling_methods___AStartStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TStartString::text*/;
+  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TStartString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
+  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*Token::text*/;
+  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_label298;
+  return_label298: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AMidStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AMidStringExpr___string_text, 1081};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1092, LOCATE_compiling_methods___AMidStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TMidString::text*/;
+  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TMidString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
+  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*Token::text*/;
+  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_label299;
+  return_label299: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AEndStringExpr___string_text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AEndStringExpr___string_text, 1084};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1095, LOCATE_compiling_methods___AEndStringExpr___string_text};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TEndString::text*/;
+  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*Token::text*/;
   variable1 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
-  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TEndString::text*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
+  variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*Token::text*/;
+  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_label300;
+  return_label300: 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, LOCATE_compiling_methods___ASuperstringExpr___compile_expr, 1088};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1099, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
-  static val_t once_value_variable3_301; static int once_bool_variable3_301;
+  static val_t once_value_variable3_302; static int once_bool_variable3_302;
   val_t variable4;
   val_t variable5;
-  static val_t once_value_variable5_302; static int once_bool_variable5_302;
+  static val_t once_value_variable5_303; static int once_bool_variable5_303;
   val_t variable6;
-  static val_t once_value_variable6_303; static int once_bool_variable6_303;
+  static val_t once_value_variable6_304; static int once_bool_variable6_304;
     val_t variable7;
     val_t variable8;
     val_t variable9;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
-  if (once_bool_variable3_301) variable3 = once_value_variable3_301;
+  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;
   else {
     variable3 = NEW_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_301 = variable3;
-    once_bool_variable3_301 = true;
+    once_value_variable3_302 = variable3;
+    once_bool_variable3_302 = true;
   }
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
+  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[String]*/
+  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*/;
   variable2 = variable3;
-  variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
-  if (once_bool_variable5_302) variable5 = once_value_variable5_302;
+  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;
   else {
     variable5 = NEW_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_302 = variable5;
-    once_bool_variable5_302 = true;
+    once_value_variable5_303 = variable5;
+    once_bool_variable5_303 = true;
   }
-  variable4 = ((static_type___MMType___select_method_t)CALL(variable4,COLOR_static_type___MMType___select_method))(variable4, variable5) /*MMType::select_method*/;
+  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) /*ASuperstringExpr::stype*/;
-  if (once_bool_variable6_303) variable6 = once_value_variable6_303;
+  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;
   else {
     variable6 = NEW_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_303 = variable6;
-    once_bool_variable6_303 = true;
+    once_value_variable6_304 = variable6;
+    once_bool_variable6_304 = true;
   }
-  variable5 = ((static_type___MMType___select_method_t)CALL(variable5,COLOR_static_type___MMType___select_method))(variable5, variable6) /*MMType::select_method*/;
+  variable5 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable5, variable6) /*MMLocalClass::select_method*/;
   variable4 = variable5;
   variable5 = ((parser_nodes___ASuperstringExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___ASuperstringExpr___n_exprs))( self) /*ASuperstringExpr::n_exprs*/;
   variable5 = ((list___List___iterator_t)CALL(variable5,COLOR_abstract_collection___Collection___iterator))(variable5) /*List::iterator*/;
@@ -7256,47 +7256,47 @@ val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  pa
     variable8 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable8) /*CompilerVisitor::ensure_var*/;
     variable7 = variable8;
     variable8 = ((typing___PExpr___stype_t)CALL( variable6 /*ne*/,COLOR_syntax_base___PExpr___stype))( variable6 /*ne*/) /*PExpr::stype*/;
-    variable9 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::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) /*MMType::==*/)))))));
+    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[String]*/
-      ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*e*/) /*Array::add*/;
+      variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+      ((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[String]*/
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable2 /*recv*/) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*e*/) /*Array::add*/;
+    variable8 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    ((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_304: while(0);
+    continue_305: while(0);
     ((list___ListIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ListIterator::next*/;
   }
-  break_304: while(0);
+  break_305: while(0);
   variable1 =  variable2 /*recv*/;
-  goto return_label300;
-  return_label300: while(false);
+  goto return_label301;
+  return_label301: 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, LOCATE_compiling_methods___ANullExpr___compile_expr, 1109};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1120, LOCATE_compiling_methods___ANullExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = NEW_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)); /*new String*/
-  goto return_label305;
-  return_label305: while(false);
+  goto return_label306;
+  return_label306: 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, LOCATE_compiling_methods___AArrayExpr___compile_expr, 1116};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1127, LOCATE_compiling_methods___AArrayExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
-  static val_t once_value_variable3_307; static int once_bool_variable3_307;
+  static val_t once_value_variable3_308; static int once_bool_variable3_308;
   val_t variable4;
   val_t variable5;
   val_t variable6;
@@ -7304,20 +7304,21 @@ 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_308; static int once_bool_variable5_308;
+  static val_t once_value_variable5_309; static int once_bool_variable5_309;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AArrayExpr::stype*/;
-  if (once_bool_variable3_307) variable3 = once_value_variable3_307;
+  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;
   else {
     variable3 = NEW_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_307 = variable3;
-    once_bool_variable3_307 = true;
+    once_value_variable3_308 = variable3;
+    once_bool_variable3_308 = true;
   }
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
+  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[String]*/
+  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;
@@ -7330,18 +7331,19 @@ val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0)
   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) /*Array::add*/;
+  ((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*/;
   variable2 = variable3;
-  variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AArrayExpr::stype*/;
-  if (once_bool_variable5_308) variable5 = once_value_variable5_308;
+  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;
   else {
     variable5 = NEW_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_308 = variable5;
-    once_bool_variable5_308 = true;
+    once_value_variable5_309 = variable5;
+    once_bool_variable5_309 = true;
   }
-  variable4 = ((static_type___MMType___select_method_t)CALL(variable4,COLOR_static_type___MMType___select_method))(variable4, variable5) /*MMType::select_method*/;
+  variable4 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable4, variable5) /*MMLocalClass::select_method*/;
   variable3 = variable4;
   variable4 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
   variable4 = ((list___List___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*List::iterator*/;
@@ -7351,22 +7353,22 @@ 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[String]*/
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable2 /*recv*/) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable6 /*e*/) /*Array::add*/;
+    variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
+    ((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_309: while(0);
+    continue_310: while(0);
     ((list___ListIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ListIterator::next*/;
   }
-  break_309: while(0);
+  break_310: while(0);
   variable1 =  variable2 /*recv*/;
-  goto return_label306;
-  return_label306: while(false);
+  goto return_label307;
+  return_label307: 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, LOCATE_compiling_methods___ARangeExpr___compile_expr, 1131};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1142, LOCATE_compiling_methods___ARangeExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7374,9 +7376,10 @@ val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0)
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ARangeExpr::stype*/;
+  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*/;
   variable3 = ((compiling_methods___ARangeExpr___propname_t)CALL( self,COLOR_compiling_methods___ARangeExpr___propname))( self) /*ARangeExpr::propname*/;
-  variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
+  variable2 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable2, variable3) /*MMLocalClass::select_method*/;
   variable1 = variable2;
   variable3 = ((parser_nodes___ARangeExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr))( self) /*ARangeExpr::n_expr*/;
   variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
@@ -7384,60 +7387,61 @@ 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[String]*/
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable2 /*e*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*e2*/) /*Array::add*/;
+  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*/;
   variable1 = variable4;
-  goto return_label310;
-  return_label310: while(false);
+  goto return_label311;
+  return_label311: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t compiling_methods___ARangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___ARangeExpr___propname, 1138};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1149, LOCATE_compiling_methods___ARangeExpr___propname};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "propname", LOCATE_compiling_methods___ARangeExpr___compile_expr, 1138);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ARangeExpr___compile_expr, LOCATE_compiling_methods, 1149);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t compiling_methods___ACrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___ACrangeExpr___propname, 1143};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1154, LOCATE_compiling_methods___ACrangeExpr___propname};
   val_t variable0;
-  static val_t once_value_variable0_312; static int once_bool_variable0_312;
+  static val_t once_value_variable0_313; static int once_bool_variable0_313;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_312) variable0 = once_value_variable0_312;
+  if (once_bool_variable0_313) variable0 = once_value_variable0_313;
   else {
     variable0 = NEW_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_312 = variable0;
-    once_bool_variable0_312 = true;
+    once_value_variable0_313 = variable0;
+    once_bool_variable0_313 = true;
   }
-  goto return_label311;
-  return_label311: while(false);
+  goto return_label312;
+  return_label312: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t compiling_methods___AOrangeExpr___propname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AOrangeExpr___propname, 1146};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1157, LOCATE_compiling_methods___AOrangeExpr___propname};
   val_t variable0;
-  static val_t once_value_variable0_314; static int once_bool_variable0_314;
+  static val_t once_value_variable0_315; static int once_bool_variable0_315;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_314) variable0 = once_value_variable0_314;
+  if (once_bool_variable0_315) variable0 = once_value_variable0_315;
   else {
     variable0 = NEW_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_314 = variable0;
-    once_bool_variable0_314 = true;
+    once_value_variable0_315 = variable0;
+    once_bool_variable0_315 = true;
   }
-  goto return_label313;
-  return_label313: while(false);
+  goto return_label314;
+  return_label314: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___ASuperExpr___compile_stmt, 1150};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1161, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7450,7 +7454,7 @@ void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((compiling_methods___ASuperExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self,  variable0 /*v*/) /*ASuperExpr::compile_expr*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ ==  NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/,  NIT_NULL /*null*/) /*String::==*/)))));
+  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*/
@@ -7467,7 +7471,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, LOCATE_compiling_methods___ASuperExpr___compile_expr, 1156};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1167, LOCATE_compiling_methods___ASuperExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7481,19 +7485,19 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
   variable1 = variable2;
   variable2 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
-  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*/) /*MMMethod::==*/)))))));
+  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 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
-    variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMMethod::signature*/;
+    variable2 = ((static_type___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMLocalProperty::signature*/;
     variable2 = ((static_type___MMSignature___arity_t)CALL(variable2,COLOR_static_type___MMSignature___arity))(variable2) /*MMSignature::arity*/;
     variable1 = variable2 /*arity=*/;
   }
   variable3 = TAG_Int(UNTAG_Int( variable1 /*arity*/)+UNTAG_Int( TAG_Int(1)));
-  variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[String]*/
+  variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[E]*/
   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*/;
@@ -7502,23 +7506,23 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
   variable6 = variable5;
   if (UNTAG_Bool(variable6)) { /* and */
     variable6 = variable3;
-    variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+    variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
     variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
   }
   variable5 = variable6;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
   variable5 = variable3;
   variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
   variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
-  goto return_label317;
-  return_label317: while(false);
+  goto return_label318;
+  return_label318: while(false);
   variable3 = variable5;
-  ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*Array::add*/;
+  ((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[Int]*/
+    variable3 = NEW_range___Range___without_last( TAG_Int(0),  variable1 /*arity*/); /*new Range[E]*/
     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*/;
@@ -7531,22 +7535,22 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
         variable9 = variable5;
-        variable9 = ATTR_array___AbstractArray____length(variable9) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length(variable9) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      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 = variable5;
       variable8 = ATTR_array___Array____items(variable8) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
-      goto return_label319;
-      return_label319: while(false);
+      goto return_label320;
+      return_label320: while(false);
       variable5 = variable8;
-      ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*Array::add*/;
-      continue_318: while(0);
+      ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*AbstractArray::add*/;
+      continue_319: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
     }
-    break_318: while(0);
+    break_319: 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*/;
@@ -7555,76 +7559,76 @@ val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0)
       if (!UNTAG_Bool(variable4)) break; /*for*/
       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) /*Array::add*/;
-      continue_320: while(0);
+      ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*AbstractArray::add*/;
+      continue_321: while(0);
       ((list___ListIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ListIterator::next*/;
     }
-    break_320: while(0);
+    break_321: 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*/) /*MMMethod::==*/)))))));
+  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 = ((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_label316;
+    goto return_label317;
   } else { /*if*/
-    variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASuperExpr::prop*/;
-    variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMMethod::global*/;
+    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*/
-      ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*Array::add*/;
+      ((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) /*ASuperExpr::prop*/;
+    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_label316;
+    goto return_label317;
   }
-  return_label316: while(false);
+  return_label317: 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, LOCATE_compiling_methods___AAttrExpr___compile_expr, 1184};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1195, LOCATE_compiling_methods___AAttrExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrExpr::n_expr*/;
+  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::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 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrExpr::prop*/;
+  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_label321;
-  return_label321: while(false);
+  goto return_label322;
+  return_label322: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt, 1192};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1203, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrAssignExpr::n_expr*/;
+  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::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 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAttrAssignExpr::n_value*/;
+  variable3 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
   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 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrAssignExpr::prop*/;
+  variable3 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
   variable3 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable3,COLOR_compiling_methods___MMAttribute___compile_access))(variable3,  variable0 /*v*/,  variable1 /*e*/) /*MMAttribute::compile_access*/;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable3,  variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
   tracehead = trace.prev;
   return;
 }
 void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt, 1200};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1211, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7634,19 +7638,19 @@ void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  pa
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrReassignExpr::n_expr*/;
+  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::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 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrReassignExpr::prop*/;
+  variable3 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrFormExpr::prop*/;
   variable3 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable3,COLOR_compiling_methods___MMAttribute___compile_access))(variable3,  variable0 /*v*/,  variable1 /*e1*/) /*MMAttribute::compile_access*/;
   variable2 = variable3;
-  variable4 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AAttrReassignExpr::n_value*/;
+  variable4 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AReassignFormExpr::n_value*/;
   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) /*AAttrReassignExpr::assign_method*/;
-  variable6 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable2 /*e2*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable3 /*e3*/) /*Array::add*/;
+  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]*/
+  ((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*/;
   variable4 = variable5;
   ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/,  variable2 /*e2*/,  variable4 /*e4*/) /*CompilerVisitor::add_assignment*/;
@@ -7654,7 +7658,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, LOCATE_compiling_methods___ASendExpr___compile_expr, 1211};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1222, LOCATE_compiling_methods___ASendExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7666,39 +7670,39 @@ 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[String]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable1 /*recv*/) /*Array::add*/;
-  variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ASendExpr::arguments*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+  ((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*/;
+  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 = ((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) /*Array::add*/;
-    continue_325: while(0);
+    ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*AbstractArray::add*/;
+    continue_326: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
-  break_325: while(0);
-  variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
+  break_326: 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;
-  variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMMethod::global*/;
+  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*/;
   variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
+    variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
     ((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_label324;
-  return_label324: while(false);
+  goto return_label325;
+  return_label325: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_compiling_methods___ASendExpr___compile_stmt, 1227};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1238, LOCATE_compiling_methods___ASendExpr___compile_stmt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7706,7 +7710,7 @@ void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((compiling_methods___ASendExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self,  variable0 /*v*/) /*ASendExpr::compile_expr*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ ==  NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/,  NIT_NULL /*null*/) /*String::==*/)))));
+  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 = ((string___String_____plus_t)CALL( variable1 /*e*/,COLOR_string___String_____plus))( variable1 /*e*/, variable2) /*String::+*/;
@@ -7716,7 +7720,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, LOCATE_compiling_methods___ASendReassignExpr___compile_expr, 1237};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1248, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7727,47 +7731,47 @@ val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  p
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+  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[String]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable1 /*recv*/) /*Array::add*/;
-  variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ASendReassignExpr::arguments*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+  ((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*/;
+  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 = ((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) /*Array::add*/;
-    continue_328: while(0);
+    ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*AbstractArray::add*/;
+    continue_329: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
-  break_328: while(0);
+  break_329: 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;
-  variable5 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*ASendReassignExpr::n_value*/;
+  variable5 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AReassignFormExpr::n_value*/;
   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) /*ASendReassignExpr::assign_method*/;
-  variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable3 /*e2*/) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable4 /*e3*/) /*Array::add*/;
+  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]*/
+  ((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*/;
   variable5 = variable6;
-  ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable5 /*e4*/) /*Array::add*/;
-  variable6 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::prop*/;
+  ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/,  variable5 /*e4*/) /*AbstractArray::add*/;
+  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_label327;
-  return_label327: while(false);
+  goto return_label328;
+  return_label328: 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, LOCATE_compiling_methods___ANewExpr___compile_expr, 1255};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1266, LOCATE_compiling_methods___ANewExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7775,43 +7779,43 @@ val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0) {
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[String]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
-  variable2 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ANewExpr::arguments*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  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*/;
   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 = ((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) /*Array::add*/;
-    continue_330: while(0);
+    ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable4) /*AbstractArray::add*/;
+    continue_331: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_330: while(0);
-  variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ANewExpr::prop*/;
+  break_331: 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*/;
   variable1 = variable2;
-  goto return_label329;
-  return_label329: while(false);
+  goto return_label330;
+  return_label330: 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, LOCATE_compiling_methods___AProxyExpr___compile_expr, 1266};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1277, LOCATE_compiling_methods___AProxyExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   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_label331;
-  return_label331: while(false);
+  goto return_label332;
+  return_label332: 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, LOCATE_compiling_methods___AOnceExpr___compile_expr, 1273};
+  struct trace_t trace = {NULL, LOCATE_compiling_methods, 1284, LOCATE_compiling_methods___AOnceExpr___compile_expr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7902,7 +7906,7 @@ val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
   ((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*/;
-  variable4 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AOnceExpr::n_expr*/;
+  variable4 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AProxyExpr::n_expr*/;
   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*/;
@@ -7947,8 +7951,8 @@ val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0) {
   variable4 = 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*/, variable4) /*CompilerVisitor::add_instr*/;
   variable1 =  variable2 /*cvar*/;
-  goto return_label332;
-  return_label332: while(false);
+  goto return_label333;
+  return_label333: while(false);
   tracehead = trace.prev;
   return variable1;
 }
index a920504..51aa75f 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_methods. */
-#ifndef compiling_methods_3_sep
-#define compiling_methods_3_sep
+#ifndef compiling_methods_2_sep
+#define compiling_methods_2_sep
 #include "compiling_base._sep.h"
 #include <nit_common.h>
-#define LOCATE_compiling_methods "compiling_methods"
+#define LOCATE_compiling_methods "./compiling//compiling_methods.nit"
 extern const int SFT_compiling_methods[];
 #define COLOR_compiling_methods___CompilerVisitor____variable_index SFT_compiling_methods[0]
 #define COLOR_compiling_methods___CompilerVisitor____variable_index_max SFT_compiling_methods[1]
@@ -38,14 +38,14 @@ extern const int SFT_compiling_methods[];
 #define COLOR_compiling_methods___CompilerVisitor___continue_label__eq SFT_compiling_methods[30]
 #define COLOR_compiling_methods___CompilerVisitor___return_value SFT_compiling_methods[31]
 #define COLOR_compiling_methods___CompilerVisitor___return_value__eq SFT_compiling_methods[32]
-#define COLOR_compiling_methods___CompilerVisitor___locate SFT_compiling_methods[33]
+#define COLOR_compiling_methods___CompilerVisitor___printf_locate_error SFT_compiling_methods[33]
 #define COLOR_SUPER_compiling_methods___CompilerVisitor___init SFT_compiling_methods[34]
 #define COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after SFT_compiling_methods[35]
 #define COLOR_compiling_methods___MMMethod___compile_call SFT_compiling_methods[36]
 #define COLOR_compiling_methods___MMMethod___compile_constructor_call SFT_compiling_methods[37]
 #define COLOR_compiling_methods___MMMethod___compile_super_call SFT_compiling_methods[38]
 #define COLOR_compiling_methods___MMAttribute___compile_access SFT_compiling_methods[39]
-#define COLOR_compiling_methods___MMSrcLocalProperty___compile_property_to_c SFT_compiling_methods[40]
+#define COLOR_compiling_methods___MMLocalProperty___compile_property_to_c SFT_compiling_methods[40]
 #define COLOR_compiling_methods___MMSrcMethod___decl_csignature SFT_compiling_methods[41]
 #define COLOR_compiling_methods___MMSrcMethod___do_compile_inside SFT_compiling_methods[42]
 #define COLOR_compiling_methods___MMType___compile_cast SFT_compiling_methods[43]
@@ -139,9 +139,9 @@ val_t compiling_methods___CompilerVisitor___return_value(val_t  self);
 typedef void (* compiling_methods___CompilerVisitor___return_value__eq_t)(val_t  self, val_t  param0);
 void compiling_methods___CompilerVisitor___return_value__eq(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___CompilerVisitor___return_value__eq "compiling_methods::CompilerVisitor::return_value="
-typedef val_t (* compiling_methods___CompilerVisitor___locate_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___locate(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___locate "compiling_methods::CompilerVisitor::locate"
+typedef val_t (* compiling_methods___CompilerVisitor___printf_locate_error_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CompilerVisitor___printf_locate_error "compiling_methods::CompilerVisitor::printf_locate_error"
 typedef void (* compiling_methods___CompilerVisitor___init_t)(val_t  self, val_t  param0, int* init_table);
 void compiling_methods___CompilerVisitor___init(val_t  self, val_t  param0, int* init_table);
 val_t NEW_compiling_methods___CompilerVisitor___init(val_t  param0);
@@ -161,15 +161,15 @@ val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  para
 typedef val_t (* compiling_methods___MMAttribute___compile_access_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMAttribute___compile_access "compiling_methods::MMAttribute::compile_access"
-typedef void (* compiling_methods___MMSrcLocalProperty___compile_property_to_c_t)(val_t  self, val_t  param0);
-void compiling_methods___MMSrcLocalProperty___compile_property_to_c(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___MMSrcLocalProperty___compile_property_to_c "compiling_methods::MMSrcLocalProperty::compile_property_to_c"
+typedef void (* compiling_methods___MMLocalProperty___compile_property_to_c_t)(val_t  self, val_t  param0);
+void compiling_methods___MMLocalProperty___compile_property_to_c(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c "compiling_methods::MMLocalProperty::compile_property_to_c"
 typedef val_t (* compiling_methods___MMSrcMethod___decl_csignature_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMSrcMethod___decl_csignature "compiling_methods::MMSrcMethod::decl_csignature"
 typedef void (* compiling_methods___MMSrcMethod___compile_property_to_c_t)(val_t  self, val_t  param0);
 void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c "compiling_methods::MMSrcMethod::(compiling_methods::MMSrcLocalProperty::compile_property_to_c)"
+#define LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c "compiling_methods::MMSrcMethod::(compiling_methods::MMLocalProperty::compile_property_to_c)"
 typedef val_t (* compiling_methods___MMSrcMethod___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMSrcMethod___do_compile_inside "compiling_methods::MMSrcMethod::do_compile_inside"
@@ -287,6 +287,9 @@ val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0);
 typedef val_t (* compiling_methods___AIsaExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AIsaExpr___compile_expr "compiling_methods::AIsaExpr::(compiling_methods::PExpr::compile_expr)"
+typedef val_t (* compiling_methods___AAsCastExpr___compile_expr_t)(val_t  self, val_t  param0);
+val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___AAsCastExpr___compile_expr "compiling_methods::AAsCastExpr::(compiling_methods::PExpr::compile_expr)"
 typedef val_t (* compiling_methods___ATrueExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ATrueExpr___compile_expr "compiling_methods::ATrueExpr::(compiling_methods::PExpr::compile_expr)"
index e1022e3..0186721 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module control_flow. */
 #include "control_flow._sep.h"
 void control_flow___MMSrcModule___do_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___MMSrcModule___do_control_flow, 23};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 23, LOCATE_control_flow___MMSrcModule___do_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15,12 +15,12 @@ void control_flow___MMSrcModule___do_control_flow(val_t  self, val_t  param0) {
   return;
 }
 void control_flow___ControlFlowVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowVisitor___visit, 38};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 38, LOCATE_control_flow___ControlFlowVisitor___visit};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
+  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*/
     ((control_flow___PNode___accept_control_flow_t)CALL( variable0 /*n*/,COLOR_control_flow___PNode___accept_control_flow))( variable0 /*n*/,  self) /*PNode::accept_control_flow*/;
   }
@@ -28,33 +28,92 @@ void control_flow___ControlFlowVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 val_t control_flow___ControlFlowVisitor___once_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowVisitor___once_count, 43};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 43, LOCATE_control_flow___ControlFlowVisitor___once_count};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowVisitor____once_count( self) /*ControlFlowVisitor::_once_count*/;
 }
 void control_flow___ControlFlowVisitor___once_count__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowVisitor___once_count__eq, 43};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 43, LOCATE_control_flow___ControlFlowVisitor___once_count__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_control_flow___ControlFlowVisitor____once_count( self) /*ControlFlowVisitor::_once_count*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowVisitor___control_flow_ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx, 46};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 46, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowVisitor____control_flow_ctx( self) /*ControlFlowVisitor::_control_flow_ctx*/;
 }
 void control_flow___ControlFlowVisitor___control_flow_ctx__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx__eq, 46};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 46, LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_control_flow___ControlFlowVisitor____control_flow_ctx( self) /*ControlFlowVisitor::_control_flow_ctx*/ =  param0;
   tracehead = trace.prev;
   return;
 }
+void control_flow___ControlFlowVisitor___check_is_set(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 49, LOCATE_control_flow___ControlFlowVisitor___check_is_set};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+    val_t variable3;
+    val_t variable4;
+    val_t variable5;
+    val_t variable6;
+    val_t variable7;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  param1;
+  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*/
+    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*/
+    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*/;
+    variable3 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( self,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( self) /*ControlFlowVisitor::control_flow_ctx*/;
+    variable2 = variable3;
+    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*/
+      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*/
+      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*/;
+      variable3 = ((control_flow___ControlFlowContext___prev_t)CALL( variable2 /*cfc*/,COLOR_control_flow___ControlFlowContext___prev))( variable2 /*cfc*/) /*ControlFlowContext::prev*/;
+      variable2 = variable3 /*cfc=*/;
+      continue_3: while(0);
+    }
+    break_3: while(0);
+  }
+  tracehead = trace.prev;
+  return;
+}
+void control_flow___ControlFlowVisitor___mark_is_set(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 61, LOCATE_control_flow___ControlFlowVisitor___mark_is_set};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( self,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( self) /*ControlFlowVisitor::control_flow_ctx*/;
+  variable1 = ((control_flow___ControlFlowContext___set_variables_t)CALL(variable1,COLOR_control_flow___ControlFlowContext___set_variables))(variable1) /*ControlFlowContext::set_variables*/;
+  ((hash___HashSet___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*v*/) /*HashSet::add*/;
+  tracehead = trace.prev;
+  return;
+}
 void control_flow___ControlFlowVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowVisitor___init, 49};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 66, LOCATE_control_flow___ControlFlowVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -67,75 +126,108 @@ void control_flow___ControlFlowVisitor___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t control_flow___ControlFlowContext___prev(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___prev, 53};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 70, LOCATE_control_flow___ControlFlowContext___prev};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____prev( self) /*ControlFlowContext::_prev*/;
 }
 val_t control_flow___ControlFlowContext___has_return(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___has_return, 56};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 73, LOCATE_control_flow___ControlFlowContext___has_return};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____has_return( self) /*ControlFlowContext::_has_return*/;
 }
 void control_flow___ControlFlowContext___has_return__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___has_return__eq, 56};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 73, LOCATE_control_flow___ControlFlowContext___has_return__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_control_flow___ControlFlowContext____has_return( self) /*ControlFlowContext::_has_return*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowContext___unreash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___unreash, 59};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 76, LOCATE_control_flow___ControlFlowContext___unreash};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____unreash( self) /*ControlFlowContext::_unreash*/;
 }
 void control_flow___ControlFlowContext___unreash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___unreash__eq, 59};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 76, LOCATE_control_flow___ControlFlowContext___unreash__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_control_flow___ControlFlowContext____unreash( self) /*ControlFlowContext::_unreash*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowContext___already_unreash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___already_unreash, 62};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 79, LOCATE_control_flow___ControlFlowContext___already_unreash};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____already_unreash( self) /*ControlFlowContext::_already_unreash*/;
 }
 void control_flow___ControlFlowContext___already_unreash__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___already_unreash__eq, 62};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 79, LOCATE_control_flow___ControlFlowContext___already_unreash__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_control_flow___ControlFlowContext____already_unreash( self) /*ControlFlowContext::_already_unreash*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t control_flow___ControlFlowContext___base_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___base_block, 66};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 83, LOCATE_control_flow___ControlFlowContext___base_block};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ControlFlowContext____base_block( self) /*ControlFlowContext::_base_block*/;
 }
 void control_flow___ControlFlowContext___base_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___base_block__eq, 66};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 83, LOCATE_control_flow___ControlFlowContext___base_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_control_flow___ControlFlowContext____base_block( self) /*ControlFlowContext::_base_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
+val_t control_flow___ControlFlowContext___set_variables(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 86, LOCATE_control_flow___ControlFlowContext___set_variables};
+  trace.prev = tracehead; tracehead = &trace;
+  tracehead = trace.prev;
+  return ATTR_control_flow___ControlFlowContext____set_variables( self) /*ControlFlowContext::_set_variables*/;
+}
+val_t control_flow___ControlFlowContext___is_set(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 89, LOCATE_control_flow___ControlFlowContext___is_set};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+    val_t variable3;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ATTR_control_flow___ControlFlowContext____set_variables( self) /*ControlFlowContext::_set_variables*/;
+  variable1 = ((hash___HashSet___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*v*/) /*HashSet::has*/;
+  variable2 = variable1;
+  if (!UNTAG_Bool(variable2)) { /* or */
+    variable2 = ATTR_control_flow___ControlFlowContext____prev( self) /*ControlFlowContext::_prev*/;
+    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::==*/)))))));
+    variable3 = variable2;
+    if (UNTAG_Bool(variable3)) { /* and */
+      variable3 = ATTR_control_flow___ControlFlowContext____prev( self) /*ControlFlowContext::_prev*/;
+      variable3 = ((control_flow___ControlFlowContext___is_set_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___is_set))(variable3,  variable0 /*v*/) /*ControlFlowContext::is_set*/;
+    }
+    variable2 = variable3;
+  }
+  variable1 = variable2;
+  goto return_label6;
+  return_label6: while(false);
+  tracehead = trace.prev;
+  return variable1;
+}
 val_t control_flow___ControlFlowContext___sub(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___sub, 69};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 95, LOCATE_control_flow___ControlFlowContext___sub};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_control_flow___ControlFlowContext___with( self); /*new ControlFlowContext*/
-  goto return_label3;
-  return_label3: while(false);
+  goto return_label7;
+  return_label7: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void control_flow___ControlFlowContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___init, 74};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 100, LOCATE_control_flow___ControlFlowContext___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ControlFlowContext].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ControlFlowContext].i] = 1;
@@ -143,7 +235,7 @@ void control_flow___ControlFlowContext___init(val_t  self, int* init_table) {
   return;
 }
 void control_flow___ControlFlowContext___with(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ControlFlowContext___with, 78};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 104, LOCATE_control_flow___ControlFlowContext___with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -163,7 +255,7 @@ void control_flow___ControlFlowContext___with(val_t  self, val_t  param0, int* i
   return;
 }
 void control_flow___PNode___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___PNode___accept_control_flow, 91};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 117, LOCATE_control_flow___PNode___accept_control_flow};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -172,7 +264,7 @@ void control_flow___PNode___accept_control_flow(val_t  self, val_t  param0) {
   return;
 }
 void control_flow___AMethPropdef___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AMethPropdef___accept_control_flow, 98};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 124, LOCATE_control_flow___AMethPropdef___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -184,7 +276,7 @@ void control_flow___AMethPropdef___accept_control_flow(val_t  self, val_t  param
   return;
 }
 void control_flow___AConcreteMethPropdef___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AConcreteMethPropdef___accept_control_flow, 106};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 132, LOCATE_control_flow___AConcreteMethPropdef___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -196,21 +288,49 @@ void control_flow___AConcreteMethPropdef___accept_control_flow(val_t  self, val_
   variable1 = TAG_Bool((variable1)==( TAG_Bool(false)));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
-    variable2 = ((syntax_base___AMethPropdef___method_t)CALL( self,COLOR_syntax_base___AMethPropdef___method))( self) /*AConcreteMethPropdef::method*/;
-    variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMMethSrcMethod::signature*/;
+    variable2 = ((syntax_base___AMethPropdef___method_t)CALL( self,COLOR_syntax_base___AMethPropdef___method))( self) /*AMethPropdef::method*/;
+    variable2 = ((static_type___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMLocalProperty::signature*/;
     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*/) /*MMType::==*/)))))));
+    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::==*/)))))));
   }
   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*/
-    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable1) /*ControlFlowVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable1) /*AbsSyntaxVisitor::error*/;
+  }
+  tracehead = trace.prev;
+  return;
+}
+void control_flow___PParam___accept_control_flow(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 142, LOCATE_control_flow___PParam___accept_control_flow};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ((control_flow___PParam___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___PParam___accept_control_flow))( self,  param0) /*super PParam::accept_control_flow*/;
+  variable1 = ((syntax_base___PParam___variable_t)CALL( self,COLOR_syntax_base___PParam___variable))( self) /*PParam::variable*/;
+  ((control_flow___ControlFlowVisitor___mark_is_set_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___mark_is_set))( variable0 /*v*/, variable1) /*ControlFlowVisitor::mark_is_set*/;
+  tracehead = trace.prev;
+  return;
+}
+void control_flow___AVardeclExpr___accept_control_flow(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 150, LOCATE_control_flow___AVardeclExpr___accept_control_flow};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ((control_flow___AVardeclExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVardeclExpr___accept_control_flow))( self,  param0) /*super AVardeclExpr::accept_control_flow*/;
+  variable1 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
+  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 = ((syntax_base___AVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
+    ((control_flow___ControlFlowVisitor___mark_is_set_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___mark_is_set))( variable0 /*v*/, variable1) /*ControlFlowVisitor::mark_is_set*/;
   }
   tracehead = trace.prev;
   return;
 }
 void control_flow___ABlockExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ABlockExpr___accept_control_flow, 116};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 158, LOCATE_control_flow___ABlockExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -237,18 +357,18 @@ void control_flow___ABlockExpr___accept_control_flow(val_t  self, val_t  param0)
       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*/
-      ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable0 /*v*/,  variable2 /*e*/, variable3) /*ControlFlowVisitor::warning*/;
+      ((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*/;
-    continue_10: while(0);
+    continue_16: while(0);
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
-  break_10: while(0);
+  break_16: while(0);
   tracehead = trace.prev;
   return;
 }
 void control_flow___AReturnExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AReturnExpr___accept_control_flow, 129};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 171, LOCATE_control_flow___AReturnExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -262,13 +382,13 @@ void control_flow___AReturnExpr___accept_control_flow(val_t  self, val_t  param0
   return;
 }
 val_t control_flow___ABlockControler___block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ABlockControler___block, 139};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 181, LOCATE_control_flow___ABlockControler___block};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_control_flow___ABlockControler____block( self) /*ABlockControler::_block*/;
 }
 void control_flow___ABreakExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___ABreakExpr___accept_control_flow, 144};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 186, LOCATE_control_flow___ABreakExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -278,21 +398,21 @@ void control_flow___ABreakExpr___accept_control_flow(val_t  self, val_t  param0)
   variable2 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
   variable2 = ((control_flow___ControlFlowContext___base_block_t)CALL(variable2,COLOR_control_flow___ControlFlowContext___base_block))(variable2) /*ControlFlowContext::base_block*/;
   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*/) /*AControlableBlock::==*/)))));
+  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*/
-    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*ControlFlowVisitor::error*/;
-    goto return_label12;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
+    goto return_label18;
   }
-  ATTR_control_flow___ABlockControler____block( self) /*ABreakExpr::_block*/ =  variable1 /*block*/;
+  ATTR_control_flow___ABlockControler____block( self) /*ABlockControler::_block*/ =  variable1 /*block*/;
   variable2 = ((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___unreash__eq_t)CALL(variable2,COLOR_control_flow___ControlFlowContext___unreash__eq))(variable2,  TAG_Bool(true)) /*ControlFlowContext::unreash=*/;
-  return_label12: while(false);
+  return_label18: while(false);
   tracehead = trace.prev;
   return;
 }
 void control_flow___AContinueExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AContinueExpr___accept_control_flow, 158};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 200, LOCATE_control_flow___AContinueExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -302,21 +422,21 @@ void control_flow___AContinueExpr___accept_control_flow(val_t  self, val_t  para
   variable2 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
   variable2 = ((control_flow___ControlFlowContext___base_block_t)CALL(variable2,COLOR_control_flow___ControlFlowContext___base_block))(variable2) /*ControlFlowContext::base_block*/;
   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*/) /*AControlableBlock::==*/)))));
+  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*/
-    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*ControlFlowVisitor::error*/;
-    goto return_label13;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
+    goto return_label19;
   }
-  ATTR_control_flow___ABlockControler____block( self) /*AContinueExpr::_block*/ =  variable1 /*block*/;
+  ATTR_control_flow___ABlockControler____block( self) /*ABlockControler::_block*/ =  variable1 /*block*/;
   variable2 = ((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___unreash__eq_t)CALL(variable2,COLOR_control_flow___ControlFlowContext___unreash__eq))(variable2,  TAG_Bool(true)) /*ControlFlowContext::unreash=*/;
-  return_label13: while(false);
+  return_label19: while(false);
   tracehead = trace.prev;
   return;
 }
 void control_flow___AAbortExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AAbortExpr___accept_control_flow, 172};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 214, LOCATE_control_flow___AAbortExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -330,13 +450,13 @@ void control_flow___AAbortExpr___accept_control_flow(val_t  self, val_t  param0)
   return;
 }
 void control_flow___AIfExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AIfExpr___accept_control_flow, 181};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 223, LOCATE_control_flow___AIfExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
-    val_t variable5;
+      val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
@@ -349,40 +469,65 @@ void control_flow___AIfExpr___accept_control_flow(val_t  self, val_t  param0) {
   variable2 = ((parser_nodes___AIfExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_then))( self) /*AIfExpr::n_then*/;
   ((control_flow___ControlFlowVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*ControlFlowVisitor::visit*/;
   variable2 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
     ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/,  variable1 /*old_control_flow_ctx*/) /*ControlFlowVisitor::control_flow_ctx=*/;
   } else { /*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*/;
     variable2 = variable3;
-    ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/,  variable1 /*old_control_flow_ctx*/) /*ControlFlowVisitor::control_flow_ctx=*/;
+    variable3 = ((control_flow___ControlFlowContext___sub_t)CALL( variable1 /*old_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___sub))( variable1 /*old_control_flow_ctx*/) /*ControlFlowContext::sub*/;
+    ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/, variable3) /*ControlFlowVisitor::control_flow_ctx=*/;
     variable3 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
     ((control_flow___ControlFlowVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable3) /*ControlFlowVisitor::visit*/;
-    ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/,  variable1 /*old_control_flow_ctx*/) /*ControlFlowVisitor::control_flow_ctx=*/;
     variable3 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
-    variable4 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
-    variable4 = ((control_flow___ControlFlowContext___has_return_t)CALL(variable4,COLOR_control_flow___ControlFlowContext___has_return))(variable4) /*ControlFlowContext::has_return*/;
-    variable5 = variable4;
-    if (UNTAG_Bool(variable5)) { /* and */
-      variable5 = ((control_flow___ControlFlowContext___has_return_t)CALL( variable2 /*then_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___has_return))( variable2 /*then_control_flow_ctx*/) /*ControlFlowContext::has_return*/;
+    variable3 = ((control_flow___ControlFlowContext___has_return_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___has_return))(variable3) /*ControlFlowContext::has_return*/;
+    variable4 = variable3;
+    if (UNTAG_Bool(variable4)) { /* and */
+      variable4 = ((control_flow___ControlFlowContext___has_return_t)CALL( variable2 /*then_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___has_return))( variable2 /*then_control_flow_ctx*/) /*ControlFlowContext::has_return*/;
+    }
+    variable3 = variable4;
+    ((control_flow___ControlFlowContext___has_return__eq_t)CALL( variable1 /*old_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___has_return__eq))( variable1 /*old_control_flow_ctx*/, variable3) /*ControlFlowContext::has_return=*/;
+    variable3 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
+    variable3 = ((control_flow___ControlFlowContext___unreash_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___unreash))(variable3) /*ControlFlowContext::unreash*/;
+    variable4 = variable3;
+    if (UNTAG_Bool(variable4)) { /* and */
+      variable4 = ((control_flow___ControlFlowContext___unreash_t)CALL( variable2 /*then_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___unreash))( variable2 /*then_control_flow_ctx*/) /*ControlFlowContext::unreash*/;
+    }
+    variable3 = variable4;
+    ((control_flow___ControlFlowContext___unreash__eq_t)CALL( variable1 /*old_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___unreash__eq))( variable1 /*old_control_flow_ctx*/, variable3) /*ControlFlowContext::unreash=*/;
+    variable3 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
+    variable3 = ((control_flow___ControlFlowContext___unreash_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___unreash))(variable3) /*ControlFlowContext::unreash*/;
+    if (UNTAG_Bool(variable3)) { /*if*/
+      ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/,  variable2 /*then_control_flow_ctx*/) /*ControlFlowVisitor::control_flow_ctx=*/;
+    }
+    variable3 = ((control_flow___ControlFlowContext___unreash_t)CALL( variable2 /*then_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___unreash))( variable2 /*then_control_flow_ctx*/) /*ControlFlowContext::unreash*/;
+    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*/;
+      variable2 = variable3 /*then_control_flow_ctx=*/;
     }
-    variable4 = variable5;
-    ((control_flow___ControlFlowContext___has_return__eq_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___has_return__eq))(variable3, variable4) /*ControlFlowContext::has_return=*/;
     variable3 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
-    variable4 = ((control_flow___ControlFlowVisitor___control_flow_ctx_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx))( variable0 /*v*/) /*ControlFlowVisitor::control_flow_ctx*/;
-    variable4 = ((control_flow___ControlFlowContext___unreash_t)CALL(variable4,COLOR_control_flow___ControlFlowContext___unreash))(variable4) /*ControlFlowContext::unreash*/;
-    variable5 = variable4;
-    if (UNTAG_Bool(variable5)) { /* and */
-      variable5 = ((control_flow___ControlFlowContext___unreash_t)CALL( variable2 /*then_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___unreash))( variable2 /*then_control_flow_ctx*/) /*ControlFlowContext::unreash*/;
+    variable3 = ((control_flow___ControlFlowContext___set_variables_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___set_variables))(variable3) /*ControlFlowContext::set_variables*/;
+    variable3 = ((hash___HashSet___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*HashSet::iterator*/;
+    while (true) { /*for*/
+      variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*Iterator::is_ok*/;
+      if (!UNTAG_Bool(variable4)) break; /*for*/
+      variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
+      variable5 = ((control_flow___ControlFlowContext___is_set_t)CALL( variable2 /*then_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___is_set))( variable2 /*then_control_flow_ctx*/,  variable4 /*variable*/) /*ControlFlowContext::is_set*/;
+      if (UNTAG_Bool(variable5)) { /*if*/
+        variable5 = ((control_flow___ControlFlowContext___set_variables_t)CALL( variable1 /*old_control_flow_ctx*/,COLOR_control_flow___ControlFlowContext___set_variables))( variable1 /*old_control_flow_ctx*/) /*ControlFlowContext::set_variables*/;
+        ((hash___HashSet___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*variable*/) /*HashSet::add*/;
+      }
+      continue_22: while(0);
+      ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
     }
-    variable4 = variable5;
-    ((control_flow___ControlFlowContext___unreash__eq_t)CALL(variable3,COLOR_control_flow___ControlFlowContext___unreash__eq))(variable3, variable4) /*ControlFlowContext::unreash=*/;
+    break_22: while(0);
+    ((control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq))( variable0 /*v*/,  variable1 /*old_control_flow_ctx*/) /*ControlFlowVisitor::control_flow_ctx=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void control_flow___AControlableBlock___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AControlableBlock___accept_control_flow, 211};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 261, LOCATE_control_flow___AControlableBlock___accept_control_flow};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -400,8 +545,58 @@ void control_flow___AControlableBlock___accept_control_flow(val_t  self, val_t
   tracehead = trace.prev;
   return;
 }
+void control_flow___AForVardeclExpr___accept_control_flow(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 286, LOCATE_control_flow___AForVardeclExpr___accept_control_flow};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ((control_flow___AForVardeclExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AForVardeclExpr___accept_control_flow))( self,  param0) /*super AForVardeclExpr::accept_control_flow*/;
+  variable1 = ((syntax_base___AForVardeclExpr___variable_t)CALL( self,COLOR_syntax_base___AForVardeclExpr___variable))( self) /*AForVardeclExpr::variable*/;
+  ((control_flow___ControlFlowVisitor___mark_is_set_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___mark_is_set))( variable0 /*v*/, variable1) /*ControlFlowVisitor::mark_is_set*/;
+  tracehead = trace.prev;
+  return;
+}
+void control_flow___AVarExpr___accept_control_flow(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 295, LOCATE_control_flow___AVarExpr___accept_control_flow};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ((control_flow___AVarExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVarExpr___accept_control_flow))( self,  param0) /*super AVarExpr::accept_control_flow*/;
+  variable1 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
+  ((control_flow___ControlFlowVisitor___check_is_set_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___check_is_set))( variable0 /*v*/,  self, variable1) /*ControlFlowVisitor::check_is_set*/;
+  tracehead = trace.prev;
+  return;
+}
+void control_flow___AVarAssignExpr___accept_control_flow(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 303, LOCATE_control_flow___AVarAssignExpr___accept_control_flow};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ((control_flow___AVarAssignExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVarAssignExpr___accept_control_flow))( self,  param0) /*super AVarAssignExpr::accept_control_flow*/;
+  variable1 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
+  ((control_flow___ControlFlowVisitor___mark_is_set_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___mark_is_set))( variable0 /*v*/, variable1) /*ControlFlowVisitor::mark_is_set*/;
+  tracehead = trace.prev;
+  return;
+}
+void control_flow___AVarReassignExpr___accept_control_flow(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_control_flow, 311, LOCATE_control_flow___AVarReassignExpr___accept_control_flow};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ((control_flow___AVarReassignExpr___accept_control_flow_t)CALL( self,COLOR_SUPER_control_flow___AVarReassignExpr___accept_control_flow))( self,  param0) /*super AVarReassignExpr::accept_control_flow*/;
+  variable1 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
+  ((control_flow___ControlFlowVisitor___check_is_set_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___check_is_set))( variable0 /*v*/,  self, variable1) /*ControlFlowVisitor::check_is_set*/;
+  variable1 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
+  ((control_flow___ControlFlowVisitor___mark_is_set_t)CALL( variable0 /*v*/,COLOR_control_flow___ControlFlowVisitor___mark_is_set))( variable0 /*v*/, variable1) /*ControlFlowVisitor::mark_is_set*/;
+  tracehead = trace.prev;
+  return;
+}
 void control_flow___AOnceExpr___accept_control_flow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_control_flow___AOnceExpr___accept_control_flow, 236};
+  struct trace_t trace = {NULL, LOCATE_control_flow, 321, LOCATE_control_flow___AOnceExpr___accept_control_flow};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -410,7 +605,7 @@ void control_flow___AOnceExpr___accept_control_flow(val_t  self, val_t  param0)
   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*/
-    ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable0 /*v*/,  self, variable1) /*ControlFlowVisitor::warning*/;
+    ((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*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1)));
index a4b02b7..ee6412d 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires control_flow. */
-#ifndef control_flow_3_sep
-#define control_flow_3_sep
+#ifndef control_flow_2_sep
+#define control_flow_2_sep
 #include "syntax_base._sep.h"
 #include <nit_common.h>
 
@@ -11,7 +11,7 @@ extern const classtable_elt_t VFT_ControlFlowContext[];
 extern const classtable_elt_t VFT_ABlockControler[];
 
 extern const classtable_elt_t VFT_AControlableBlock[];
-#define LOCATE_control_flow "control_flow"
+#define LOCATE_control_flow "./syntax//control_flow.nit"
 extern const int SFT_control_flow[];
 #define COLOR_control_flow___MMSrcModule___do_control_flow SFT_control_flow[0]
 #define ID_ControlFlowVisitor SFT_control_flow[1]
@@ -23,44 +23,55 @@ extern const int SFT_control_flow[];
 #define COLOR_control_flow___ControlFlowVisitor___once_count__eq SFT_control_flow[7]
 #define COLOR_control_flow___ControlFlowVisitor___control_flow_ctx SFT_control_flow[8]
 #define COLOR_control_flow___ControlFlowVisitor___control_flow_ctx__eq SFT_control_flow[9]
-#define COLOR_control_flow___ControlFlowVisitor___init SFT_control_flow[10]
-#define ID_ControlFlowContext SFT_control_flow[11]
-#define COLOR_ControlFlowContext SFT_control_flow[12]
-#define COLOR_control_flow___ControlFlowContext____prev SFT_control_flow[13]
-#define COLOR_control_flow___ControlFlowContext____has_return SFT_control_flow[14]
-#define COLOR_control_flow___ControlFlowContext____unreash SFT_control_flow[15]
-#define COLOR_control_flow___ControlFlowContext____already_unreash SFT_control_flow[16]
-#define COLOR_control_flow___ControlFlowContext____base_block SFT_control_flow[17]
-#define INIT_TABLE_POS_ControlFlowContext SFT_control_flow[18]
-#define COLOR_control_flow___ControlFlowContext___prev SFT_control_flow[19]
-#define COLOR_control_flow___ControlFlowContext___has_return SFT_control_flow[20]
-#define COLOR_control_flow___ControlFlowContext___has_return__eq SFT_control_flow[21]
-#define COLOR_control_flow___ControlFlowContext___unreash SFT_control_flow[22]
-#define COLOR_control_flow___ControlFlowContext___unreash__eq SFT_control_flow[23]
-#define COLOR_control_flow___ControlFlowContext___already_unreash SFT_control_flow[24]
-#define COLOR_control_flow___ControlFlowContext___already_unreash__eq SFT_control_flow[25]
-#define COLOR_control_flow___ControlFlowContext___base_block SFT_control_flow[26]
-#define COLOR_control_flow___ControlFlowContext___base_block__eq SFT_control_flow[27]
-#define COLOR_control_flow___ControlFlowContext___sub SFT_control_flow[28]
-#define COLOR_control_flow___ControlFlowContext___init SFT_control_flow[29]
-#define COLOR_control_flow___ControlFlowContext___with SFT_control_flow[30]
-#define COLOR_control_flow___PNode___accept_control_flow SFT_control_flow[31]
-#define COLOR_SUPER_control_flow___AMethPropdef___accept_control_flow SFT_control_flow[32]
-#define COLOR_SUPER_control_flow___AConcreteMethPropdef___accept_control_flow SFT_control_flow[33]
-#define COLOR_SUPER_control_flow___AReturnExpr___accept_control_flow SFT_control_flow[34]
-#define ID_ABlockControler SFT_control_flow[35]
-#define COLOR_ABlockControler SFT_control_flow[36]
-#define COLOR_control_flow___ABlockControler____block SFT_control_flow[37]
-#define INIT_TABLE_POS_ABlockControler SFT_control_flow[38]
-#define COLOR_control_flow___ABlockControler___block SFT_control_flow[39]
-#define COLOR_SUPER_control_flow___ABreakExpr___accept_control_flow SFT_control_flow[40]
-#define COLOR_SUPER_control_flow___AContinueExpr___accept_control_flow SFT_control_flow[41]
-#define COLOR_SUPER_control_flow___AAbortExpr___accept_control_flow SFT_control_flow[42]
-#define ID_AControlableBlock SFT_control_flow[43]
-#define COLOR_AControlableBlock SFT_control_flow[44]
-#define INIT_TABLE_POS_AControlableBlock SFT_control_flow[45]
-#define COLOR_SUPER_control_flow___AControlableBlock___accept_control_flow SFT_control_flow[46]
-#define COLOR_SUPER_control_flow___AOnceExpr___accept_control_flow SFT_control_flow[47]
+#define COLOR_control_flow___ControlFlowVisitor___check_is_set SFT_control_flow[10]
+#define COLOR_control_flow___ControlFlowVisitor___mark_is_set SFT_control_flow[11]
+#define COLOR_control_flow___ControlFlowVisitor___init SFT_control_flow[12]
+#define ID_ControlFlowContext SFT_control_flow[13]
+#define COLOR_ControlFlowContext SFT_control_flow[14]
+#define COLOR_control_flow___ControlFlowContext____prev SFT_control_flow[15]
+#define COLOR_control_flow___ControlFlowContext____has_return SFT_control_flow[16]
+#define COLOR_control_flow___ControlFlowContext____unreash SFT_control_flow[17]
+#define COLOR_control_flow___ControlFlowContext____already_unreash SFT_control_flow[18]
+#define COLOR_control_flow___ControlFlowContext____base_block SFT_control_flow[19]
+#define COLOR_control_flow___ControlFlowContext____set_variables SFT_control_flow[20]
+#define INIT_TABLE_POS_ControlFlowContext SFT_control_flow[21]
+#define COLOR_control_flow___ControlFlowContext___prev SFT_control_flow[22]
+#define COLOR_control_flow___ControlFlowContext___has_return SFT_control_flow[23]
+#define COLOR_control_flow___ControlFlowContext___has_return__eq SFT_control_flow[24]
+#define COLOR_control_flow___ControlFlowContext___unreash SFT_control_flow[25]
+#define COLOR_control_flow___ControlFlowContext___unreash__eq SFT_control_flow[26]
+#define COLOR_control_flow___ControlFlowContext___already_unreash SFT_control_flow[27]
+#define COLOR_control_flow___ControlFlowContext___already_unreash__eq SFT_control_flow[28]
+#define COLOR_control_flow___ControlFlowContext___base_block SFT_control_flow[29]
+#define COLOR_control_flow___ControlFlowContext___base_block__eq SFT_control_flow[30]
+#define COLOR_control_flow___ControlFlowContext___set_variables SFT_control_flow[31]
+#define COLOR_control_flow___ControlFlowContext___is_set SFT_control_flow[32]
+#define COLOR_control_flow___ControlFlowContext___sub SFT_control_flow[33]
+#define COLOR_control_flow___ControlFlowContext___init SFT_control_flow[34]
+#define COLOR_control_flow___ControlFlowContext___with SFT_control_flow[35]
+#define COLOR_control_flow___PNode___accept_control_flow SFT_control_flow[36]
+#define COLOR_SUPER_control_flow___AMethPropdef___accept_control_flow SFT_control_flow[37]
+#define COLOR_SUPER_control_flow___AConcreteMethPropdef___accept_control_flow SFT_control_flow[38]
+#define COLOR_SUPER_control_flow___PParam___accept_control_flow SFT_control_flow[39]
+#define COLOR_SUPER_control_flow___AVardeclExpr___accept_control_flow SFT_control_flow[40]
+#define COLOR_SUPER_control_flow___AReturnExpr___accept_control_flow SFT_control_flow[41]
+#define ID_ABlockControler SFT_control_flow[42]
+#define COLOR_ABlockControler SFT_control_flow[43]
+#define COLOR_control_flow___ABlockControler____block SFT_control_flow[44]
+#define INIT_TABLE_POS_ABlockControler SFT_control_flow[45]
+#define COLOR_control_flow___ABlockControler___block SFT_control_flow[46]
+#define COLOR_SUPER_control_flow___ABreakExpr___accept_control_flow SFT_control_flow[47]
+#define COLOR_SUPER_control_flow___AContinueExpr___accept_control_flow SFT_control_flow[48]
+#define COLOR_SUPER_control_flow___AAbortExpr___accept_control_flow SFT_control_flow[49]
+#define ID_AControlableBlock SFT_control_flow[50]
+#define COLOR_AControlableBlock SFT_control_flow[51]
+#define INIT_TABLE_POS_AControlableBlock SFT_control_flow[52]
+#define COLOR_SUPER_control_flow___AControlableBlock___accept_control_flow SFT_control_flow[53]
+#define COLOR_SUPER_control_flow___AForVardeclExpr___accept_control_flow SFT_control_flow[54]
+#define COLOR_SUPER_control_flow___AVarExpr___accept_control_flow SFT_control_flow[55]
+#define COLOR_SUPER_control_flow___AVarAssignExpr___accept_control_flow SFT_control_flow[56]
+#define COLOR_SUPER_control_flow___AVarReassignExpr___accept_control_flow SFT_control_flow[57]
+#define COLOR_SUPER_control_flow___AOnceExpr___accept_control_flow SFT_control_flow[58]
 typedef void (* control_flow___MMSrcModule___do_control_flow_t)(val_t  self, val_t  param0);
 void control_flow___MMSrcModule___do_control_flow(val_t  self, val_t  param0);
 #define LOCATE_control_flow___MMSrcModule___do_control_flow "control_flow::MMSrcModule::do_control_flow"
@@ -81,6 +92,12 @@ val_t control_flow___ControlFlowVisitor___control_flow_ctx(val_t  self);
 typedef void (* control_flow___ControlFlowVisitor___control_flow_ctx__eq_t)(val_t  self, val_t  param0);
 void control_flow___ControlFlowVisitor___control_flow_ctx__eq(val_t  self, val_t  param0);
 #define LOCATE_control_flow___ControlFlowVisitor___control_flow_ctx__eq "control_flow::ControlFlowVisitor::control_flow_ctx="
+typedef void (* control_flow___ControlFlowVisitor___check_is_set_t)(val_t  self, val_t  param0, val_t  param1);
+void control_flow___ControlFlowVisitor___check_is_set(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_control_flow___ControlFlowVisitor___check_is_set "control_flow::ControlFlowVisitor::check_is_set"
+typedef void (* control_flow___ControlFlowVisitor___mark_is_set_t)(val_t  self, val_t  param0);
+void control_flow___ControlFlowVisitor___mark_is_set(val_t  self, val_t  param0);
+#define LOCATE_control_flow___ControlFlowVisitor___mark_is_set "control_flow::ControlFlowVisitor::mark_is_set"
 typedef void (* control_flow___ControlFlowVisitor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
 void control_flow___ControlFlowVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
 val_t NEW_control_flow___ControlFlowVisitor___init(val_t  param0, val_t  param1);
@@ -117,6 +134,13 @@ val_t control_flow___ControlFlowContext___base_block(val_t  self);
 typedef void (* control_flow___ControlFlowContext___base_block__eq_t)(val_t  self, val_t  param0);
 void control_flow___ControlFlowContext___base_block__eq(val_t  self, val_t  param0);
 #define LOCATE_control_flow___ControlFlowContext___base_block__eq "control_flow::ControlFlowContext::base_block="
+#define ATTR_control_flow___ControlFlowContext____set_variables(recv) ATTR(recv, COLOR_control_flow___ControlFlowContext____set_variables)
+typedef val_t (* control_flow___ControlFlowContext___set_variables_t)(val_t  self);
+val_t control_flow___ControlFlowContext___set_variables(val_t  self);
+#define LOCATE_control_flow___ControlFlowContext___set_variables "control_flow::ControlFlowContext::set_variables"
+typedef val_t (* control_flow___ControlFlowContext___is_set_t)(val_t  self, val_t  param0);
+val_t control_flow___ControlFlowContext___is_set(val_t  self, val_t  param0);
+#define LOCATE_control_flow___ControlFlowContext___is_set "control_flow::ControlFlowContext::is_set"
 typedef val_t (* control_flow___ControlFlowContext___sub_t)(val_t  self);
 val_t control_flow___ControlFlowContext___sub(val_t  self);
 #define LOCATE_control_flow___ControlFlowContext___sub "control_flow::ControlFlowContext::sub"
@@ -137,6 +161,12 @@ void control_flow___AMethPropdef___accept_control_flow(val_t  self, val_t  param
 typedef void (* control_flow___AConcreteMethPropdef___accept_control_flow_t)(val_t  self, val_t  param0);
 void control_flow___AConcreteMethPropdef___accept_control_flow(val_t  self, val_t  param0);
 #define LOCATE_control_flow___AConcreteMethPropdef___accept_control_flow "control_flow::AConcreteMethPropdef::(control_flow::PNode::accept_control_flow)"
+typedef void (* control_flow___PParam___accept_control_flow_t)(val_t  self, val_t  param0);
+void control_flow___PParam___accept_control_flow(val_t  self, val_t  param0);
+#define LOCATE_control_flow___PParam___accept_control_flow "control_flow::PParam::(control_flow::PNode::accept_control_flow)"
+typedef void (* control_flow___AVardeclExpr___accept_control_flow_t)(val_t  self, val_t  param0);
+void control_flow___AVardeclExpr___accept_control_flow(val_t  self, val_t  param0);
+#define LOCATE_control_flow___AVardeclExpr___accept_control_flow "control_flow::AVardeclExpr::(control_flow::PNode::accept_control_flow)"
 typedef void (* control_flow___ABlockExpr___accept_control_flow_t)(val_t  self, val_t  param0);
 void control_flow___ABlockExpr___accept_control_flow(val_t  self, val_t  param0);
 #define LOCATE_control_flow___ABlockExpr___accept_control_flow "control_flow::ABlockExpr::(control_flow::PNode::accept_control_flow)"
@@ -162,6 +192,18 @@ void control_flow___AIfExpr___accept_control_flow(val_t  self, val_t  param0);
 typedef void (* control_flow___AControlableBlock___accept_control_flow_t)(val_t  self, val_t  param0);
 void control_flow___AControlableBlock___accept_control_flow(val_t  self, val_t  param0);
 #define LOCATE_control_flow___AControlableBlock___accept_control_flow "control_flow::AControlableBlock::(control_flow::PNode::accept_control_flow)"
+typedef void (* control_flow___AForVardeclExpr___accept_control_flow_t)(val_t  self, val_t  param0);
+void control_flow___AForVardeclExpr___accept_control_flow(val_t  self, val_t  param0);
+#define LOCATE_control_flow___AForVardeclExpr___accept_control_flow "control_flow::AForVardeclExpr::(control_flow::PNode::accept_control_flow)"
+typedef void (* control_flow___AVarExpr___accept_control_flow_t)(val_t  self, val_t  param0);
+void control_flow___AVarExpr___accept_control_flow(val_t  self, val_t  param0);
+#define LOCATE_control_flow___AVarExpr___accept_control_flow "control_flow::AVarExpr::(control_flow::PNode::accept_control_flow)"
+typedef void (* control_flow___AVarAssignExpr___accept_control_flow_t)(val_t  self, val_t  param0);
+void control_flow___AVarAssignExpr___accept_control_flow(val_t  self, val_t  param0);
+#define LOCATE_control_flow___AVarAssignExpr___accept_control_flow "control_flow::AVarAssignExpr::(control_flow::PNode::accept_control_flow)"
+typedef void (* control_flow___AVarReassignExpr___accept_control_flow_t)(val_t  self, val_t  param0);
+void control_flow___AVarReassignExpr___accept_control_flow(val_t  self, val_t  param0);
+#define LOCATE_control_flow___AVarReassignExpr___accept_control_flow "control_flow::AVarReassignExpr::(control_flow::PNode::accept_control_flow)"
 typedef void (* control_flow___AOnceExpr___accept_control_flow_t)(val_t  self, val_t  param0);
 void control_flow___AOnceExpr___accept_control_flow(val_t  self, val_t  param0);
 #define LOCATE_control_flow___AOnceExpr___accept_control_flow "control_flow::AOnceExpr::(control_flow::PNode::accept_control_flow)"
index 37d4062..3481752 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module environ. */
 #include "environ._sep.h"
 val_t environ___Symbol___environ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_environ___Symbol___environ, 19};
+  struct trace_t trace = {NULL, LOCATE_environ, 19, LOCATE_environ___Symbol___environ};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25,7 +25,7 @@ val_t environ___Symbol___environ(val_t  self) {
     once_bool_variable2_1 = true;
   }
   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*/) /*NativeString::==*/)))))));
+  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*/
@@ -38,7 +38,7 @@ val_t environ___Symbol___environ(val_t  self) {
     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*/) /*NativeString::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*/
     variable0 = variable2;
     goto return_label0;
@@ -51,53 +51,9 @@ val_t environ___Symbol___environ(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-void environ___Symbol___environ__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_environ___Symbol___environ__eq, 26};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/;
-  variable1 = ((string___String___to_cstring_t)CALL(variable1,COLOR_string___String___to_cstring))(variable1) /*String::to_cstring*/;
-  variable2 = ((string___String___to_cstring_t)CALL( variable0 /*v*/,COLOR_string___String___to_cstring))( variable0 /*v*/) /*String::to_cstring*/;
-  ((environ___NativeString___set_environ_t)CALL(variable1,COLOR_environ___NativeString___set_environ))(variable1, variable2,  TAG_Int(1)) /*NativeString::set_environ*/;
-  tracehead = trace.prev;
-  return;
-}
-void environ___Symbol___environ_default__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_environ___Symbol___environ_default__eq, 29};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/;
-  variable1 = ((string___String___to_cstring_t)CALL(variable1,COLOR_string___String___to_cstring))(variable1) /*String::to_cstring*/;
-  variable2 = ((string___String___to_cstring_t)CALL( variable0 /*v*/,COLOR_string___String___to_cstring))( variable0 /*v*/) /*String::to_cstring*/;
-  ((environ___NativeString___set_environ_t)CALL(variable1,COLOR_environ___NativeString___set_environ))(variable1, variable2,  TAG_Int(0)) /*NativeString::set_environ*/;
-  tracehead = trace.prev;
-  return;
-}
-void environ___Symbol___unset(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_environ___Symbol___unset, 32};
-  val_t variable0;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/;
-  variable0 = ((string___String___to_cstring_t)CALL(variable0,COLOR_string___String___to_cstring))(variable0) /*String::to_cstring*/;
-  ((environ___NativeString___unset_environ_t)CALL(variable0,COLOR_environ___NativeString___unset_environ))(variable0) /*NativeString::unset_environ*/;
-  tracehead = trace.prev;
-  return;
-}
 val_t environ___NativeString___get_environ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_environ___NativeString___get_environ, 37};
+  struct trace_t trace = {NULL, LOCATE_environ, 36, LOCATE_environ___NativeString___get_environ};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_NativeString(string_NativeString_NativeString_get_environ_0(UNBOX_NativeString( self)));
 }
-void environ___NativeString___put_environ(val_t  self) {
-}
-void environ___NativeString___unset_environ(val_t  self) {
-}
-void environ___NativeString___set_environ(val_t  self, val_t  param0, val_t  param1) {
-}
index 22556ca..6b5e766 100644 (file)
@@ -1,41 +1,17 @@
 /* This C header file is generated by NIT to compile modules and programs that requires environ. */
-#ifndef environ_3_sep
-#define environ_3_sep
+#ifndef environ_2_sep
+#define environ_2_sep
 #include "symbol._sep.h"
 #include <nit_common.h>
 #include <environ_nit.h>
-#define LOCATE_environ "environ"
+#define LOCATE_environ "./../lib/standard//environ.nit"
 extern const int SFT_environ[];
 #define COLOR_environ___Symbol___environ SFT_environ[0]
-#define COLOR_environ___Symbol___environ__eq SFT_environ[1]
-#define COLOR_environ___Symbol___environ_default__eq SFT_environ[2]
-#define COLOR_environ___Symbol___unset SFT_environ[3]
-#define COLOR_environ___NativeString___get_environ SFT_environ[4]
-#define COLOR_environ___NativeString___put_environ SFT_environ[5]
-#define COLOR_environ___NativeString___unset_environ SFT_environ[6]
-#define COLOR_environ___NativeString___set_environ SFT_environ[7]
+#define COLOR_environ___NativeString___get_environ SFT_environ[1]
 typedef val_t (* environ___Symbol___environ_t)(val_t  self);
 val_t environ___Symbol___environ(val_t  self);
 #define LOCATE_environ___Symbol___environ "environ::Symbol::environ"
-typedef void (* environ___Symbol___environ__eq_t)(val_t  self, val_t  param0);
-void environ___Symbol___environ__eq(val_t  self, val_t  param0);
-#define LOCATE_environ___Symbol___environ__eq "environ::Symbol::environ="
-typedef void (* environ___Symbol___environ_default__eq_t)(val_t  self, val_t  param0);
-void environ___Symbol___environ_default__eq(val_t  self, val_t  param0);
-#define LOCATE_environ___Symbol___environ_default__eq "environ::Symbol::environ_default="
-typedef void (* environ___Symbol___unset_t)(val_t  self);
-void environ___Symbol___unset(val_t  self);
-#define LOCATE_environ___Symbol___unset "environ::Symbol::unset"
 typedef val_t (* environ___NativeString___get_environ_t)(val_t  self);
 val_t environ___NativeString___get_environ(val_t  self);
 #define LOCATE_environ___NativeString___get_environ "environ::NativeString::get_environ"
-typedef void (* environ___NativeString___put_environ_t)(val_t  self);
-void environ___NativeString___put_environ(val_t  self);
-#define LOCATE_environ___NativeString___put_environ "environ::NativeString::put_environ"
-typedef void (* environ___NativeString___unset_environ_t)(val_t  self);
-void environ___NativeString___unset_environ(val_t  self);
-#define LOCATE_environ___NativeString___unset_environ "environ::NativeString::unset_environ"
-typedef void (* environ___NativeString___set_environ_t)(val_t  self, val_t  param0, val_t  param1);
-void environ___NativeString___set_environ(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_environ___NativeString___set_environ "environ::NativeString::set_environ"
 #endif
index c019252..b5370f0 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module exec. */
 #include "exec._sep.h"
 val_t exec___Process___id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___id, 23};
+  struct trace_t trace = {NULL, LOCATE_exec, 23, LOCATE_exec___Process___id};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
@@ -12,7 +12,7 @@ val_t exec___Process___id(val_t  self) {
   return variable0;
 }
 val_t exec___Process___is_finished(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___is_finished, 26};
+  struct trace_t trace = {NULL, LOCATE_exec, 26, LOCATE_exec___Process___is_finished};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
@@ -23,22 +23,22 @@ val_t exec___Process___is_finished(val_t  self) {
   return variable0;
 }
 void exec___Process___wait(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___wait, 29};
+  struct trace_t trace = {NULL, LOCATE_exec, 29, LOCATE_exec___Process___wait};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
   ((exec___NativeProcess___wait_t)CALL(variable0,COLOR_exec___NativeProcess___wait))(variable0) /*NativeProcess::wait*/;
   variable0 = ((exec___Process___is_finished_t)CALL( self,COLOR_exec___Process___is_finished))( self) /*Process::is_finished*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_exec___Process___wait, 33); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___Process___wait, LOCATE_exec, 33); nit_exit(1);}
   tracehead = trace.prev;
   return;
 }
 val_t exec___Process___status(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___status, 36};
+  struct trace_t trace = {NULL, LOCATE_exec, 36, LOCATE_exec___Process___status};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((exec___Process___is_finished_t)CALL( self,COLOR_exec___Process___is_finished))( self) /*Process::is_finished*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_exec___Process___status, 39); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___Process___status, LOCATE_exec, 39); nit_exit(1);}
   variable0 = ATTR_exec___Process____data( self) /*Process::_data*/;
   variable0 = ((exec___NativeProcess___status_t)CALL(variable0,COLOR_exec___NativeProcess___status))(variable0) /*NativeProcess::status*/;
   goto return_label3;
@@ -47,7 +47,7 @@ val_t exec___Process___status(val_t  self) {
   return variable0;
 }
 void exec___Process___kill(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___kill, 43};
+  struct trace_t trace = {NULL, LOCATE_exec, 43, LOCATE_exec___Process___kill};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -58,20 +58,20 @@ void exec___Process___kill(val_t  self, val_t  param0) {
   return;
 }
 void exec___Process___term(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___term, 46};
+  struct trace_t trace = {NULL, LOCATE_exec, 46, LOCATE_exec___Process___term};
   trace.prev = tracehead; tracehead = &trace;
   ((exec___Process___kill_t)CALL( self,COLOR_exec___Process___kill))( self,  TAG_Int(15)) /*Process::kill*/;
   tracehead = trace.prev;
   return;
 }
 void exec___Process___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___init, 49};
+  struct trace_t trace = {NULL, LOCATE_exec, 49, LOCATE_exec___Process___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
-  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_exec___Process___term, 50); nit_exit(1); } /*cast Array[String]*/;
+  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___Process___term, LOCATE_exec, 50); nit_exit(1); } /*cast Array[String]*/;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Process].i]) return;
   ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  variable1 /*arguments*/,  TAG_Int(0), init_table /*YYY*/) /*Process::execute*/;
@@ -80,7 +80,7 @@ void exec___Process___init(val_t  self, val_t  param0, val_t  param1, int* init_
   return;
 }
 void exec___Process___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___init_, 55};
+  struct trace_t trace = {NULL, LOCATE_exec, 55, LOCATE_exec___Process___init_};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -91,7 +91,7 @@ void exec___Process___init_(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___execute, 61};
+  struct trace_t trace = {NULL, LOCATE_exec, 61, LOCATE_exec___Process___execute};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -108,9 +108,9 @@ void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t
   variable3 = variable4;
   variable4 =  TAG_Int(1);
   ((string___String___append_t)CALL( variable3 /*args*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*args*/,  variable0 /*command*/) /*String::append*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*arguments*/ ==  NIT_NULL /*null*/) || (( variable1 /*arguments*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable1 /*arguments*/,COLOR_kernel___Object_____eqeq))( variable1 /*arguments*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*arguments*/ ==  NIT_NULL /*null*/) || (( variable1 /*arguments*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*arguments*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*arguments*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*arguments*/,COLOR_kernel___Object_____eqeq))( variable1 /*arguments*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___AbstractArray___iterator_t)CALL( variable1 /*arguments*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*arguments*/) /*Array::iterator*/;
+    variable5 = ((array___AbstractArray___iterator_t)CALL( variable1 /*arguments*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*arguments*/) /*AbstractArray::iterator*/;
     while (true) { /*for*/
       variable6 = ((array___ArrayIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ArrayIterator::is_ok*/;
       if (!UNTAG_Bool(variable6)) break; /*for*/
@@ -121,7 +121,7 @@ void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t
       ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
     }
     break_9: while(0);
-    variable5 = ((array___AbstractArray___length_t)CALL( variable1 /*arguments*/,COLOR_abstract_collection___Collection___length))( variable1 /*arguments*/) /*Array::length*/;
+    variable5 = ((array___AbstractArray___length_t)CALL( variable1 /*arguments*/,COLOR_abstract_collection___Collection___length))( variable1 /*arguments*/) /*AbstractArray::length*/;
     variable4 = TAG_Int(UNTAG_Int(variable4)+UNTAG_Int(variable5)) /*l*/;
   }
   variable5 = ((string___String___to_cstring_t)CALL( variable0 /*command*/,COLOR_string___String___to_cstring))( variable0 /*command*/) /*String::to_cstring*/;
@@ -133,22 +133,22 @@ void exec___Process___execute(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t exec___Process___basic_exec_execute(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_exec___Process___basic_exec_execute, 78};
+  struct trace_t trace = {NULL, LOCATE_exec, 78, LOCATE_exec___Process___basic_exec_execute};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_NativeProcess(exec_Process_Process_basic_exec_execute_4( self, UNBOX_NativeString( param0), UNBOX_NativeString( param1), UNTAG_Int( param2), UNTAG_Int( param3)));
 }
 void exec___IProcess___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___IProcess___close, 87};
+  struct trace_t trace = {NULL, LOCATE_exec, 87, LOCATE_exec___IProcess___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
-  ((stream___FDStream___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*FDIStream::close*/;
+  ((stream___FDStream___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*FDStream::close*/;
   tracehead = trace.prev;
   return;
 }
 val_t exec___IProcess___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___IProcess___read_char, 89};
+  struct trace_t trace = {NULL, LOCATE_exec, 89, LOCATE_exec___IProcess___read_char};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
@@ -159,7 +159,7 @@ val_t exec___IProcess___read_char(val_t  self) {
   return variable0;
 }
 val_t exec___IProcess___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___IProcess___eof, 91};
+  struct trace_t trace = {NULL, LOCATE_exec, 91, LOCATE_exec___IProcess___eof};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
@@ -170,7 +170,7 @@ val_t exec___IProcess___eof(val_t  self) {
   return variable0;
 }
 void exec___IProcess___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___IProcess___init, 93};
+  struct trace_t trace = {NULL, LOCATE_exec, 93, LOCATE_exec___IProcess___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -178,11 +178,11 @@ void exec___IProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
-  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_exec___IProcess___eof, 93); nit_exit(1); } /*cast Array[String]*/;
+  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___IProcess___eof, LOCATE_exec, 93); nit_exit(1); } /*cast Array[String]*/;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IProcess].i]) return;
-  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  variable1 /*arguments*/,  TAG_Int(2), init_table /*YYY*/) /*IProcess::execute*/;
-  variable2 = ATTR_exec___Process____data( self) /*IProcess::_data*/;
+  ((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*/
   variable2 = variable3;
@@ -192,15 +192,15 @@ void exec___IProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   return;
 }
 void exec___IProcess___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___IProcess___init_, 99};
+  struct trace_t trace = {NULL, LOCATE_exec, 99, LOCATE_exec___IProcess___init_};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IProcess].i]) return;
-  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(2), init_table /*YYY*/) /*IProcess::execute*/;
-  variable1 = ATTR_exec___Process____data( self) /*IProcess::_data*/;
+  ((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*/
   variable1 = variable2;
@@ -210,16 +210,16 @@ void exec___IProcess___init_(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void exec___OProcess___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___OProcess___close, 112};
+  struct trace_t trace = {NULL, LOCATE_exec, 112, LOCATE_exec___OProcess___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___OProcess____out( self) /*OProcess::_out*/;
-  ((stream___IOS___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*OStream::close*/;
+  ((stream___IOS___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*IOS::close*/;
   tracehead = trace.prev;
   return;
 }
 val_t exec___OProcess___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___OProcess___is_writable, 114};
+  struct trace_t trace = {NULL, LOCATE_exec, 114, LOCATE_exec___OProcess___is_writable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_exec___OProcess____out( self) /*OProcess::_out*/;
@@ -230,7 +230,7 @@ val_t exec___OProcess___is_writable(val_t  self) {
   return variable0;
 }
 void exec___OProcess___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec___OProcess___write, 116};
+  struct trace_t trace = {NULL, LOCATE_exec, 116, LOCATE_exec___OProcess___write};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -241,7 +241,7 @@ void exec___OProcess___write(val_t  self, val_t  param0) {
   return;
 }
 void exec___OProcess___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___OProcess___init, 118};
+  struct trace_t trace = {NULL, LOCATE_exec, 118, LOCATE_exec___OProcess___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -249,11 +249,11 @@ void exec___OProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
-  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_exec___OProcess___write, 118); nit_exit(1); } /*cast Array[String]*/;
+  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___OProcess___write, LOCATE_exec, 118); nit_exit(1); } /*cast Array[String]*/;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OProcess].i]) return;
-  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  variable1 /*arguments*/,  TAG_Int(1), init_table /*YYY*/) /*OProcess::execute*/;
-  variable2 = ATTR_exec___Process____data( self) /*OProcess::_data*/;
+  ((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*/
   variable2 = variable3;
@@ -263,15 +263,15 @@ void exec___OProcess___init(val_t  self, val_t  param0, val_t  param1, int* init
   return;
 }
 void exec___OProcess___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___OProcess___init_, 124};
+  struct trace_t trace = {NULL, LOCATE_exec, 124, LOCATE_exec___OProcess___init_};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OProcess].i]) return;
-  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(1), init_table /*YYY*/) /*OProcess::execute*/;
-  variable1 = ATTR_exec___Process____data( self) /*OProcess::_data*/;
+  ((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*/
   variable1 = variable2;
@@ -281,18 +281,18 @@ void exec___OProcess___init_(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 void exec___IOProcess___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___IOProcess___close, 137};
+  struct trace_t trace = {NULL, LOCATE_exec, 137, LOCATE_exec___IOProcess___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_exec___IProcess____in( self) /*IOProcess::_in*/;
-  ((stream___FDStream___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*FDIStream::close*/;
-  variable0 = ATTR_exec___OProcess____out( self) /*IOProcess::_out*/;
-  ((stream___IOS___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*OStream::close*/;
+  variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
+  ((stream___FDStream___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*FDStream::close*/;
+  variable0 = ATTR_exec___OProcess____out( self) /*OProcess::_out*/;
+  ((stream___IOS___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*IOS::close*/;
   tracehead = trace.prev;
   return;
 }
 void exec___IOProcess___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___IOProcess___init, 143};
+  struct trace_t trace = {NULL, LOCATE_exec, 143, LOCATE_exec___IOProcess___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -300,53 +300,53 @@ void exec___IOProcess___init(val_t  self, val_t  param0, val_t  param1, int* ini
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
-  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_exec___IOProcess___close, 143); nit_exit(1); } /*cast Array[String]*/;
+  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_exec___IOProcess___close, LOCATE_exec, 143); nit_exit(1); } /*cast Array[String]*/;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IOProcess].i]) return;
-  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  variable1 /*arguments*/,  TAG_Int(3), init_table /*YYY*/) /*IOProcess::execute*/;
+  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  variable1 /*arguments*/,  TAG_Int(3), init_table /*YYY*/) /*Process::execute*/;
   ((exec___IProcess___init_t)CALL( self,COLOR_exec___IProcess___init))( self,  param0,  param1, init_table /*YYY*/) /*IProcess::init*/;
   ((exec___OProcess___init_t)CALL( self,COLOR_exec___OProcess___init))( self,  param0,  param1, init_table /*YYY*/) /*OProcess::init*/;
-  variable2 = ATTR_exec___Process____data( self) /*IOProcess::_data*/;
+  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*/
   variable2 = variable3;
-  ATTR_exec___IProcess____in( self) /*IOProcess::_in*/ = variable2;
-  variable2 = ATTR_exec___Process____data( self) /*IOProcess::_data*/;
+  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*/
   variable2 = variable3;
-  ATTR_exec___OProcess____out( self) /*IOProcess::_out*/ = variable2;
+  ATTR_exec___OProcess____out( self) /*OProcess::_out*/ = variable2;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IOProcess].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void exec___IOProcess___init_(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_exec___IOProcess___init_, 150};
+  struct trace_t trace = {NULL, LOCATE_exec, 150, LOCATE_exec___IOProcess___init_};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IOProcess].i]) return;
-  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(3), init_table /*YYY*/) /*IOProcess::execute*/;
+  ((exec___Process___execute_t)CALL( self,COLOR_exec___Process___execute))( self,  variable0 /*command*/,  NIT_NULL /*null*/,  TAG_Int(3), init_table /*YYY*/) /*Process::execute*/;
   ((exec___IProcess___init__t)CALL( self,COLOR_exec___IProcess___init_))( self,  param0, init_table /*YYY*/) /*IProcess::init_*/;
   ((exec___OProcess___init__t)CALL( self,COLOR_exec___OProcess___init_))( self,  param0, init_table /*YYY*/) /*OProcess::init_*/;
-  variable1 = ATTR_exec___Process____data( self) /*IOProcess::_data*/;
+  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*/
   variable1 = variable2;
-  ATTR_exec___IProcess____in( self) /*IOProcess::_in*/ = variable1;
-  variable1 = ATTR_exec___Process____data( self) /*IOProcess::_data*/;
+  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*/
   variable1 = variable2;
-  ATTR_exec___OProcess____out( self) /*IOProcess::_out*/ = variable1;
+  ATTR_exec___OProcess____out( self) /*OProcess::_out*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IOProcess].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t exec___Sys___system(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec___Sys___system, 159};
+  struct trace_t trace = {NULL, LOCATE_exec, 159, LOCATE_exec___Sys___system};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -359,57 +359,57 @@ val_t exec___Sys___system(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t exec___NativeString___system(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeString___system, 167};
+  struct trace_t trace = {NULL, LOCATE_exec, 167, LOCATE_exec___NativeString___system};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(string_NativeString_NativeString_system_0(UNBOX_NativeString( self)));
 }
 val_t exec___NativeProcess___id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___id, 172};
+  struct trace_t trace = {NULL, LOCATE_exec, 172, LOCATE_exec___NativeProcess___id};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_id_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___is_finished(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___is_finished, 173};
+  struct trace_t trace = {NULL, LOCATE_exec, 173, LOCATE_exec___NativeProcess___is_finished};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(exec_NativeProcess_NativeProcess_is_finished_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___status(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___status, 174};
+  struct trace_t trace = {NULL, LOCATE_exec, 174, LOCATE_exec___NativeProcess___status};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_status_0(UNBOX_NativeProcess( self)));
 }
 void exec___NativeProcess___wait(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___wait, 175};
+  struct trace_t trace = {NULL, LOCATE_exec, 175, LOCATE_exec___NativeProcess___wait};
   trace.prev = tracehead; tracehead = &trace;
   exec_NativeProcess_NativeProcess_wait_0(UNBOX_NativeProcess( self));
   tracehead = trace.prev;
   return;
 }
 void exec___NativeProcess___kill(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___kill, 176};
+  struct trace_t trace = {NULL, LOCATE_exec, 176, LOCATE_exec___NativeProcess___kill};
   trace.prev = tracehead; tracehead = &trace;
   exec_NativeProcess_NativeProcess_kill_1(UNBOX_NativeProcess( self), UNTAG_Int( param0));
   tracehead = trace.prev;
   return;
 }
 val_t exec___NativeProcess___in_fd(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___in_fd, 178};
+  struct trace_t trace = {NULL, LOCATE_exec, 178, LOCATE_exec___NativeProcess___in_fd};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_in_fd_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___out_fd(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___out_fd, 179};
+  struct trace_t trace = {NULL, LOCATE_exec, 179, LOCATE_exec___NativeProcess___out_fd};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_out_fd_0(UNBOX_NativeProcess( self)));
 }
 val_t exec___NativeProcess___err_fd(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_exec___NativeProcess___err_fd, 180};
+  struct trace_t trace = {NULL, LOCATE_exec, 180, LOCATE_exec___NativeProcess___err_fd};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(exec_NativeProcess_NativeProcess_err_fd_0(UNBOX_NativeProcess( self)));
index f1ff30b..92931ec 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires exec. */
-#ifndef exec_3_sep
-#define exec_3_sep
+#ifndef exec_2_sep
+#define exec_2_sep
 #include "stream._sep.h"
 #include <nit_common.h>
 #include <exec_nit.h>
@@ -17,7 +17,7 @@ extern const classtable_elt_t VFT_NativeProcess[];
 struct TBOX_NativeProcess { const classtable_elt_t * vft; void * val;};
 val_t BOX_NativeProcess(void * val);
 #define UNBOX_NativeProcess(x) (((struct TBOX_NativeProcess *)(VAL2OBJ(x)))->val)
-#define LOCATE_exec "exec"
+#define LOCATE_exec "./../lib/standard//exec.nit"
 extern const int SFT_exec[];
 #define ID_Process SFT_exec[0]
 #define COLOR_Process SFT_exec[1]
index 7ea4b81..3044e85 100644 (file)
@@ -1,22 +1,22 @@
 /* This C file is generated by NIT to compile module file. */
 #include "file._sep.h"
 void file___Object___printn(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file___Object___printn, 24};
+  struct trace_t trace = {NULL, LOCATE_file, 24, LOCATE_file___Object___printn};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   /* check if p<Array[Object] with p:Object */
-  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_file, 25); nit_exit(1); } /*cast Array[Object]*/;
+  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " (%s:%d)\n", LOCATE_file, 25); nit_exit(1); } /*cast Array[Object]*/;
   variable0 =  param0;
   variable1 = ((file___Object___stdout_t)CALL( self,COLOR_file___Object___stdout))( self) /*Object::stdout*/;
-  variable2 = ((string___Collection___to_s_t)CALL( variable0 /*objects*/,COLOR_string___Object___to_s))( variable0 /*objects*/) /*Array::to_s*/;
+  variable2 = ((string___Collection___to_s_t)CALL( variable0 /*objects*/,COLOR_string___Object___to_s))( variable0 /*objects*/) /*Collection::to_s*/;
   ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
   tracehead = trace.prev;
   return;
 }
 void file___Object___print(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file___Object___print, 30};
+  struct trace_t trace = {NULL, LOCATE_file, 30, LOCATE_file___Object___print};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -35,11 +35,11 @@ void file___Object___print(val_t  self, val_t  param0) {
   return;
 }
 val_t file___Object___getc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___Object___getc, 39};
+  struct trace_t trace = {NULL, LOCATE_file, 39, LOCATE_file___Object___getc};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
-  variable0 = ((stream___BufferedIStream___read_char_t)CALL(variable0,COLOR_stream___IStream___read_char))(variable0) /*IFStream::read_char*/;
+  variable0 = ((stream___BufferedIStream___read_char_t)CALL(variable0,COLOR_stream___IStream___read_char))(variable0) /*BufferedIStream::read_char*/;
   variable0 = TAG_Char(UNTAG_Int(variable0));
   goto return_label2;
   return_label2: while(false);
@@ -47,18 +47,18 @@ val_t file___Object___getc(val_t  self) {
   return variable0;
 }
 val_t file___Object___gets(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___Object___gets, 45};
+  struct trace_t trace = {NULL, LOCATE_file, 45, LOCATE_file___Object___gets};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
-  variable0 = ((stream___IStream___read_line_t)CALL(variable0,COLOR_stream___IStream___read_line))(variable0) /*IFStream::read_line*/;
+  variable0 = ((stream___IStream___read_line_t)CALL(variable0,COLOR_stream___IStream___read_line))(variable0) /*IStream::read_line*/;
   goto return_label3;
   return_label3: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t file___Object___stdin(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___Object___stdin, 288};
+  struct trace_t trace = {NULL, LOCATE_file, 288, 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;
@@ -74,7 +74,7 @@ val_t file___Object___stdin(val_t  self) {
   return variable0;
 }
 val_t file___Object___stdout(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___Object___stdout, 291};
+  struct trace_t trace = {NULL, LOCATE_file, 291, 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;
@@ -90,7 +90,7 @@ val_t file___Object___stdout(val_t  self) {
   return variable0;
 }
 val_t file___Object___stderr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___Object___stderr, 294};
+  struct trace_t trace = {NULL, LOCATE_file, 294, 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;
@@ -106,13 +106,13 @@ val_t file___Object___stderr(val_t  self) {
   return variable0;
 }
 val_t file___FStream___path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___FStream___path, 57};
+  struct trace_t trace = {NULL, LOCATE_file, 57, LOCATE_file___FStream___path};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_file___FStream____path( self) /*FStream::_path*/;
 }
 val_t file___FStream___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___FStream___file_stat, 63};
+  struct trace_t trace = {NULL, LOCATE_file, 63, LOCATE_file___FStream___file_stat};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_file___FStream____file( self) /*FStream::_file*/;
@@ -123,30 +123,30 @@ val_t file___FStream___file_stat(val_t  self) {
   return variable0;
 }
 void file___IFStream___reopen(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___IFStream___reopen, 73};
+  struct trace_t trace = {NULL, LOCATE_file, 73, LOCATE_file___IFStream___reopen};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((stream___BufferedIStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*IFStream::eof*/;
+  variable0 = ((stream___BufferedIStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*BufferedIStream::eof*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { /*if*/
     ((file___IFStream___close_t)CALL( self,COLOR_stream___IOS___close))( self) /*IFStream::close*/;
   }
-  variable0 = ATTR_file___FStream____path( self) /*IFStream::_path*/;
+  variable0 = ATTR_file___FStream____path( self) /*FStream::_path*/;
   variable0 = ((string___String___to_cstring_t)CALL(variable0,COLOR_string___String___to_cstring))(variable0) /*String::to_cstring*/;
-  variable0 = ((file___NativeFileCapable___io_open_read_t)CALL( self,COLOR_file___NativeFileCapable___io_open_read))( self, variable0) /*IFStream::io_open_read*/;
-  ATTR_file___FStream____file( self) /*IFStream::_file*/ = variable0;
+  variable0 = ((file___NativeFileCapable___io_open_read_t)CALL( self,COLOR_file___NativeFileCapable___io_open_read))( self, variable0) /*NativeFileCapable::io_open_read*/;
+  ATTR_file___FStream____file( self) /*FStream::_file*/ = variable0;
   ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/ =  TAG_Bool(false);
-  ATTR_stream___BufferedIStream____buffer_pos( self) /*IFStream::_buffer_pos*/ =  TAG_Int(0);
-  variable0 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
-  ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*String::clear*/;
+  ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/ =  TAG_Int(0);
+  variable0 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
+  ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*AbstractArray::clear*/;
   tracehead = trace.prev;
   return;
 }
 void file___IFStream___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___IFStream___close, 82};
+  struct trace_t trace = {NULL, LOCATE_file, 82, LOCATE_file___IFStream___close};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_file___FStream____file( self) /*IFStream::_file*/;
+  variable1 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable1 = ((file___NativeFile___io_close_t)CALL(variable1,COLOR_file___NativeFile___io_close))(variable1) /*NativeFile::io_close*/;
   variable0 = variable1;
   ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/ =  TAG_Bool(true);
@@ -154,16 +154,16 @@ void file___IFStream___close(val_t  self) {
   return;
 }
 void file___IFStream___fill_buffer(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___IFStream___fill_buffer, 88};
+  struct trace_t trace = {NULL, LOCATE_file, 88, LOCATE_file___IFStream___fill_buffer};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_file___FStream____file( self) /*IFStream::_file*/;
-  variable2 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
+  variable1 = ATTR_file___FStream____file( self) /*FStream::_file*/;
+  variable2 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
   variable2 = ATTR_string___String____items(variable2) /*String::_items*/;
-  variable3 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
+  variable3 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
   variable3 = ATTR_string___String____capacity(variable3) /*String::_capacity*/;
   variable1 = ((file___NativeFile___io_read_t)CALL(variable1,COLOR_file___NativeFile___io_read))(variable1, variable2, variable3) /*NativeFile::io_read*/;
   variable0 = variable1;
@@ -172,40 +172,40 @@ void file___IFStream___fill_buffer(val_t  self) {
     ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/ =  TAG_Bool(true);
     variable0 =  TAG_Int(0) /*nb=*/;
   }
-  variable1 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
-  ATTR_array___AbstractArray____length(variable1) /*String::_length*/ =  variable0 /*nb*/;
-  ATTR_stream___BufferedIStream____buffer_pos( self) /*IFStream::_buffer_pos*/ =  TAG_Int(0);
+  variable1 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
+  ATTR_array___AbstractArray____length(variable1) /*AbstractArray::_length*/ =  variable0 /*nb*/;
+  ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/ =  TAG_Int(0);
   tracehead = trace.prev;
   return;
 }
 val_t file___IFStream___end_reached(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___IFStream___end_reached, 100};
+  struct trace_t trace = {NULL, LOCATE_file, 100, LOCATE_file___IFStream___end_reached};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/;
 }
 void file___IFStream___open(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file___IFStream___open, 103};
+  struct trace_t trace = {NULL, LOCATE_file, 103, LOCATE_file___IFStream___open};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
-  ATTR_file___FStream____path( self) /*IFStream::_path*/ =  variable0 /*path*/;
-  ((stream___BufferedIStream___prepare_buffer_t)CALL( self,COLOR_stream___BufferedIStream___prepare_buffer))( self,  TAG_Int(10)) /*IFStream::prepare_buffer*/;
-  variable1 = ATTR_file___FStream____path( self) /*IFStream::_path*/;
+  ATTR_file___FStream____path( self) /*FStream::_path*/ =  variable0 /*path*/;
+  ((stream___BufferedIStream___prepare_buffer_t)CALL( self,COLOR_stream___BufferedIStream___prepare_buffer))( self,  TAG_Int(10)) /*BufferedIStream::prepare_buffer*/;
+  variable1 = ATTR_file___FStream____path( self) /*FStream::_path*/;
   variable1 = ((string___String___to_cstring_t)CALL(variable1,COLOR_string___String___to_cstring))(variable1) /*String::to_cstring*/;
-  variable1 = ((file___NativeFileCapable___io_open_read_t)CALL( self,COLOR_file___NativeFileCapable___io_open_read))( self, variable1) /*IFStream::io_open_read*/;
-  ATTR_file___FStream____file( self) /*IFStream::_file*/ = variable1;
-  variable1 = ATTR_file___FStream____file( self) /*IFStream::_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*/) /*NativeFile::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'cant_open_file' ", LOCATE_file___IFStream___open, 109); nit_exit(1);}
+  variable1 = ((file___NativeFileCapable___io_open_read_t)CALL( self,COLOR_file___NativeFileCapable___io_open_read))( self, variable1) /*NativeFileCapable::io_open_read*/;
+  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___IFStream___open, LOCATE_file, 109); nit_exit(1);}
   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, LOCATE_file___IFStream___without_file, 112};
+  struct trace_t trace = {NULL, LOCATE_file, 112, LOCATE_file___IFStream___without_file};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i] = 1;
@@ -213,22 +213,22 @@ 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, LOCATE_file___OFStream___write, 120};
+  struct trace_t trace = {NULL, LOCATE_file, 120, LOCATE_file___OFStream___write};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_file___OFStream___write, 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, 123); 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*/) /*String::length*/;
+  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*/;
   tracehead = trace.prev;
   return;
 }
 val_t file___OFStream___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___OFStream___is_writable, 127};
+  struct trace_t trace = {NULL, LOCATE_file, 127, LOCATE_file___OFStream___is_writable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
@@ -238,11 +238,11 @@ val_t file___OFStream___is_writable(val_t  self) {
   return variable0;
 }
 void file___OFStream___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___OFStream___close, 129};
+  struct trace_t trace = {NULL, LOCATE_file, 129, LOCATE_file___OFStream___close};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_file___FStream____file( self) /*OFStream::_file*/;
+  variable1 = ATTR_file___FStream____file( self) /*FStream::_file*/;
   variable1 = ((file___NativeFile___io_close_t)CALL(variable1,COLOR_file___NativeFile___io_close))(variable1) /*NativeFile::io_close*/;
   variable0 = variable1;
   ATTR_file___OFStream____writable( self) /*OFStream::_writable*/ =  TAG_Bool(false);
@@ -250,7 +250,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, LOCATE_file___OFStream___write_native, 138};
+  struct trace_t trace = {NULL, LOCATE_file, 138, LOCATE_file___OFStream___write_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -262,47 +262,47 @@ 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 (%s: %d)\n", "", LOCATE_file___OFStream___write_native, 141); nit_exit(1);}
-  variable3 = ATTR_file___FStream____file( self) /*OFStream::_file*/;
+  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);}
+  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[Object]*/
+    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*/
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*err*/) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable5) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable1 /*len*/) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable6) /*Array::add*/;
-    ((file___Object___printn_t)CALL( self,COLOR_file___Object___printn))( self, variable3) /*OFStream::printn*/;
+    ((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*/;
   }
   tracehead = trace.prev;
   return;
 }
 void file___OFStream___open(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file___OFStream___open, 149};
+  struct trace_t trace = {NULL, LOCATE_file, 149, LOCATE_file___OFStream___open};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
   variable1 = ((string___String___to_cstring_t)CALL( variable0 /*path*/,COLOR_string___String___to_cstring))( variable0 /*path*/) /*String::to_cstring*/;
-  variable1 = ((file___NativeFileCapable___io_open_write_t)CALL( self,COLOR_file___NativeFileCapable___io_open_write))( self, variable1) /*OFStream::io_open_write*/;
-  ATTR_file___FStream____file( self) /*OFStream::_file*/ = variable1;
-  variable1 = ATTR_file___FStream____file( self) /*OFStream::_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*/) /*NativeFile::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'cant_open_file' ", LOCATE_file___OFStream___open, 153); nit_exit(1);}
-  ATTR_file___FStream____path( self) /*OFStream::_path*/ =  variable0 /*path*/;
+  variable1 = ((file___NativeFileCapable___io_open_write_t)CALL( self,COLOR_file___NativeFileCapable___io_open_write))( self, variable1) /*NativeFileCapable::io_open_write*/;
+  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);}
+  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___without_file(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file___OFStream___without_file, 158};
+  struct trace_t trace = {NULL, LOCATE_file, 158, LOCATE_file___OFStream___without_file};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i] = 1;
@@ -310,52 +310,52 @@ 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, LOCATE_file___Stdin___init, 165};
+  struct trace_t trace = {NULL, LOCATE_file, 165, LOCATE_file___Stdin___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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*/;
-  variable0 = ((file___NativeFileCapable___native_stdin_t)CALL( self,COLOR_file___NativeFileCapable___native_stdin))( self) /*Stdin::native_stdin*/;
-  ATTR_file___FStream____file( self) /*Stdin::_file*/ = variable0;
+  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*/
-  ATTR_file___FStream____path( self) /*Stdin::_path*/ = variable0;
-  ((stream___BufferedIStream___prepare_buffer_t)CALL( self,COLOR_stream___BufferedIStream___prepare_buffer))( self,  TAG_Int(1)) /*Stdin::prepare_buffer*/;
+  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;
   tracehead = trace.prev;
   return;
 }
 void file___Stdout___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file___Stdout___init, 174};
+  struct trace_t trace = {NULL, LOCATE_file, 174, LOCATE_file___Stdout___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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*/;
-  variable0 = ((file___NativeFileCapable___native_stdout_t)CALL( self,COLOR_file___NativeFileCapable___native_stdout))( self) /*Stdout::native_stdout*/;
-  ATTR_file___FStream____file( self) /*Stdout::_file*/ = variable0;
+  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*/
-  ATTR_file___FStream____path( self) /*Stdout::_path*/ = variable0;
-  ATTR_file___OFStream____writable( self) /*Stdout::_writable*/ =  TAG_Bool(true);
+  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;
   tracehead = trace.prev;
   return;
 }
 void file___Stderr___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_file___Stderr___init, 183};
+  struct trace_t trace = {NULL, LOCATE_file, 183, LOCATE_file___Stderr___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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*/;
-  variable0 = ((file___NativeFileCapable___native_stderr_t)CALL( self,COLOR_file___NativeFileCapable___native_stderr))( self) /*Stderr::native_stderr*/;
-  ATTR_file___FStream____file( self) /*Stderr::_file*/ = variable0;
+  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*/
-  ATTR_file___FStream____path( self) /*Stderr::_path*/ = variable0;
-  ATTR_file___OFStream____writable( self) /*Stderr::_writable*/ =  TAG_Bool(true);
+  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;
   tracehead = trace.prev;
   return;
 }
 val_t file___String___file_exists(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___String___file_exists, 193};
+  struct trace_t trace = {NULL, LOCATE_file, 193, LOCATE_file___String___file_exists};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
@@ -366,7 +366,7 @@ val_t file___String___file_exists(val_t  self) {
   return variable0;
 }
 val_t file___String___file_stat(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___String___file_stat, 196};
+  struct trace_t trace = {NULL, LOCATE_file, 196, LOCATE_file___String___file_stat};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
@@ -377,7 +377,7 @@ val_t file___String___file_stat(val_t  self) {
   return variable0;
 }
 val_t file___String___strip_extension(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file___String___strip_extension, 198};
+  struct trace_t trace = {NULL, LOCATE_file, 198, LOCATE_file___String___strip_extension};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -385,8 +385,8 @@ val_t file___String___strip_extension(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((string___String___has_suffix_t)CALL( self,COLOR_string___String___has_suffix))( self,  variable0 /*ext*/) /*String::has_suffix*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
-    variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*ext*/,COLOR_abstract_collection___Collection___length))( variable0 /*ext*/) /*String::length*/;
+    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
+    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;
@@ -398,16 +398,16 @@ val_t file___String___strip_extension(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t file___String___basename(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_file___String___basename, 206};
+  struct trace_t trace = {NULL, LOCATE_file, 206, LOCATE_file___String___basename};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
+  variable2 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
-  variable2 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self,  TAG_Char('/'), variable2) /*String::last_index_of_from*/;
+  variable2 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self,  TAG_Char('/'), variable2) /*AbstractArray::last_index_of_from*/;
   variable1 = variable2;
   variable2 =  self;
   variable3 = TAG_Bool(UNTAG_Int( variable1 /*pos*/)>=UNTAG_Int( TAG_Int(0)));
@@ -424,13 +424,13 @@ val_t file___String___basename(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t file___String___dirname(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___String___dirname, 216};
+  struct trace_t trace = {NULL, LOCATE_file, 216, LOCATE_file___String___dirname};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
+  variable1 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
-  variable1 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self,  TAG_Char('/'), variable1) /*String::last_index_of_from*/;
+  variable1 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self,  TAG_Char('/'), variable1) /*AbstractArray::last_index_of_from*/;
   variable0 = variable1;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*pos*/)>=UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -447,15 +447,15 @@ val_t file___String___dirname(val_t  self) {
   return variable0;
 }
 val_t file___String___file_path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___String___file_path, 226};
+  struct trace_t trace = {NULL, LOCATE_file, 226, LOCATE_file___String___file_path};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
+  variable1 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable0 = variable1;
   variable2 = TAG_Int(UNTAG_Int( variable0 /*l*/)-UNTAG_Int( TAG_Int(1)));
-  variable2 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self,  TAG_Char('/'), variable2) /*String::last_index_of_from*/;
+  variable2 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self,  TAG_Char('/'), variable2) /*AbstractArray::last_index_of_from*/;
   variable1 = variable2;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*pos*/)>=UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -471,7 +471,7 @@ val_t file___String___file_path(val_t  self) {
   return variable0;
 }
 void file___String___mkdir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___String___mkdir, 236};
+  struct trace_t trace = {NULL, LOCATE_file, 236, LOCATE_file___String___mkdir};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -483,7 +483,7 @@ void file___String___mkdir(val_t  self) {
   variable0 = variable1;
   variable2 = NEW_string___String___init(); /*new String*/
   variable1 = variable2;
-  variable2 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dirs*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dirs*/) /*Array::is_empty*/;
+  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;
   }
@@ -491,26 +491,26 @@ void file___String___mkdir(val_t  self) {
   variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable4 = variable3;
   if (UNTAG_Bool(variable4)) { /* and */
-    variable4 = ATTR_array___AbstractArray____length( variable0 /*dirs*/) /*Array::_length*/;
+    variable4 = ATTR_array___AbstractArray____length( variable0 /*dirs*/) /*AbstractArray::_length*/;
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
   }
   variable3 = variable4;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  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);
   variable2 = variable3;
-  variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*String::is_empty*/;
+  variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool(variable2)) { /*if*/
     ((string___String___add_t)CALL( variable1 /*path*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*path*/,  TAG_Char('/')) /*String::add*/;
   }
-  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*dirs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*dirs*/) /*Array::iterator*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*dirs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*dirs*/) /*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 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*d*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*d*/) /*String::is_empty*/;
+    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;
     }
@@ -527,103 +527,103 @@ void file___String___mkdir(val_t  self) {
   return;
 }
 val_t file___NativeString___file_exists(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_file___NativeString___file_exists, 256};
+  struct trace_t trace = {NULL, LOCATE_file, 256, LOCATE_file___NativeString___file_exists};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeString___file_stat, 257};
+  struct trace_t trace = {NULL, LOCATE_file, 257, LOCATE_file___NativeString___file_stat};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeString___file_mkdir, 258};
+  struct trace_t trace = {NULL, LOCATE_file, 258, LOCATE_file___NativeString___file_mkdir};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___FileStat___mode, 263};
+  struct trace_t trace = {NULL, LOCATE_file, 263, LOCATE_file___FileStat___mode};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___FileStat___atime, 265};
+  struct trace_t trace = {NULL, LOCATE_file, 265, LOCATE_file___FileStat___atime};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___FileStat___ctime, 266};
+  struct trace_t trace = {NULL, LOCATE_file, 266, LOCATE_file___FileStat___ctime};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___FileStat___mtime, 267};
+  struct trace_t trace = {NULL, LOCATE_file, 267, LOCATE_file___FileStat___mtime};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___FileStat___size, 268};
+  struct trace_t trace = {NULL, LOCATE_file, 268, LOCATE_file___FileStat___size};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFile___io_read, 274};
+  struct trace_t trace = {NULL, LOCATE_file, 274, LOCATE_file___NativeFile___io_read};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFile___io_write, 275};
+  struct trace_t trace = {NULL, LOCATE_file, 275, LOCATE_file___NativeFile___io_write};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFile___io_close, 276};
+  struct trace_t trace = {NULL, LOCATE_file, 276, LOCATE_file___NativeFile___io_close};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFile___file_stat, 277};
+  struct trace_t trace = {NULL, LOCATE_file, 277, LOCATE_file___NativeFile___file_stat};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFileCapable___io_open_read, 281};
+  struct trace_t trace = {NULL, LOCATE_file, 281, LOCATE_file___NativeFileCapable___io_open_read};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFileCapable___io_open_write, 282};
+  struct trace_t trace = {NULL, LOCATE_file, 282, LOCATE_file___NativeFileCapable___io_open_write};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFileCapable___native_stdin, 283};
+  struct trace_t trace = {NULL, LOCATE_file, 283, LOCATE_file___NativeFileCapable___native_stdin};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFileCapable___native_stdout, 284};
+  struct trace_t trace = {NULL, LOCATE_file, 284, LOCATE_file___NativeFileCapable___native_stdout};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_file___NativeFileCapable___native_stderr, 285};
+  struct trace_t trace = {NULL, LOCATE_file, 285, LOCATE_file___NativeFileCapable___native_stderr};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stderr_0( self));
index 5b1c35b..a486c7a 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires file. */
-#ifndef file_3_sep
-#define file_3_sep
+#ifndef file_2_sep
+#define file_2_sep
 #include "stream._sep.h"
 #include "string_search._sep.h"
 #include <nit_common.h>
@@ -29,7 +29,7 @@ val_t BOX_NativeFile(void * val);
 #define UNBOX_NativeFile(x) (((struct TBOX_NativeFile *)(VAL2OBJ(x)))->val)
 
 extern const classtable_elt_t VFT_NativeFileCapable[];
-#define LOCATE_file "file"
+#define LOCATE_file "./../lib/standard//file.nit"
 extern const int SFT_file[];
 #define COLOR_file___Object___printn SFT_file[0]
 #define COLOR_file___Object___print SFT_file[1]
index db4d0f8..075feaf 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module genericity. */
 #include "genericity._sep.h"
 val_t genericity___MMLocalClass___get_formal(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalClass___get_formal, 25};
+  struct trace_t trace = {NULL, LOCATE_genericity, 25, LOCATE_genericity___MMLocalClass___get_formal};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15,11 +15,11 @@ val_t genericity___MMLocalClass___get_formal(val_t  self, val_t  param0) {
   variable4 = variable3;
   if (UNTAG_Bool(variable4)) { /* and */
     variable4 = variable1;
-    variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
+    variable4 = ATTR_array___AbstractArray____length(variable4) /*AbstractArray::_length*/;
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
   }
   variable3 = variable4;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
   variable3 = variable1;
   variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
@@ -32,27 +32,27 @@ val_t genericity___MMLocalClass___get_formal(val_t  self, val_t  param0) {
   return variable1;
 }
 void genericity___MMLocalClass___register_formal(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalClass___register_formal, 31};
+  struct trace_t trace = {NULL, LOCATE_genericity, 31, LOCATE_genericity___MMLocalClass___register_formal};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((genericity___MMTypeFormalParameter___def_class_t)CALL( variable0 /*f*/,COLOR_genericity___MMTypeFormalParameter___def_class))( variable0 /*f*/) /*MMTypeFormalParameter::def_class*/;
-  variable1 = TAG_Bool((variable1 ==  self) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  self) /*MMLocalClass::==*/)))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalClass___register_formal, 35); nit_exit(1);}
+  variable1 = TAG_Bool((variable1 ==  self) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  self) /*Object::==*/)))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMLocalClass___register_formal, LOCATE_genericity, 35); nit_exit(1);}
   variable1 = ((genericity___MMTypeFormalParameter___position_t)CALL( variable0 /*f*/,COLOR_genericity___MMTypeFormalParameter___position))( variable0 /*f*/) /*MMTypeFormalParameter::position*/;
   variable2 = ATTR_genericity___MMLocalClass____formals_types( self) /*MMLocalClass::_formals_types*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable1 = TAG_Bool((variable1)==(variable2));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalClass___register_formal, 36); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMLocalClass___register_formal, LOCATE_genericity, 36); nit_exit(1);}
   variable1 = ATTR_genericity___MMLocalClass____formals_types( self) /*MMLocalClass::_formals_types*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*f*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*f*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 val_t genericity___MMLocalClass___get_instantiate_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalClass___get_instantiate_type, 43};
+  struct trace_t trace = {NULL, LOCATE_genericity, 43, LOCATE_genericity___MMLocalClass___get_instantiate_type};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -60,7 +60,7 @@ val_t genericity___MMLocalClass___get_instantiate_type(val_t  self, val_t  param
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_genericity___MMLocalClass____types( self) /*MMLocalClass::_types*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -77,7 +77,7 @@ val_t genericity___MMLocalClass___get_instantiate_type(val_t  self, val_t  param
   variable2 = NEW_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*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*g*/) /*AbstractArray::add*/;
   variable1 =  variable1 /*g*/;
   goto return_label3;
   return_label3: while(false);
@@ -85,7 +85,7 @@ val_t genericity___MMLocalClass___get_instantiate_type(val_t  self, val_t  param
   return variable1;
 }
 val_t genericity___MMLocalClass___formals_types(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalClass___formals_types, 57};
+  struct trace_t trace = {NULL, LOCATE_genericity, 57, LOCATE_genericity___MMLocalClass___formals_types};
   val_t variable0;
     val_t variable1;
       val_t variable2;
@@ -96,12 +96,12 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
       val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_genericity___MMLocalClass____formals_types( self) /*MMLocalClass::_formals_types*/;
-  variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*Array::is_empty*/;
+  variable0 = ((array___AbstractArray___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool(variable0)) { /*if*/
     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 (%s: %d)\n", "", LOCATE_genericity___MMLocalClass___formals_types, 62); nit_exit(1);}
+    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[Int]*/
+    variable1 = NEW_range___Range___without_last( TAG_Int(0), variable0); /*new Range[E]*/
     variable0 = variable1;
     variable0 = ((range___Range___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Range::iterator*/;
     while (true) { /*for*/
@@ -112,7 +112,7 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
       variable3 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable3) /*MMGlobalClass::intro*/;
       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*/) /*MMTypeFormalParameter::name*/;
+      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*/
       variable4 = variable5;
       variable3 = variable4;
@@ -122,7 +122,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[Int]*/
+    variable1 = NEW_range___Range___without_last( TAG_Int(0), variable0); /*new Range[E]*/
     variable0 = variable1;
     variable0 = ((range___Range___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Range::iterator*/;
     while (true) { /*for*/
@@ -139,11 +139,11 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
       variable7 = variable6;
       if (UNTAG_Bool(variable7)) { /* and */
         variable7 = variable4;
-        variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
+        variable7 = ATTR_array___AbstractArray____length(variable7) /*AbstractArray::_length*/;
         variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
       }
       variable6 = variable7;
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
       variable6 = variable4;
       variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
       variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
@@ -151,7 +151,7 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
       return_label8: while(false);
       variable4 = variable6;
       variable3 = variable4;
-      variable4 = ((type_formal___MMTypeFormal___bound_t)CALL( variable2 /*oft*/,COLOR_type_formal___MMTypeFormal___bound))( variable2 /*oft*/) /*MMTypeFormalParameter::bound*/;
+      variable4 = ((type_formal___MMTypeFormal___bound_t)CALL( variable2 /*oft*/,COLOR_type_formal___MMTypeFormal___bound))( variable2 /*oft*/) /*MMTypeFormal::bound*/;
       variable5 = ((abstractmetamodel___MMLocalClass___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___module))( self) /*MMLocalClass::module*/;
       variable4 = ((static_type___MMType___for_module_t)CALL(variable4,COLOR_static_type___MMType___for_module))(variable4, variable5) /*MMType::for_module*/;
       ((genericity___MMTypeFormalParameter___bound__eq_t)CALL( variable3 /*ft*/,COLOR_genericity___MMTypeFormalParameter___bound__eq))( variable3 /*ft*/, variable4) /*MMTypeFormalParameter::bound=*/;
@@ -167,12 +167,12 @@ val_t genericity___MMLocalClass___formals_types(val_t  self) {
   return variable0;
 }
 val_t genericity___MMLocalClass___get_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalClass___get_type, 80};
+  struct trace_t trace = {NULL, LOCATE_genericity, 80, LOCATE_genericity___MMLocalClass___get_type};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*MMType::==*/)))));
+  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::==*/)))));
   variable1 = variable0;
   if (UNTAG_Bool(variable1)) { /* and */
     variable1 = ((genericity___MMLocalClass___is_generic_t)CALL( self,COLOR_genericity___MMLocalClass___is_generic))( self) /*MMLocalClass::is_generic*/;
@@ -193,7 +193,7 @@ val_t genericity___MMLocalClass___get_type(val_t  self) {
   return variable0;
 }
 val_t genericity___MMLocalClass___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalClass___is_generic, 90};
+  struct trace_t trace = {NULL, LOCATE_genericity, 90, LOCATE_genericity___MMLocalClass___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___arity))( self) /*MMLocalClass::arity*/;
@@ -203,225 +203,54 @@ val_t genericity___MMLocalClass___is_generic(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-val_t genericity___MMSignature___adaptation_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMSignature___adaptation_to, 95};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-      val_t variable4;
-      val_t variable5;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
-  variable1 = TAG_Bool((variable1 ==  variable0 /*r*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*r*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*r*/) /*MMType::==*/)))));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 =  self;
-    goto return_label11;
-  }
-  variable2 = ((static_type___MMType___module_t)CALL( variable0 /*r*/,COLOR_static_type___MMType___module))( variable0 /*r*/) /*MMType::module*/;
-  variable1 = variable2;
-  variable3 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
-  variable2 = variable3;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*p*/ ==  NIT_NULL /*null*/) || (( variable2 /*p*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable2 /*p*/,COLOR_kernel___Object_____eqeq))( variable2 /*p*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = NEW_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) /*Array::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___MMType___for_module_t)CALL( variable4 /*i*/,COLOR_static_type___MMType___for_module))( variable4 /*i*/,  variable1 /*mod*/) /*MMType::for_module*/;
-      variable5 = ((static_type___MMType___adapt_to_t)CALL(variable5,COLOR_static_type___MMType___adapt_to))(variable5,  variable0 /*r*/) /*MMType::adapt_to*/;
-      ((array___AbstractArray___add_t)CALL( variable2 /*p*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*p*/, variable5) /*Array::add*/;
-      continue_12: while(0);
-      ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
-    }
-    break_12: while(0);
-  }
-  variable4 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
-  variable3 = variable4;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*rv*/ ==  NIT_NULL /*null*/) || (( variable3 /*rv*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*rv*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*rv*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*rv*/,COLOR_kernel___Object_____eqeq))( variable3 /*rv*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = ((static_type___MMType___for_module_t)CALL( variable3 /*rv*/,COLOR_static_type___MMType___for_module))( variable3 /*rv*/,  variable1 /*mod*/) /*MMType::for_module*/;
-    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*/
-  variable1 = variable4;
-  goto return_label11;
-  return_label11: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t genericity___MMLocalProperty___recv(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalProperty___recv, 121};
-  val_t variable0;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
-  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*/) /*MMSignature::==*/)))))));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___recv, 123); nit_exit(1);}
-  variable0 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
-  variable0 = ((static_type___MMSignature___recv_t)CALL(variable0,COLOR_static_type___MMSignature___recv))(variable0) /*MMSignature::recv*/;
-  goto return_label13;
-  return_label13: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-void genericity___MMLocalProperty___recv__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalProperty___recv__eq, 127};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*rec*/ ==  NIT_NULL /*null*/) || (( variable0 /*rec*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*rec*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*rec*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*rec*/,COLOR_kernel___Object_____eqeq))( variable0 /*rec*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___recv__eq, 129); nit_exit(1);}
-  variable1 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
-  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*/) /*MMSignature::==*/)))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___recv__eq, 131); nit_exit(1);}
-  ATTR_genericity___MMLocalProperty____recv_alone( self) /*MMLocalProperty::_recv_alone*/ =  variable0 /*rec*/;
-  tracehead = trace.prev;
-  return;
-}
-val_t genericity___MMLocalProperty___signature(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalProperty___signature, 135};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-    val_t variable4;
-  trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
-  variable0 = variable1;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*sig*/ ==  NIT_NULL /*null*/) || (( variable0 /*sig*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*sig*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*sig*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*sig*/,COLOR_kernel___Object_____eqeq))( variable0 /*sig*/,  NIT_NULL /*null*/) /*MMSignature::==*/)))))));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable0 =  variable0 /*sig*/;
-    goto return_label15;
-  }
-  variable1 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_MMConcreteProperty, ID_MMConcreteProperty)) /*cast MMConcreteProperty*/;
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable0 =  NIT_NULL /*null*/;
-    goto return_label15;
-  }
-  variable2 = ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_prop*/;
-  variable1 = variable2;
-  variable3 = ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self) /*MMLocalProperty::_concrete_property*/;
-  variable2 = variable3;
-  variable3 = TAG_Bool(( variable1 /*sp*/ ==  NIT_NULL /*null*/) || (( variable1 /*sp*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*sp*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*sp*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*sp*/,COLOR_kernel___Object_____eqeq))( variable1 /*sp*/,  NIT_NULL /*null*/) /*MMLocalProperty::==*/)))));
-  if (UNTAG_Bool(variable3)) { /*if*/
-    variable3 = ((genericity___MMLocalProperty___signature_t)CALL( variable2 /*impl*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*impl*/) /*MMConcreteProperty::signature*/;
-    ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ = variable3;
-    variable3 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
-    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*/) /*MMSignature::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___signature, 150); nit_exit(1);}
-  } else { /*if*/
-    variable3 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*sp*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*sp*/) /*MMLocalProperty::signature*/;
-    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*/) /*MMSignature::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___signature, 153); nit_exit(1);}
-    variable3 = ATTR_genericity___MMLocalProperty____recv_alone( self) /*MMLocalProperty::_recv_alone*/;
-    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*/) /*MMType::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___signature, 154); nit_exit(1);}
-    variable3 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*sp*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*sp*/) /*MMLocalProperty::signature*/;
-    variable4 = ATTR_genericity___MMLocalProperty____recv_alone( self) /*MMLocalProperty::_recv_alone*/;
-    variable3 = ((genericity___MMSignature___adaptation_to_t)CALL(variable3,COLOR_genericity___MMSignature___adaptation_to))(variable3, variable4) /*MMSignature::adaptation_to*/;
-    ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ = variable3;
-  }
-  variable3 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
-  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*/) /*MMSignature::==*/)))))));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___signature, 158); nit_exit(1);}
-  variable3 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
-  variable0 = variable3;
-  goto return_label15;
-  return_label15: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t genericity___MMLocalProperty___adapt_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalProperty___adapt_property, 163};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ ==  NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMLocalProperty___adapt_property, 167); nit_exit(1);}
-  variable2 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
-  variable2 = ((genericity___MMLocalClass___get_type_t)CALL(variable2,COLOR_static_type___MMLocalClass___get_type))(variable2) /*MMLocalClass::get_type*/;
-  variable1 = variable2;
-  variable2 = TAG_Bool(( variable0 /*t*/ ==  variable1 /*recv*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, variable1 /*recv*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  variable1 /*recv*/) /*MMType::==*/)))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable1 =  self;
-    goto return_label16;
-  } else { /*if*/
-    variable2 = ((inheritance___MMLocalProperty___inherit_to_t)CALL( self,COLOR_inheritance___MMLocalProperty___inherit_to))( self,  variable0 /*t*/) /*MMLocalProperty::inherit_to*/;
-    variable1 = variable2;
-    goto return_label16;
-  }
-  return_label16: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-void genericity___MMLocalProperty___inherit_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMLocalProperty___inherit_from, 176};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  ((genericity___MMLocalProperty___inherit_from_t)CALL( self,COLOR_SUPER_genericity___MMLocalProperty___inherit_from))( self,  param0,  param1) /*super MMLocalProperty::inherit_from*/;
-  ATTR_genericity___MMLocalProperty____recv_alone( self) /*MMLocalProperty::_recv_alone*/ =  variable1 /*t*/;
-  tracehead = trace.prev;
-  return;
-}
 val_t genericity___MMType___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMType___is_generic, 184};
+  struct trace_t trace = {NULL, LOCATE_genericity, 95, LOCATE_genericity___MMType___is_generic};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "is_generic", LOCATE_genericity___MMLocalProperty___inherit_from, 184);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMLocalClass___is_generic, LOCATE_genericity, 95);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t genericity___MMTypeFormal___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormal___is_generic, 189};
+  struct trace_t trace = {NULL, LOCATE_genericity, 100, LOCATE_genericity___MMTypeFormal___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
   variable0 = ((genericity___MMType___is_generic_t)CALL(variable0,COLOR_genericity___MMType___is_generic))(variable0) /*MMType::is_generic*/;
-  goto return_label18;
-  return_label18: while(false);
+  goto return_label11;
+  return_label11: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t genericity___MMTypeSimpleClass___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeSimpleClass___is_generic, 193};
+  struct trace_t trace = {NULL, LOCATE_genericity, 104, LOCATE_genericity___MMTypeSimpleClass___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
-  goto return_label19;
-  return_label19: while(false);
+  goto return_label12;
+  return_label12: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t genericity___MMTypeGeneric___params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___params, 198};
+  struct trace_t trace = {NULL, LOCATE_genericity, 109, LOCATE_genericity___MMTypeGeneric___params};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
 }
 val_t genericity___MMTypeGeneric___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___is_generic, 202};
+  struct trace_t trace = {NULL, LOCATE_genericity, 112, LOCATE_genericity___MMTypeGeneric___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(true);
-  goto return_label20;
-  return_label20: while(false);
+  goto return_label13;
+  return_label13: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t genericity___MMTypeGeneric___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___is_supertype, 204};
+  struct trace_t trace = {NULL, LOCATE_genericity, 114, LOCATE_genericity___MMTypeGeneric___is_supertype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -429,27 +258,27 @@ val_t genericity___MMTypeGeneric___is_supertype(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((static_type___MMType___local_class_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___local_class))( variable0 /*t*/) /*MMType::local_class*/;
   variable1 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable1) /*MMLocalClass::cshe*/;
-  variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeGeneric::_local_class*/;
+  variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable1 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable1,COLOR_partial_order___PartialOrderElement_____leq))(variable1, variable2) /*PartialOrderElement::<=*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeGeneric::_local_class*/;
+    variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
     variable2 = ((static_type___MMType___upcast_for_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___upcast_for))( variable0 /*t*/, variable2) /*MMType::upcast_for*/;
     variable1 = variable2;
     variable2 = TAG_Bool(( variable1 /*u*/==NIT_NULL) || VAL_ISA( variable1 /*u*/, COLOR_MMTypeGeneric, ID_MMTypeGeneric)) /*cast MMTypeGeneric*/;
     if (UNTAG_Bool(variable2)) { /*if*/
       variable2 = ((genericity___MMTypeGeneric___is_subtype_t)CALL( self,COLOR_genericity___MMTypeGeneric___is_subtype))( self,  variable1 /*u*/) /*MMTypeGeneric::is_subtype*/;
       variable1 = variable2;
-      goto return_label21;
+      goto return_label14;
     }
   }
   variable1 =  TAG_Bool(false);
-  goto return_label21;
-  return_label21: while(false);
+  goto return_label14;
+  return_label14: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t genericity___MMTypeGeneric___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___upcast_for, 215};
+  struct trace_t trace = {NULL, LOCATE_genericity, 125, LOCATE_genericity___MMTypeGeneric___upcast_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -457,19 +286,19 @@ val_t genericity___MMTypeGeneric___upcast_for(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((genericity___MMTypeGeneric___upcast_for_t)CALL( self,COLOR_SUPER_genericity___MMTypeGeneric___upcast_for))( self,  param0) /*super MMTypeGeneric::upcast_for*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*t*/ ==  self) || (( variable1 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*t*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))( variable1 /*t*/,  self) /*MMType::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*t*/ ==  self) || (( variable1 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*t*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))( variable1 /*t*/,  self) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ((static_type___MMType___adapt_to_t)CALL( variable1 /*t*/,COLOR_static_type___MMType___adapt_to))( variable1 /*t*/,  self) /*MMType::adapt_to*/;
     variable1 = variable2 /*t=*/;
   }
   variable1 =  variable1 /*t*/;
-  goto return_label22;
-  return_label22: while(false);
+  goto return_label15;
+  return_label15: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t genericity___MMTypeGeneric___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___for_module, 224};
+  struct trace_t trace = {NULL, LOCATE_genericity, 134, LOCATE_genericity___MMTypeGeneric___for_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -479,39 +308,39 @@ val_t genericity___MMTypeGeneric___for_module(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  variable2 = ((static_type___MMTypeClass___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeGeneric::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*/) /*MMModule::==*/)))))));
+  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[MMType]*/
+    variable3 = NEW_array___Array___init(); /*new Array[E]*/
     variable2 = variable3;
     variable3 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
-    variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+    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___MMType___for_module_t)CALL( variable4 /*p*/,COLOR_static_type___MMType___for_module))( variable4 /*p*/,  variable0 /*mod*/) /*MMType::for_module*/;
-      ((array___AbstractArray___add_t)CALL( variable2 /*parms*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*parms*/, variable5) /*Array::add*/;
-      continue_24: while(0);
+      ((array___AbstractArray___add_t)CALL( variable2 /*parms*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*parms*/, variable5) /*AbstractArray::add*/;
+      continue_17: while(0);
       ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
     }
-    break_24: while(0);
-    variable4 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeGeneric::_local_class*/;
+    break_17: while(0);
+    variable4 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
     variable4 = ((abstractmetamodel___MMLocalClass___for_module_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___for_module))(variable4,  variable0 /*mod*/) /*MMLocalClass::for_module*/;
     variable3 = variable4;
     variable4 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL( variable3 /*b*/,COLOR_genericity___MMLocalClass___get_instantiate_type))( variable3 /*b*/,  variable2 /*parms*/) /*MMLocalClass::get_instantiate_type*/;
     variable1 = variable4 /*t=*/;
   }
-  variable2 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMTypeGeneric___for_module, 235); nit_exit(1);}
+  variable2 = TAG_Bool(!UNTAG_Bool(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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMTypeGeneric___for_module, LOCATE_genericity, 145); nit_exit(1);}
   variable1 =  variable1 /*t*/;
-  goto return_label23;
-  return_label23: while(false);
+  goto return_label16;
+  return_label16: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t genericity___MMTypeGeneric___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___adapt_to, 239};
+  struct trace_t trace = {NULL, LOCATE_genericity, 149, LOCATE_genericity___MMTypeGeneric___adapt_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -519,31 +348,31 @@ val_t genericity___MMTypeGeneric___adapt_to(val_t  self, val_t  param0) {
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[MMType]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   variable1 = variable2;
   variable2 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  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___MMType___adapt_to_t)CALL( variable3 /*i*/,COLOR_static_type___MMType___adapt_to))( variable3 /*i*/,  variable0 /*r*/) /*MMType::adapt_to*/;
-    ((array___AbstractArray___add_t)CALL( variable1 /*rv*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*rv*/, variable4) /*Array::add*/;
-    continue_26: while(0);
+    ((array___AbstractArray___add_t)CALL( variable1 /*rv*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*rv*/, variable4) /*AbstractArray::add*/;
+    continue_19: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_26: while(0);
-  variable3 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeGeneric::_local_class*/;
+  break_19: while(0);
+  variable3 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable3 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable3,COLOR_genericity___MMLocalClass___get_instantiate_type))(variable3,  variable1 /*rv*/) /*MMLocalClass::get_instantiate_type*/;
   variable2 = variable3;
   variable1 =  variable2 /*l*/;
-  goto return_label25;
-  return_label25: while(false);
+  goto return_label18;
+  return_label18: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___params_equals, 249};
+  struct trace_t trace = {NULL, LOCATE_genericity, 159, LOCATE_genericity___MMTypeGeneric___params_equals};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -553,16 +382,16 @@ val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0) {
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*t*/,COLOR_abstract_collection___Collection___length))( variable0 /*t*/) /*Array::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*t*/,COLOR_abstract_collection___Collection___length))( variable0 /*t*/) /*AbstractArray::length*/;
   variable2 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable1 = TAG_Bool((variable1)!=(variable2));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 =  TAG_Bool(false);
-    goto return_label27;
+    goto return_label20;
   }
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*t*/,COLOR_abstract_collection___Collection___length))( variable0 /*t*/) /*Array::length*/;
-  variable2 = NEW_range___Range___without_last( TAG_Int(0), variable1); /*new Range[Int]*/
+  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]*/
   variable1 = variable2;
   variable1 = ((range___Range___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Range::iterator*/;
   while (true) { /*for*/
@@ -575,124 +404,83 @@ val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0) {
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
       variable6 = variable3;
-      variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+      variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
     }
     variable5 = variable6;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
     variable5 = variable3;
     variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
-    goto return_label29;
-    return_label29: while(false);
+    goto return_label22;
+    return_label22: while(false);
     variable3 = variable5;
-    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*/) /*MMType::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_array___Array_____bra, 255); nit_exit(1);}
+    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_array___Array_____bra, LOCATE_genericity, 165); nit_exit(1);}
     variable3 =  variable2 /*i*/;
     variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable5 = variable4;
     if (UNTAG_Bool(variable5)) { /* and */
-      variable5 = ATTR_array___AbstractArray____length( variable0 /*t*/) /*Array::_length*/;
+      variable5 = ATTR_array___AbstractArray____length( variable0 /*t*/) /*AbstractArray::_length*/;
       variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
     }
     variable4 = variable5;
-    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
     variable4 = ATTR_array___Array____items( variable0 /*t*/) /*Array::_items*/;
     variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
-    goto return_label30;
-    return_label30: while(false);
+    goto return_label23;
+    return_label23: while(false);
     variable3 = variable4;
-    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*/) /*MMType::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_array___Array_____bra, 256); nit_exit(1);}
+    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_array___Array_____bra, LOCATE_genericity, 166); nit_exit(1);}
     variable3 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
     variable4 =  variable2 /*i*/;
     variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
       variable6 = variable3;
-      variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+      variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
     }
     variable5 = variable6;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
     variable5 = variable3;
     variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
-    goto return_label31;
-    return_label31: while(false);
+    goto return_label24;
+    return_label24: while(false);
     variable3 = variable5;
     variable4 =  variable2 /*i*/;
     variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
-      variable6 = ATTR_array___AbstractArray____length( variable0 /*t*/) /*Array::_length*/;
+      variable6 = ATTR_array___AbstractArray____length( variable0 /*t*/) /*AbstractArray::_length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
     }
     variable5 = variable6;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
     variable5 = ATTR_array___Array____items( variable0 /*t*/) /*Array::_items*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
-    goto return_label32;
-    return_label32: while(false);
+    goto return_label25;
+    return_label25: while(false);
     variable4 = variable5;
-    variable3 = TAG_Bool(!UNTAG_Bool(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) /*MMType::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(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*/
       variable1 =  TAG_Bool(false);
-      goto return_label27;
+      goto return_label20;
     }
-    continue_28: while(0);
+    continue_21: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
-  break_28: while(0);
+  break_21: while(0);
   variable1 =  TAG_Bool(true);
-  goto return_label27;
-  return_label27: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t genericity___MMTypeGeneric___select_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___select_property, 264};
-  val_t variable0;
-  val_t variable1;
-    val_t variable2;
-      val_t variable3;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*MMGlobalProperty::==*/)))));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 =  NIT_NULL /*null*/;
-    goto return_label33;
-  }
-  variable1 = ATTR_genericity___MMTypeGeneric____props( self) /*MMTypeGeneric::_props*/;
-  variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*g*/) /*Map::has_key*/;
-  if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
-    variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeGeneric::_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*/) /*MMLocalClass::==*/)))))));
-    if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMTypeGeneric___select_property, 270); nit_exit(1);}
-    variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeGeneric::_local_class*/;
-    variable2 = ((inheritance___MMLocalClass_____bra_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable2,  variable0 /*g*/) /*MMLocalClass::[]*/;
-    variable1 = variable2;
-    variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*p*/ ==  NIT_NULL /*null*/) || (( variable1 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*p*/,COLOR_kernel___Object_____eqeq))( variable1 /*p*/,  NIT_NULL /*null*/) /*MMLocalProperty::==*/)))))));
-    if (UNTAG_Bool(variable2)) { /*if*/
-      variable3 = ((genericity___MMLocalProperty___adapt_property_t)CALL( variable1 /*p*/,COLOR_genericity___MMLocalProperty___adapt_property))( variable1 /*p*/,  self) /*MMLocalProperty::adapt_property*/;
-      variable2 = variable3;
-      variable3 = ATTR_genericity___MMTypeGeneric____props( self) /*MMTypeGeneric::_props*/;
-      ((abstract_collection___Map_____braeq_t)CALL(variable3,COLOR_abstract_collection___Map_____braeq))(variable3,  variable0 /*g*/,  variable2 /*p2*/) /*Map::[]=*/;
-      variable1 =  variable2 /*p2*/;
-      goto return_label33;
-    } else { /*if*/
-      if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMTypeGeneric___select_property, 277); nit_exit(1);}
-    }
-  }
-  variable1 = ATTR_genericity___MMTypeGeneric____props( self) /*MMTypeGeneric::_props*/;
-  variable1 = ((abstract_collection___Map_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*g*/) /*Map::[]*/;
-  goto return_label33;
-  return_label33: while(false);
+  goto return_label20;
+  return_label20: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t genericity___MMTypeGeneric___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___to_s, 283};
+  struct trace_t trace = {NULL, LOCATE_genericity, 174, LOCATE_genericity___MMTypeGeneric___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -717,19 +505,19 @@ val_t genericity___MMTypeGeneric___to_s(val_t  self) {
   ((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*/
-  variable7 = ((string___Collection___join_t)CALL(variable7,COLOR_string___Collection___join))(variable7, variable8) /*Array::join*/;
+  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*/
   variable10 = variable9;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable10) /*String::append*/;
-  goto return_label34;
-  return_label34: while(false);
+  goto return_label26;
+  return_label26: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___is_subtype, 288};
+  struct trace_t trace = {NULL, LOCATE_genericity, 179, LOCATE_genericity___MMTypeGeneric___is_subtype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -741,8 +529,8 @@ val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*Array::length*/;
-  variable2 = NEW_range___Range___without_last( TAG_Int(0), variable1); /*new Range[Int]*/
+  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]*/
   variable1 = variable2;
   variable1 = ((range___Range___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Range::iterator*/;
   while (true) { /*for*/
@@ -755,16 +543,16 @@ val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
       variable6 = variable3;
-      variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+      variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
     }
     variable5 = variable6;
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
     variable5 = variable3;
     variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
-    goto return_label37;
-    return_label37: while(false);
+    goto return_label29;
+    return_label29: while(false);
     variable3 = variable5;
     variable4 = ATTR_genericity___MMTypeGeneric____params( self) /*MMTypeGeneric::_params*/;
     variable5 =  variable2 /*i*/;
@@ -772,34 +560,34 @@ val_t genericity___MMTypeGeneric___is_subtype(val_t  self, val_t  param0) {
     variable7 = variable6;
     if (UNTAG_Bool(variable7)) { /* and */
       variable7 = variable4;
-      variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
+      variable7 = ATTR_array___AbstractArray____length(variable7) /*AbstractArray::_length*/;
       variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
     }
     variable6 = variable7;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
     variable6 = variable4;
     variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
     variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
-    goto return_label38;
-    return_label38: while(false);
+    goto return_label30;
+    return_label30: while(false);
     variable4 = variable6;
     variable3 = ((static_type___MMType_____l_t)CALL(variable3,COLOR_static_type___MMType_____l))(variable3, variable4) /*MMType::<*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
       variable1 =  TAG_Bool(false);
-      goto return_label35;
+      goto return_label27;
     }
-    continue_36: while(0);
+    continue_28: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
-  break_36: while(0);
+  break_28: while(0);
   variable1 =  TAG_Bool(true);
-  goto return_label35;
-  return_label35: while(false);
+  goto return_label27;
+  return_label27: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void genericity___MMTypeGeneric___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeGeneric___init, 301};
+  struct trace_t trace = {NULL, LOCATE_genericity, 192, LOCATE_genericity___MMTypeGeneric___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -813,30 +601,30 @@ void genericity___MMTypeGeneric___init(val_t  self, val_t  param0, val_t  param1
   return;
 }
 val_t genericity___MMTypeFormalParameter___def_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___def_class, 310};
+  struct trace_t trace = {NULL, LOCATE_genericity, 201, LOCATE_genericity___MMTypeFormalParameter___def_class};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_genericity___MMTypeFormalParameter____def_class( self) /*MMTypeFormalParameter::_def_class*/;
 }
 val_t genericity___MMTypeFormalParameter___position(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___position, 313};
+  struct trace_t trace = {NULL, LOCATE_genericity, 204, LOCATE_genericity___MMTypeFormalParameter___position};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_genericity___MMTypeFormalParameter____position( self) /*MMTypeFormalParameter::_position*/;
 }
 val_t genericity___MMTypeFormalParameter___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___module, 316};
+  struct trace_t trace = {NULL, LOCATE_genericity, 207, LOCATE_genericity___MMTypeFormalParameter___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_genericity___MMTypeFormalParameter____def_class( self) /*MMTypeFormalParameter::_def_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
-  goto return_label40;
-  return_label40: while(false);
+  goto return_label32;
+  return_label32: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t genericity___MMTypeFormalParameter___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___for_module, 318};
+  struct trace_t trace = {NULL, LOCATE_genericity, 209, LOCATE_genericity___MMTypeFormalParameter___for_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -845,7 +633,7 @@ val_t genericity___MMTypeFormalParameter___for_module(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  self;
   variable2 = ((genericity___MMTypeFormalParameter___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeFormalParameter::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*/) /*MMModule::==*/)))))));
+  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*/
     variable2 = ATTR_genericity___MMTypeFormalParameter____def_class( self) /*MMTypeFormalParameter::_def_class*/;
     variable2 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___global))(variable2) /*MMLocalClass::global*/;
@@ -854,41 +642,41 @@ val_t genericity___MMTypeFormalParameter___for_module(val_t  self, val_t  param0
     variable2 = ((genericity___MMLocalClass___get_formal_t)CALL(variable2,COLOR_genericity___MMLocalClass___get_formal))(variable2, variable3) /*MMLocalClass::get_formal*/;
     variable1 = variable2 /*t=*/;
   }
-  variable2 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMTypeFormalParameter___for_module, 324); nit_exit(1);}
+  variable2 = TAG_Bool(!UNTAG_Bool(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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMTypeFormalParameter___for_module, LOCATE_genericity, 215); nit_exit(1);}
   variable1 =  variable1 /*t*/;
-  goto return_label41;
-  return_label41: while(false);
+  goto return_label33;
+  return_label33: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t genericity___MMTypeFormalParameter___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___upcast_for, 328};
+  struct trace_t trace = {NULL, LOCATE_genericity, 219, LOCATE_genericity___MMTypeFormalParameter___upcast_for};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  goto return_label42;
-  return_label42: while(false);
+  goto return_label34;
+  return_label34: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void genericity___MMTypeFormalParameter___bound__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___bound__eq, 330};
+  struct trace_t trace = {NULL, LOCATE_genericity, 221, LOCATE_genericity___MMTypeFormalParameter___bound__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormalParameter::_bound*/;
-  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*/) /*MMType::==*/)))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMTypeFormalParameter___bound__eq, 332); nit_exit(1);}
-  ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormalParameter::_bound*/ =  variable0 /*t*/;
+  variable1 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
+  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_genericity___MMTypeFormalParameter___bound__eq, LOCATE_genericity, 223); nit_exit(1);}
+  ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/ =  variable0 /*t*/;
   tracehead = trace.prev;
   return;
 }
 val_t genericity___MMTypeFormalParameter___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___adapt_to, 336};
+  struct trace_t trace = {NULL, LOCATE_genericity, 227, LOCATE_genericity___MMTypeFormalParameter___adapt_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -899,11 +687,13 @@ val_t genericity___MMTypeFormalParameter___adapt_to(val_t  self, val_t  param0)
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
+  variable1 = ((type_formal___MMType___direct_type_t)CALL( variable0 /*r*/,COLOR_type_formal___MMType___direct_type))( variable0 /*r*/) /*MMType::direct_type*/;
+  variable0 = variable1 /*r=*/;
   variable2 = ((genericity___MMTypeFormalParameter___def_class_t)CALL( self,COLOR_genericity___MMTypeFormalParameter___def_class))( self) /*MMTypeFormalParameter::def_class*/;
   variable2 = ((static_type___MMType___upcast_for_t)CALL( variable0 /*r*/,COLOR_static_type___MMType___upcast_for))( variable0 /*r*/, variable2) /*MMType::upcast_for*/;
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*old_r*/==NIT_NULL) || VAL_ISA( variable1 /*old_r*/, COLOR_MMTypeGeneric, ID_MMTypeGeneric)) /*cast MMTypeGeneric*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMTypeFormalParameter___adapt_to, 340); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMTypeFormalParameter___adapt_to, LOCATE_genericity, 235); nit_exit(1);}
   variable3 = ((genericity___MMTypeGeneric___params_t)CALL( variable1 /*old_r*/,COLOR_genericity___MMTypeGeneric___params))( variable1 /*old_r*/) /*MMTypeGeneric::params*/;
   variable4 = ((genericity___MMTypeFormalParameter___position_t)CALL( self,COLOR_genericity___MMTypeFormalParameter___position))( self) /*MMTypeFormalParameter::position*/;
   variable5 = variable4;
@@ -911,28 +701,28 @@ val_t genericity___MMTypeFormalParameter___adapt_to(val_t  self, val_t  param0)
   variable7 = variable6;
   if (UNTAG_Bool(variable7)) { /* and */
     variable7 = variable3;
-    variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
+    variable7 = ATTR_array___AbstractArray____length(variable7) /*AbstractArray::_length*/;
     variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
   }
   variable6 = variable7;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 229); nit_exit(1);}
   variable6 = variable3;
   variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
   variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
-  goto return_label45;
-  return_label45: while(false);
+  goto return_label37;
+  return_label37: while(false);
   variable3 = variable6;
   variable2 = variable3;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*reduct*/ ==  NIT_NULL /*null*/) || (( variable2 /*reduct*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*reduct*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*reduct*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*reduct*/,COLOR_kernel___Object_____eqeq))( variable2 /*reduct*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_array___Array_____bra, 342); nit_exit(1);}
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*reduct*/ ==  NIT_NULL /*null*/) || (( variable2 /*reduct*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*reduct*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*reduct*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*reduct*/,COLOR_kernel___Object_____eqeq))( variable2 /*reduct*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_genericity, 237); nit_exit(1);}
   variable1 =  variable2 /*reduct*/;
-  goto return_label44;
-  return_label44: while(false);
+  goto return_label36;
+  return_label36: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void genericity___MMTypeFormalParameter___with_bound(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___with_bound, 346};
+  struct trace_t trace = {NULL, LOCATE_genericity, 241, LOCATE_genericity___MMTypeFormalParameter___with_bound};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -944,13 +734,13 @@ void genericity___MMTypeFormalParameter___with_bound(val_t  self, val_t  param0,
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeFormalParameter].i]) return;
   ((genericity___MMTypeFormalParameter___init_t)CALL( self,COLOR_genericity___MMTypeFormalParameter___init))( self,  variable0 /*n*/,  variable1 /*p*/,  variable2 /*intro*/, init_table /*YYY*/) /*MMTypeFormalParameter::init*/;
-  ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormalParameter::_bound*/ =  variable3 /*b*/;
+  ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/ =  variable3 /*b*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeFormalParameter].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void genericity___MMTypeFormalParameter___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeFormalParameter___init, 352};
+  struct trace_t trace = {NULL, LOCATE_genericity, 247, LOCATE_genericity___MMTypeFormalParameter___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -960,9 +750,9 @@ void genericity___MMTypeFormalParameter___init(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeFormalParameter].i]) return;
-  variable3 = 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*/) /*Symbol::==*/)))))));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_genericity___MMTypeFormalParameter___init, 354); nit_exit(1);}
-  ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormalParameter::_name*/ =  variable0 /*n*/;
+  variable3 = 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(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_genericity___MMTypeFormalParameter___init, LOCATE_genericity, 249); nit_exit(1);}
+  ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/ =  variable0 /*n*/;
   ATTR_genericity___MMTypeFormalParameter____position( self) /*MMTypeFormalParameter::_position*/ =  variable1 /*p*/;
   ATTR_genericity___MMTypeFormalParameter____def_class( self) /*MMTypeFormalParameter::_def_class*/ =  variable2 /*intro*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeFormalParameter].i] = 1;
@@ -970,36 +760,36 @@ void genericity___MMTypeFormalParameter___init(val_t  self, val_t  param0, val_t
   return;
 }
 val_t genericity___MMTypeNone___is_generic(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeNone___is_generic, 362};
+  struct trace_t trace = {NULL, LOCATE_genericity, 257, LOCATE_genericity___MMTypeNone___is_generic};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
-  goto return_label48;
-  return_label48: while(false);
+  goto return_label40;
+  return_label40: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t genericity___MMTypeNone___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeNone___for_module, 363};
+  struct trace_t trace = {NULL, LOCATE_genericity, 258, LOCATE_genericity___MMTypeNone___for_module};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  goto return_label49;
-  return_label49: while(false);
+  goto return_label41;
+  return_label41: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t genericity___MMTypeNone___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_genericity___MMTypeNone___adapt_to, 364};
+  struct trace_t trace = {NULL, LOCATE_genericity, 259, LOCATE_genericity___MMTypeNone___adapt_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  goto return_label50;
-  return_label50: while(false);
+  goto return_label42;
+  return_label42: while(false);
   tracehead = trace.prev;
   return variable1;
 }
index 82888aa..7dead43 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires genericity. */
-#ifndef genericity_3_sep
-#define genericity_3_sep
+#ifndef genericity_2_sep
+#define genericity_2_sep
 #include "type_formal._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_MMTypeGeneric[];
 
 extern const classtable_elt_t VFT_MMTypeFormalParameter[];
-#define LOCATE_genericity "genericity"
+#define LOCATE_genericity "./metamodel//genericity.nit"
 extern const int SFT_genericity[];
 #define COLOR_genericity___MMLocalClass____types SFT_genericity[0]
 #define COLOR_genericity___MMLocalClass____formals_types SFT_genericity[1]
@@ -17,34 +17,27 @@ extern const int SFT_genericity[];
 #define COLOR_genericity___MMLocalClass___formals_types SFT_genericity[5]
 #define COLOR_SUPER_genericity___MMLocalClass___get_type SFT_genericity[6]
 #define COLOR_genericity___MMLocalClass___is_generic SFT_genericity[7]
-#define COLOR_genericity___MMSignature___adaptation_to SFT_genericity[8]
-#define COLOR_genericity___MMLocalProperty____recv_alone SFT_genericity[9]
-#define COLOR_genericity___MMLocalProperty___recv SFT_genericity[10]
-#define COLOR_genericity___MMLocalProperty___recv__eq SFT_genericity[11]
-#define COLOR_genericity___MMLocalProperty___adapt_property SFT_genericity[12]
-#define COLOR_SUPER_genericity___MMLocalProperty___inherit_from SFT_genericity[13]
-#define COLOR_genericity___MMType___is_generic SFT_genericity[14]
-#define ID_MMTypeGeneric SFT_genericity[15]
-#define COLOR_MMTypeGeneric SFT_genericity[16]
-#define COLOR_genericity___MMTypeGeneric____params SFT_genericity[17]
-#define COLOR_genericity___MMTypeGeneric____props SFT_genericity[18]
-#define INIT_TABLE_POS_MMTypeGeneric SFT_genericity[19]
-#define COLOR_genericity___MMTypeGeneric___params SFT_genericity[20]
-#define COLOR_SUPER_genericity___MMTypeGeneric___upcast_for SFT_genericity[21]
-#define COLOR_genericity___MMTypeGeneric___params_equals SFT_genericity[22]
-#define COLOR_SUPER_genericity___MMTypeGeneric___to_s SFT_genericity[23]
-#define COLOR_genericity___MMTypeGeneric___is_subtype SFT_genericity[24]
-#define COLOR_genericity___MMTypeGeneric___init SFT_genericity[25]
-#define ID_MMTypeFormalParameter SFT_genericity[26]
-#define COLOR_MMTypeFormalParameter SFT_genericity[27]
-#define COLOR_genericity___MMTypeFormalParameter____def_class SFT_genericity[28]
-#define COLOR_genericity___MMTypeFormalParameter____position SFT_genericity[29]
-#define INIT_TABLE_POS_MMTypeFormalParameter SFT_genericity[30]
-#define COLOR_genericity___MMTypeFormalParameter___def_class SFT_genericity[31]
-#define COLOR_genericity___MMTypeFormalParameter___position SFT_genericity[32]
-#define COLOR_genericity___MMTypeFormalParameter___bound__eq SFT_genericity[33]
-#define COLOR_genericity___MMTypeFormalParameter___with_bound SFT_genericity[34]
-#define COLOR_genericity___MMTypeFormalParameter___init SFT_genericity[35]
+#define COLOR_genericity___MMType___is_generic SFT_genericity[8]
+#define ID_MMTypeGeneric SFT_genericity[9]
+#define COLOR_MMTypeGeneric SFT_genericity[10]
+#define COLOR_genericity___MMTypeGeneric____params SFT_genericity[11]
+#define INIT_TABLE_POS_MMTypeGeneric SFT_genericity[12]
+#define COLOR_genericity___MMTypeGeneric___params SFT_genericity[13]
+#define COLOR_SUPER_genericity___MMTypeGeneric___upcast_for SFT_genericity[14]
+#define COLOR_genericity___MMTypeGeneric___params_equals SFT_genericity[15]
+#define COLOR_SUPER_genericity___MMTypeGeneric___to_s SFT_genericity[16]
+#define COLOR_genericity___MMTypeGeneric___is_subtype SFT_genericity[17]
+#define COLOR_genericity___MMTypeGeneric___init SFT_genericity[18]
+#define ID_MMTypeFormalParameter SFT_genericity[19]
+#define COLOR_MMTypeFormalParameter SFT_genericity[20]
+#define COLOR_genericity___MMTypeFormalParameter____def_class SFT_genericity[21]
+#define COLOR_genericity___MMTypeFormalParameter____position SFT_genericity[22]
+#define INIT_TABLE_POS_MMTypeFormalParameter SFT_genericity[23]
+#define COLOR_genericity___MMTypeFormalParameter___def_class SFT_genericity[24]
+#define COLOR_genericity___MMTypeFormalParameter___position SFT_genericity[25]
+#define COLOR_genericity___MMTypeFormalParameter___bound__eq SFT_genericity[26]
+#define COLOR_genericity___MMTypeFormalParameter___with_bound SFT_genericity[27]
+#define COLOR_genericity___MMTypeFormalParameter___init SFT_genericity[28]
 typedef val_t (* genericity___MMLocalClass___get_formal_t)(val_t  self, val_t  param0);
 val_t genericity___MMLocalClass___get_formal(val_t  self, val_t  param0);
 #define LOCATE_genericity___MMLocalClass___get_formal "genericity::MMLocalClass::get_formal"
@@ -65,25 +58,6 @@ val_t genericity___MMLocalClass___get_type(val_t  self);
 typedef val_t (* genericity___MMLocalClass___is_generic_t)(val_t  self);
 val_t genericity___MMLocalClass___is_generic(val_t  self);
 #define LOCATE_genericity___MMLocalClass___is_generic "genericity::MMLocalClass::is_generic"
-typedef val_t (* genericity___MMSignature___adaptation_to_t)(val_t  self, val_t  param0);
-val_t genericity___MMSignature___adaptation_to(val_t  self, val_t  param0);
-#define LOCATE_genericity___MMSignature___adaptation_to "genericity::MMSignature::adaptation_to"
-#define ATTR_genericity___MMLocalProperty____recv_alone(recv) ATTR(recv, COLOR_genericity___MMLocalProperty____recv_alone)
-typedef val_t (* genericity___MMLocalProperty___recv_t)(val_t  self);
-val_t genericity___MMLocalProperty___recv(val_t  self);
-#define LOCATE_genericity___MMLocalProperty___recv "genericity::MMLocalProperty::recv"
-typedef void (* genericity___MMLocalProperty___recv__eq_t)(val_t  self, val_t  param0);
-void genericity___MMLocalProperty___recv__eq(val_t  self, val_t  param0);
-#define LOCATE_genericity___MMLocalProperty___recv__eq "genericity::MMLocalProperty::recv="
-typedef val_t (* genericity___MMLocalProperty___signature_t)(val_t  self);
-val_t genericity___MMLocalProperty___signature(val_t  self);
-#define LOCATE_genericity___MMLocalProperty___signature "genericity::MMLocalProperty::(static_type::MMLocalProperty::signature)"
-typedef val_t (* genericity___MMLocalProperty___adapt_property_t)(val_t  self, val_t  param0);
-val_t genericity___MMLocalProperty___adapt_property(val_t  self, val_t  param0);
-#define LOCATE_genericity___MMLocalProperty___adapt_property "genericity::MMLocalProperty::adapt_property"
-typedef void (* genericity___MMLocalProperty___inherit_from_t)(val_t  self, val_t  param0, val_t  param1);
-void genericity___MMLocalProperty___inherit_from(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_genericity___MMLocalProperty___inherit_from "genericity::MMLocalProperty::(inheritance::MMLocalProperty::inherit_from)"
 typedef val_t (* genericity___MMType___is_generic_t)(val_t  self);
 val_t genericity___MMType___is_generic(val_t  self);
 #define LOCATE_genericity___MMType___is_generic "genericity::MMType::is_generic"
@@ -97,7 +71,6 @@ val_t genericity___MMTypeSimpleClass___is_generic(val_t  self);
 typedef val_t (* genericity___MMTypeGeneric___params_t)(val_t  self);
 val_t genericity___MMTypeGeneric___params(val_t  self);
 #define LOCATE_genericity___MMTypeGeneric___params "genericity::MMTypeGeneric::params"
-#define ATTR_genericity___MMTypeGeneric____props(recv) ATTR(recv, COLOR_genericity___MMTypeGeneric____props)
 typedef val_t (* genericity___MMTypeGeneric___is_generic_t)(val_t  self);
 val_t genericity___MMTypeGeneric___is_generic(val_t  self);
 #define LOCATE_genericity___MMTypeGeneric___is_generic "genericity::MMTypeGeneric::(genericity::MMType::is_generic)"
@@ -116,9 +89,6 @@ val_t genericity___MMTypeGeneric___adapt_to(val_t  self, val_t  param0);
 typedef val_t (* genericity___MMTypeGeneric___params_equals_t)(val_t  self, val_t  param0);
 val_t genericity___MMTypeGeneric___params_equals(val_t  self, val_t  param0);
 #define LOCATE_genericity___MMTypeGeneric___params_equals "genericity::MMTypeGeneric::params_equals"
-typedef val_t (* genericity___MMTypeGeneric___select_property_t)(val_t  self, val_t  param0);
-val_t genericity___MMTypeGeneric___select_property(val_t  self, val_t  param0);
-#define LOCATE_genericity___MMTypeGeneric___select_property "genericity::MMTypeGeneric::(static_type::MMType::select_property)"
 typedef val_t (* genericity___MMTypeGeneric___to_s_t)(val_t  self);
 val_t genericity___MMTypeGeneric___to_s(val_t  self);
 #define LOCATE_genericity___MMTypeGeneric___to_s "genericity::MMTypeGeneric::(string::Object::to_s)"
index d7b8cd1..6368ca3 100644 (file)
@@ -1,10 +1,10 @@
 /* This C file is generated by NIT to compile module hash. */
 #include "hash._sep.h"
 val_t hash___Object___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___Object___hash, 21};
+  struct trace_t trace = {NULL, LOCATE_hash, 21, LOCATE_hash___Object___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = TAG_Int((int) self);
+  variable0 = TAG_Int((bigint) self);
   variable0 = TAG_Int(UNTAG_Int(variable0)/UNTAG_Int( TAG_Int(8)));
   goto return_label0;
   return_label0: while(false);
@@ -12,7 +12,7 @@ val_t hash___Object___hash(val_t  self) {
   return variable0;
 }
 val_t hash___String___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___String___hash, 29};
+  struct trace_t trace = {NULL, LOCATE_hash, 29, LOCATE_hash___String___hash};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20,7 +20,7 @@ val_t hash___String___hash(val_t  self) {
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(5381);
-  variable2 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
+  variable2 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
   variable1 = variable2;
   variable3 = ATTR_string___String____items( self) /*String::_items*/;
@@ -45,7 +45,7 @@ val_t hash___String___hash(val_t  self) {
   return variable0;
 }
 val_t hash___Int___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___Int___hash, 45};
+  struct trace_t trace = {NULL, LOCATE_hash, 45, LOCATE_hash___Int___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  self;
@@ -55,7 +55,7 @@ val_t hash___Int___hash(val_t  self) {
   return variable0;
 }
 val_t hash___Char___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___Char___hash, 49};
+  struct trace_t trace = {NULL, LOCATE_hash, 49, LOCATE_hash___Char___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = TAG_Int((unsigned char)UNTAG_Char( self));
@@ -65,7 +65,7 @@ val_t hash___Char___hash(val_t  self) {
   return variable0;
 }
 val_t hash___Bool___hash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___Bool___hash, 53};
+  struct trace_t trace = {NULL, LOCATE_hash, 53, LOCATE_hash___Bool___hash};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (UNTAG_Bool( self)) { /*if*/
@@ -80,19 +80,19 @@ val_t hash___Bool___hash(val_t  self) {
   return variable0;
 }
 val_t hash___HashCollection___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashCollection___length, 69};
+  struct trace_t trace = {NULL, LOCATE_hash, 69, LOCATE_hash___HashCollection___length};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
 }
 val_t hash___HashCollection___first_item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashCollection___first_item, 71};
+  struct trace_t trace = {NULL, LOCATE_hash, 71, LOCATE_hash___HashCollection___first_item};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/;
 }
 val_t hash___HashCollection___index_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashCollection___index_at, 80};
+  struct trace_t trace = {NULL, LOCATE_hash, 80, LOCATE_hash___HashCollection___index_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -105,7 +105,7 @@ val_t hash___HashCollection___index_at(val_t  self, val_t  param0) {
   variable2 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable1 = variable2;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*k*/ ==  NIT_NULL /*null*/) || (( variable0 /*k*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*k*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*k*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*k*/,COLOR_kernel___Object_____eqeq))( variable0 /*k*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashCollection___index_at, 84); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___index_at, LOCATE_hash, 84); nit_exit(1);}
   variable2 = ATTR_hash___HashCollection____last_accessed_key( self) /*HashCollection::_last_accessed_key*/;
   variable2 = TAG_Bool(( variable0 /*k*/ == variable2) || (( variable0 /*k*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*k*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*k*/,variable2)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*k*/,COLOR_kernel___Object_____eqeq))( variable0 /*k*/, variable2) /*Object::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -127,7 +127,7 @@ val_t hash___HashCollection___index_at(val_t  self, val_t  param0) {
     if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
     variable5 = UNBOX_NativeArray( variable1 /*arr*/)[UNTAG_Int( variable3 /*cur*/)];
     variable4 = variable5;
-    variable5 = TAG_Bool(( variable4 /*c*/ ==  NIT_NULL /*null*/) || (( variable4 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*c*/,COLOR_kernel___Object_____eqeq))( variable4 /*c*/,  NIT_NULL /*null*/) /*HashNode::==*/)))));
+    variable5 = TAG_Bool(( variable4 /*c*/ ==  NIT_NULL /*null*/) || (( variable4 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*c*/,COLOR_kernel___Object_____eqeq))( variable4 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     variable6 = variable5;
     if (!UNTAG_Bool(variable6)) { /* or */
       variable6 = ((hash___HashNode___key_t)CALL( variable4 /*c*/,COLOR_hash___HashNode___key))( variable4 /*c*/) /*HashNode::key*/;
@@ -148,17 +148,17 @@ val_t hash___HashCollection___index_at(val_t  self, val_t  param0) {
       variable3 = variable5 /*cur=*/;
     }
     variable5 = TAG_Bool(( variable3 /*cur*/)!=( variable2 /*base*/));
-    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'no_loop' ", LOCATE_hash___HashCollection___index_at, 104); nit_exit(1);}
+    if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'no_loop' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___index_at, LOCATE_hash, 104); nit_exit(1);}
     continue_7: while(0);
   }
   break_7: while(0);
-  fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_hash___HashCollection___index_at, 106); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___index_at, LOCATE_hash, 106); nit_exit(1);
   return_label6: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void hash___HashCollection___store(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashCollection___store, 109};
+  struct trace_t trace = {NULL, LOCATE_hash, 109, LOCATE_hash___HashCollection___store};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -167,7 +167,7 @@ void hash___HashCollection___store(val_t  self, val_t  param0, val_t  param1) {
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/;
-  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*/) /*HashNode::==*/)))));
+  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*/
     ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/ =  variable1 /*node*/;
   } else { /*if*/
@@ -180,8 +180,8 @@ void hash___HashCollection___store(val_t  self, val_t  param0, val_t  param1) {
   ATTR_hash___HashCollection____last_item( self) /*HashCollection::_last_item*/ =  variable1 /*node*/;
   variable2 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable2 = UNBOX_NativeArray(variable2)[UNTAG_Int( variable0 /*index*/)];
-  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*/) /*HashNode::==*/)))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashCollection___store, 122); nit_exit(1);}
+  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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___store, LOCATE_hash, 122); nit_exit(1);}
   variable2 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   UNBOX_NativeArray(variable2)[UNTAG_Int( variable0 /*index*/)]= variable1 /*node*/;
   variable3 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
@@ -202,7 +202,7 @@ void hash___HashCollection___store(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashCollection___remove_index, 132};
+  struct trace_t trace = {NULL, LOCATE_hash, 132, LOCATE_hash___HashCollection___remove_index};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -219,23 +219,23 @@ void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
     variable2 = TAG_Bool(UNTAG_Int( variable0 /*i*/)<UNTAG_Int(variable2));
   }
   variable1 = variable2;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'correct_index' ", LOCATE_hash___HashCollection___remove_index, 134); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", " 'correct_index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___remove_index, LOCATE_hash, 134); nit_exit(1);}
   variable2 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable2 = UNBOX_NativeArray(variable2)[UNTAG_Int( variable0 /*i*/)];
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*HashNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'has_couple' ", LOCATE_hash___HashCollection___remove_index, 136); nit_exit(1);}
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", " 'has_couple' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___remove_index, LOCATE_hash, 136); nit_exit(1);}
   variable3 = ((hash___HashNode___prev_item_t)CALL( variable1 /*node*/,COLOR_hash___HashNode___prev_item))( variable1 /*node*/) /*HashNode::prev_item*/;
   variable2 = variable3;
   variable4 = ((hash___HashNode___next_item_t)CALL( variable1 /*node*/,COLOR_hash___HashNode___next_item))( variable1 /*node*/) /*HashNode::next_item*/;
   variable3 = variable4;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*prev*/ ==  NIT_NULL /*null*/) || (( variable2 /*prev*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*prev*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*prev*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*prev*/,COLOR_kernel___Object_____eqeq))( variable2 /*prev*/,  NIT_NULL /*null*/) /*HashNode::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*prev*/ ==  NIT_NULL /*null*/) || (( variable2 /*prev*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*prev*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*prev*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*prev*/,COLOR_kernel___Object_____eqeq))( variable2 /*prev*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
     ((hash___HashNode___next_item__eq_t)CALL( variable2 /*prev*/,COLOR_hash___HashNode___next_item__eq))( variable2 /*prev*/,  variable3 /*next*/) /*HashNode::next_item=*/;
   } else { /*if*/
     ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/ =  variable3 /*next*/;
   }
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*next*/ ==  NIT_NULL /*null*/) || (( variable3 /*next*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*next*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*next*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*next*/,COLOR_kernel___Object_____eqeq))( variable3 /*next*/,  NIT_NULL /*null*/) /*HashNode::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*next*/ ==  NIT_NULL /*null*/) || (( variable3 /*next*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*next*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*next*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*next*/,COLOR_kernel___Object_____eqeq))( variable3 /*next*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
     ((hash___HashNode___prev_item__eq_t)CALL( variable3 /*next*/,COLOR_hash___HashNode___prev_item__eq))( variable3 /*next*/,  variable2 /*prev*/) /*HashNode::prev_item=*/;
   } else { /*if*/
@@ -256,7 +256,7 @@ void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
     variable5 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
     variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable0 /*i*/)];
     variable4 = variable5;
-    variable5 = TAG_Bool(( variable4 /*n*/ ==  NIT_NULL /*null*/) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/,  NIT_NULL /*null*/) /*HashNode::==*/)))));
+    variable5 = TAG_Bool(( variable4 /*n*/ ==  NIT_NULL /*null*/) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable5)) { /*if*/
       goto return_label9;
     }
@@ -269,8 +269,8 @@ void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
       UNBOX_NativeArray(variable6)[UNTAG_Int( variable0 /*i*/)]= NIT_NULL /*null*/;
       variable6 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
       variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*i2*/)];
-      variable6 = 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*/) /*HashNode::==*/)))));
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashCollection___remove_index, 166); nit_exit(1);}
+      variable6 = 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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___remove_index, LOCATE_hash, 166); nit_exit(1);}
       variable6 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
       UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*i2*/)]= variable4 /*n*/;
     }
@@ -282,7 +282,7 @@ void hash___HashCollection___remove_index(val_t  self, val_t  param0) {
   return;
 }
 void hash___HashCollection___raz(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashCollection___raz, 172};
+  struct trace_t trace = {NULL, LOCATE_hash, 172, LOCATE_hash___HashCollection___raz};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -306,7 +306,7 @@ void hash___HashCollection___raz(val_t  self) {
   return;
 }
 void hash___HashCollection___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashCollection___enlarge, 185};
+  struct trace_t trace = {NULL, LOCATE_hash, 185, LOCATE_hash___HashCollection___enlarge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -357,14 +357,14 @@ void hash___HashCollection___enlarge(val_t  self, val_t  param0) {
   variable6 = ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/;
   variable5 = variable6;
   while (true) { /*while*/
-    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*node*/ ==  NIT_NULL /*null*/) || (( variable5 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*node*/,COLOR_kernel___Object_____eqeq))( variable5 /*node*/,  NIT_NULL /*null*/) /*HashNode::==*/)))))));
+    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*node*/ ==  NIT_NULL /*null*/) || (( variable5 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*node*/,COLOR_kernel___Object_____eqeq))( variable5 /*node*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (!UNTAG_Bool(variable6)) break; /* while*/
     variable7 = ((hash___HashNode___key_t)CALL( variable5 /*node*/,COLOR_hash___HashNode___key))( variable5 /*node*/) /*HashNode::key*/;
     variable7 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self, variable7) /*HashCollection::index_at*/;
     variable6 = variable7;
     variable7 = UNBOX_NativeArray( variable4 /*new_array*/)[UNTAG_Int( variable6 /*ind*/)];
-    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*/) /*HashNode::==*/)))));
-    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashCollection___enlarge, 213); nit_exit(1);}
+    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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___enlarge, LOCATE_hash, 213); nit_exit(1);}
     UNBOX_NativeArray( variable4 /*new_array*/)[UNTAG_Int( variable6 /*ind*/)]= variable5 /*node*/;
     variable7 = ((hash___HashNode___next_item_t)CALL( variable5 /*node*/,COLOR_hash___HashNode___next_item))( variable5 /*node*/) /*HashNode::next_item*/;
     variable5 = variable7 /*node=*/;
@@ -377,41 +377,42 @@ void hash___HashCollection___enlarge(val_t  self, val_t  param0) {
   return;
 }
 val_t hash___HashNode___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashNode___key, 222};
+  struct trace_t trace = {NULL, LOCATE_hash, 222, LOCATE_hash___HashNode___key};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "key", LOCATE_hash___HashCollection___enlarge, 222);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashCollection___enlarge, LOCATE_hash, 222);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t hash___HashNode___next_item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashNode___next_item, 224};
+  struct trace_t trace = {NULL, LOCATE_hash, 224, LOCATE_hash___HashNode___next_item};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_hash___HashNode____next_item( self) /*HashNode::_next_item*/;
 }
 void hash___HashNode___next_item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashNode___next_item__eq, 224};
+  struct trace_t trace = {NULL, LOCATE_hash, 224, LOCATE_hash___HashNode___next_item__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_hash___HashNode____next_item( self) /*HashNode::_next_item*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashNode___prev_item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashNode___prev_item, 225};
+  struct trace_t trace = {NULL, LOCATE_hash, 225, LOCATE_hash___HashNode___prev_item};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_hash___HashNode____prev_item( self) /*HashNode::_prev_item*/;
 }
 void hash___HashNode___prev_item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashNode___prev_item__eq, 225};
+  struct trace_t trace = {NULL, LOCATE_hash, 225, LOCATE_hash___HashNode___prev_item__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_hash___HashNode____prev_item( self) /*HashNode::_prev_item*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashMap___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___iterator, 232};
+  struct trace_t trace = {NULL, LOCATE_hash, 232, LOCATE_hash___HashMap___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_hash___HashMapIterator___init( self); /*new HashMapIterator[K, V]*/
@@ -421,24 +422,24 @@ val_t hash___HashMap___iterator(val_t  self) {
   return variable0;
 }
 val_t hash___HashMap___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___first, 234};
+  struct trace_t trace = {NULL, LOCATE_hash, 234, LOCATE_hash___HashMap___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_hash___HashCollection____length( self) /*HashMap::_length*/;
+  variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashMap___first, 236); nit_exit(1);}
-  variable0 = ATTR_hash___HashCollection____first_item( self) /*HashMap::_first_item*/;
-  variable0 = ((abstract_collection___Couple___second_t)CALL(variable0,COLOR_abstract_collection___Couple___second))(variable0) /*HashMapNode::second*/;
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMap___first, LOCATE_hash, 236); nit_exit(1);}
+  variable0 = ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/;
+  variable0 = ((abstract_collection___Couple___second_t)CALL(variable0,COLOR_abstract_collection___Couple___second))(variable0) /*Couple::second*/;
   goto return_label17;
   return_label17: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t hash___HashMap___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___is_empty, 240};
+  struct trace_t trace = {NULL, LOCATE_hash, 240, LOCATE_hash___HashMap___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_hash___HashCollection____length( self) /*HashMap::_length*/;
+  variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool((variable0)==( TAG_Int(0)));
   goto return_label18;
   return_label18: while(false);
@@ -446,7 +447,7 @@ val_t hash___HashMap___is_empty(val_t  self) {
   return variable0;
 }
 val_t hash___HashMap___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___count, 242};
+  struct trace_t trace = {NULL, LOCATE_hash, 242, LOCATE_hash___HashMap___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -458,16 +459,16 @@ val_t hash___HashMap___count(val_t  self, val_t  param0) {
   variable1 =  TAG_Int(0);
   variable2 =  TAG_Int(0);
   while (true) { /*while*/
-    variable3 = ATTR_hash___HashCollection____capacity( self) /*HashMap::_capacity*/;
+    variable3 = ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/;
     variable3 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int(variable3));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    variable4 = ATTR_hash___HashCollection____array( self) /*HashMap::_array*/;
+    variable4 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
     variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable2 /*i*/)];
     variable3 = variable4;
-    variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*c*/ ==  NIT_NULL /*null*/) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/,  NIT_NULL /*null*/) /*HashMapNode::==*/)))))));
+    variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*c*/ ==  NIT_NULL /*null*/) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     variable5 = variable4;
     if (UNTAG_Bool(variable5)) { /* and */
-      variable5 = ((abstract_collection___Couple___second_t)CALL( variable3 /*c*/,COLOR_abstract_collection___Couple___second))( variable3 /*c*/) /*HashMapNode::second*/;
+      variable5 = ((abstract_collection___Couple___second_t)CALL( variable3 /*c*/,COLOR_abstract_collection___Couple___second))( variable3 /*c*/) /*Couple::second*/;
       variable5 = TAG_Bool((variable5 ==  variable0 /*item*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  variable0 /*item*/) /*Object::==*/)))));
     }
     variable4 = variable5;
@@ -485,7 +486,7 @@ val_t hash___HashMap___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t hash___HashMap___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___has, 254};
+  struct trace_t trace = {NULL, LOCATE_hash, 254, LOCATE_hash___HashMap___has};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -495,16 +496,16 @@ val_t hash___HashMap___has(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   while (true) { /*while*/
-    variable2 = ATTR_hash___HashCollection____capacity( self) /*HashMap::_capacity*/;
+    variable2 = ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/;
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int(variable2));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable3 = ATTR_hash___HashCollection____array( self) /*HashMap::_array*/;
+    variable3 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
     variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable1 /*i*/)];
     variable2 = variable3;
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*HashMapNode::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     variable4 = variable3;
     if (UNTAG_Bool(variable4)) { /* and */
-      variable4 = ((abstract_collection___Couple___second_t)CALL( variable2 /*c*/,COLOR_abstract_collection___Couple___second))( variable2 /*c*/) /*HashMapNode::second*/;
+      variable4 = ((abstract_collection___Couple___second_t)CALL( variable2 /*c*/,COLOR_abstract_collection___Couple___second))( variable2 /*c*/) /*Couple::second*/;
       variable4 = TAG_Bool((variable4 ==  variable0 /*item*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*item*/) /*Object::==*/)))));
     }
     variable3 = variable4;
@@ -523,7 +524,7 @@ val_t hash___HashMap___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t hash___HashMap___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___has_only, 265};
+  struct trace_t trace = {NULL, LOCATE_hash, 265, LOCATE_hash___HashMap___has_only};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -533,16 +534,16 @@ val_t hash___HashMap___has_only(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   while (true) { /*while*/
-    variable2 = ATTR_hash___HashCollection____capacity( self) /*HashMap::_capacity*/;
+    variable2 = ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/;
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int(variable2));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable3 = ATTR_hash___HashCollection____array( self) /*HashMap::_array*/;
+    variable3 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
     variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable1 /*i*/)];
     variable2 = variable3;
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*HashMapNode::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     variable4 = variable3;
     if (UNTAG_Bool(variable4)) { /* and */
-      variable4 = ((abstract_collection___Couple___second_t)CALL( variable2 /*c*/,COLOR_abstract_collection___Couple___second))( variable2 /*c*/) /*HashMapNode::second*/;
+      variable4 = ((abstract_collection___Couple___second_t)CALL( variable2 /*c*/,COLOR_abstract_collection___Couple___second))( variable2 /*c*/) /*Couple::second*/;
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*item*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*item*/) /*Object::==*/)))))));
     }
     variable3 = variable4;
@@ -561,7 +562,7 @@ val_t hash___HashMap___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 void hash___HashMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap_____braeq, 276};
+  struct trace_t trace = {NULL, LOCATE_hash, 276, LOCATE_hash___HashMap_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -571,25 +572,25 @@ void hash___HashMap_____braeq(val_t  self, val_t  param0, val_t  param1) {
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*key*/ ==  NIT_NULL /*null*/) || (( variable0 /*key*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*key*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*key*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*key*/,COLOR_kernel___Object_____eqeq))( variable0 /*key*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashMap_____braeq, 278); nit_exit(1);}
-  variable3 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashMap::index_at*/;
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMap_____braeq, LOCATE_hash, 278); nit_exit(1);}
+  variable3 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashCollection::index_at*/;
   variable2 = variable3;
-  variable4 = ATTR_hash___HashCollection____array( self) /*HashMap::_array*/;
+  variable4 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable2 /*i*/)];
   variable3 = variable4;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*c*/ ==  NIT_NULL /*null*/) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/,  NIT_NULL /*null*/) /*HashMapNode::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*c*/ ==  NIT_NULL /*null*/) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((abstract_collection___Couple___first__eq_t)CALL( variable3 /*c*/,COLOR_abstract_collection___Couple___first__eq))( variable3 /*c*/,  variable0 /*key*/) /*HashMapNode::first=*/;
-    ((abstract_collection___Couple___second__eq_t)CALL( variable3 /*c*/,COLOR_abstract_collection___Couple___second__eq))( variable3 /*c*/,  variable1 /*v*/) /*HashMapNode::second=*/;
+    ((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]*/
-    ((hash___HashCollection___store_t)CALL( self,COLOR_hash___HashCollection___store))( self,  variable2 /*i*/, variable4) /*HashMap::store*/;
+    ((hash___HashCollection___store_t)CALL( self,COLOR_hash___HashCollection___store))( self,  variable2 /*i*/, variable4) /*HashCollection::store*/;
   }
   tracehead = trace.prev;
   return;
 }
 void hash___HashMap___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___remove, 289};
+  struct trace_t trace = {NULL, LOCATE_hash, 289, LOCATE_hash___HashMap___remove};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -599,21 +600,21 @@ void hash___HashMap___remove(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   while (true) { /*while*/
-    variable2 = ATTR_hash___HashCollection____capacity( self) /*HashMap::_capacity*/;
+    variable2 = ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/;
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int(variable2));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable3 = ATTR_hash___HashCollection____array( self) /*HashMap::_array*/;
+    variable3 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
     variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable1 /*i*/)];
     variable2 = variable3;
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*HashMapNode::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     variable4 = variable3;
     if (UNTAG_Bool(variable4)) { /* and */
-      variable4 = ((abstract_collection___Couple___second_t)CALL( variable2 /*c*/,COLOR_abstract_collection___Couple___second))( variable2 /*c*/) /*HashMapNode::second*/;
+      variable4 = ((abstract_collection___Couple___second_t)CALL( variable2 /*c*/,COLOR_abstract_collection___Couple___second))( variable2 /*c*/) /*Couple::second*/;
       variable4 = TAG_Bool((variable4 ==  variable0 /*item*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*item*/) /*Object::==*/)))));
     }
     variable3 = variable4;
     if (UNTAG_Bool(variable3)) { /*if*/
-      ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self,  variable1 /*i*/) /*HashMap::remove_index*/;
+      ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self,  variable1 /*i*/) /*HashCollection::remove_index*/;
       goto return_label26;
     }
     variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*i*/;
@@ -625,32 +626,32 @@ void hash___HashMap___remove(val_t  self, val_t  param0) {
   return;
 }
 void hash___HashMap___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___remove_at, 302};
+  struct trace_t trace = {NULL, LOCATE_hash, 302, LOCATE_hash___HashMap___remove_at};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashMap::index_at*/;
-  ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self, variable1) /*HashMap::remove_index*/;
+  variable1 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashCollection::index_at*/;
+  ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self, variable1) /*HashCollection::remove_index*/;
   tracehead = trace.prev;
   return;
 }
 void hash___HashMap___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___clear, 304};
+  struct trace_t trace = {NULL, LOCATE_hash, 304, LOCATE_hash___HashMap___clear};
   trace.prev = tracehead; tracehead = &trace;
-  ((hash___HashCollection___raz_t)CALL( self,COLOR_hash___HashCollection___raz))( self) /*HashMap::raz*/;
+  ((hash___HashCollection___raz_t)CALL( self,COLOR_hash___HashCollection___raz))( self) /*HashCollection::raz*/;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashMap___couple_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___couple_at, 306};
+  struct trace_t trace = {NULL, LOCATE_hash, 306, LOCATE_hash___HashMap___couple_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_hash___HashCollection____array( self) /*HashMap::_array*/;
-  variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashMap::index_at*/;
+  variable1 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
+  variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*key*/) /*HashCollection::index_at*/;
   variable1 = UNBOX_NativeArray(variable1)[UNTAG_Int(variable2)];
   goto return_label30;
   return_label30: while(false);
@@ -658,121 +659,121 @@ val_t hash___HashMap___couple_at(val_t  self, val_t  param0) {
   return variable1;
 }
 void hash___HashMap___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMap___init, 308};
+  struct trace_t trace = {NULL, LOCATE_hash, 308, LOCATE_hash___HashMap___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMap].i]) return;
-  ATTR_hash___HashCollection____capacity( self) /*HashMap::_capacity*/ =  TAG_Int(0);
-  ATTR_hash___HashCollection____length( self) /*HashMap::_length*/ =  TAG_Int(0);
-  ((hash___HashCollection___enlarge_t)CALL( self,COLOR_hash___HashCollection___enlarge))( self,  TAG_Int(0)) /*HashMap::enlarge*/;
+  ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/ =  TAG_Int(0);
+  ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/ =  TAG_Int(0);
+  ((hash___HashCollection___enlarge_t)CALL( self,COLOR_hash___HashCollection___enlarge))( self,  TAG_Int(0)) /*HashCollection::enlarge*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMap].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashMapNode___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapNode___key, 319};
+  struct trace_t trace = {NULL, LOCATE_hash, 319, LOCATE_hash___HashMapNode___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((abstract_collection___Couple___first_t)CALL( self,COLOR_abstract_collection___Couple___first))( self) /*HashMapNode::first*/;
+  variable0 = ((abstract_collection___Couple___first_t)CALL( self,COLOR_abstract_collection___Couple___first))( self) /*Couple::first*/;
   goto return_label32;
   return_label32: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void hash___HashMapNode___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapNode___init, 322};
+  struct trace_t trace = {NULL, LOCATE_hash, 322, LOCATE_hash___HashMapNode___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMapNode].i]) return;
-  ((abstract_collection___Couple___first__eq_t)CALL( self,COLOR_abstract_collection___Couple___first__eq))( self,  variable0 /*k*/) /*HashMapNode::first=*/;
-  ((abstract_collection___Couple___second__eq_t)CALL( self,COLOR_abstract_collection___Couple___second__eq))( self,  variable1 /*v*/) /*HashMapNode::second=*/;
+  ((abstract_collection___Couple___first__eq_t)CALL( self,COLOR_abstract_collection___Couple___first__eq))( self,  variable0 /*k*/) /*Couple::first=*/;
+  ((abstract_collection___Couple___second__eq_t)CALL( self,COLOR_abstract_collection___Couple___second__eq))( self,  variable1 /*v*/) /*Couple::second=*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMapNode].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashMapIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapIterator___is_ok, 331};
+  struct trace_t trace = {NULL, LOCATE_hash, 331, LOCATE_hash___HashMapIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
-  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*/) /*HashMapNode::==*/)))))));
+  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_label34;
   return_label34: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t hash___HashMapIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapIterator___item, 333};
+  struct trace_t trace = {NULL, LOCATE_hash, 333, LOCATE_hash___HashMapIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashMapIterator___item, 335); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___item, LOCATE_hash, 335); nit_exit(1);}
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
-  variable0 = ((abstract_collection___Couple___second_t)CALL(variable0,COLOR_abstract_collection___Couple___second))(variable0) /*HashMapNode::second*/;
+  variable0 = ((abstract_collection___Couple___second_t)CALL(variable0,COLOR_abstract_collection___Couple___second))(variable0) /*Couple::second*/;
   goto return_label35;
   return_label35: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void hash___HashMapIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapIterator___item__eq, 339};
+  struct trace_t trace = {NULL, LOCATE_hash, 339, LOCATE_hash___HashMapIterator___item__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashMapIterator___item__eq, 341); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___item__eq, LOCATE_hash, 341); nit_exit(1);}
   variable1 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
-  ((abstract_collection___Couple___second__eq_t)CALL(variable1,COLOR_abstract_collection___Couple___second__eq))(variable1,  variable0 /*value*/) /*HashMapNode::second=*/;
+  ((abstract_collection___Couple___second__eq_t)CALL(variable1,COLOR_abstract_collection___Couple___second__eq))(variable1,  variable0 /*value*/) /*Couple::second=*/;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashMapIterator___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapIterator___key, 345};
+  struct trace_t trace = {NULL, LOCATE_hash, 345, LOCATE_hash___HashMapIterator___key};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashMapIterator___key, 347); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___key, LOCATE_hash, 347); nit_exit(1);}
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
-  variable0 = ((abstract_collection___Couple___first_t)CALL(variable0,COLOR_abstract_collection___Couple___first))(variable0) /*HashMapNode::first*/;
+  variable0 = ((abstract_collection___Couple___first_t)CALL(variable0,COLOR_abstract_collection___Couple___first))(variable0) /*Couple::first*/;
   goto return_label37;
   return_label37: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void hash___HashMapIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapIterator___next, 351};
+  struct trace_t trace = {NULL, LOCATE_hash, 351, LOCATE_hash___HashMapIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((hash___HashMapIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashMapIterator::is_ok*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashMapIterator___next, 353); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashMapIterator___next, LOCATE_hash, 353); nit_exit(1);}
   variable0 = ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/;
-  variable0 = ((hash___HashNode___next_item_t)CALL(variable0,COLOR_hash___HashNode___next_item))(variable0) /*HashMapNode::next_item*/;
+  variable0 = ((hash___HashNode___next_item_t)CALL(variable0,COLOR_hash___HashNode___next_item))(variable0) /*HashNode::next_item*/;
   ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/ = variable0;
   tracehead = trace.prev;
   return;
 }
 void hash___HashMapIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashMapIterator___init, 363};
+  struct trace_t trace = {NULL, LOCATE_hash, 363, LOCATE_hash___HashMapIterator___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMapIterator].i]) return;
   ATTR_hash___HashMapIterator____map( self) /*HashMapIterator::_map*/ =  variable0 /*map*/;
-  variable1 = ((hash___HashCollection___first_item_t)CALL( variable0 /*map*/,COLOR_hash___HashCollection___first_item))( variable0 /*map*/) /*HashMap::first_item*/;
+  variable1 = ((hash___HashCollection___first_item_t)CALL( variable0 /*map*/,COLOR_hash___HashCollection___first_item))( variable0 /*map*/) /*HashCollection::first_item*/;
   ATTR_hash___HashMapIterator____node( self) /*HashMapIterator::_node*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashMapIterator].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashSet___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___is_empty, 374};
+  struct trace_t trace = {NULL, LOCATE_hash, 374, LOCATE_hash___HashSet___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_hash___HashCollection____length( self) /*HashSet::_length*/;
+  variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool((variable0)==( TAG_Int(0)));
   goto return_label40;
   return_label40: while(false);
@@ -780,13 +781,13 @@ val_t hash___HashSet___is_empty(val_t  self) {
   return variable0;
 }
 val_t hash___HashSet___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___first, 376};
+  struct trace_t trace = {NULL, LOCATE_hash, 376, LOCATE_hash___HashSet___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_hash___HashCollection____length( self) /*HashSet::_length*/;
+  variable0 = ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashSet___first, 378); nit_exit(1);}
-  variable0 = ATTR_hash___HashCollection____first_item( self) /*HashSet::_first_item*/;
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashSet___first, LOCATE_hash, 378); nit_exit(1);}
+  variable0 = ATTR_hash___HashCollection____first_item( self) /*HashCollection::_first_item*/;
   variable0 = ((hash___HashSetNode___key_t)CALL(variable0,COLOR_hash___HashNode___key))(variable0) /*HashSetNode::key*/;
   goto return_label41;
   return_label41: while(false);
@@ -794,64 +795,64 @@ val_t hash___HashSet___first(val_t  self) {
   return variable0;
 }
 val_t hash___HashSet___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___has, 382};
+  struct trace_t trace = {NULL, LOCATE_hash, 382, LOCATE_hash___HashSet___has};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_hash___HashCollection____array( self) /*HashSet::_array*/;
-  variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashSet::index_at*/;
+  variable1 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
+  variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashCollection::index_at*/;
   variable1 = UNBOX_NativeArray(variable1)[UNTAG_Int(variable2)];
-  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*/) /*HashSetNode::==*/)))))));
+  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::==*/)))))));
   goto return_label42;
   return_label42: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void hash___HashSet___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___add, 387};
+  struct trace_t trace = {NULL, LOCATE_hash, 387, LOCATE_hash___HashSet___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashSet::index_at*/;
+  variable2 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashCollection::index_at*/;
   variable1 = variable2;
-  variable3 = ATTR_hash___HashCollection____array( self) /*HashSet::_array*/;
+  variable3 = ATTR_hash___HashCollection____array( self) /*HashCollection::_array*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable1 /*i*/)];
   variable2 = variable3;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*HashSetNode::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*c*/ ==  NIT_NULL /*null*/) || (( variable2 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*c*/,COLOR_kernel___Object_____eqeq))( variable2 /*c*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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]*/
-    ((hash___HashCollection___store_t)CALL( self,COLOR_hash___HashCollection___store))( self,  variable1 /*i*/, variable3) /*HashSet::store*/;
+    ((hash___HashCollection___store_t)CALL( self,COLOR_hash___HashCollection___store))( self,  variable1 /*i*/, variable3) /*HashCollection::store*/;
   }
   tracehead = trace.prev;
   return;
 }
 void hash___HashSet___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___remove, 398};
+  struct trace_t trace = {NULL, LOCATE_hash, 398, LOCATE_hash___HashSet___remove};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashSet::index_at*/;
-  ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self, variable1) /*HashSet::remove_index*/;
+  variable1 = ((hash___HashCollection___index_at_t)CALL( self,COLOR_hash___HashCollection___index_at))( self,  variable0 /*item*/) /*HashCollection::index_at*/;
+  ((hash___HashCollection___remove_index_t)CALL( self,COLOR_hash___HashCollection___remove_index))( self, variable1) /*HashCollection::remove_index*/;
   tracehead = trace.prev;
   return;
 }
 void hash___HashSet___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___clear, 400};
+  struct trace_t trace = {NULL, LOCATE_hash, 400, LOCATE_hash___HashSet___clear};
   trace.prev = tracehead; tracehead = &trace;
-  ((hash___HashCollection___raz_t)CALL( self,COLOR_hash___HashCollection___raz))( self) /*HashSet::raz*/;
+  ((hash___HashCollection___raz_t)CALL( self,COLOR_hash___HashCollection___raz))( self) /*HashCollection::raz*/;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashSet___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___iterator, 402};
+  struct trace_t trace = {NULL, LOCATE_hash, 402, LOCATE_hash___HashSet___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_hash___HashSetIterator___init( self); /*new HashSetIterator[E]*/
@@ -861,31 +862,31 @@ val_t hash___HashSet___iterator(val_t  self) {
   return variable0;
 }
 void hash___HashSet___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSet___init, 404};
+  struct trace_t trace = {NULL, LOCATE_hash, 404, LOCATE_hash___HashSet___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashSet].i]) return;
-  ATTR_hash___HashCollection____capacity( self) /*HashSet::_capacity*/ =  TAG_Int(0);
-  ATTR_hash___HashCollection____length( self) /*HashSet::_length*/ =  TAG_Int(0);
-  ((hash___HashCollection___enlarge_t)CALL( self,COLOR_hash___HashCollection___enlarge))( self,  TAG_Int(0)) /*HashSet::enlarge*/;
+  ATTR_hash___HashCollection____capacity( self) /*HashCollection::_capacity*/ =  TAG_Int(0);
+  ATTR_hash___HashCollection____length( self) /*HashCollection::_length*/ =  TAG_Int(0);
+  ((hash___HashCollection___enlarge_t)CALL( self,COLOR_hash___HashCollection___enlarge))( self,  TAG_Int(0)) /*HashCollection::enlarge*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashSet].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t hash___HashSetNode___key(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSetNode___key, 416};
+  struct trace_t trace = {NULL, LOCATE_hash, 416, LOCATE_hash___HashSetNode___key};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_hash___HashSetNode____key( self) /*HashSetNode::_key*/;
 }
 void hash___HashSetNode___key__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSetNode___key__eq, 416};
+  struct trace_t trace = {NULL, LOCATE_hash, 416, LOCATE_hash___HashSetNode___key__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_hash___HashSetNode____key( self) /*HashSetNode::_key*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void hash___HashSetNode___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSetNode___init, 418};
+  struct trace_t trace = {NULL, LOCATE_hash, 418, LOCATE_hash___HashSetNode___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -896,22 +897,22 @@ void hash___HashSetNode___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t hash___HashSetIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSetIterator___is_ok, 426};
+  struct trace_t trace = {NULL, LOCATE_hash, 426, LOCATE_hash___HashSetIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/;
-  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*/) /*HashSetNode::==*/)))))));
+  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_label49;
   return_label49: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t hash___HashSetIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSetIterator___item, 428};
+  struct trace_t trace = {NULL, LOCATE_hash, 428, LOCATE_hash___HashSetIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((hash___HashSetIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashSetIterator::is_ok*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashSetIterator___item, 430); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashSetIterator___item, LOCATE_hash, 430); nit_exit(1);}
   variable0 = ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/;
   variable0 = ((hash___HashSetNode___key_t)CALL(variable0,COLOR_hash___HashNode___key))(variable0) /*HashSetNode::key*/;
   goto return_label50;
@@ -920,26 +921,26 @@ val_t hash___HashSetIterator___item(val_t  self) {
   return variable0;
 }
 void hash___HashSetIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSetIterator___next, 434};
+  struct trace_t trace = {NULL, LOCATE_hash, 434, LOCATE_hash___HashSetIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((hash___HashSetIterator___is_ok_t)CALL( self,COLOR_abstract_collection___Iterator___is_ok))( self) /*HashSetIterator::is_ok*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_hash___HashSetIterator___next, 436); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_hash___HashSetIterator___next, LOCATE_hash, 436); nit_exit(1);}
   variable0 = ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/;
-  variable0 = ((hash___HashNode___next_item_t)CALL(variable0,COLOR_hash___HashNode___next_item))(variable0) /*HashSetNode::next_item*/;
+  variable0 = ((hash___HashNode___next_item_t)CALL(variable0,COLOR_hash___HashNode___next_item))(variable0) /*HashNode::next_item*/;
   ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/ = variable0;
   tracehead = trace.prev;
   return;
 }
 void hash___HashSetIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_hash___HashSetIterator___init, 446};
+  struct trace_t trace = {NULL, LOCATE_hash, 446, LOCATE_hash___HashSetIterator___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashSetIterator].i]) return;
   ATTR_hash___HashSetIterator____set( self) /*HashSetIterator::_set*/ =  variable0 /*set*/;
-  variable1 = ((hash___HashCollection___first_item_t)CALL( variable0 /*set*/,COLOR_hash___HashCollection___first_item))( variable0 /*set*/) /*HashSet::first_item*/;
+  variable1 = ((hash___HashCollection___first_item_t)CALL( variable0 /*set*/,COLOR_hash___HashCollection___first_item))( variable0 /*set*/) /*HashCollection::first_item*/;
   ATTR_hash___HashSetIterator____node( self) /*HashSetIterator::_node*/ = variable1;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_HashSetIterator].i] = 1;
   tracehead = trace.prev;
index ef89f06..a4d00e1 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires hash. */
-#ifndef hash_3_sep
-#define hash_3_sep
+#ifndef hash_2_sep
+#define hash_2_sep
 #include "string._sep.h"
 #include <nit_common.h>
 
@@ -19,7 +19,7 @@ extern const classtable_elt_t VFT_HashSet[];
 extern const classtable_elt_t VFT_HashSetNode[];
 
 extern const classtable_elt_t VFT_HashSetIterator[];
-#define LOCATE_hash "hash"
+#define LOCATE_hash "./../lib/standard//hash.nit"
 extern const int SFT_hash[];
 #define COLOR_hash___Object___hash SFT_hash[0]
 #define ID_HashCollection SFT_hash[1]
index 9f96e6f..8d98d7d 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module inheritance. */
 #include "inheritance._sep.h"
 val_t inheritance___MMModule___type_any(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMModule___type_any, 24};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 24, LOCATE_inheritance___MMModule___type_any};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_1; static int once_bool_variable1_1;
@@ -23,7 +23,7 @@ val_t inheritance___MMModule___type_any(val_t  self) {
   return variable0;
 }
 void inheritance___MMModule___import_global_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMModule___import_global_classes, 31};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 31, LOCATE_inheritance___MMModule___import_global_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -32,31 +32,31 @@ void inheritance___MMModule___import_global_classes(val_t  self) {
       val_t variable5;
       val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[MMGlobalClass, HashSet[MMLocalClass]]*/
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   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*/) /*PartialOrderElement::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMModule___import_global_classes, 35); nit_exit(1);}
+  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___MMModule___import_global_classes, LOCATE_inheritance, 35); nit_exit(1);}
   variable1 = ((abstractmetamodel___MMModule___mhe_t)CALL( self,COLOR_abstractmetamodel___MMModule___mhe))( self) /*MMModule::mhe*/;
   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) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = ((abstractmetamodel___MMModule___global_classes_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___global_classes))( variable2 /*mod*/) /*MMModule::global_classes*/;
-    variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+    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___MMModule___global_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___global_classes))( self) /*MMModule::global_classes*/;
-      variable5 = ((array___AbstractArray___has_t)CALL(variable5,COLOR_abstract_collection___Collection___has))(variable5,  variable4 /*glob*/) /*Array::has*/;
+      variable5 = ((array___AbstractArray___has_t)CALL(variable5,COLOR_abstract_collection___Collection___has))(variable5,  variable4 /*glob*/) /*AbstractArray::has*/;
       if (UNTAG_Bool(variable5)) { /*if*/
         goto continue_4;
       }
       variable5 = ATTR_abstractmetamodel___MMModule____global_classes( self) /*MMModule::_global_classes*/;
-      ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*glob*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*glob*/) /*AbstractArray::add*/;
       variable5 = ATTR_abstractmetamodel___MMModule____global_class_by_name( self) /*MMModule::_global_class_by_name*/;
       variable6 = ((abstractmetamodel___MMGlobalClass___name_t)CALL( variable4 /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___name))( variable4 /*glob*/) /*MMGlobalClass::name*/;
       ((abstract_collection___Map_____braeq_t)CALL(variable5,COLOR_abstract_collection___Map_____braeq))(variable5, variable6,  variable4 /*glob*/) /*Map::[]=*/;
@@ -72,20 +72,20 @@ void inheritance___MMModule___import_global_classes(val_t  self) {
   return;
 }
 void inheritance___MMModule___import_local_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMModule___import_local_classes, 46};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 46, LOCATE_inheritance___MMModule___import_local_classes};
   val_t variable0;
     val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstractmetamodel___MMModule____global_classes( self) /*MMModule::_global_classes*/;
-  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Array::iterator*/;
+  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable1 = ((array___ArrayIterator___is_ok_t)CALL(variable0,COLOR_abstract_collection___Iterator___is_ok))(variable0) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable1)) break; /*for*/
     variable1 = ((array___ArrayIterator___item_t)CALL(variable0,COLOR_abstract_collection___Iterator___item))(variable0) /*ArrayIterator::item*/;
     variable2 = ((abstractmetamodel___MMModule_____bra_t)CALL( self,COLOR_abstractmetamodel___MMModule_____bra))( self,  variable1 /*g*/) /*MMModule::[]*/;
-    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*/) /*MMLocalClass::==*/)))))));
+    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*/
       goto continue_6;
     }
@@ -99,7 +99,7 @@ void inheritance___MMModule___import_local_classes(val_t  self) {
   return;
 }
 void inheritance___MMLocalClass___compute_super_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___compute_super_classes, 64};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 64, LOCATE_inheritance___MMLocalClass___compute_super_classes};
   val_t variable0;
       val_t variable1;
       val_t variable2;
@@ -114,7 +114,7 @@ void inheritance___MMLocalClass___compute_super_classes(val_t  self) {
   } else { /*if*/
     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) /*MMLocalClass::stderr*/;
+      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*/
       variable3 = variable2;
@@ -130,32 +130,32 @@ 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[MMLocalClass]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   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[MMLocalClass]*/
+  variable2 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   variable1 = variable2;
-  ((abstract_collection___SimpleCollection___add_all_t)CALL( variable1 /*set*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable1 /*set*/,  variable0 /*supers*/) /*HashSet::add_all*/;
-  variable3 = ((array___Collection___to_a_t)CALL( variable1 /*set*/,COLOR_array___Collection___to_a))( variable1 /*set*/) /*HashSet::to_a*/;
+  ((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*/;
   variable2 = variable3;
   variable3 = ((abstractmetamodel___MMLocalClass___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___module))( self) /*MMLocalClass::module*/;
   ((abstractmetamodel___MMModule___set_supers_class_t)CALL(variable3,COLOR_abstractmetamodel___MMModule___set_supers_class))(variable3,  self,  variable2 /*u*/) /*MMModule::set_supers_class*/;
   variable3 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
-  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*/) /*PartialOrderElement::==*/)))))));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___compute_super_classes, 85); nit_exit(1);}
+  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___compute_super_classes, LOCATE_inheritance, 85); nit_exit(1);}
   variable3 = ATTR_abstractmetamodel___MMLocalClass____cshe( self) /*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*/) /*PartialOrderElement::==*/)))))));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___compute_super_classes, 86); nit_exit(1);}
+  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___compute_super_classes, LOCATE_inheritance, 86); nit_exit(1);}
   ATTR_inheritance___MMLocalClass____computing_super( self) /*MMLocalClass::_computing_super*/ =  TAG_Bool(false);
   return_label7: while(false);
   tracehead = trace.prev;
   return;
 }
 void inheritance___MMLocalClass___compute_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___compute_ancestors, 90};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 90, LOCATE_inheritance___MMLocalClass___compute_ancestors};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -163,7 +163,7 @@ void inheritance___MMLocalClass___compute_ancestors(val_t  self) {
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((inheritance___MMLocalClass___computed_super_classes_t)CALL( self,COLOR_inheritance___MMLocalClass___computed_super_classes))( self) /*MMLocalClass::computed_super_classes*/;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___compute_ancestors, 93); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_inheritance___MMLocalClass___compute_ancestors, LOCATE_inheritance, 93); nit_exit(1);}
   variable0 = ((inheritance___MMLocalClass___computed_ancestors_t)CALL( self,COLOR_inheritance___MMLocalClass___computed_ancestors))( self) /*MMLocalClass::computed_ancestors*/;
   if (UNTAG_Bool(variable0)) { /*if*/
     goto return_label8;
@@ -171,17 +171,17 @@ 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[MMLocalClass, MMAncestor]*/
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   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*/
-    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*MapIterator::is_ok*/;
+    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) /*MapIterator::item*/;
-    variable3 = ((abstract_collection___Collection___length_t)CALL( variable2 /*set*/,COLOR_abstract_collection___Collection___length))( variable2 /*set*/) /*Set::length*/;
+    variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
+    variable3 = ((abstract_collection___Collection___length_t)CALL( variable2 /*set*/,COLOR_abstract_collection___Collection___length))( variable2 /*set*/) /*Collection::length*/;
     variable3 = TAG_Bool((variable3)==( TAG_Int(1)));
     if (UNTAG_Bool(variable3)) { /*if*/
-      variable3 = ((abstract_collection___Collection___first_t)CALL( variable2 /*set*/,COLOR_abstract_collection___Collection___first))( variable2 /*set*/) /*Set::first*/;
+      variable3 = ((abstract_collection___Collection___first_t)CALL( variable2 /*set*/,COLOR_abstract_collection___Collection___first))( variable2 /*set*/) /*Collection::first*/;
       ((static_type___MMLocalClass___add_ancestor_t)CALL( self,COLOR_static_type___MMLocalClass___add_ancestor))( self, variable3) /*MMLocalClass::add_ancestor*/;
     } else { /*if*/
       variable4 = ((inheritance___MMLocalClass___merge_ancestors_t)CALL( self,COLOR_inheritance___MMLocalClass___merge_ancestors))( self,  variable2 /*set*/) /*MMLocalClass::merge_ancestors*/;
@@ -190,7 +190,7 @@ void inheritance___MMLocalClass___compute_ancestors(val_t  self) {
       ((static_type___MMLocalClass___add_ancestor_t)CALL( self,COLOR_static_type___MMLocalClass___add_ancestor))( self, variable4) /*MMLocalClass::add_ancestor*/;
     }
     continue_9: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
   break_9: while(0);
   return_label8: while(false);
@@ -198,7 +198,7 @@ void inheritance___MMLocalClass___compute_ancestors(val_t  self) {
   return;
 }
 void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___inherit_global_properties, 109};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 109, LOCATE_inheritance___MMLocalClass___inherit_global_properties};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -210,15 +210,15 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
         val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/;
-  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*/) /*Set::==*/)))))));
+  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*/
     goto return_label10;
   }
-  variable0 = NEW_hash___HashSet___init(); /*new HashSet[MMGlobalProperty]*/
+  variable0 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/ = variable0;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, Array[MMGlobalProperty]]*/
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self) /*MMLocalClass::_properties_by_name*/ = variable0;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[MMGlobalProperty, MMLocalProperty]*/
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   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;
@@ -226,37 +226,37 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
   variable1 = variable2;
   variable2 = ((abstractmetamodel___MMLocalClass___che_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___che))( self) /*MMLocalClass::che*/;
   variable2 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable2,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable2) /*PartialOrderElement::direct_greaters*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  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 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*c*/) /*MMLocalClass::global_properties*/;
-    variable4 = ((abstract_collection___Collection___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Set::iterator*/;
+    variable4 = ((abstract_collection___Collection___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Collection::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 = ((abstract_collection___Collection___has_t)CALL( variable1 /*set*/,COLOR_abstract_collection___Collection___has))( variable1 /*set*/,  variable5 /*glob*/) /*Set::has*/;
+      variable6 = ((abstract_collection___Collection___has_t)CALL( variable1 /*set*/,COLOR_abstract_collection___Collection___has))( variable1 /*set*/,  variable5 /*glob*/) /*Collection::has*/;
       if (UNTAG_Bool(variable6)) { /*if*/
         goto continue_12;
       }
-      ((abstract_collection___SimpleCollection___add_t)CALL( variable1 /*set*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*set*/,  variable5 /*glob*/) /*Set::add*/;
+      ((abstract_collection___SimpleCollection___add_t)CALL( variable1 /*set*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*set*/,  variable5 /*glob*/) /*SimpleCollection::add*/;
       variable6 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable5 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable5 /*glob*/) /*MMGlobalProperty::is_init*/;
       variable7 = variable6;
       if (UNTAG_Bool(variable7)) { /* and */
         variable7 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable5 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable5 /*glob*/) /*MMGlobalProperty::intro*/;
-        variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable7) /*MMConcreteProperty::local_class*/;
+        variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable7) /*MMLocalProperty::local_class*/;
         variable7 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___global))(variable7) /*MMLocalClass::global*/;
         variable8 = ((abstractmetamodel___MMLocalClass___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___global))( self) /*MMLocalClass::global*/;
-        variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable7 == variable8) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7, variable8) /*MMGlobalClass::==*/)))))));
+        variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable7 == variable8) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7, variable8) /*Object::==*/)))))));
       }
       variable6 = variable7;
       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) /*MMConcreteProperty::name*/;
+      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*/;
@@ -264,11 +264,11 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
         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[MMGlobalProperty]*/
+        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*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable7 /*conf_set*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*conf_set*/,  variable5 /*glob*/) /*AbstractArray::add*/;
       continue_12: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
     }
@@ -282,27 +282,27 @@ void inheritance___MMLocalClass___inherit_global_properties(val_t  self) {
   return;
 }
 void inheritance___MMLocalClass___add_direct_parent(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___add_direct_parent, 146};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 146, LOCATE_inheritance___MMLocalClass___add_direct_parent};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_inheritance___MMLocalClass____direct_parents( self) /*MMLocalClass::_direct_parents*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*p*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*p*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 val_t inheritance___MMLocalClass___computed_super_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___computed_super_classes, 152};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 152, LOCATE_inheritance___MMLocalClass___computed_super_classes};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_abstractmetamodel___MMLocalClass____crhe( self) /*MMLocalClass::_crhe*/;
-  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*/) /*PartialOrderElement::==*/)))))));
+  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::==*/)))))));
   variable1 = variable0;
   if (UNTAG_Bool(variable1)) { /* and */
     variable1 = ATTR_abstractmetamodel___MMLocalClass____cshe( self) /*MMLocalClass::_cshe*/;
-    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*/) /*PartialOrderElement::==*/)))))));
+    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;
@@ -311,18 +311,18 @@ val_t inheritance___MMLocalClass___computed_super_classes(val_t  self) {
   return variable0;
 }
 val_t inheritance___MMLocalClass___computed_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___computed_ancestors, 158};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 158, LOCATE_inheritance___MMLocalClass___computed_ancestors};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*Map::==*/)))))));
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___ancestor_for, 164};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 164, LOCATE_inheritance___MMLocalClass___ancestor_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -332,8 +332,8 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*Map::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___ancestor_for, 168); nit_exit(1);}
+  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);}
   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*/
@@ -346,7 +346,7 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
   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 (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___ancestor_for, 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, 174); 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*/;
@@ -357,7 +357,7 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
   } else { /*if*/
     variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable0 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable0 /*c*/) /*MMLocalClass::global*/;
     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) /*MMGlobalClass::==*/)))));
+    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*/
       variable2 = variable3 /*ra=*/;
@@ -378,7 +378,7 @@ val_t inheritance___MMLocalClass___ancestor_for(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t inheritance___MMLocalClass_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass_____bra, 187};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 187, LOCATE_inheritance___MMLocalClass_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -387,11 +387,11 @@ val_t inheritance___MMLocalClass_____bra(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((inheritance___MMLocalClass_____bra_t)CALL( self,COLOR_SUPER_inheritance___MMLocalClass_____bra))( self,  variable0 /*glob*/) /*super MMLocalClass::[]*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*prop*/ ==  NIT_NULL /*null*/) || (( variable1 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*prop*/,COLOR_kernel___Object_____eqeq))( variable1 /*prop*/,  NIT_NULL /*null*/) /*MMLocalProperty::==*/)))));
+  variable2 = TAG_Bool(( variable1 /*prop*/ ==  NIT_NULL /*null*/) || (( variable1 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*prop*/,COLOR_kernel___Object_____eqeq))( variable1 /*prop*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
     variable3 = ATTR_abstractmetamodel___MMLocalClass____global_properties( self) /*MMLocalClass::_global_properties*/;
-    variable3 = ((abstract_collection___Collection___has_t)CALL(variable3,COLOR_abstract_collection___Collection___has))(variable3,  variable0 /*glob*/) /*Set::has*/;
+    variable3 = ((abstract_collection___Collection___has_t)CALL(variable3,COLOR_abstract_collection___Collection___has))(variable3,  variable0 /*glob*/) /*Collection::has*/;
   }
   variable2 = variable3;
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -405,7 +405,7 @@ val_t inheritance___MMLocalClass_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___add_default_any_class, 196};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 196, LOCATE_inheritance___MMLocalClass___add_default_any_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -413,7 +413,7 @@ void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  para
     static val_t once_value_variable3_19; static int once_bool_variable3_19;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*supers*/) /*Array::is_empty*/;
+  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*supers*/) /*AbstractArray::is_empty*/;
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ((abstractmetamodel___MMLocalClass___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___name))( self) /*MMLocalClass::name*/;
@@ -424,7 +424,7 @@ void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  para
       once_value_variable3_19 = variable3;
       once_bool_variable3_19 = 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) /*Symbol::==*/)))))));
+    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::==*/)))))));
   }
   variable1 = variable2;
   if (UNTAG_Bool(variable1)) { /*if*/
@@ -432,7 +432,7 @@ void inheritance___MMLocalClass___add_default_any_class(val_t  self, val_t  para
     variable2 = ((inheritance___MMModule___type_any_t)CALL(variable2,COLOR_inheritance___MMModule___type_any))(variable2) /*MMModule::type_any*/;
     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) /*Array::add*/;
+    ((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*/
     variable2 = variable3;
     ((inheritance___MMLocalClass___add_direct_parent_t)CALL( self,COLOR_inheritance___MMLocalClass___add_direct_parent))( self,  variable2 /*default*/) /*MMLocalClass::add_direct_parent*/;
@@ -441,7 +441,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, LOCATE_inheritance___MMLocalClass___add_super_classes, 207};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 207, LOCATE_inheritance___MMLocalClass___add_super_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -452,21 +452,21 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PartialOrderElement::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___add_super_classes, 210); nit_exit(1);}
+  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);}
   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) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     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*/) /*PartialOrderElement::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___add_super_classes, 212); nit_exit(1);}
+    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);}
     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) /*Array::iterator*/;
+    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*/
@@ -474,9 +474,9 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
       variable6 = ATTR_abstractmetamodel___MMLocalClass____module( self) /*MMLocalClass::_module*/;
       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*/) /*MMLocalClass::==*/)))))));
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___add_super_classes, 215); nit_exit(1);}
-      ((array___AbstractArray___add_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*supers*/,  variable5 /*cla*/) /*Array::add*/;
+      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);}
+      ((array___AbstractArray___add_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*supers*/,  variable5 /*cla*/) /*AbstractArray::add*/;
       continue_22: while(0);
       ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
     }
@@ -489,7 +489,7 @@ void inheritance___MMLocalClass___add_super_classes(val_t  self, val_t  param0)
   return;
 }
 void inheritance___MMLocalClass___add_explicit_classes(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___add_explicit_classes, 221};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 221, LOCATE_inheritance___MMLocalClass___add_explicit_classes};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -497,13 +497,13 @@ void inheritance___MMLocalClass___add_explicit_classes(val_t  self, val_t  param
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_inheritance___MMLocalClass____direct_parents( self) /*MMLocalClass::_direct_parents*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     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) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*supers*/, variable3) /*AbstractArray::add*/;
     continue_24: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -512,20 +512,20 @@ void inheritance___MMLocalClass___add_explicit_classes(val_t  self, val_t  param
   return;
 }
 void inheritance___MMLocalClass___compute_super_parents(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___compute_super_parents, 229};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 229, LOCATE_inheritance___MMLocalClass___compute_super_parents};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*supers*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*supers*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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*/) /*MMLocalClass::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___compute_super_parents, 233); nit_exit(1);}
+    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);}
     ((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);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
@@ -535,43 +535,43 @@ void inheritance___MMLocalClass___compute_super_parents(val_t  self, val_t  para
   return;
 }
 val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___build_ancestors, 238};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 238, LOCATE_inheritance___MMLocalClass___build_ancestors};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = NEW_array___Array___init(); /*new Array[MMAncestor]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   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*/) /*PartialOrderElement::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___build_ancestors, 243); nit_exit(1);}
+  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);}
   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) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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) /*MMLocalClass::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___build_ancestors, 245); nit_exit(1);}
+    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*/
     variable3 = variable4;
-    ((inheritance___MMAncestor___add_in_t)CALL( variable3 /*anc*/,COLOR_inheritance___MMAncestor___add_in))( variable3 /*anc*/,  variable0 /*all_ancestors*/) /*MMRefineAncestor::add_in*/;
+    ((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);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
   break_28: 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) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     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) /*MMLocalClass::==*/)))))));
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___build_ancestors, 250); nit_exit(1);}
+    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);}
     ((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);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
@@ -584,7 +584,7 @@ val_t inheritance___MMLocalClass___build_ancestors(val_t  self) {
   return variable0;
 }
 val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___group_ancestors, 256};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 256, LOCATE_inheritance___MMLocalClass___group_ancestors};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -594,9 +594,9 @@ val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_hash___HashMap___init(); /*new HashMap[MMLocalClass, Set[MMAncestor]]*/
+  variable2 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable1 = variable2;
-  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*all*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*all*/) /*Array::iterator*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*all*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*all*/) /*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*/
@@ -605,16 +605,16 @@ val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
     variable4 = variable5;
     variable5 = NIT_NULL /*decl variable set*/;
     ((inheritance___MMLocalClass___compute_ancestors_t)CALL( variable4 /*c*/,COLOR_inheritance___MMLocalClass___compute_ancestors))( variable4 /*c*/) /*MMLocalClass::compute_ancestors*/;
-    variable6 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable1 /*map*/,COLOR_abstract_collection___Map___has_key))( variable1 /*map*/,  variable4 /*c*/) /*HashMap::has_key*/;
+    variable6 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable1 /*map*/,COLOR_abstract_collection___Map___has_key))( variable1 /*map*/,  variable4 /*c*/) /*CoupleMap::has_key*/;
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable1 /*map*/,COLOR_abstract_collection___Map_____bra))( variable1 /*map*/,  variable4 /*c*/) /*HashMap::[]*/;
+      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[MMAncestor]*/
+      variable6 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
       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*/) /*Set::add*/;
+    ((abstract_collection___SimpleCollection___add_t)CALL( variable5 /*set*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*set*/,  variable3 /*a*/) /*SimpleCollection::add*/;
     continue_31: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
@@ -626,7 +626,7 @@ val_t inheritance___MMLocalClass___group_ancestors(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___merge_ancestors, 278};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 278, LOCATE_inheritance___MMLocalClass___merge_ancestors};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -644,16 +644,16 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
     val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_hash___HashSet___init(); /*new HashSet[MMAncestor]*/
+  variable2 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   variable1 = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[MMAncestor]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable3 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*set*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*set*/) /*Set::iterator*/;
+  variable3 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*set*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*set*/) /*Collection::iterator*/;
   while (true) { /*for*/
     variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable4)) break; /*for*/
     variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
-    variable6 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*set*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*set*/) /*Set::iterator*/;
+    variable6 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*set*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*set*/) /*Collection::iterator*/;
     variable5 = variable6;
     variable6 =  TAG_Bool(true);
     while (true) { /*while*/
@@ -665,7 +665,7 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
       variable7 = variable8;
       if (!UNTAG_Bool(variable7)) break; /* while*/
       variable8 = ((abstract_collection___Iterator___item_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___item))( variable5 /*it*/) /*Iterator::item*/;
-      variable8 = TAG_Bool(( variable4 /*t*/ == variable8) || (( variable4 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*t*/,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))( variable4 /*t*/, variable8) /*MMAncestor::==*/)))));
+      variable8 = TAG_Bool(( variable4 /*t*/ == variable8) || (( variable4 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*t*/,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))( variable4 /*t*/, variable8) /*Object::==*/)))));
       variable7 = variable8;
       variable8 = ((abstract_collection___Iterator___item_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___item))( variable5 /*it*/) /*Iterator::item*/;
       variable8 = ((hash___HashSet___has_t)CALL( variable1 /*marks*/,COLOR_abstract_collection___Collection___has))( variable1 /*marks*/, variable8) /*HashSet::has*/;
@@ -676,7 +676,7 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
       variable8 = ((static_type___MMType_____l_t)CALL(variable8,COLOR_static_type___MMType_____l))(variable8, variable9) /*MMType::<*/;
       variable7 = variable8 /*a=*/;
       variable8 = ((abstract_collection___Iterator___item_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___item))( variable5 /*it*/) /*Iterator::item*/;
-      variable8 = TAG_Bool(( variable4 /*t*/ == variable8) || (( variable4 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*t*/,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))( variable4 /*t*/, variable8) /*MMAncestor::==*/)))));
+      variable8 = TAG_Bool(( variable4 /*t*/ == variable8) || (( variable4 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*t*/,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))( variable4 /*t*/, variable8) /*Object::==*/)))));
       variable9 = variable8;
       if (!UNTAG_Bool(variable9)) { /* or */
         variable9 = ((abstract_collection___Iterator___item_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___item))( variable5 /*it*/) /*Iterator::item*/;
@@ -700,16 +700,16 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
     break_34: 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*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  variable4 /*t*/) /*AbstractArray::add*/;
     }
     continue_33: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
   }
   break_33: while(0);
-  variable3 = ((array___AbstractArray___length_t)CALL( variable2 /*res*/,COLOR_abstract_collection___Collection___length))( variable2 /*res*/) /*Array::length*/;
+  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) /*MMLocalClass::stderr*/;
+    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*/
     variable6 = variable5;
@@ -722,7 +722,7 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
     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 = ((string___Collection___join_t)CALL( variable2 /*res*/,COLOR_string___Collection___join))( variable2 /*res*/, variable11) /*Array::join*/;
+    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*/
@@ -731,7 +731,7 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
     ((file___OFStream___write_t)CALL(variable3,COLOR_stream___OStream___write))(variable3, variable4) /*OFStream::write*/;
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  variable3 = ((abstract_collection___IndexedCollection___first_t)CALL( variable2 /*res*/,COLOR_abstract_collection___Collection___first))( variable2 /*res*/) /*Array::first*/;
+  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);
@@ -739,334 +739,200 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalClass___inherit_local_property, 311};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 311, LOCATE_inheritance___MMLocalClass___inherit_local_property};
   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;
-  trace.prev = tracehead; tracehead = &trace;
-  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 (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___inherit_local_property, 316); 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*/) /*MMGlobalProperty::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___inherit_local_property, 317); nit_exit(1);}
-  variable2 = ((inheritance___MMGlobalProperty___get_compatible_concrete_properties_for_t)CALL( variable0 /*glob*/,COLOR_inheritance___MMGlobalProperty___get_compatible_concrete_properties_for))( variable0 /*glob*/,  self) /*MMGlobalProperty::get_compatible_concrete_properties_for*/;
-  variable1 = variable2;
-  variable2 = ((array___AbstractArray___length_t)CALL( variable1 /*impls*/,COLOR_abstract_collection___Collection___length))( variable1 /*impls*/) /*Array::length*/;
-  variable2 = TAG_Bool((variable2)!=( TAG_Int(1)));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*MMLocalClass::stderr*/;
-    variable3 = NEW_string___String___with_native(BOX_NativeString("Fatal error: inherit_local_property error\n"), TAG_Int(42)); /*new String*/
-    ((file___OFStream___write_t)CALL(variable2,COLOR_stream___OStream___write))(variable2, variable3) /*OFStream::write*/;
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
-    variable4 = variable3;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-    variable5 = ((abstractmetamodel___MMLocalClass___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___module))( self) /*MMLocalClass::module*/;
-    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*/
-    variable8 = variable7;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, 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(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
-    variable10 = NEW_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*/;
-    variable12 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable0 /*glob*/) /*MMGlobalProperty::intro*/;
-    variable12 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL(variable12,COLOR_abstractmetamodel___MMLocalProperty___full_name))(variable12) /*MMConcreteProperty::full_name*/;
-    variable13 = variable12;
-    ((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(0)); /*new String*/
-    variable15 = variable14;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable15) /*String::append*/;
-    ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable2) /*MMLocalClass::print*/;
-    variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*impls*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*impls*/) /*Array::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 = NEW_string___String___init(); /*new String*/
-      variable5 = NEW_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 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable3 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable3 /*i*/) /*MMConcreteProperty::full_name*/;
-      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*/
-      variable10 = variable9;
-      ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-      ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable4) /*MMLocalClass::print*/;
-      continue_36: while(0);
-      ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
-    }
-    break_36: while(0);
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
-    variable4 = variable3;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-    variable5 = ((abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy))( variable0 /*glob*/) /*MMGlobalProperty::concrete_property_hierarchy*/;
-    variable5 = ((partial_order___PartialOrder___first_t)CALL(variable5,COLOR_abstract_collection___Collection___first))(variable5) /*PartialOrder::first*/;
-    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(0)); /*new String*/
-    variable8 = variable7;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-    ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable2) /*MMLocalClass::print*/;
-    variable2 = NEW_string___String___init(); /*new String*/
-    variable3 = NEW_string___String___with_native(BOX_NativeString("------- "), TAG_Int(8)); /*new String*/
-    variable4 = variable3;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-    variable5 = ((abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy))( variable0 /*glob*/) /*MMGlobalProperty::concrete_property_hierarchy*/;
-    variable5 = ((partial_order___PartialOrder___to_dot_t)CALL(variable5,COLOR_partial_order___PartialOrder___to_dot))(variable5) /*PartialOrder::to_dot*/;
-    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(0)); /*new String*/
-    variable8 = variable7;
-    ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
-    ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable2) /*MMLocalClass::print*/;
-    exit(UNTAG_Int( TAG_Int(1)));
-  }
-  variable3 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*impls*/,COLOR_abstract_collection___Collection___first))( variable1 /*impls*/) /*Array::first*/;
-  variable2 = variable3;
-  variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*impl*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*impl*/) /*MMConcreteProperty::local_class*/;
-  variable4 = ((inheritance___MMLocalClass___ancestor_for_t)CALL( self,COLOR_inheritance___MMLocalClass___ancestor_for))( self, variable4) /*MMLocalClass::ancestor_for*/;
-  variable3 = variable4;
-  variable4 = ((static_type___MMAncestor___local_class_t)CALL( variable3 /*ac*/,COLOR_static_type___MMAncestor___local_class))( variable3 /*ac*/) /*MMAncestor::local_class*/;
-  ((inheritance___MMLocalClass___inherit_global_properties_t)CALL(variable4,COLOR_inheritance___MMLocalClass___inherit_global_properties))(variable4) /*MMLocalClass::inherit_global_properties*/;
-  variable5 = ((static_type___MMAncestor___stype_t)CALL( variable3 /*ac*/,COLOR_static_type___MMAncestor___stype))( variable3 /*ac*/) /*MMAncestor::stype*/;
-  variable4 = variable5;
-  variable5 = ((static_type___MMType___local_class_t)CALL( variable4 /*a*/,COLOR_static_type___MMType___local_class))( variable4 /*a*/) /*MMType::local_class*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable5 ==  self) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5,  self) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___inherit_local_property, 335); nit_exit(1);}
-  variable6 = ((static_type___MMType___select_property_t)CALL( variable4 /*a*/,COLOR_static_type___MMType___select_property))( variable4 /*a*/,  variable0 /*glob*/) /*MMType::select_property*/;
-  variable5 = variable6;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*sup*/ ==  NIT_NULL /*null*/) || (( variable5 /*sup*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*sup*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*sup*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*sup*/,COLOR_kernel___Object_____eqeq))( variable5 /*sup*/,  NIT_NULL /*null*/) /*MMLocalProperty::==*/)))))));
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalClass___inherit_local_property, 337); nit_exit(1);}
-  variable7 = ((static_type___MMLocalClass___get_type_t)CALL( self,COLOR_static_type___MMLocalClass___get_type))( self) /*MMLocalClass::get_type*/;
-  variable7 = ((inheritance___MMLocalProperty___inherit_to_t)CALL( variable5 /*sup*/,COLOR_inheritance___MMLocalProperty___inherit_to))( variable5 /*sup*/, variable7) /*MMLocalProperty::inherit_to*/;
-  variable6 = variable7;
-  variable1 =  variable6 /*prop*/;
-  goto return_label35;
-  return_label35: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t inheritance___MMConcreteProperty___is_deferred(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMConcreteProperty___is_deferred, 344};
-  val_t variable0;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Bool(false);
-  goto return_label37;
-  return_label37: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t inheritance___MMGlobalProperty___get_compatible_concrete_properties_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMGlobalProperty___get_compatible_concrete_properties_for, 349};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-    val_t variable3;
+  val_t variable3;
   val_t variable4;
       val_t variable5;
-      val_t variable6;
-      val_t variable7;
-      val_t variable8;
+        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;
+        val_t variable19;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self) /*MMGlobalProperty::_concrete_property_hierarchy*/;
-  variable1 = variable2;
-  variable2 = ((partial_order___PartialOrder___length_t)CALL( variable1 /*impl_hier*/,COLOR_abstract_collection___Collection___length))( variable1 /*impl_hier*/) /*PartialOrder::length*/;
-  variable2 = TAG_Bool((variable2)==( TAG_Int(1)));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMConcreteProperty]*/
-    variable3 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*Array::add*/;
-    variable1 = variable2;
-    goto return_label38;
-  }
-  variable3 = NEW_array___ArraySet___init(); /*new ArraySet[MMConcreteProperty]*/
+  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);}
+  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);}
+  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;
-  variable4 = ((abstractmetamodel___MMLocalClass___che_t)CALL( variable0 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___che))( variable0 /*cla*/) /*MMLocalClass::che*/;
+  variable4 = ((abstractmetamodel___MMLocalClass___che_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___che))( self) /*MMLocalClass::che*/;
+  variable4 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable4,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable4) /*PartialOrderElement::direct_greaters*/;
   variable3 = variable4;
-  if (UNTAG_Bool( TAG_Bool(true))) { /*if*/
-    variable4 = ((abstractmetamodel___MMLocalClass___che_t)CALL( variable0 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___che))( variable0 /*cla*/) /*MMLocalClass::che*/;
-    variable4 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable4,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable4) /*PartialOrderElement::direct_greaters*/;
-    variable4 = ((array___AbstractArray___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Array::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*/;
-      variable7 = ((inheritance___MMLocalClass_____bra_t)CALL( variable5 /*sc*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable5 /*sc*/,  self) /*MMLocalClass::[]*/;
-      variable6 = variable7;
-      variable7 = TAG_Bool(( variable6 /*p*/ ==  NIT_NULL /*null*/) || (( variable6 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))( variable6 /*p*/,  NIT_NULL /*null*/) /*MMLocalProperty::==*/)))));
-      if (UNTAG_Bool(variable7)) { /*if*/
-        goto continue_39;
-      }
-      variable8 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( variable6 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( variable6 /*p*/) /*MMLocalProperty::concrete_property*/;
-      variable7 = variable8;
-      ((array___ArraySet___add_t)CALL( variable2 /*impls*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*impls*/,  variable7 /*impl*/) /*ArraySet::add*/;
-      continue_39: while(0);
-      ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
-    }
-    break_39: while(0);
+  variable4 = ((partial_order___PartialOrder___length_t)CALL( variable2 /*ghier*/,COLOR_abstract_collection___Collection___length))( variable2 /*ghier*/) /*PartialOrder::length*/;
+  variable4 = TAG_Bool((variable4)==( TAG_Int(1)));
+  if (UNTAG_Bool(variable4)) { /*if*/
+    variable4 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable0 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable0 /*glob*/) /*MMGlobalProperty::intro*/;
+    variable1 = variable4 /*impl=*/;
   } else { /*if*/
-    variable4 = ((partial_order___PartialOrder___iterator_t)CALL( variable1 /*impl_hier*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*impl_hier*/) /*PartialOrder::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 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable5 /*impl*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable5 /*impl*/) /*MMConcreteProperty::local_class*/;
-      variable6 = variable7;
-      variable7 = ((partial_order___PartialOrderElement_____l_t)CALL( variable3 /*clache*/,COLOR_partial_order___PartialOrderElement_____l))( variable3 /*clache*/,  variable6 /*bc*/) /*PartialOrderElement::<*/;
-      if (UNTAG_Bool(variable7)) { /*if*/
-        ((array___ArraySet___add_t)CALL( variable2 /*impls*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*impls*/,  variable5 /*impl*/) /*ArraySet::add*/;
+    variable4 = ((array___AbstractArray___length_t)CALL( variable3 /*supers*/,COLOR_abstract_collection___Collection___length))( variable3 /*supers*/) /*AbstractArray::length*/;
+    variable4 = TAG_Bool((variable4)==( TAG_Int(1)));
+    if (UNTAG_Bool(variable4)) { /*if*/
+      variable4 = ((abstract_collection___IndexedCollection___first_t)CALL( variable3 /*supers*/,COLOR_abstract_collection___Collection___first))( variable3 /*supers*/) /*IndexedCollection::first*/;
+      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]*/
+      variable4 = variable5;
+      variable5 = ((array___AbstractArray___iterator_t)CALL( variable3 /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*supers*/) /*AbstractArray::iterator*/;
+      while (true) { /*for*/
+        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*/;
+        variable8 = ((inheritance___MMLocalClass_____bra_t)CALL( variable6 /*sc*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable6 /*sc*/,  variable0 /*glob*/) /*MMLocalClass::[]*/;
+        variable7 = variable8;
+        variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*p*/ ==  NIT_NULL /*null*/) || (( variable7 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*p*/,COLOR_kernel___Object_____eqeq))( variable7 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+        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);
+        ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
       }
-      continue_40: while(0);
-      ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
+      break_36: 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*/
+        ((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*/
+        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*/
+        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*/
+        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*/
+        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*/;
+        variable6 = ((array___AbstractArray___iterator_t)CALL( variable5 /*impls2*/,COLOR_abstract_collection___Collection___iterator))( variable5 /*impls2*/) /*AbstractArray::iterator*/;
+        while (true) { /*for*/
+          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*/
+          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*/
+          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);
+          ((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*/
+        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___first_t)CALL(variable9,COLOR_abstract_collection___Collection___first))(variable9) /*PartialOrder::first*/;
+        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*/
+        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*/
+        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*/
+        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*/;
+        exit(UNTAG_Int( TAG_Int(1)));
+      }
+      variable6 = ((abstract_collection___IndexedCollection___first_t)CALL( variable5 /*impls2*/,COLOR_abstract_collection___Collection___first))( variable5 /*impls2*/) /*IndexedCollection::first*/;
+      variable1 = variable6 /*impl=*/;
     }
-    break_40: while(0);
   }
-  variable4 = ((partial_order___PartialOrder___select_smallests_t)CALL( variable1 /*impl_hier*/,COLOR_partial_order___PartialOrder___select_smallests))( variable1 /*impl_hier*/,  variable2 /*impls*/) /*PartialOrder::select_smallests*/;
-  variable1 = variable4;
-  goto return_label38;
-  return_label38: while(false);
+  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);
   tracehead = trace.prev;
   return variable1;
 }
 void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalProperty___inherit_global, 378};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 367, LOCATE_inheritance___MMLocalProperty___inherit_global};
   val_t variable0;
   val_t variable1;
   val_t variable2;
+    val_t variable3;
+    val_t variable4;
+    val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ((abstractmetamodel___MMLocalProperty___set_global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___set_global))( self,  variable0 /*g*/) /*MMLocalProperty::set_global*/;
-  variable1 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( self) /*MMLocalProperty::concrete_property*/;
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
+  variable1 = variable2;
   variable2 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
-  variable2 = ((inheritance___MMGlobalProperty___get_compatible_concrete_properties_for_t)CALL( variable0 /*g*/,COLOR_inheritance___MMGlobalProperty___get_compatible_concrete_properties_for))( variable0 /*g*/, variable2) /*MMGlobalProperty::get_compatible_concrete_properties_for*/;
-  ((abstractmetamodel___MMGlobalProperty___add_concrete_property_t)CALL( variable0 /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___add_concrete_property))( variable0 /*g*/, variable1, variable2) /*MMGlobalProperty::add_concrete_property*/;
-  tracehead = trace.prev;
-  return;
-}
-val_t inheritance___MMLocalProperty___inherit_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalProperty___inherit_to, 386};
-  trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "inherit_to", LOCATE_inheritance___MMLocalProperty___inherit_global, 386);
-  nit_exit(1);
-  tracehead = trace.prev;
-  return NIT_NULL;
-}
-void inheritance___MMLocalProperty___inherit_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMLocalProperty___inherit_from, 389};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  variable2 = ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_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*/) /*MMLocalProperty::==*/)))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMLocalProperty___inherit_from, 392); nit_exit(1);}
-  ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_prop*/ =  variable0 /*s*/;
-  variable2 = ATTR_abstractmetamodel___MMLocalProperty____global( self) /*MMLocalProperty::_global*/;
-  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*/) /*MMGlobalProperty::==*/)))));
-  if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable0 /*s*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable0 /*s*/) /*MMLocalProperty::global*/;
-    ((abstractmetamodel___MMLocalProperty___set_global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___set_global))( self, variable2) /*MMLocalProperty::set_global*/;
+  variable2 = ((abstractmetamodel___MMLocalClass___che_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___che))(variable2) /*MMLocalClass::che*/;
+  variable2 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable2,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable2) /*PartialOrderElement::direct_greaters*/;
+  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*/;
+    variable5 = ((inheritance___MMLocalClass_____bra_t)CALL( variable3 /*sc*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable3 /*sc*/,  variable0 /*g*/) /*MMLocalClass::[]*/;
+    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;
+    }
+    ((array___AbstractArray___add_t)CALL( variable1 /*impls*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*impls*/,  variable4 /*p*/) /*AbstractArray::add*/;
+    continue_39: while(0);
+    ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  tracehead = trace.prev;
-  return;
-}
-val_t inheritance___MMMethod___inherit_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMMethod___inherit_to, 402};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_inheritance___MMImplicitMethod___init( self,  variable0 /*t*/); /*new MMImplicitMethod*/
-  goto return_label43;
-  return_label43: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-void inheritance___MMImplicitProperty___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMImplicitProperty___init, 410};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitProperty].i]) return;
-  variable2 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable0 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable0 /*prop*/) /*MMLocalProperty::name*/;
-  variable3 = ((static_type___MMType___local_class_t)CALL( variable1 /*bt*/,COLOR_static_type___MMType___local_class))( variable1 /*bt*/) /*MMType::local_class*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( variable0 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( variable0 /*prop*/) /*MMLocalProperty::concrete_property*/;
-  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable2, variable3, variable4, init_table /*YYY*/) /*MMLocalProperty::init*/;
-  ((inheritance___MMLocalProperty___inherit_from_t)CALL( self,COLOR_inheritance___MMLocalProperty___inherit_from))( self,  variable0 /*prop*/,  variable1 /*bt*/) /*MMImplicitProperty::inherit_from*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitProperty].i] = 1;
-  tracehead = trace.prev;
-  return;
-}
-void inheritance___MMImplicitMethod___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMImplicitMethod___init, 421};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitMethod].i]) return;
-  ((inheritance___MMImplicitProperty___init_t)CALL( self,COLOR_inheritance___MMImplicitProperty___init))( self,  param0,  param1, init_table /*YYY*/) /*MMImplicitProperty::init*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitMethod].i] = 1;
-  tracehead = trace.prev;
-  return;
-}
-val_t inheritance___MMAttribute___inherit_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMAttribute___inherit_to, 425};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = NEW_inheritance___MMImplicitAttribute___init( self,  variable0 /*t*/); /*new MMImplicitAttribute*/
-  goto return_label46;
-  return_label46: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-void inheritance___MMImplicitAttribute___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMImplicitAttribute___init, 434};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  param1;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitAttribute].i]) return;
-  ((inheritance___MMImplicitProperty___init_t)CALL( self,COLOR_inheritance___MMImplicitProperty___init))( self,  param0,  param1, init_table /*YYY*/) /*MMImplicitProperty::init*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitAttribute].i] = 1;
+  break_39: 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, LOCATE_inheritance___MMAncestor___add_in, 438};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 382, LOCATE_inheritance___MMAncestor___add_in};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -1079,13 +945,13 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'ancestor' ", LOCATE_inheritance___MMAncestor___add_in, 441); nit_exit(1);}
+  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);}
   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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'local_class' ", LOCATE_inheritance___MMAncestor___add_in, 442); nit_exit(1);}
-  ((array___AbstractArray___add_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*tab*/,  self) /*Array::add*/;
+  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);}
+  ((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*/;
   ((inheritance___MMLocalClass___compute_ancestors_t)CALL(variable1,COLOR_inheritance___MMLocalClass___compute_ancestors))(variable1) /*MMLocalClass::compute_ancestors*/;
@@ -1094,9 +960,9 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
   variable1 = ((static_type___MMLocalClass___ancestors_t)CALL(variable1,COLOR_static_type___MMLocalClass___ancestors))(variable1) /*MMLocalClass::ancestors*/;
   variable1 = ((abstract_collection___Map___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Map::iterator*/;
   while (true) { /*for*/
-    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*MapIterator::is_ok*/;
+    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) /*MapIterator::item*/;
+    variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
     variable4 = ((static_type___MMAncestor___stype_t)CALL( variable2 /*anc*/,COLOR_static_type___MMAncestor___stype))( variable2 /*anc*/) /*MMAncestor::stype*/;
     variable5 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
     variable5 = ((static_type___MMType___module_t)CALL(variable5,COLOR_static_type___MMType___module))(variable5) /*MMType::module*/;
@@ -1111,9 +977,9 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
     variable5 = ((static_type___MMType___local_class_t)CALL( variable4 /*a*/,COLOR_static_type___MMType___local_class))( variable4 /*a*/) /*MMType::local_class*/;
     variable6 = ((static_type___MMAncestor___inheriter_t)CALL( self,COLOR_static_type___MMAncestor___inheriter))( self) /*MMAncestor::inheriter*/;
     variable6 = ((static_type___MMType___local_class_t)CALL(variable6,COLOR_static_type___MMType___local_class))(variable6) /*MMType::local_class*/;
-    variable5 = TAG_Bool(!UNTAG_Bool(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) /*MMLocalClass::==*/)))))));
+    variable5 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
     if (UNTAG_Bool(variable5)) { /*if*/
-      variable6 = ((array___AbstractArray___iterator_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*tab*/) /*Array::iterator*/;
+      variable6 = ((array___AbstractArray___iterator_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*tab*/) /*AbstractArray::iterator*/;
       variable5 = variable6;
       variable6 =  TAG_Bool(true);
       while (true) { /*while*/
@@ -1127,35 +993,35 @@ void inheritance___MMAncestor___add_in(val_t  self, val_t  param0) {
         variable7 = ((array___ArrayIterator___item_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___item))( variable5 /*it*/) /*ArrayIterator::item*/;
         variable7 = ((static_type___MMAncestor___inheriter_t)CALL(variable7,COLOR_static_type___MMAncestor___inheriter))(variable7) /*MMAncestor::inheriter*/;
         variable8 = ((static_type___MMAncestor___inheriter_t)CALL( self,COLOR_static_type___MMAncestor___inheriter))( self) /*MMAncestor::inheriter*/;
-        variable7 = TAG_Bool((variable7 == variable8) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7, variable8) /*MMType::==*/)))));
+        variable7 = TAG_Bool((variable7 == variable8) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7,variable8)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7, variable8) /*Object::==*/)))));
         variable8 = variable7;
         if (UNTAG_Bool(variable8)) { /* and */
           variable8 = ((array___ArrayIterator___item_t)CALL( variable5 /*it*/,COLOR_abstract_collection___Iterator___item))( variable5 /*it*/) /*ArrayIterator::item*/;
           variable8 = ((static_type___MMAncestor___stype_t)CALL(variable8,COLOR_static_type___MMAncestor___stype))(variable8) /*MMAncestor::stype*/;
-          variable8 = TAG_Bool((variable8 ==  variable4 /*a*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, variable4 /*a*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8,  variable4 /*a*/) /*MMType::==*/)))));
+          variable8 = TAG_Bool((variable8 ==  variable4 /*a*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, variable4 /*a*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8,  variable4 /*a*/) /*Object::==*/)))));
         }
         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_50: while(0);
+        continue_42: while(0);
       }
-      break_50: while(0);
+      break_42: 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*/
         variable7 = variable8;
-        ((array___AbstractArray___add_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*tab*/, variable7) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL( variable0 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*tab*/, variable7) /*AbstractArray::add*/;
       }
     }
-    continue_49: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*MapIterator::next*/;
+    continue_41: while(0);
+    ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
-  break_49: while(0);
+  break_41: 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, LOCATE_inheritance___MMImplicitLocalClass___init, 468};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 412, LOCATE_inheritance___MMImplicitLocalClass___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1171,19 +1037,19 @@ void inheritance___MMImplicitLocalClass___init(val_t  self, val_t  param0, val_t
   variable4 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable2 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable2 /*cla*/) /*MMLocalClass::arity*/;
   ((abstractmetamodel___MMLocalClass___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___init))( self, variable3, variable4, init_table /*YYY*/) /*MMLocalClass::init*/;
   ((abstractmetamodel___MMModule___add_local_class_t)CALL( variable0 /*mod*/,COLOR_abstractmetamodel___MMModule___add_local_class))( variable0 /*mod*/,  self) /*MMModule::add_local_class*/;
-  ((abstractmetamodel___MMLocalClass___set_global_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___set_global))( self,  variable1 /*g*/) /*MMImplicitLocalClass::set_global*/;
+  ((abstractmetamodel___MMLocalClass___set_global_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___set_global))( self,  variable1 /*g*/) /*MMLocalClass::set_global*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitLocalClass].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t inheritance___MMRefineAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMRefineAncestor___local_class, 479};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 423, LOCATE_inheritance___MMRefineAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_inheritance___MMRefineAncestor___init, 481};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 425, LOCATE_inheritance___MMRefineAncestor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1193,52 +1059,52 @@ void inheritance___MMRefineAncestor___init(val_t  self, val_t  param0, val_t  pa
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMRefineAncestor].i]) return;
   ATTR_inheritance___MMRefineAncestor____local_class( self) /*MMRefineAncestor::_local_class*/ =  variable1 /*a*/;
   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) /*MMRefineAncestor::inheriter=*/;
+  ((static_type___MMAncestor___inheriter__eq_t)CALL( self,COLOR_static_type___MMAncestor___inheriter__eq))( self, variable2) /*MMAncestor::inheriter=*/;
   variable2 = ATTR_inheritance___MMRefineAncestor____local_class( self) /*MMRefineAncestor::_local_class*/;
   variable2 = ((static_type___MMLocalClass___get_type_t)CALL(variable2,COLOR_static_type___MMLocalClass___get_type))(variable2) /*MMLocalClass::get_type*/;
-  ((static_type___MMAncestor___stype__eq_t)CALL( self,COLOR_static_type___MMAncestor___stype__eq))( self, variable2) /*MMRefineAncestor::stype=*/;
+  ((static_type___MMAncestor___stype__eq_t)CALL( self,COLOR_static_type___MMAncestor___stype__eq))( self, variable2) /*MMAncestor::stype=*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMRefineAncestor].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t inheritance___MMSpecAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMSpecAncestor___local_class, 492};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 436, LOCATE_inheritance___MMSpecAncestor___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMSpecAncestor::stype*/;
+  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_label53;
-  return_label53: while(false);
+  goto return_label45;
+  return_label45: 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, LOCATE_inheritance___MMSpecAncestor___init, 494};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 438, LOCATE_inheritance___MMSpecAncestor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSpecAncestor].i]) return;
-  ATTR_static_type___MMAncestor____inheriter( self) /*MMSpecAncestor::_inheriter*/ =  variable0 /*inheriter*/;
-  ATTR_static_type___MMAncestor____stype( self) /*MMSpecAncestor::_stype*/ =  variable1 /*stype*/;
+  ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/ =  variable0 /*inheriter*/;
+  ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/ =  variable1 /*stype*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSpecAncestor].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t inheritance___MMDefaultAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_inheritance___MMDefaultAncestor___local_class, 503};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 447, LOCATE_inheritance___MMDefaultAncestor___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMDefaultAncestor::stype*/;
+  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_label55;
-  return_label55: while(false);
+  goto return_label47;
+  return_label47: 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, LOCATE_inheritance___MMDefaultAncestor___init, 505};
+  struct trace_t trace = {NULL, LOCATE_inheritance, 449, LOCATE_inheritance___MMDefaultAncestor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1246,16 +1112,16 @@ void inheritance___MMDefaultAncestor___init(val_t  self, val_t  param0, val_t  p
   variable0 =  param0;
   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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMDefaultAncestor___init, 507); nit_exit(1);}
+  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);}
   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*/) /*MMModule::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMDefaultAncestor___init, 508); 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*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_inheritance___MMDefaultAncestor___init, 509); nit_exit(1);}
+  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);}
+  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);}
   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) /*MMDefaultAncestor::inheriter=*/;
-  ((static_type___MMAncestor___stype__eq_t)CALL( self,COLOR_static_type___MMAncestor___stype__eq))( self,  variable1 /*anc*/) /*MMDefaultAncestor::stype=*/;
+  ((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=*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMDefaultAncestor].i] = 1;
   tracehead = trace.prev;
   return;
index 1677c3b..bd9be7f 100644 (file)
@@ -1,15 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires inheritance. */
-#ifndef inheritance_3_sep
-#define inheritance_3_sep
+#ifndef inheritance_2_sep
+#define inheritance_2_sep
 #include "static_type._sep.h"
 #include <nit_common.h>
 
-extern const classtable_elt_t VFT_MMImplicitProperty[];
-
-extern const classtable_elt_t VFT_MMImplicitMethod[];
-
-extern const classtable_elt_t VFT_MMImplicitAttribute[];
-
 extern const classtable_elt_t VFT_MMImplicitLocalClass[];
 
 extern const classtable_elt_t VFT_MMRefineAncestor[];
@@ -17,7 +11,7 @@ extern const classtable_elt_t VFT_MMRefineAncestor[];
 extern const classtable_elt_t VFT_MMSpecAncestor[];
 
 extern const classtable_elt_t VFT_MMDefaultAncestor[];
-#define LOCATE_inheritance "inheritance"
+#define LOCATE_inheritance "./metamodel//inheritance.nit"
 extern const int SFT_inheritance[];
 #define COLOR_inheritance___MMModule___type_any SFT_inheritance[0]
 #define COLOR_inheritance___MMModule___import_global_classes SFT_inheritance[1]
@@ -40,41 +34,25 @@ extern const int SFT_inheritance[];
 #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___MMConcreteProperty___is_deferred SFT_inheritance[21]
-#define COLOR_inheritance___MMGlobalProperty___get_compatible_concrete_properties_for SFT_inheritance[22]
-#define COLOR_inheritance___MMLocalProperty___inherit_global SFT_inheritance[23]
-#define COLOR_inheritance___MMLocalProperty___inherit_to SFT_inheritance[24]
-#define COLOR_inheritance___MMLocalProperty___inherit_from SFT_inheritance[25]
-#define ID_MMImplicitProperty SFT_inheritance[26]
-#define COLOR_MMImplicitProperty SFT_inheritance[27]
-#define INIT_TABLE_POS_MMImplicitProperty SFT_inheritance[28]
-#define COLOR_inheritance___MMImplicitProperty___init SFT_inheritance[29]
-#define ID_MMImplicitMethod SFT_inheritance[30]
-#define COLOR_MMImplicitMethod SFT_inheritance[31]
-#define INIT_TABLE_POS_MMImplicitMethod SFT_inheritance[32]
-#define COLOR_inheritance___MMImplicitMethod___init SFT_inheritance[33]
-#define ID_MMImplicitAttribute SFT_inheritance[34]
-#define COLOR_MMImplicitAttribute SFT_inheritance[35]
-#define INIT_TABLE_POS_MMImplicitAttribute SFT_inheritance[36]
-#define COLOR_inheritance___MMImplicitAttribute___init SFT_inheritance[37]
-#define COLOR_inheritance___MMAncestor___add_in SFT_inheritance[38]
-#define ID_MMImplicitLocalClass SFT_inheritance[39]
-#define COLOR_MMImplicitLocalClass SFT_inheritance[40]
-#define INIT_TABLE_POS_MMImplicitLocalClass SFT_inheritance[41]
-#define COLOR_inheritance___MMImplicitLocalClass___init SFT_inheritance[42]
-#define ID_MMRefineAncestor SFT_inheritance[43]
-#define COLOR_MMRefineAncestor SFT_inheritance[44]
-#define COLOR_inheritance___MMRefineAncestor____local_class SFT_inheritance[45]
-#define INIT_TABLE_POS_MMRefineAncestor SFT_inheritance[46]
-#define COLOR_inheritance___MMRefineAncestor___init SFT_inheritance[47]
-#define ID_MMSpecAncestor SFT_inheritance[48]
-#define COLOR_MMSpecAncestor SFT_inheritance[49]
-#define INIT_TABLE_POS_MMSpecAncestor SFT_inheritance[50]
-#define COLOR_inheritance___MMSpecAncestor___init SFT_inheritance[51]
-#define ID_MMDefaultAncestor SFT_inheritance[52]
-#define COLOR_MMDefaultAncestor SFT_inheritance[53]
-#define INIT_TABLE_POS_MMDefaultAncestor SFT_inheritance[54]
-#define COLOR_inheritance___MMDefaultAncestor___init SFT_inheritance[55]
+#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]
 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"
@@ -134,39 +112,9 @@ val_t inheritance___MMLocalClass___merge_ancestors(val_t  self, val_t  param0);
 typedef val_t (* inheritance___MMLocalClass___inherit_local_property_t)(val_t  self, val_t  param0);
 val_t inheritance___MMLocalClass___inherit_local_property(val_t  self, val_t  param0);
 #define LOCATE_inheritance___MMLocalClass___inherit_local_property "inheritance::MMLocalClass::inherit_local_property"
-typedef val_t (* inheritance___MMConcreteProperty___is_deferred_t)(val_t  self);
-val_t inheritance___MMConcreteProperty___is_deferred(val_t  self);
-#define LOCATE_inheritance___MMConcreteProperty___is_deferred "inheritance::MMConcreteProperty::is_deferred"
-typedef val_t (* inheritance___MMGlobalProperty___get_compatible_concrete_properties_for_t)(val_t  self, val_t  param0);
-val_t inheritance___MMGlobalProperty___get_compatible_concrete_properties_for(val_t  self, val_t  param0);
-#define LOCATE_inheritance___MMGlobalProperty___get_compatible_concrete_properties_for "inheritance::MMGlobalProperty::get_compatible_concrete_properties_for"
 typedef void (* inheritance___MMLocalProperty___inherit_global_t)(val_t  self, val_t  param0);
 void inheritance___MMLocalProperty___inherit_global(val_t  self, val_t  param0);
 #define LOCATE_inheritance___MMLocalProperty___inherit_global "inheritance::MMLocalProperty::inherit_global"
-typedef val_t (* inheritance___MMLocalProperty___inherit_to_t)(val_t  self, val_t  param0);
-val_t inheritance___MMLocalProperty___inherit_to(val_t  self, val_t  param0);
-#define LOCATE_inheritance___MMLocalProperty___inherit_to "inheritance::MMLocalProperty::inherit_to"
-typedef void (* inheritance___MMLocalProperty___inherit_from_t)(val_t  self, val_t  param0, val_t  param1);
-void inheritance___MMLocalProperty___inherit_from(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_inheritance___MMLocalProperty___inherit_from "inheritance::MMLocalProperty::inherit_from"
-typedef val_t (* inheritance___MMMethod___inherit_to_t)(val_t  self, val_t  param0);
-val_t inheritance___MMMethod___inherit_to(val_t  self, val_t  param0);
-#define LOCATE_inheritance___MMMethod___inherit_to "inheritance::MMMethod::(inheritance::MMLocalProperty::inherit_to)"
-typedef void (* inheritance___MMImplicitProperty___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void inheritance___MMImplicitProperty___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-val_t NEW_inheritance___MMImplicitProperty___init(val_t  param0, val_t  param1);
-#define LOCATE_inheritance___MMImplicitProperty___init "inheritance::MMImplicitProperty::init"
-typedef void (* inheritance___MMImplicitMethod___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void inheritance___MMImplicitMethod___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-val_t NEW_inheritance___MMImplicitMethod___init(val_t  param0, val_t  param1);
-#define LOCATE_inheritance___MMImplicitMethod___init "inheritance::MMImplicitMethod::init"
-typedef val_t (* inheritance___MMAttribute___inherit_to_t)(val_t  self, val_t  param0);
-val_t inheritance___MMAttribute___inherit_to(val_t  self, val_t  param0);
-#define LOCATE_inheritance___MMAttribute___inherit_to "inheritance::MMAttribute::(inheritance::MMLocalProperty::inherit_to)"
-typedef void (* inheritance___MMImplicitAttribute___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void inheritance___MMImplicitAttribute___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-val_t NEW_inheritance___MMImplicitAttribute___init(val_t  param0, val_t  param1);
-#define LOCATE_inheritance___MMImplicitAttribute___init "inheritance::MMImplicitAttribute::init"
 typedef void (* inheritance___MMAncestor___add_in_t)(val_t  self, val_t  param0);
 void inheritance___MMAncestor___add_in(val_t  self, val_t  param0);
 #define LOCATE_inheritance___MMAncestor___add_in "inheritance::MMAncestor::add_in"
index 54ee226..f36c8f4 100644 (file)
@@ -1,19 +1,19 @@
 /* This C file is generated by NIT to compile module kernel. */
 #include "kernel._sep.h"
 val_t kernel___Object___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Object___object_id, 26};
+  struct trace_t trace = {NULL, LOCATE_kernel, 26, LOCATE_kernel___Object___object_id};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
-  return TAG_Int((int) self);
+  return TAG_Int((bigint) self);
 }
 val_t kernel___Object___is_same_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Object___is_same_type, 29};
+  struct trace_t trace = {NULL, LOCATE_kernel, 29, LOCATE_kernel___Object___is_same_type};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool((VAL2VFT( self)==VAL2VFT( param0)));
 }
 val_t kernel___Object_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Object_____eqeq, 32};
+  struct trace_t trace = {NULL, LOCATE_kernel, 32, LOCATE_kernel___Object_____eqeq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -25,7 +25,7 @@ val_t kernel___Object_____eqeq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Object_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Object_____neq, 37};
+  struct trace_t trace = {NULL, LOCATE_kernel, 37, LOCATE_kernel___Object_____neq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -38,45 +38,46 @@ val_t kernel___Object_____neq(val_t  self, val_t  param0) {
   return variable1;
 }
 void kernel___Object___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Object___output, 42};
+  struct trace_t trace = {NULL, LOCATE_kernel, 42, LOCATE_kernel___Object___output};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<')));
-  variable0 = TAG_Int((int) self);
+  variable0 = TAG_Int((bigint) self);
   printf("%d\n", UNTAG_Int(variable0));
   printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>')));
   tracehead = trace.prev;
   return;
 }
 void kernel___Object___exit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Object___exit, 50};
+  struct trace_t trace = {NULL, LOCATE_kernel, 50, LOCATE_kernel___Object___exit};
   trace.prev = tracehead; tracehead = &trace;
   exit(UNTAG_Int( param0));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Object___sys(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Object___sys, 51};
+  struct trace_t trace = {NULL, LOCATE_kernel, 51, LOCATE_kernel___Object___sys};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return (G_sys);
 }
 void kernel___Sys___main(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Sys___main, 56};
+  struct trace_t trace = {NULL, LOCATE_kernel, 56, LOCATE_kernel___Sys___main};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Comparable_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____l, 69};
+  struct trace_t trace = {NULL, LOCATE_kernel, 69, LOCATE_kernel___Comparable_____l};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "<", LOCATE_kernel___Sys___main, 69);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Sys___main, LOCATE_kernel, 69);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t kernel___Comparable_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____leq, 72};
+  struct trace_t trace = {NULL, LOCATE_kernel, 72, LOCATE_kernel___Comparable_____leq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -89,7 +90,7 @@ val_t kernel___Comparable_____leq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____geq, 75};
+  struct trace_t trace = {NULL, LOCATE_kernel, 75, LOCATE_kernel___Comparable_____geq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -102,7 +103,7 @@ val_t kernel___Comparable_____geq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____g, 78};
+  struct trace_t trace = {NULL, LOCATE_kernel, 78, LOCATE_kernel___Comparable_____g};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -114,7 +115,7 @@ val_t kernel___Comparable_____g(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable_____leqg(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____leqg, 81};
+  struct trace_t trace = {NULL, LOCATE_kernel, 81, LOCATE_kernel___Comparable_____leqg};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -138,7 +139,7 @@ val_t kernel___Comparable_____leqg(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable___is_between(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable___is_between, 93};
+  struct trace_t trace = {NULL, LOCATE_kernel, 93, LOCATE_kernel___Comparable___is_between};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -158,7 +159,7 @@ val_t kernel___Comparable___is_between(val_t  self, val_t  param0, val_t  param1
   return variable2;
 }
 val_t kernel___Comparable___max(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable___max, 99};
+  struct trace_t trace = {NULL, LOCATE_kernel, 99, LOCATE_kernel___Comparable___max};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -176,7 +177,7 @@ val_t kernel___Comparable___max(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Comparable___min(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Comparable___min, 109};
+  struct trace_t trace = {NULL, LOCATE_kernel, 109, LOCATE_kernel___Comparable___min};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -194,7 +195,7 @@ val_t kernel___Comparable___min(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Discrete___succ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Discrete___succ, 126};
+  struct trace_t trace = {NULL, LOCATE_kernel, 126, LOCATE_kernel___Discrete___succ};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((kernel___Discrete_____plus_t)CALL( self,COLOR_kernel___Discrete_____plus))( self,  TAG_Int(1)) /*Discrete::+*/;
@@ -204,7 +205,7 @@ val_t kernel___Discrete___succ(val_t  self) {
   return variable0;
 }
 val_t kernel___Discrete___prec(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Discrete___prec, 129};
+  struct trace_t trace = {NULL, LOCATE_kernel, 129, LOCATE_kernel___Discrete___prec};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((kernel___Discrete_____minus_t)CALL( self,COLOR_kernel___Discrete_____minus))( self,  TAG_Int(1)) /*Discrete::-*/;
@@ -214,23 +215,25 @@ val_t kernel___Discrete___prec(val_t  self) {
   return variable0;
 }
 val_t kernel___Discrete_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Discrete_____plus, 132};
+  struct trace_t trace = {NULL, LOCATE_kernel, 132, LOCATE_kernel___Discrete_____plus};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "+", LOCATE_kernel___Discrete___prec, 132);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec, LOCATE_kernel, 132);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t kernel___Discrete_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Discrete_____minus, 135};
+  struct trace_t trace = {NULL, LOCATE_kernel, 135, LOCATE_kernel___Discrete_____minus};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "-", LOCATE_kernel___Discrete___prec, 135);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec, LOCATE_kernel, 135);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t kernel___Discrete___distance(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Discrete___distance, 138};
+  struct trace_t trace = {NULL, LOCATE_kernel, 138, LOCATE_kernel___Discrete___distance};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -240,12 +243,12 @@ val_t kernel___Discrete___distance(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = NIT_NULL /*decl variable cursor*/;
   variable2 = NIT_NULL /*decl variable stop*/;
-  variable3 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self,  variable0 /*d*/) /*Discrete::<*/;
+  variable3 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self,  variable0 /*d*/) /*Comparable::<*/;
   if (UNTAG_Bool(variable3)) { /*if*/
     variable1 =  self /*cursor=*/;
     variable2 =  variable0 /*d*/ /*stop=*/;
   } else { /*if*/
-    variable3 = ((kernel___Comparable_____g_t)CALL( self,COLOR_kernel___Comparable_____g))( self,  variable0 /*d*/) /*Discrete::>*/;
+    variable3 = ((kernel___Comparable_____g_t)CALL( self,COLOR_kernel___Comparable_____g))( self,  variable0 /*d*/) /*Comparable::>*/;
     if (UNTAG_Bool(variable3)) { /*if*/
       variable1 =  variable0 /*d*/ /*cursor=*/;
       variable2 =  self /*stop=*/;
@@ -256,7 +259,7 @@ val_t kernel___Discrete___distance(val_t  self, val_t  param0) {
   }
   variable3 =  TAG_Int(0);
   while (true) { /*while*/
-    variable4 = ((kernel___Comparable_____l_t)CALL( variable1 /*cursor*/,COLOR_kernel___Comparable_____l))( variable1 /*cursor*/,  variable2 /*stop*/) /*Discrete::<*/;
+    variable4 = ((kernel___Comparable_____l_t)CALL( variable1 /*cursor*/,COLOR_kernel___Comparable_____l))( variable1 /*cursor*/,  variable2 /*stop*/) /*Comparable::<*/;
     if (!UNTAG_Bool(variable4)) break; /* while*/
     variable4 = ((kernel___Discrete___succ_t)CALL( variable1 /*cursor*/,COLOR_kernel___Discrete___succ))( variable1 /*cursor*/) /*Discrete::succ*/;
     variable1 = variable4 /*cursor=*/;
@@ -271,220 +274,220 @@ val_t kernel___Discrete___distance(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Bool___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Bool___object_id, 174};
+  struct trace_t trace = {NULL, LOCATE_kernel, 174, LOCATE_kernel___Bool___object_id};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Bool( self));
 }
 val_t kernel___Bool_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Bool_____eqeq, 175};
+  struct trace_t trace = {NULL, LOCATE_kernel, 175, LOCATE_kernel___Bool_____eqeq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(( self)==( param0));
 }
 val_t kernel___Bool_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Bool_____neq, 176};
+  struct trace_t trace = {NULL, LOCATE_kernel, 176, LOCATE_kernel___Bool_____neq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(( self)!=( param0));
 }
 void kernel___Bool___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Bool___output, 177};
+  struct trace_t trace = {NULL, LOCATE_kernel, 177, LOCATE_kernel___Bool___output};
   trace.prev = tracehead; tracehead = &trace;
   (void)printf(UNTAG_Bool( self)?"true\n":"false\n");
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Float___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float___object_id, 183};
+  struct trace_t trace = {NULL, LOCATE_kernel, 183, LOCATE_kernel___Float___object_id};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
-  return TAG_Int((int)UNBOX_Float( self));
+  return TAG_Int((bigint)UNBOX_Float( self));
 }
 void kernel___Float___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float___output, 184};
+  struct trace_t trace = {NULL, LOCATE_kernel, 184, LOCATE_kernel___Float___output};
   trace.prev = tracehead; tracehead = &trace;
   printf("%f\n", UNBOX_Float( self));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Float_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____leq, 186};
+  struct trace_t trace = {NULL, LOCATE_kernel, 186, LOCATE_kernel___Float_____leq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)<=UNBOX_Float( param0));
 }
 val_t kernel___Float_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____l, 187};
+  struct trace_t trace = {NULL, LOCATE_kernel, 187, LOCATE_kernel___Float_____l};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)<UNBOX_Float( param0));
 }
 val_t kernel___Float_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____geq, 188};
+  struct trace_t trace = {NULL, LOCATE_kernel, 188, LOCATE_kernel___Float_____geq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)>=UNBOX_Float( param0));
 }
 val_t kernel___Float_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____g, 189};
+  struct trace_t trace = {NULL, LOCATE_kernel, 189, LOCATE_kernel___Float_____g};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNBOX_Float( self)>UNBOX_Float( param0));
 }
 val_t kernel___Float_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____plus, 190};
+  struct trace_t trace = {NULL, LOCATE_kernel, 190, LOCATE_kernel___Float_____plus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)+UNBOX_Float( param0));
 }
 val_t kernel___Float___unary__minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float___unary__minus, 191};
+  struct trace_t trace = {NULL, LOCATE_kernel, 191, LOCATE_kernel___Float___unary__minus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(-UNBOX_Float( self));
 }
 val_t kernel___Float_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____minus, 192};
+  struct trace_t trace = {NULL, LOCATE_kernel, 192, LOCATE_kernel___Float_____minus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)-UNBOX_Float( param0));
 }
 val_t kernel___Float_____star(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____star, 193};
+  struct trace_t trace = {NULL, LOCATE_kernel, 193, LOCATE_kernel___Float_____star};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)*UNBOX_Float( param0));
 }
 val_t kernel___Float_____slash(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float_____slash, 194};
+  struct trace_t trace = {NULL, LOCATE_kernel, 194, LOCATE_kernel___Float_____slash};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(UNBOX_Float( self)/UNBOX_Float( param0));
 }
 val_t kernel___Float___to_i(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Float___to_i, 196};
+  struct trace_t trace = {NULL, LOCATE_kernel, 196, LOCATE_kernel___Float___to_i};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
-  return TAG_Int((int)UNBOX_Float( self));
+  return TAG_Int((bigint)UNBOX_Float( self));
 }
 val_t kernel___Int___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___object_id, 206};
+  struct trace_t trace = {NULL, LOCATE_kernel, 206, LOCATE_kernel___Int___object_id};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return  self;
 }
 val_t kernel___Int_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____eqeq, 207};
+  struct trace_t trace = {NULL, LOCATE_kernel, 207, LOCATE_kernel___Int_____eqeq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(( self)==( param0));
 }
 val_t kernel___Int_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____neq, 208};
+  struct trace_t trace = {NULL, LOCATE_kernel, 208, LOCATE_kernel___Int_____neq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(( self)!=( param0));
 }
 void kernel___Int___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___output, 209};
+  struct trace_t trace = {NULL, LOCATE_kernel, 209, LOCATE_kernel___Int___output};
   trace.prev = tracehead; tracehead = &trace;
   printf("%d\n", UNTAG_Int( self));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Int_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____leq, 211};
+  struct trace_t trace = {NULL, LOCATE_kernel, 211, LOCATE_kernel___Int_____leq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( param0));
 }
 val_t kernel___Int_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____l, 212};
+  struct trace_t trace = {NULL, LOCATE_kernel, 212, LOCATE_kernel___Int_____l};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)<UNTAG_Int( param0));
 }
 val_t kernel___Int_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____geq, 213};
+  struct trace_t trace = {NULL, LOCATE_kernel, 213, LOCATE_kernel___Int_____geq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( param0));
 }
 val_t kernel___Int_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____g, 214};
+  struct trace_t trace = {NULL, LOCATE_kernel, 214, LOCATE_kernel___Int_____g};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Int( self)>UNTAG_Int( param0));
 }
 val_t kernel___Int_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____plus, 215};
+  struct trace_t trace = {NULL, LOCATE_kernel, 215, LOCATE_kernel___Int_____plus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)+UNTAG_Int( param0));
 }
 val_t kernel___Int___unary__minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___unary__minus, 216};
+  struct trace_t trace = {NULL, LOCATE_kernel, 216, LOCATE_kernel___Int___unary__minus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(-UNTAG_Int( self));
 }
 val_t kernel___Int_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____minus, 217};
+  struct trace_t trace = {NULL, LOCATE_kernel, 217, LOCATE_kernel___Int_____minus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)-UNTAG_Int( param0));
 }
 val_t kernel___Int_____star(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____star, 218};
+  struct trace_t trace = {NULL, LOCATE_kernel, 218, LOCATE_kernel___Int_____star};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)*UNTAG_Int( param0));
 }
 val_t kernel___Int_____slash(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____slash, 219};
+  struct trace_t trace = {NULL, LOCATE_kernel, 219, LOCATE_kernel___Int_____slash};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)/UNTAG_Int( param0));
 }
 val_t kernel___Int_____percent(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____percent, 220};
+  struct trace_t trace = {NULL, LOCATE_kernel, 220, LOCATE_kernel___Int_____percent};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)%UNTAG_Int( param0));
 }
 val_t kernel___Int___lshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___lshift, 221};
+  struct trace_t trace = {NULL, LOCATE_kernel, 221, LOCATE_kernel___Int___lshift};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)<<UNTAG_Int( param0));
 }
 val_t kernel___Int___rshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___rshift, 222};
+  struct trace_t trace = {NULL, LOCATE_kernel, 222, LOCATE_kernel___Int___rshift};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)>>UNTAG_Int( param0));
 }
 val_t kernel___Int___to_f(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___to_f, 224};
+  struct trace_t trace = {NULL, LOCATE_kernel, 224, LOCATE_kernel___Int___to_f};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float((float)UNTAG_Int( self));
 }
 val_t kernel___Int___succ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___succ, 227};
+  struct trace_t trace = {NULL, LOCATE_kernel, 227, LOCATE_kernel___Int___succ};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)+1);
 }
 val_t kernel___Int___prec(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___prec, 228};
+  struct trace_t trace = {NULL, LOCATE_kernel, 228, LOCATE_kernel___Int___prec};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Int( self)-1);
 }
 val_t kernel___Int___distance(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___distance, 229};
+  struct trace_t trace = {NULL, LOCATE_kernel, 229, LOCATE_kernel___Int___distance};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -506,7 +509,7 @@ val_t kernel___Int___distance(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int_____leqg(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int_____leqg, 239};
+  struct trace_t trace = {NULL, LOCATE_kernel, 239, LOCATE_kernel___Int_____leqg};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -530,7 +533,7 @@ val_t kernel___Int_____leqg(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___is_between(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___is_between, 250};
+  struct trace_t trace = {NULL, LOCATE_kernel, 250, LOCATE_kernel___Int___is_between};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -556,7 +559,7 @@ val_t kernel___Int___is_between(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t kernel___Int___max(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___max, 259};
+  struct trace_t trace = {NULL, LOCATE_kernel, 259, LOCATE_kernel___Int___max};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -574,7 +577,7 @@ val_t kernel___Int___max(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___min(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___min, 268};
+  struct trace_t trace = {NULL, LOCATE_kernel, 268, LOCATE_kernel___Int___min};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -592,21 +595,21 @@ val_t kernel___Int___min(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___ascii(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___ascii, 277};
+  struct trace_t trace = {NULL, LOCATE_kernel, 277, LOCATE_kernel___Int___ascii};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Int( self));
 }
 val_t kernel___Int___digit_count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___digit_count, 280};
+  struct trace_t trace = {NULL, LOCATE_kernel, 280, LOCATE_kernel___Int___digit_count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Int((int)0) /*decl variable d*/;
-  variable2 = TAG_Int((int)0) /*decl variable n*/;
+  variable1 = TAG_Int((bigint)0) /*decl variable d*/;
+  variable2 = TAG_Int((bigint)0) /*decl variable n*/;
   variable3 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable3)) { /*if*/
     variable1 =  TAG_Int(1) /*d=*/;
@@ -638,7 +641,7 @@ val_t kernel___Int___digit_count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Int___to_c(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Int___to_c, 303};
+  struct trace_t trace = {NULL, LOCATE_kernel, 303, LOCATE_kernel___Int___to_c};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -648,7 +651,7 @@ val_t kernel___Int___to_c(val_t  self) {
     variable1 = TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( TAG_Int(36)));
   }
   variable0 = variable1;
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_kernel___Int___to_c, 308); nit_exit(1);}
+  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Int___to_c, LOCATE_kernel, 308); nit_exit(1);}
   variable0 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( TAG_Int(10)));
   if (UNTAG_Bool(variable0)) { /*if*/
     variable0 = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
@@ -667,68 +670,68 @@ val_t kernel___Int___to_c(val_t  self) {
   return variable0;
 }
 val_t kernel___Char___object_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___object_id, 324};
+  struct trace_t trace = {NULL, LOCATE_kernel, 324, LOCATE_kernel___Char___object_id};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(UNTAG_Char( self));
 }
 val_t kernel___Char_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____eqeq, 325};
+  struct trace_t trace = {NULL, LOCATE_kernel, 325, LOCATE_kernel___Char_____eqeq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(( self)==( param0));
 }
 val_t kernel___Char_____neq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____neq, 326};
+  struct trace_t trace = {NULL, LOCATE_kernel, 326, LOCATE_kernel___Char_____neq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(( self)!=( param0));
 }
 void kernel___Char___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___output, 327};
+  struct trace_t trace = {NULL, LOCATE_kernel, 327, LOCATE_kernel___Char___output};
   trace.prev = tracehead; tracehead = &trace;
   printf("%c", (unsigned char)UNTAG_Char( self));
   tracehead = trace.prev;
   return;
 }
 val_t kernel___Char_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____leq, 329};
+  struct trace_t trace = {NULL, LOCATE_kernel, 329, LOCATE_kernel___Char_____leq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( param0));
 }
 val_t kernel___Char_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____l, 330};
+  struct trace_t trace = {NULL, LOCATE_kernel, 330, LOCATE_kernel___Char_____l};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)<UNTAG_Char( param0));
 }
 val_t kernel___Char_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____geq, 331};
+  struct trace_t trace = {NULL, LOCATE_kernel, 331, LOCATE_kernel___Char_____geq};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( param0));
 }
 val_t kernel___Char_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____g, 332};
+  struct trace_t trace = {NULL, LOCATE_kernel, 332, LOCATE_kernel___Char_____g};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Bool(UNTAG_Char( self)>UNTAG_Char( param0));
 }
 val_t kernel___Char___succ(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___succ, 334};
+  struct trace_t trace = {NULL, LOCATE_kernel, 334, LOCATE_kernel___Char___succ};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)+1);
 }
 val_t kernel___Char___prec(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___prec, 335};
+  struct trace_t trace = {NULL, LOCATE_kernel, 335, LOCATE_kernel___Char___prec};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)-1);
 }
 val_t kernel___Char___distance(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___distance, 337};
+  struct trace_t trace = {NULL, LOCATE_kernel, 337, LOCATE_kernel___Char___distance};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -753,7 +756,7 @@ val_t kernel___Char___distance(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t kernel___Char___to_i(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___to_i, 347};
+  struct trace_t trace = {NULL, LOCATE_kernel, 347, LOCATE_kernel___Char___to_i};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -787,25 +790,25 @@ val_t kernel___Char___to_i(val_t  self) {
   return variable0;
 }
 val_t kernel___Char___ascii(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___ascii, 360};
+  struct trace_t trace = {NULL, LOCATE_kernel, 360, LOCATE_kernel___Char___ascii};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int((unsigned char)UNTAG_Char( self));
 }
 val_t kernel___Char_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____plus, 363};
+  struct trace_t trace = {NULL, LOCATE_kernel, 363, LOCATE_kernel___Char_____plus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)+UNTAG_Char( param0));
 }
 val_t kernel___Char_____minus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char_____minus, 364};
+  struct trace_t trace = {NULL, LOCATE_kernel, 364, LOCATE_kernel___Char_____minus};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Char(UNTAG_Char( self)-UNTAG_Char( param0));
 }
 val_t kernel___Char___to_lower(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___to_lower, 366};
+  struct trace_t trace = {NULL, LOCATE_kernel, 366, LOCATE_kernel___Char___to_lower};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -830,7 +833,7 @@ val_t kernel___Char___to_lower(val_t  self) {
   return variable0;
 }
 val_t kernel___Char___to_upper(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_kernel___Char___to_upper, 376};
+  struct trace_t trace = {NULL, LOCATE_kernel, 376, LOCATE_kernel___Char___to_upper};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
index 5a7a2eb..5041e7b 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires kernel. */
-#ifndef kernel_3_sep
-#define kernel_3_sep
+#ifndef kernel_2_sep
+#define kernel_2_sep
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Object[];
@@ -26,7 +26,7 @@ extern const classtable_elt_t VFT_Pointer[];
 struct TBOX_Pointer { const classtable_elt_t * vft; void * val;};
 val_t BOX_Pointer(void * val);
 #define UNBOX_Pointer(x) (((struct TBOX_Pointer *)(VAL2OBJ(x)))->val)
-#define LOCATE_kernel "kernel"
+#define LOCATE_kernel "./../lib/standard//kernel.nit"
 extern const int SFT_kernel[];
 #define ID_Object SFT_kernel[0]
 #define COLOR_Object SFT_kernel[1]
index 52863c7..0631f44 100644 (file)
@@ -1,46 +1,47 @@
 /* This C file is generated by NIT to compile module lexer. */
 #include "lexer._sep.h"
 val_t lexer___Token___text(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Token___text, 8};
+  struct trace_t trace = {NULL, LOCATE_lexer, 8, LOCATE_lexer___Token___text};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_lexer___Token____text( self) /*Token::_text*/;
 }
 void lexer___Token___text__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Token___text__eq, 8};
+  struct trace_t trace = {NULL, LOCATE_lexer, 8, LOCATE_lexer___Token___text__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_lexer___Token____text( self) /*Token::_text*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___Token___filename(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Token___filename, 9};
+  struct trace_t trace = {NULL, LOCATE_lexer, 9, LOCATE_lexer___Token___filename};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_lexer___Token____filename( self) /*Token::_filename*/;
 }
 val_t lexer___Token___line(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Token___line, 10};
+  struct trace_t trace = {NULL, LOCATE_lexer, 10, LOCATE_lexer___Token___line};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_lexer___Token____line( self) /*Token::_line*/;
 }
 val_t lexer___Token___pos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Token___pos, 11};
+  struct trace_t trace = {NULL, LOCATE_lexer, 11, LOCATE_lexer___Token___pos};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_lexer___Token____pos( self) /*Token::_pos*/;
 }
 val_t lexer___Token___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Token___parser_index, 13};
+  struct trace_t trace = {NULL, LOCATE_lexer, 13, LOCATE_lexer___Token___parser_index};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "parser_index", LOCATE_lexer, 13);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_lexer, 13);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t lexer___Token___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Token___to_s, 15};
+  struct trace_t trace = {NULL, LOCATE_lexer, 15, LOCATE_lexer___Token___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -65,7 +66,7 @@ val_t lexer___Token___to_s(val_t  self) {
   return variable0;
 }
 val_t lexer___TEol___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TEol___parser_index, 21};
+  struct trace_t trace = {NULL, LOCATE_lexer, 21, LOCATE_lexer___TEol___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(0);
@@ -75,7 +76,7 @@ val_t lexer___TEol___parser_index(val_t  self) {
   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, LOCATE_lexer___TEol___init, 26};
+  struct trace_t trace = {NULL, LOCATE_lexer, 26, LOCATE_lexer___TEol___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -86,16 +87,16 @@ void lexer___TEol___init(val_t  self, val_t  param0, val_t  param1, val_t  param
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEol].i]) return;
-  ATTR_lexer___Token____text( self) /*TEol::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TEol::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TEol::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TEol::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEol].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TComment___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TComment___parser_index, 36};
+  struct trace_t trace = {NULL, LOCATE_lexer, 36, LOCATE_lexer___TComment___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(1);
@@ -105,7 +106,7 @@ val_t lexer___TComment___parser_index(val_t  self) {
   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, LOCATE_lexer___TComment___init, 41};
+  struct trace_t trace = {NULL, LOCATE_lexer, 41, LOCATE_lexer___TComment___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -116,16 +117,16 @@ void lexer___TComment___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TComment].i]) return;
-  ATTR_lexer___Token____text( self) /*TComment::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TComment::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TComment::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TComment::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TComment].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwpackage___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwpackage___parser_index, 51};
+  struct trace_t trace = {NULL, LOCATE_lexer, 51, LOCATE_lexer___TKwpackage___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(2);
@@ -135,7 +136,7 @@ val_t lexer___TKwpackage___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwpackage___init, 56};
+  struct trace_t trace = {NULL, LOCATE_lexer, 56, LOCATE_lexer___TKwpackage___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -152,16 +153,16 @@ void lexer___TKwpackage___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_7 = variable3;
     once_bool_variable3_7 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwpackage::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwpackage::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwpackage::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwpackage::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwpackage].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwimport___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwimport___parser_index, 66};
+  struct trace_t trace = {NULL, LOCATE_lexer, 66, LOCATE_lexer___TKwimport___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(3);
@@ -171,7 +172,7 @@ val_t lexer___TKwimport___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwimport___init, 71};
+  struct trace_t trace = {NULL, LOCATE_lexer, 71, LOCATE_lexer___TKwimport___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -188,16 +189,16 @@ void lexer___TKwimport___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_10 = variable3;
     once_bool_variable3_10 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwimport::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwimport::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwimport::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwimport::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwimport].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwclass___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwclass___parser_index, 81};
+  struct trace_t trace = {NULL, LOCATE_lexer, 81, LOCATE_lexer___TKwclass___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(4);
@@ -207,7 +208,7 @@ val_t lexer___TKwclass___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwclass___init, 86};
+  struct trace_t trace = {NULL, LOCATE_lexer, 86, LOCATE_lexer___TKwclass___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -224,16 +225,16 @@ void lexer___TKwclass___init(val_t  self, val_t  param0, val_t  param1, val_t  p
     once_value_variable3_13 = variable3;
     once_bool_variable3_13 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwclass::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwclass::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwclass::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwclass::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwclass].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwabstract___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwabstract___parser_index, 96};
+  struct trace_t trace = {NULL, LOCATE_lexer, 96, LOCATE_lexer___TKwabstract___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(5);
@@ -243,7 +244,7 @@ val_t lexer___TKwabstract___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwabstract___init, 101};
+  struct trace_t trace = {NULL, LOCATE_lexer, 101, LOCATE_lexer___TKwabstract___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -260,16 +261,16 @@ void lexer___TKwabstract___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_16 = variable3;
     once_bool_variable3_16 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwabstract::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwabstract::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwabstract::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwabstract::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwabstract].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwinterface___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwinterface___parser_index, 111};
+  struct trace_t trace = {NULL, LOCATE_lexer, 111, LOCATE_lexer___TKwinterface___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(6);
@@ -279,7 +280,7 @@ val_t lexer___TKwinterface___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwinterface___init, 116};
+  struct trace_t trace = {NULL, LOCATE_lexer, 116, LOCATE_lexer___TKwinterface___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -296,16 +297,16 @@ void lexer___TKwinterface___init(val_t  self, val_t  param0, val_t  param1, val_
     once_value_variable3_19 = variable3;
     once_bool_variable3_19 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwinterface::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwinterface::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwinterface::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwinterface::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwinterface].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwuniversal___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwuniversal___parser_index, 126};
+  struct trace_t trace = {NULL, LOCATE_lexer, 126, LOCATE_lexer___TKwuniversal___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(7);
@@ -315,7 +316,7 @@ val_t lexer___TKwuniversal___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwuniversal___init, 131};
+  struct trace_t trace = {NULL, LOCATE_lexer, 131, LOCATE_lexer___TKwuniversal___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -332,16 +333,16 @@ void lexer___TKwuniversal___init(val_t  self, val_t  param0, val_t  param1, val_
     once_value_variable3_22 = variable3;
     once_bool_variable3_22 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwuniversal::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwuniversal::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwuniversal::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwuniversal::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwuniversal].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwspecial___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwspecial___parser_index, 141};
+  struct trace_t trace = {NULL, LOCATE_lexer, 141, LOCATE_lexer___TKwspecial___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(8);
@@ -351,7 +352,7 @@ val_t lexer___TKwspecial___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwspecial___init, 146};
+  struct trace_t trace = {NULL, LOCATE_lexer, 146, LOCATE_lexer___TKwspecial___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -368,16 +369,16 @@ void lexer___TKwspecial___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_25 = variable3;
     once_bool_variable3_25 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwspecial::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwspecial::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwspecial::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwspecial::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwspecial].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwend___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwend___parser_index, 156};
+  struct trace_t trace = {NULL, LOCATE_lexer, 156, LOCATE_lexer___TKwend___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(9);
@@ -387,7 +388,7 @@ val_t lexer___TKwend___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwend___init, 161};
+  struct trace_t trace = {NULL, LOCATE_lexer, 161, LOCATE_lexer___TKwend___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -404,16 +405,16 @@ void lexer___TKwend___init(val_t  self, val_t  param0, val_t  param1, val_t  par
     once_value_variable3_28 = variable3;
     once_bool_variable3_28 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwend::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwend::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwend::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwend::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwend].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwmeth___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwmeth___parser_index, 171};
+  struct trace_t trace = {NULL, LOCATE_lexer, 171, LOCATE_lexer___TKwmeth___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(10);
@@ -423,7 +424,7 @@ val_t lexer___TKwmeth___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwmeth___init, 176};
+  struct trace_t trace = {NULL, LOCATE_lexer, 176, LOCATE_lexer___TKwmeth___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -440,16 +441,16 @@ void lexer___TKwmeth___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_31 = variable3;
     once_bool_variable3_31 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwmeth::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwmeth::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwmeth::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwmeth::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwmeth].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwtype___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwtype___parser_index, 186};
+  struct trace_t trace = {NULL, LOCATE_lexer, 186, LOCATE_lexer___TKwtype___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(11);
@@ -459,7 +460,7 @@ val_t lexer___TKwtype___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwtype___init, 191};
+  struct trace_t trace = {NULL, LOCATE_lexer, 191, LOCATE_lexer___TKwtype___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -476,16 +477,16 @@ void lexer___TKwtype___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_34 = variable3;
     once_bool_variable3_34 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwtype::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwtype::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwtype::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwtype::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwtype].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwattr___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwattr___parser_index, 201};
+  struct trace_t trace = {NULL, LOCATE_lexer, 201, LOCATE_lexer___TKwattr___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(12);
@@ -495,7 +496,7 @@ val_t lexer___TKwattr___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwattr___init, 206};
+  struct trace_t trace = {NULL, LOCATE_lexer, 206, LOCATE_lexer___TKwattr___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -512,16 +513,16 @@ void lexer___TKwattr___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_37 = variable3;
     once_bool_variable3_37 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwattr::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwattr::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwattr::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwattr::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwattr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwinit___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwinit___parser_index, 216};
+  struct trace_t trace = {NULL, LOCATE_lexer, 216, LOCATE_lexer___TKwinit___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(13);
@@ -531,7 +532,7 @@ val_t lexer___TKwinit___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwinit___init, 221};
+  struct trace_t trace = {NULL, LOCATE_lexer, 221, LOCATE_lexer___TKwinit___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -548,16 +549,16 @@ void lexer___TKwinit___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_40 = variable3;
     once_bool_variable3_40 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwinit::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwinit::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwinit::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwinit::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwinit].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwredef___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwredef___parser_index, 231};
+  struct trace_t trace = {NULL, LOCATE_lexer, 231, LOCATE_lexer___TKwredef___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(14);
@@ -567,7 +568,7 @@ val_t lexer___TKwredef___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwredef___init, 236};
+  struct trace_t trace = {NULL, LOCATE_lexer, 236, LOCATE_lexer___TKwredef___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -584,16 +585,16 @@ void lexer___TKwredef___init(val_t  self, val_t  param0, val_t  param1, val_t  p
     once_value_variable3_43 = variable3;
     once_bool_variable3_43 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwredef::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwredef::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwredef::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwredef::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwredef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwis___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwis___parser_index, 246};
+  struct trace_t trace = {NULL, LOCATE_lexer, 246, LOCATE_lexer___TKwis___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(15);
@@ -603,7 +604,7 @@ val_t lexer___TKwis___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwis___init, 251};
+  struct trace_t trace = {NULL, LOCATE_lexer, 251, LOCATE_lexer___TKwis___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -620,16 +621,16 @@ void lexer___TKwis___init(val_t  self, val_t  param0, val_t  param1, val_t  para
     once_value_variable3_46 = variable3;
     once_bool_variable3_46 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwis::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwis::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwis::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwis::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwis].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwdo___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwdo___parser_index, 261};
+  struct trace_t trace = {NULL, LOCATE_lexer, 261, LOCATE_lexer___TKwdo___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(16);
@@ -639,7 +640,7 @@ val_t lexer___TKwdo___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwdo___init, 266};
+  struct trace_t trace = {NULL, LOCATE_lexer, 266, LOCATE_lexer___TKwdo___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -656,16 +657,16 @@ void lexer___TKwdo___init(val_t  self, val_t  param0, val_t  param1, val_t  para
     once_value_variable3_49 = variable3;
     once_bool_variable3_49 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwdo::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwdo::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwdo::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwdo::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwdo].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwreadable___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwreadable___parser_index, 276};
+  struct trace_t trace = {NULL, LOCATE_lexer, 276, LOCATE_lexer___TKwreadable___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(17);
@@ -675,7 +676,7 @@ val_t lexer___TKwreadable___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwreadable___init, 281};
+  struct trace_t trace = {NULL, LOCATE_lexer, 281, LOCATE_lexer___TKwreadable___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -692,16 +693,16 @@ void lexer___TKwreadable___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_52 = variable3;
     once_bool_variable3_52 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwreadable::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwreadable::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwreadable::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwreadable::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwreadable].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwwritable___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwwritable___parser_index, 291};
+  struct trace_t trace = {NULL, LOCATE_lexer, 291, LOCATE_lexer___TKwwritable___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(18);
@@ -711,7 +712,7 @@ val_t lexer___TKwwritable___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwwritable___init, 296};
+  struct trace_t trace = {NULL, LOCATE_lexer, 296, LOCATE_lexer___TKwwritable___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -728,16 +729,16 @@ void lexer___TKwwritable___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_55 = variable3;
     once_bool_variable3_55 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwwritable::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwwritable::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwwritable::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwwritable::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwwritable].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwvar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwvar___parser_index, 306};
+  struct trace_t trace = {NULL, LOCATE_lexer, 306, LOCATE_lexer___TKwvar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(19);
@@ -747,7 +748,7 @@ val_t lexer___TKwvar___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwvar___init, 311};
+  struct trace_t trace = {NULL, LOCATE_lexer, 311, LOCATE_lexer___TKwvar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -764,16 +765,16 @@ void lexer___TKwvar___init(val_t  self, val_t  param0, val_t  param1, val_t  par
     once_value_variable3_58 = variable3;
     once_bool_variable3_58 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwvar::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwvar::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwvar::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwvar::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwvar].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwintern___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwintern___parser_index, 321};
+  struct trace_t trace = {NULL, LOCATE_lexer, 321, LOCATE_lexer___TKwintern___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(20);
@@ -783,7 +784,7 @@ val_t lexer___TKwintern___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwintern___init, 326};
+  struct trace_t trace = {NULL, LOCATE_lexer, 326, LOCATE_lexer___TKwintern___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -800,16 +801,16 @@ void lexer___TKwintern___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_61 = variable3;
     once_bool_variable3_61 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwintern::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwintern::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwintern::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwintern::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwintern].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwextern___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwextern___parser_index, 336};
+  struct trace_t trace = {NULL, LOCATE_lexer, 336, LOCATE_lexer___TKwextern___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(21);
@@ -819,7 +820,7 @@ val_t lexer___TKwextern___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwextern___init, 341};
+  struct trace_t trace = {NULL, LOCATE_lexer, 341, LOCATE_lexer___TKwextern___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -836,16 +837,16 @@ void lexer___TKwextern___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_64 = variable3;
     once_bool_variable3_64 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwextern::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwextern::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwextern::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwextern::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwextern].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwprotected___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwprotected___parser_index, 351};
+  struct trace_t trace = {NULL, LOCATE_lexer, 351, LOCATE_lexer___TKwprotected___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(22);
@@ -855,7 +856,7 @@ val_t lexer___TKwprotected___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwprotected___init, 356};
+  struct trace_t trace = {NULL, LOCATE_lexer, 356, LOCATE_lexer___TKwprotected___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -872,16 +873,16 @@ void lexer___TKwprotected___init(val_t  self, val_t  param0, val_t  param1, val_
     once_value_variable3_67 = variable3;
     once_bool_variable3_67 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwprotected::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwprotected::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwprotected::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwprotected::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwprotected].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwprivate___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwprivate___parser_index, 366};
+  struct trace_t trace = {NULL, LOCATE_lexer, 366, LOCATE_lexer___TKwprivate___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(23);
@@ -891,7 +892,7 @@ val_t lexer___TKwprivate___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwprivate___init, 371};
+  struct trace_t trace = {NULL, LOCATE_lexer, 371, LOCATE_lexer___TKwprivate___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -908,16 +909,16 @@ void lexer___TKwprivate___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_70 = variable3;
     once_bool_variable3_70 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwprivate::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwprivate::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwprivate::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwprivate::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwprivate].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwintrude___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwintrude___parser_index, 381};
+  struct trace_t trace = {NULL, LOCATE_lexer, 381, LOCATE_lexer___TKwintrude___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(24);
@@ -927,7 +928,7 @@ val_t lexer___TKwintrude___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwintrude___init, 386};
+  struct trace_t trace = {NULL, LOCATE_lexer, 386, LOCATE_lexer___TKwintrude___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -944,16 +945,16 @@ void lexer___TKwintrude___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_73 = variable3;
     once_bool_variable3_73 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwintrude::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwintrude::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwintrude::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwintrude::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwintrude].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwif___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwif___parser_index, 396};
+  struct trace_t trace = {NULL, LOCATE_lexer, 396, LOCATE_lexer___TKwif___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(25);
@@ -963,7 +964,7 @@ val_t lexer___TKwif___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwif___init, 401};
+  struct trace_t trace = {NULL, LOCATE_lexer, 401, LOCATE_lexer___TKwif___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -980,16 +981,16 @@ void lexer___TKwif___init(val_t  self, val_t  param0, val_t  param1, val_t  para
     once_value_variable3_76 = variable3;
     once_bool_variable3_76 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwif::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwif::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwif::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwif::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwif].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwthen___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwthen___parser_index, 411};
+  struct trace_t trace = {NULL, LOCATE_lexer, 411, LOCATE_lexer___TKwthen___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(26);
@@ -999,7 +1000,7 @@ val_t lexer___TKwthen___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwthen___init, 416};
+  struct trace_t trace = {NULL, LOCATE_lexer, 416, LOCATE_lexer___TKwthen___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1016,16 +1017,16 @@ void lexer___TKwthen___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_79 = variable3;
     once_bool_variable3_79 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwthen::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwthen::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwthen::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwthen::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwthen].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwelse___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwelse___parser_index, 426};
+  struct trace_t trace = {NULL, LOCATE_lexer, 426, LOCATE_lexer___TKwelse___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(27);
@@ -1035,7 +1036,7 @@ val_t lexer___TKwelse___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwelse___init, 431};
+  struct trace_t trace = {NULL, LOCATE_lexer, 431, LOCATE_lexer___TKwelse___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1052,16 +1053,16 @@ void lexer___TKwelse___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_82 = variable3;
     once_bool_variable3_82 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwelse::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwelse::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwelse::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwelse::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwelse].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwwhile___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwwhile___parser_index, 441};
+  struct trace_t trace = {NULL, LOCATE_lexer, 441, LOCATE_lexer___TKwwhile___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(28);
@@ -1071,7 +1072,7 @@ val_t lexer___TKwwhile___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwwhile___init, 446};
+  struct trace_t trace = {NULL, LOCATE_lexer, 446, LOCATE_lexer___TKwwhile___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1088,16 +1089,16 @@ void lexer___TKwwhile___init(val_t  self, val_t  param0, val_t  param1, val_t  p
     once_value_variable3_85 = variable3;
     once_bool_variable3_85 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwwhile::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwwhile::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwwhile::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwwhile::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwwhile].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwfor___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwfor___parser_index, 456};
+  struct trace_t trace = {NULL, LOCATE_lexer, 456, LOCATE_lexer___TKwfor___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(29);
@@ -1107,7 +1108,7 @@ val_t lexer___TKwfor___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwfor___init, 461};
+  struct trace_t trace = {NULL, LOCATE_lexer, 461, LOCATE_lexer___TKwfor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1124,16 +1125,16 @@ void lexer___TKwfor___init(val_t  self, val_t  param0, val_t  param1, val_t  par
     once_value_variable3_88 = variable3;
     once_bool_variable3_88 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwfor::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwfor::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwfor::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwfor::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwfor].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwin___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwin___parser_index, 471};
+  struct trace_t trace = {NULL, LOCATE_lexer, 471, LOCATE_lexer___TKwin___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(30);
@@ -1143,7 +1144,7 @@ val_t lexer___TKwin___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwin___init, 476};
+  struct trace_t trace = {NULL, LOCATE_lexer, 476, LOCATE_lexer___TKwin___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1160,16 +1161,16 @@ void lexer___TKwin___init(val_t  self, val_t  param0, val_t  param1, val_t  para
     once_value_variable3_91 = variable3;
     once_bool_variable3_91 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwin::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwin::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwin::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwin::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwin].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwand___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwand___parser_index, 486};
+  struct trace_t trace = {NULL, LOCATE_lexer, 486, LOCATE_lexer___TKwand___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(31);
@@ -1179,7 +1180,7 @@ val_t lexer___TKwand___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwand___init, 491};
+  struct trace_t trace = {NULL, LOCATE_lexer, 491, LOCATE_lexer___TKwand___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1196,16 +1197,16 @@ void lexer___TKwand___init(val_t  self, val_t  param0, val_t  param1, val_t  par
     once_value_variable3_94 = variable3;
     once_bool_variable3_94 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwand::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwand::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwand::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwand::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwand].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwor___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwor___parser_index, 501};
+  struct trace_t trace = {NULL, LOCATE_lexer, 501, LOCATE_lexer___TKwor___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(32);
@@ -1215,7 +1216,7 @@ val_t lexer___TKwor___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwor___init, 506};
+  struct trace_t trace = {NULL, LOCATE_lexer, 506, LOCATE_lexer___TKwor___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1232,16 +1233,16 @@ void lexer___TKwor___init(val_t  self, val_t  param0, val_t  param1, val_t  para
     once_value_variable3_97 = variable3;
     once_bool_variable3_97 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwor::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwor::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwor::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwor::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwor].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwnot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwnot___parser_index, 516};
+  struct trace_t trace = {NULL, LOCATE_lexer, 516, LOCATE_lexer___TKwnot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(33);
@@ -1251,7 +1252,7 @@ val_t lexer___TKwnot___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwnot___init, 521};
+  struct trace_t trace = {NULL, LOCATE_lexer, 521, LOCATE_lexer___TKwnot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1268,16 +1269,16 @@ void lexer___TKwnot___init(val_t  self, val_t  param0, val_t  param1, val_t  par
     once_value_variable3_100 = variable3;
     once_bool_variable3_100 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwnot::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwnot::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwnot::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwnot::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwnot].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwreturn___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwreturn___parser_index, 531};
+  struct trace_t trace = {NULL, LOCATE_lexer, 531, LOCATE_lexer___TKwreturn___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(34);
@@ -1287,7 +1288,7 @@ val_t lexer___TKwreturn___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwreturn___init, 536};
+  struct trace_t trace = {NULL, LOCATE_lexer, 536, LOCATE_lexer___TKwreturn___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1304,16 +1305,16 @@ void lexer___TKwreturn___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_103 = variable3;
     once_bool_variable3_103 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwreturn::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwreturn::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwreturn::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwreturn::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwreturn].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwcontinue___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwcontinue___parser_index, 546};
+  struct trace_t trace = {NULL, LOCATE_lexer, 546, LOCATE_lexer___TKwcontinue___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(35);
@@ -1323,7 +1324,7 @@ val_t lexer___TKwcontinue___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwcontinue___init, 551};
+  struct trace_t trace = {NULL, LOCATE_lexer, 551, LOCATE_lexer___TKwcontinue___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1340,16 +1341,16 @@ void lexer___TKwcontinue___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_106 = variable3;
     once_bool_variable3_106 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwcontinue::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwcontinue::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwcontinue::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwcontinue::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwcontinue].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwbreak___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwbreak___parser_index, 561};
+  struct trace_t trace = {NULL, LOCATE_lexer, 561, LOCATE_lexer___TKwbreak___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(36);
@@ -1359,7 +1360,7 @@ val_t lexer___TKwbreak___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwbreak___init, 566};
+  struct trace_t trace = {NULL, LOCATE_lexer, 566, LOCATE_lexer___TKwbreak___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1376,16 +1377,16 @@ void lexer___TKwbreak___init(val_t  self, val_t  param0, val_t  param1, val_t  p
     once_value_variable3_109 = variable3;
     once_bool_variable3_109 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwbreak::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwbreak::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwbreak::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwbreak::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwbreak].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwabort___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwabort___parser_index, 576};
+  struct trace_t trace = {NULL, LOCATE_lexer, 576, LOCATE_lexer___TKwabort___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(37);
@@ -1395,7 +1396,7 @@ val_t lexer___TKwabort___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwabort___init, 581};
+  struct trace_t trace = {NULL, LOCATE_lexer, 581, LOCATE_lexer___TKwabort___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1412,16 +1413,16 @@ void lexer___TKwabort___init(val_t  self, val_t  param0, val_t  param1, val_t  p
     once_value_variable3_112 = variable3;
     once_bool_variable3_112 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwabort::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwabort::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwabort::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwabort::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwabort].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwassert___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwassert___parser_index, 591};
+  struct trace_t trace = {NULL, LOCATE_lexer, 591, LOCATE_lexer___TKwassert___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(38);
@@ -1431,7 +1432,7 @@ val_t lexer___TKwassert___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwassert___init, 596};
+  struct trace_t trace = {NULL, LOCATE_lexer, 596, LOCATE_lexer___TKwassert___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1448,16 +1449,16 @@ void lexer___TKwassert___init(val_t  self, val_t  param0, val_t  param1, val_t
     once_value_variable3_115 = variable3;
     once_bool_variable3_115 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwassert::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwassert::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwassert::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwassert::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwassert].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwnew___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwnew___parser_index, 606};
+  struct trace_t trace = {NULL, LOCATE_lexer, 606, LOCATE_lexer___TKwnew___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(39);
@@ -1467,7 +1468,7 @@ val_t lexer___TKwnew___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwnew___init, 611};
+  struct trace_t trace = {NULL, LOCATE_lexer, 611, LOCATE_lexer___TKwnew___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1484,16 +1485,16 @@ void lexer___TKwnew___init(val_t  self, val_t  param0, val_t  param1, val_t  par
     once_value_variable3_118 = variable3;
     once_bool_variable3_118 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwnew::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwnew::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwnew::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwnew::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwnew].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwisa___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwisa___parser_index, 621};
+  struct trace_t trace = {NULL, LOCATE_lexer, 621, LOCATE_lexer___TKwisa___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(40);
@@ -1503,7 +1504,7 @@ val_t lexer___TKwisa___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwisa___init, 626};
+  struct trace_t trace = {NULL, LOCATE_lexer, 626, LOCATE_lexer___TKwisa___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1520,16 +1521,16 @@ void lexer___TKwisa___init(val_t  self, val_t  param0, val_t  param1, val_t  par
     once_value_variable3_121 = variable3;
     once_bool_variable3_121 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwisa::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwisa::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwisa::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwisa::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwisa].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwonce___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwonce___parser_index, 636};
+  struct trace_t trace = {NULL, LOCATE_lexer, 636, LOCATE_lexer___TKwonce___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(41);
@@ -1539,7 +1540,7 @@ val_t lexer___TKwonce___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwonce___init, 641};
+  struct trace_t trace = {NULL, LOCATE_lexer, 641, LOCATE_lexer___TKwonce___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1556,16 +1557,16 @@ void lexer___TKwonce___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_124 = variable3;
     once_bool_variable3_124 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwonce::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwonce::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwonce::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwonce::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwonce].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwsuper___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwsuper___parser_index, 651};
+  struct trace_t trace = {NULL, LOCATE_lexer, 651, LOCATE_lexer___TKwsuper___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(42);
@@ -1575,7 +1576,7 @@ val_t lexer___TKwsuper___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwsuper___init, 656};
+  struct trace_t trace = {NULL, LOCATE_lexer, 656, LOCATE_lexer___TKwsuper___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1592,16 +1593,16 @@ void lexer___TKwsuper___init(val_t  self, val_t  param0, val_t  param1, val_t  p
     once_value_variable3_127 = variable3;
     once_bool_variable3_127 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwsuper::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwsuper::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwsuper::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwsuper::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwsuper].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwself___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwself___parser_index, 666};
+  struct trace_t trace = {NULL, LOCATE_lexer, 666, LOCATE_lexer___TKwself___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(43);
@@ -1611,7 +1612,7 @@ val_t lexer___TKwself___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwself___init, 671};
+  struct trace_t trace = {NULL, LOCATE_lexer, 671, LOCATE_lexer___TKwself___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1628,16 +1629,16 @@ void lexer___TKwself___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_130 = variable3;
     once_bool_variable3_130 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwself::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwself::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwself::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwself::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwself].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwtrue___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwtrue___parser_index, 681};
+  struct trace_t trace = {NULL, LOCATE_lexer, 681, LOCATE_lexer___TKwtrue___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(44);
@@ -1647,7 +1648,7 @@ val_t lexer___TKwtrue___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwtrue___init, 686};
+  struct trace_t trace = {NULL, LOCATE_lexer, 686, LOCATE_lexer___TKwtrue___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1664,16 +1665,16 @@ void lexer___TKwtrue___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_133 = variable3;
     once_bool_variable3_133 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwtrue::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwtrue::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwtrue::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwtrue::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwtrue].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwfalse___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwfalse___parser_index, 696};
+  struct trace_t trace = {NULL, LOCATE_lexer, 696, LOCATE_lexer___TKwfalse___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(45);
@@ -1683,7 +1684,7 @@ val_t lexer___TKwfalse___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwfalse___init, 701};
+  struct trace_t trace = {NULL, LOCATE_lexer, 701, LOCATE_lexer___TKwfalse___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1700,16 +1701,16 @@ void lexer___TKwfalse___init(val_t  self, val_t  param0, val_t  param1, val_t  p
     once_value_variable3_136 = variable3;
     once_bool_variable3_136 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwfalse::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwfalse::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwfalse::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwfalse::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwfalse].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TKwnull___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TKwnull___parser_index, 711};
+  struct trace_t trace = {NULL, LOCATE_lexer, 711, LOCATE_lexer___TKwnull___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(46);
@@ -1719,7 +1720,7 @@ val_t lexer___TKwnull___parser_index(val_t  self) {
   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, LOCATE_lexer___TKwnull___init, 716};
+  struct trace_t trace = {NULL, LOCATE_lexer, 716, LOCATE_lexer___TKwnull___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1736,16 +1737,16 @@ void lexer___TKwnull___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
     once_value_variable3_139 = variable3;
     once_bool_variable3_139 = true;
   }
-  ATTR_lexer___Token____text( self) /*TKwnull::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TKwnull::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TKwnull::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TKwnull::_pos*/ =  variable2 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwnull].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TOpar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TOpar___parser_index, 726};
+val_t lexer___TKwas___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 726, LOCATE_lexer___TKwas___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(47);
@@ -1754,8 +1755,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, LOCATE_lexer___TOpar___init, 731};
+void lexer___TKwas___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 731, LOCATE_lexer___TKwas___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1765,23 +1766,23 @@ void lexer___TOpar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TOpar].i]) return;
+  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("("), TAG_Int(1)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("as"), TAG_Int(2)); /*new String*/
     once_value_variable3_142 = variable3;
     once_bool_variable3_142 = true;
   }
-  ATTR_lexer___Token____text( self) /*TOpar::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TOpar::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TOpar::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TOpar::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TOpar].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TKwas].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TCpar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TCpar___parser_index, 741};
+val_t lexer___TOpar___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 741, LOCATE_lexer___TOpar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(48);
@@ -1790,8 +1791,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, LOCATE_lexer___TCpar___init, 746};
+void lexer___TOpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 746, LOCATE_lexer___TOpar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1801,23 +1802,23 @@ void lexer___TCpar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCpar].i]) return;
+  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___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
     once_value_variable3_145 = variable3;
     once_bool_variable3_145 = true;
   }
-  ATTR_lexer___Token____text( self) /*TCpar::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TCpar::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TCpar::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TCpar::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCpar].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TOpar].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TObra___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TObra___parser_index, 756};
+val_t lexer___TCpar___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 756, LOCATE_lexer___TCpar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(49);
@@ -1826,8 +1827,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, LOCATE_lexer___TObra___init, 761};
+void lexer___TCpar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 761, LOCATE_lexer___TCpar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1837,23 +1838,23 @@ void lexer___TObra___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TObra].i]) return;
+  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___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
     once_value_variable3_148 = variable3;
     once_bool_variable3_148 = true;
   }
-  ATTR_lexer___Token____text( self) /*TObra::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TObra::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TObra::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TObra::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TObra].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCpar].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TCbra___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TCbra___parser_index, 771};
+val_t lexer___TObra___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 771, LOCATE_lexer___TObra___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(50);
@@ -1862,8 +1863,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, LOCATE_lexer___TCbra___init, 776};
+void lexer___TObra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 776, LOCATE_lexer___TObra___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1873,23 +1874,23 @@ void lexer___TCbra___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCbra].i]) return;
+  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___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
     once_value_variable3_151 = variable3;
     once_bool_variable3_151 = true;
   }
-  ATTR_lexer___Token____text( self) /*TCbra::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TCbra::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TCbra::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TCbra::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCbra].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TObra].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TComma___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TComma___parser_index, 786};
+val_t lexer___TCbra___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 786, LOCATE_lexer___TCbra___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(51);
@@ -1898,8 +1899,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, LOCATE_lexer___TComma___init, 791};
+void lexer___TCbra___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 791, LOCATE_lexer___TCbra___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1909,23 +1910,23 @@ void lexer___TComma___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TComma].i]) return;
+  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___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
     once_value_variable3_154 = variable3;
     once_bool_variable3_154 = true;
   }
-  ATTR_lexer___Token____text( self) /*TComma::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TComma::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TComma::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TComma::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TComma].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TCbra].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TColumn___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TColumn___parser_index, 801};
+val_t lexer___TComma___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 801, LOCATE_lexer___TComma___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(52);
@@ -1934,8 +1935,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, LOCATE_lexer___TColumn___init, 806};
+void lexer___TComma___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 806, LOCATE_lexer___TComma___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1945,23 +1946,23 @@ void lexer___TColumn___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TColumn].i]) return;
+  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___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
     once_value_variable3_157 = variable3;
     once_bool_variable3_157 = true;
   }
-  ATTR_lexer___Token____text( self) /*TColumn::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TColumn::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TColumn::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TColumn::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TColumn].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TComma].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TQuad___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TQuad___parser_index, 816};
+val_t lexer___TColumn___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 816, LOCATE_lexer___TColumn___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(53);
@@ -1970,8 +1971,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, LOCATE_lexer___TQuad___init, 821};
+void lexer___TColumn___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 821, LOCATE_lexer___TColumn___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1981,23 +1982,23 @@ void lexer___TQuad___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TQuad].i]) return;
+  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(2)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
     once_value_variable3_160 = variable3;
     once_bool_variable3_160 = true;
   }
-  ATTR_lexer___Token____text( self) /*TQuad::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TQuad::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TQuad::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TQuad::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TQuad].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TColumn].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TAssign___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TAssign___parser_index, 831};
+val_t lexer___TQuad___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 831, LOCATE_lexer___TQuad___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(54);
@@ -2006,8 +2007,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, LOCATE_lexer___TAssign___init, 836};
+void lexer___TQuad___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 836, LOCATE_lexer___TQuad___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2017,23 +2018,23 @@ void lexer___TAssign___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TAssign].i]) return;
+  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(1)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
     once_value_variable3_163 = variable3;
     once_bool_variable3_163 = true;
   }
-  ATTR_lexer___Token____text( self) /*TAssign::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TAssign::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TAssign::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TAssign::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TAssign].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TQuad].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TPluseq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TPluseq___parser_index, 846};
+val_t lexer___TAssign___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 846, LOCATE_lexer___TAssign___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(55);
@@ -2042,8 +2043,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, LOCATE_lexer___TPluseq___init, 851};
+void lexer___TAssign___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 851, LOCATE_lexer___TAssign___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2053,23 +2054,23 @@ void lexer___TPluseq___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPluseq].i]) return;
+  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(2)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
     once_value_variable3_166 = variable3;
     once_bool_variable3_166 = true;
   }
-  ATTR_lexer___Token____text( self) /*TPluseq::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TPluseq::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TPluseq::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TPluseq::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPluseq].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TAssign].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TMinuseq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TMinuseq___parser_index, 861};
+val_t lexer___TPluseq___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 861, LOCATE_lexer___TPluseq___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(56);
@@ -2078,8 +2079,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, LOCATE_lexer___TMinuseq___init, 866};
+void lexer___TPluseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 866, LOCATE_lexer___TPluseq___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2089,23 +2090,23 @@ void lexer___TMinuseq___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinuseq].i]) return;
+  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___with_native(BOX_NativeString("+="), TAG_Int(2)); /*new String*/
     once_value_variable3_169 = variable3;
     once_bool_variable3_169 = true;
   }
-  ATTR_lexer___Token____text( self) /*TMinuseq::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TMinuseq::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TMinuseq::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TMinuseq::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinuseq].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPluseq].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TDotdotdot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TDotdotdot___parser_index, 876};
+val_t lexer___TMinuseq___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 876, LOCATE_lexer___TMinuseq___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(57);
@@ -2114,8 +2115,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, LOCATE_lexer___TDotdotdot___init, 881};
+void lexer___TMinuseq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 881, LOCATE_lexer___TMinuseq___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2125,23 +2126,23 @@ void lexer___TDotdotdot___init(val_t  self, val_t  param0, val_t  param1, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdotdot].i]) return;
+  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(3)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("-="), TAG_Int(2)); /*new String*/
     once_value_variable3_172 = variable3;
     once_bool_variable3_172 = true;
   }
-  ATTR_lexer___Token____text( self) /*TDotdotdot::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TDotdotdot::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TDotdotdot::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TDotdotdot::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdotdot].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinuseq].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TDotdot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TDotdot___parser_index, 891};
+val_t lexer___TDotdotdot___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 891, LOCATE_lexer___TDotdotdot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(58);
@@ -2150,8 +2151,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, LOCATE_lexer___TDotdot___init, 896};
+void lexer___TDotdotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 896, LOCATE_lexer___TDotdotdot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2161,23 +2162,23 @@ void lexer___TDotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdot].i]) return;
+  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(2)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("..."), TAG_Int(3)); /*new String*/
     once_value_variable3_175 = variable3;
     once_bool_variable3_175 = true;
   }
-  ATTR_lexer___Token____text( self) /*TDotdot::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TDotdot::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TDotdot::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TDotdot::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdot].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdotdot].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TDot___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TDot___parser_index, 906};
+val_t lexer___TDotdot___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 906, LOCATE_lexer___TDotdot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(59);
@@ -2186,8 +2187,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, LOCATE_lexer___TDot___init, 911};
+void lexer___TDotdot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 911, LOCATE_lexer___TDotdot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2197,23 +2198,23 @@ void lexer___TDot___init(val_t  self, val_t  param0, val_t  param1, val_t  param
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDot].i]) return;
+  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(1)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString(".."), TAG_Int(2)); /*new String*/
     once_value_variable3_178 = variable3;
     once_bool_variable3_178 = true;
   }
-  ATTR_lexer___Token____text( self) /*TDot::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TDot::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TDot::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TDot::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDot].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDotdot].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TPlus___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TPlus___parser_index, 921};
+val_t lexer___TDot___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 921, LOCATE_lexer___TDot___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(60);
@@ -2222,8 +2223,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, LOCATE_lexer___TPlus___init, 926};
+void lexer___TDot___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 926, LOCATE_lexer___TDot___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2233,23 +2234,23 @@ void lexer___TPlus___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPlus].i]) return;
+  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___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
     once_value_variable3_181 = variable3;
     once_bool_variable3_181 = true;
   }
-  ATTR_lexer___Token____text( self) /*TPlus::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TPlus::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TPlus::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TPlus::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPlus].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TDot].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TMinus___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TMinus___parser_index, 936};
+val_t lexer___TPlus___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 936, LOCATE_lexer___TPlus___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(61);
@@ -2258,8 +2259,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, LOCATE_lexer___TMinus___init, 941};
+void lexer___TPlus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 941, LOCATE_lexer___TPlus___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2269,23 +2270,23 @@ void lexer___TMinus___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinus].i]) return;
+  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___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
     once_value_variable3_184 = variable3;
     once_bool_variable3_184 = true;
   }
-  ATTR_lexer___Token____text( self) /*TMinus::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TMinus::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TMinus::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TMinus::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinus].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPlus].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TStar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TStar___parser_index, 951};
+val_t lexer___TMinus___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 951, LOCATE_lexer___TMinus___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(62);
@@ -2294,8 +2295,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, LOCATE_lexer___TStar___init, 956};
+void lexer___TMinus___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 956, LOCATE_lexer___TMinus___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2305,23 +2306,23 @@ void lexer___TStar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStar].i]) return;
+  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___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
     once_value_variable3_187 = variable3;
     once_bool_variable3_187 = true;
   }
-  ATTR_lexer___Token____text( self) /*TStar::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TStar::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TStar::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TStar::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStar].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMinus].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TSlash___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TSlash___parser_index, 966};
+val_t lexer___TStar___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 966, LOCATE_lexer___TStar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(63);
@@ -2330,8 +2331,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, LOCATE_lexer___TSlash___init, 971};
+void lexer___TStar___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 971, LOCATE_lexer___TStar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2341,23 +2342,23 @@ void lexer___TSlash___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TSlash].i]) return;
+  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___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
     once_value_variable3_190 = variable3;
     once_bool_variable3_190 = true;
   }
-  ATTR_lexer___Token____text( self) /*TSlash::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TSlash::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TSlash::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TSlash::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TSlash].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStar].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TPercent___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TPercent___parser_index, 981};
+val_t lexer___TSlash___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 981, LOCATE_lexer___TSlash___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(64);
@@ -2366,8 +2367,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, LOCATE_lexer___TPercent___init, 986};
+void lexer___TSlash___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 986, LOCATE_lexer___TSlash___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2377,23 +2378,23 @@ void lexer___TPercent___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPercent].i]) return;
+  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___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
     once_value_variable3_193 = variable3;
     once_bool_variable3_193 = true;
   }
-  ATTR_lexer___Token____text( self) /*TPercent::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TPercent::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TPercent::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TPercent::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPercent].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TSlash].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TEq___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TEq___parser_index, 996};
+val_t lexer___TPercent___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 996, LOCATE_lexer___TPercent___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(65);
@@ -2402,8 +2403,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, LOCATE_lexer___TEq___init, 1001};
+void lexer___TPercent___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1001, LOCATE_lexer___TPercent___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2413,23 +2414,23 @@ void lexer___TEq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEq].i]) return;
+  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(2)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
     once_value_variable3_196 = variable3;
     once_bool_variable3_196 = true;
   }
-  ATTR_lexer___Token____text( self) /*TEq::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TEq::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TEq::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TEq::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEq].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TPercent].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TNe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TNe___parser_index, 1011};
+val_t lexer___TEq___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1011, LOCATE_lexer___TEq___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(66);
@@ -2438,8 +2439,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, LOCATE_lexer___TNe___init, 1016};
+void lexer___TEq___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1016, LOCATE_lexer___TEq___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2449,23 +2450,23 @@ void lexer___TNe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TNe].i]) return;
+  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___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
     once_value_variable3_199 = variable3;
     once_bool_variable3_199 = true;
   }
-  ATTR_lexer___Token____text( self) /*TNe::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TNe::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TNe::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TNe::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TNe].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEq].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TLt___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TLt___parser_index, 1026};
+val_t lexer___TNe___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1026, LOCATE_lexer___TNe___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(67);
@@ -2474,8 +2475,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, LOCATE_lexer___TLt___init, 1031};
+void lexer___TNe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1031, LOCATE_lexer___TNe___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2485,23 +2486,23 @@ void lexer___TLt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLt].i]) return;
+  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(1)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
     once_value_variable3_202 = variable3;
     once_bool_variable3_202 = true;
   }
-  ATTR_lexer___Token____text( self) /*TLt::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TLt::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TLt::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TLt::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLt].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TNe].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TLe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TLe___parser_index, 1041};
+val_t lexer___TLt___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1041, LOCATE_lexer___TLt___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(68);
@@ -2510,8 +2511,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, LOCATE_lexer___TLe___init, 1046};
+void lexer___TLt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1046, LOCATE_lexer___TLt___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2521,23 +2522,23 @@ void lexer___TLe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLe].i]) return;
+  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(2)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
     once_value_variable3_205 = variable3;
     once_bool_variable3_205 = true;
   }
-  ATTR_lexer___Token____text( self) /*TLe::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TLe::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TLe::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TLe::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLe].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLt].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TGt___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TGt___parser_index, 1056};
+val_t lexer___TLe___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1056, LOCATE_lexer___TLe___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(69);
@@ -2546,8 +2547,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, LOCATE_lexer___TGt___init, 1061};
+void lexer___TLe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1061, LOCATE_lexer___TLe___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2557,23 +2558,23 @@ void lexer___TGt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGt].i]) return;
+  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(1)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
     once_value_variable3_208 = variable3;
     once_bool_variable3_208 = true;
   }
-  ATTR_lexer___Token____text( self) /*TGt::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TGt::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TGt::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TGt::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGt].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TLe].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TGe___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TGe___parser_index, 1071};
+val_t lexer___TGt___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1071, LOCATE_lexer___TGt___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(70);
@@ -2582,8 +2583,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, LOCATE_lexer___TGe___init, 1076};
+void lexer___TGt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1076, LOCATE_lexer___TGt___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2593,23 +2594,23 @@ void lexer___TGe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGe].i]) return;
+  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(2)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
     once_value_variable3_211 = variable3;
     once_bool_variable3_211 = true;
   }
-  ATTR_lexer___Token____text( self) /*TGe::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TGe::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TGe::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TGe::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGe].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGt].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TStarship___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TStarship___parser_index, 1086};
+val_t lexer___TGe___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1086, LOCATE_lexer___TGe___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(71);
@@ -2618,8 +2619,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, LOCATE_lexer___TStarship___init, 1091};
+void lexer___TGe___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1091, LOCATE_lexer___TGe___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2629,23 +2630,23 @@ void lexer___TStarship___init(val_t  self, val_t  param0, val_t  param1, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStarship].i]) return;
+  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(3)); /*new String*/
+    variable3 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
     once_value_variable3_214 = variable3;
     once_bool_variable3_214 = true;
   }
-  ATTR_lexer___Token____text( self) /*TStarship::_text*/ = variable3;
-  ATTR_lexer___Token____filename( self) /*TStarship::_filename*/ =  variable0 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TStarship::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TStarship::_pos*/ =  variable2 /*pos*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStarship].i] = 1;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TGe].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t lexer___TClassid___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TClassid___parser_index, 1101};
+val_t lexer___TStarship___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1101, LOCATE_lexer___TStarship___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(72);
@@ -2654,8 +2655,44 @@ val_t lexer___TClassid___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, LOCATE_lexer, 1106, LOCATE_lexer___TStarship___init};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  static val_t once_value_variable3_217; static int once_bool_variable3_217;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  param1;
+  variable2 =  param2;
+  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*/
+    once_value_variable3_217 = variable3;
+    once_bool_variable3_217 = true;
+  }
+  ATTR_lexer___Token____text( self) /*Token::_text*/ = variable3;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable1 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable2 /*pos*/;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStarship].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+val_t lexer___TClassid___parser_index(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_lexer, 1116, LOCATE_lexer___TClassid___parser_index};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  TAG_Int(73);
+  goto return_label218;
+  return_label218: while(false);
+  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, LOCATE_lexer___TClassid___init, 1106};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1121, LOCATE_lexer___TClassid___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2666,26 +2703,26 @@ void lexer___TClassid___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TClassid].i]) return;
-  ATTR_lexer___Token____text( self) /*TClassid::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TClassid::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TClassid::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TClassid::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TClassid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TId___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TId___parser_index, 1116};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1131, LOCATE_lexer___TId___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(73);
-  goto return_label217;
-  return_label217: while(false);
+  variable0 =  TAG_Int(74);
+  goto return_label220;
+  return_label220: while(false);
   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, LOCATE_lexer___TId___init, 1121};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1136, LOCATE_lexer___TId___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2696,26 +2733,26 @@ void lexer___TId___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TId].i]) return;
-  ATTR_lexer___Token____text( self) /*TId::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TId::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TId::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TId::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TId].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TAttrid___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TAttrid___parser_index, 1131};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1146, LOCATE_lexer___TAttrid___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(74);
-  goto return_label219;
-  return_label219: while(false);
+  variable0 =  TAG_Int(75);
+  goto return_label222;
+  return_label222: while(false);
   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, LOCATE_lexer___TAttrid___init, 1136};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1151, LOCATE_lexer___TAttrid___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2726,26 +2763,26 @@ void lexer___TAttrid___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TAttrid].i]) return;
-  ATTR_lexer___Token____text( self) /*TAttrid::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TAttrid::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TAttrid::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TAttrid::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TAttrid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TNumber___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TNumber___parser_index, 1146};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1161, LOCATE_lexer___TNumber___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(75);
-  goto return_label221;
-  return_label221: while(false);
+  variable0 =  TAG_Int(76);
+  goto return_label224;
+  return_label224: while(false);
   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, LOCATE_lexer___TNumber___init, 1151};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1166, LOCATE_lexer___TNumber___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2756,26 +2793,26 @@ void lexer___TNumber___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TNumber].i]) return;
-  ATTR_lexer___Token____text( self) /*TNumber::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TNumber::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TNumber::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TNumber::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TNumber].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TFloat___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TFloat___parser_index, 1161};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1176, LOCATE_lexer___TFloat___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(76);
-  goto return_label223;
-  return_label223: while(false);
+  variable0 =  TAG_Int(77);
+  goto return_label226;
+  return_label226: while(false);
   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, LOCATE_lexer___TFloat___init, 1166};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1181, LOCATE_lexer___TFloat___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2786,26 +2823,26 @@ void lexer___TFloat___init(val_t  self, val_t  param0, val_t  param1, val_t  par
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TFloat].i]) return;
-  ATTR_lexer___Token____text( self) /*TFloat::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TFloat::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TFloat::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TFloat::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TFloat].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TChar___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TChar___parser_index, 1176};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1191, LOCATE_lexer___TChar___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(77);
-  goto return_label225;
-  return_label225: while(false);
+  variable0 =  TAG_Int(78);
+  goto return_label228;
+  return_label228: while(false);
   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, LOCATE_lexer___TChar___init, 1181};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1196, LOCATE_lexer___TChar___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2816,26 +2853,26 @@ void lexer___TChar___init(val_t  self, val_t  param0, val_t  param1, val_t  para
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TChar].i]) return;
-  ATTR_lexer___Token____text( self) /*TChar::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TChar::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TChar::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TChar::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TChar].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TString___parser_index, 1191};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1206, LOCATE_lexer___TString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(78);
-  goto return_label227;
-  return_label227: while(false);
+  variable0 =  TAG_Int(79);
+  goto return_label230;
+  return_label230: while(false);
   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, LOCATE_lexer___TString___init, 1196};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1211, LOCATE_lexer___TString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2846,26 +2883,26 @@ void lexer___TString___init(val_t  self, val_t  param0, val_t  param1, val_t  pa
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TString].i]) return;
-  ATTR_lexer___Token____text( self) /*TString::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TString::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TString::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TString::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TString].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TStartString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TStartString___parser_index, 1206};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1221, LOCATE_lexer___TStartString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(79);
-  goto return_label229;
-  return_label229: while(false);
+  variable0 =  TAG_Int(80);
+  goto return_label232;
+  return_label232: while(false);
   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, LOCATE_lexer___TStartString___init, 1211};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1226, LOCATE_lexer___TStartString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2876,26 +2913,26 @@ void lexer___TStartString___init(val_t  self, val_t  param0, val_t  param1, val_
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStartString].i]) return;
-  ATTR_lexer___Token____text( self) /*TStartString::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TStartString::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TStartString::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TStartString::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TStartString].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TMidString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TMidString___parser_index, 1221};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1236, LOCATE_lexer___TMidString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(80);
-  goto return_label231;
-  return_label231: while(false);
+  variable0 =  TAG_Int(81);
+  goto return_label234;
+  return_label234: while(false);
   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, LOCATE_lexer___TMidString___init, 1226};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1241, LOCATE_lexer___TMidString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2906,26 +2943,26 @@ void lexer___TMidString___init(val_t  self, val_t  param0, val_t  param1, val_t
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMidString].i]) return;
-  ATTR_lexer___Token____text( self) /*TMidString::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TMidString::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TMidString::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TMidString::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TMidString].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___TEndString___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___TEndString___parser_index, 1236};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1251, LOCATE_lexer___TEndString___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(81);
-  goto return_label233;
-  return_label233: while(false);
+  variable0 =  TAG_Int(82);
+  goto return_label236;
+  return_label236: while(false);
   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, LOCATE_lexer___TEndString___init, 1241};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1256, LOCATE_lexer___TEndString___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2936,26 +2973,26 @@ void lexer___TEndString___init(val_t  self, val_t  param0, val_t  param1, val_t
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEndString].i]) return;
-  ATTR_lexer___Token____text( self) /*TEndString::_text*/ =  variable0 /*text*/;
-  ATTR_lexer___Token____filename( self) /*TEndString::_filename*/ =  variable1 /*fname*/;
-  ATTR_lexer___Token____line( self) /*TEndString::_line*/ =  variable2 /*line*/;
-  ATTR_lexer___Token____pos( self) /*TEndString::_pos*/ =  variable3 /*pos*/;
+  ATTR_lexer___Token____text( self) /*Token::_text*/ =  variable0 /*text*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable1 /*fname*/;
+  ATTR_lexer___Token____line( self) /*Token::_line*/ =  variable2 /*line*/;
+  ATTR_lexer___Token____pos( self) /*Token::_pos*/ =  variable3 /*pos*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TEndString].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___EOF___parser_index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___EOF___parser_index, 1252};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1267, LOCATE_lexer___EOF___parser_index};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 =  TAG_Int(82);
-  goto return_label235;
-  return_label235: while(false);
+  variable0 =  TAG_Int(83);
+  goto return_label238;
+  return_label238: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void lexer___EOF___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer___EOF___init, 1257};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1272, LOCATE_lexer___EOF___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2965,30 +3002,30 @@ void lexer___EOF___init(val_t  self, val_t  param0, val_t  param1, val_t  param2
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_EOF].i]) return;
-  ATTR_lexer___Token____filename( self) /*EOF::_filename*/ =  variable0 /*fname*/;
+  ATTR_lexer___Token____filename( self) /*Token::_filename*/ =  variable0 /*fname*/;
   variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-  ATTR_lexer___Token____text( self) /*EOF::_text*/ = variable3;
-  ATTR_lexer___Token____line( self) /*EOF::_line*/ =  variable1 /*line*/;
-  ATTR_lexer___Token____pos( self) /*EOF::_pos*/ =  variable2 /*pos*/;
+  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*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_EOF].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___PError___message(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___PError___message, 1267};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1282, LOCATE_lexer___PError___message};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_lexer___PError____message( self) /*PError::_message*/;
 }
 void lexer___PError___message__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_lexer___PError___message__eq, 1267};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1282, LOCATE_lexer___PError___message__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_lexer___PError____message( self) /*PError::_message*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void lexer___PError___init_error(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer___PError___init_error, 1269};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1284, LOCATE_lexer___PError___init_error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2999,30 +3036,30 @@ void lexer___PError___init_error(val_t  self, val_t  param0, val_t  param1, val_
   variable2 =  param2;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PError].i]) return;
-  ((lexer___EOF___init_t)CALL( self,COLOR_lexer___EOF___init))( self,  variable0 /*fname*/,  variable1 /*line*/,  variable2 /*pos*/, init_table /*YYY*/) /*PError::init*/;
+  ((lexer___EOF___init_t)CALL( self,COLOR_lexer___EOF___init))( self,  variable0 /*fname*/,  variable1 /*line*/,  variable2 /*pos*/, init_table /*YYY*/) /*EOF::init*/;
   ATTR_lexer___PError____message( self) /*PError::_message*/ =  variable3 /*message*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PError].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___Lexer___filename(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___filename, 1286};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1301, LOCATE_lexer___Lexer___filename};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
 }
 val_t lexer___Lexer___state_initial(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___state_initial, 1313};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1328, LOCATE_lexer___Lexer___state_initial};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(0);
-  goto return_label238;
-  return_label238: while(false);
+  goto return_label241;
+  return_label241: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void lexer___Lexer___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___init, 1316};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1331, LOCATE_lexer___Lexer___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3045,48 +3082,48 @@ void lexer___Lexer___init(val_t  self, val_t  param0, val_t  param1, int* init_t
   return;
 }
 val_t lexer___Lexer___peek(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___peek, 1328};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1343, LOCATE_lexer___Lexer___peek};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   while (true) { /*while*/
     variable0 = ATTR_lexer___Lexer____token( self) /*Lexer::_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*/) /*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)) break; /* while*/
     variable0 = ((lexer___Lexer___get_token_t)CALL( self,COLOR_lexer___Lexer___get_token))( self) /*Lexer::get_token*/;
     ATTR_lexer___Lexer____token( self) /*Lexer::_token*/ = variable0;
-    continue_241: while(0);
+    continue_244: while(0);
   }
-  break_241: while(0);
+  break_244: while(0);
   variable0 = ATTR_lexer___Lexer____token( self) /*Lexer::_token*/;
-  goto return_label240;
-  return_label240: while(false);
+  goto return_label243;
+  return_label243: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t lexer___Lexer___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___next, 1337};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1352, LOCATE_lexer___Lexer___next};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable1 = ATTR_lexer___Lexer____token( self) /*Lexer::_token*/;
   variable0 = variable1;
   while (true) { /*while*/
-    variable1 = TAG_Bool(( variable0 /*result*/ ==  NIT_NULL /*null*/) || (( variable0 /*result*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*result*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*result*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*result*/,COLOR_kernel___Object_____eqeq))( variable0 /*result*/,  NIT_NULL /*null*/) /*Token::==*/)))));
+    variable1 = TAG_Bool(( variable0 /*result*/ ==  NIT_NULL /*null*/) || (( variable0 /*result*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*result*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*result*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*result*/,COLOR_kernel___Object_____eqeq))( variable0 /*result*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (!UNTAG_Bool(variable1)) break; /* while*/
     variable1 = ((lexer___Lexer___get_token_t)CALL( self,COLOR_lexer___Lexer___get_token))( self) /*Lexer::get_token*/;
     variable0 = variable1 /*result=*/;
-    continue_243: while(0);
+    continue_246: while(0);
   }
-  break_243: while(0);
+  break_246: while(0);
   ATTR_lexer___Lexer____token( self) /*Lexer::_token*/ =  NIT_NULL /*null*/;
   variable0 =  variable0 /*result*/;
-  goto return_label242;
-  return_label242: while(false);
+  goto return_label245;
+  return_label245: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t lexer___Lexer___get_token(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___get_token, 1348};
+  struct trace_t trace = {NULL, LOCATE_lexer, 1363, LOCATE_lexer___Lexer___get_token};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3132,16 +3169,16 @@ val_t lexer___Lexer___get_token(val_t  self) {
   variable13 = variable12;
   if (UNTAG_Bool(variable13)) { /* and */
     variable13 = variable9;
-    variable13 = ATTR_array___AbstractArray____length(variable13) /*Array::_length*/;
+    variable13 = ATTR_array___AbstractArray____length(variable13) /*AbstractArray::_length*/;
     variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
   }
   variable12 = variable13;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
   variable12 = variable9;
   variable12 = ATTR_array___Array____items(variable12) /*Array::_items*/;
   variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
-  goto return_label245;
-  return_label245: while(false);
+  goto return_label248;
+  return_label248: while(false);
   variable9 = variable12;
   variable8 = variable9;
   variable10 = ATTR_lexer___Lexer____accept_table( self) /*Lexer::_accept_table*/;
@@ -3151,20 +3188,20 @@ val_t lexer___Lexer___get_token(val_t  self) {
   variable14 = variable13;
   if (UNTAG_Bool(variable14)) { /* and */
     variable14 = variable10;
-    variable14 = ATTR_array___AbstractArray____length(variable14) /*Array::_length*/;
+    variable14 = ATTR_array___AbstractArray____length(variable14) /*AbstractArray::_length*/;
     variable14 = TAG_Bool(UNTAG_Int( variable12 /*index*/)<UNTAG_Int(variable14));
   }
   variable13 = variable14;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
   variable13 = variable10;
   variable13 = ATTR_array___Array____items(variable13) /*Array::_items*/;
   variable13 = UNBOX_NativeArray(variable13)[UNTAG_Int( variable12 /*index*/)];
-  goto return_label246;
-  return_label246: while(false);
+  goto return_label249;
+  return_label249: while(false);
   variable10 = variable13;
   variable9 = variable10;
   variable10 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
-  ((array___AbstractArray___clear_t)CALL(variable10,COLOR_abstract_collection___RemovableCollection___clear))(variable10) /*String::clear*/;
+  ((array___AbstractArray___clear_t)CALL(variable10,COLOR_abstract_collection___RemovableCollection___clear))(variable10) /*AbstractArray::clear*/;
   while (true) { /*while*/
     if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
     variable11 = ((lexer___Lexer___get_char_t)CALL( self,COLOR_lexer___Lexer___get_char))( self) /*Lexer::get_char*/;
@@ -3225,19 +3262,19 @@ val_t lexer___Lexer___get_token(val_t  self) {
         variable15 = TAG_Bool(UNTAG_Int( variable14 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable16 = variable15;
         if (UNTAG_Bool(variable16)) { /* and */
-          variable16 = ATTR_array___AbstractArray____length( variable8 /*goto_table*/) /*Array::_length*/;
+          variable16 = ATTR_array___AbstractArray____length( variable8 /*goto_table*/) /*AbstractArray::_length*/;
           variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)<UNTAG_Int(variable16));
         }
         variable15 = variable16;
-        if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
         variable15 = ATTR_array___Array____items( variable8 /*goto_table*/) /*Array::_items*/;
         variable15 = UNBOX_NativeArray(variable15)[UNTAG_Int( variable14 /*index*/)];
-        goto return_label249;
-        return_label249: while(false);
+        goto return_label252;
+        return_label252: while(false);
         variable14 = variable15;
         variable13 = variable14;
         variable14 =  TAG_Int(0);
-        variable16 = ((array___AbstractArray___length_t)CALL( variable13 /*tmp1*/,COLOR_abstract_collection___Collection___length))( variable13 /*tmp1*/) /*Array::length*/;
+        variable16 = ((array___AbstractArray___length_t)CALL( variable13 /*tmp1*/,COLOR_abstract_collection___Collection___length))( variable13 /*tmp1*/) /*AbstractArray::length*/;
         variable16 = TAG_Int(UNTAG_Int(variable16)-UNTAG_Int( TAG_Int(1)));
         variable15 = variable16;
         while (true) { /*while*/
@@ -3250,30 +3287,30 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
           variable20 = variable19;
           if (UNTAG_Bool(variable20)) { /* and */
-            variable20 = ATTR_array___AbstractArray____length( variable13 /*tmp1*/) /*Array::_length*/;
+            variable20 = ATTR_array___AbstractArray____length( variable13 /*tmp1*/) /*AbstractArray::_length*/;
             variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
           }
           variable19 = variable20;
-          if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+          if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
           variable19 = ATTR_array___Array____items( variable13 /*tmp1*/) /*Array::_items*/;
           variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
-          goto return_label251;
-          return_label251: while(false);
+          goto return_label254;
+          return_label254: while(false);
           variable18 = variable19;
           variable17 = variable18;
           variable18 =  TAG_Int(0);
           variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
           variable20 = variable19;
           if (UNTAG_Bool(variable20)) { /* and */
-            variable20 = ATTR_array___AbstractArray____length( variable17 /*tmp2*/) /*Array::_length*/;
+            variable20 = ATTR_array___AbstractArray____length( variable17 /*tmp2*/) /*AbstractArray::_length*/;
             variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
           }
           variable19 = variable20;
-          if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+          if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
           variable19 = ATTR_array___Array____items( variable17 /*tmp2*/) /*Array::_items*/;
           variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
-          goto return_label252;
-          return_label252: while(false);
+          goto return_label255;
+          return_label255: while(false);
           variable18 = variable19;
           variable18 = TAG_Bool(UNTAG_Int( variable10 /*c*/)<UNTAG_Int(variable18));
           if (UNTAG_Bool(variable18)) { /*if*/
@@ -3284,15 +3321,15 @@ val_t lexer___Lexer___get_token(val_t  self) {
             variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
             variable20 = variable19;
             if (UNTAG_Bool(variable20)) { /* and */
-              variable20 = ATTR_array___AbstractArray____length( variable17 /*tmp2*/) /*Array::_length*/;
+              variable20 = ATTR_array___AbstractArray____length( variable17 /*tmp2*/) /*AbstractArray::_length*/;
               variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
             }
             variable19 = variable20;
-            if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+            if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
             variable19 = ATTR_array___Array____items( variable17 /*tmp2*/) /*Array::_items*/;
             variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
-            goto return_label253;
-            return_label253: while(false);
+            goto return_label256;
+            return_label256: while(false);
             variable18 = variable19;
             variable18 = TAG_Bool(UNTAG_Int( variable10 /*c*/)>UNTAG_Int(variable18));
             if (UNTAG_Bool(variable18)) { /*if*/
@@ -3303,28 +3340,28 @@ val_t lexer___Lexer___get_token(val_t  self) {
               variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
               variable20 = variable19;
               if (UNTAG_Bool(variable20)) { /* and */
-               variable20 = ATTR_array___AbstractArray____length( variable17 /*tmp2*/) /*Array::_length*/;
+               variable20 = ATTR_array___AbstractArray____length( variable17 /*tmp2*/) /*AbstractArray::_length*/;
                variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
               }
               variable19 = variable20;
-              if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+              if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
               variable19 = ATTR_array___Array____items( variable17 /*tmp2*/) /*Array::_items*/;
               variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
-              goto return_label254;
-              return_label254: while(false);
+              goto return_label257;
+              return_label257: while(false);
               variable18 = variable19;
               variable0 = variable18 /*dfa_state=*/;
               variable18 = TAG_Int(UNTAG_Int( variable15 /*high*/)+UNTAG_Int( TAG_Int(1)));
               variable14 = variable18 /*low=*/;
             }
           }
-          continue_250: while(0);
+          continue_253: while(0);
         }
-        break_250: while(0);
+        break_253: while(0);
         variable11 =  TAG_Bool(false) /*first_loop=*/;
-        continue_248: while(0);
+        continue_251: while(0);
       }
-      break_248: while(0);
+      break_251: while(0);
     } else { /*if*/
       variable11 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
       variable0 = variable11 /*dfa_state=*/;
@@ -3335,15 +3372,15 @@ val_t lexer___Lexer___get_token(val_t  self) {
       variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable13 = variable12;
       if (UNTAG_Bool(variable13)) { /* and */
-        variable13 = ATTR_array___AbstractArray____length( variable9 /*accept*/) /*Array::_length*/;
+        variable13 = ATTR_array___AbstractArray____length( variable9 /*accept*/) /*AbstractArray::_length*/;
         variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
       }
       variable12 = variable13;
-      if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
       variable12 = ATTR_array___Array____items( variable9 /*accept*/) /*Array::_items*/;
       variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
-      goto return_label255;
-      return_label255: while(false);
+      goto return_label258;
+      return_label258: while(false);
       variable11 = variable12;
       variable12 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
       variable11 = TAG_Bool((variable11)!=(variable12));
@@ -3353,19 +3390,19 @@ val_t lexer___Lexer___get_token(val_t  self) {
         variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable13 = variable12;
         if (UNTAG_Bool(variable13)) { /* and */
-          variable13 = ATTR_array___AbstractArray____length( variable9 /*accept*/) /*Array::_length*/;
+          variable13 = ATTR_array___AbstractArray____length( variable9 /*accept*/) /*AbstractArray::_length*/;
           variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
         }
         variable12 = variable13;
-        if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_lexer, 229); nit_exit(1);}
         variable12 = ATTR_array___Array____items( variable9 /*accept*/) /*Array::_items*/;
         variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
-        goto return_label256;
-        return_label256: while(false);
+        goto return_label259;
+        return_label259: while(false);
         variable11 = variable12;
         variable4 = variable11 /*accept_token=*/;
         variable11 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
-        variable11 = ((array___AbstractArray___length_t)CALL(variable11,COLOR_abstract_collection___Collection___length))(variable11) /*String::length*/;
+        variable11 = ((array___AbstractArray___length_t)CALL(variable11,COLOR_abstract_collection___Collection___length))(variable11) /*AbstractArray::length*/;
         variable5 = variable11 /*accept_length=*/;
         variable11 = ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/;
         variable6 = variable11 /*accept_pos=*/;
@@ -3382,7 +3419,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  NIT_NULL /*null*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(1)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3399,7 +3436,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(2)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3416,7 +3453,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(3)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3430,7 +3467,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(4)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3444,7 +3481,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(5)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3458,7 +3495,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(6)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3472,7 +3509,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(7)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3486,7 +3523,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(8)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3500,7 +3537,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(9)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3514,7 +3551,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(10)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3528,7 +3565,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(11)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3542,7 +3579,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(12)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3556,7 +3593,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(13)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3570,7 +3607,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(14)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3584,7 +3621,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(15)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3598,7 +3635,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(16)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3612,7 +3649,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(17)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3626,7 +3663,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(18)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3640,7 +3677,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(19)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3654,7 +3691,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(20)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3668,7 +3705,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(21)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3682,7 +3719,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(22)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3696,7 +3733,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(23)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3710,7 +3747,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(24)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3724,7 +3761,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(25)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3738,7 +3775,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(26)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3752,7 +3789,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(27)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3766,7 +3803,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(28)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3780,7 +3817,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(29)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3794,7 +3831,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(30)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3808,7 +3845,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(31)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3822,7 +3859,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(32)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3836,7 +3873,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(33)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3850,7 +3887,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(34)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3864,7 +3901,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(35)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3878,7 +3915,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(36)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3892,7 +3929,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(37)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3906,7 +3943,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(38)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3920,7 +3957,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(39)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3934,7 +3971,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(40)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3948,7 +3985,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(41)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3962,7 +3999,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(42)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3976,7 +4013,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(43)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -3990,7 +4027,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(44)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -4004,7 +4041,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(45)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -4018,7 +4055,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(46)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -4032,7 +4069,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(47)));
         if (UNTAG_Bool(variable11)) { /*if*/
@@ -4046,360 +4083,374 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(48)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TKwas___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(49)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TOpar___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(50)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TCpar___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(51)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TObra___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(52)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TCbra___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(53)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TComma___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(54)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TColumn___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(55)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TQuad___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(56)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TAssign___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(57)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TPluseq___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(58)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TMinuseq___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(59)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TDotdotdot___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(60)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TDotdot___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(61)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TDot___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(62)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TPlus___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(63)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TMinus___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(64)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TStar___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(65)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TSlash___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(66)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TPercent___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(67)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TEq___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(68)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TNe___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(69)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TLt___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(70)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TLe___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(71)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TGt___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(72)));
         if (UNTAG_Bool(variable11)) { /*if*/
           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_lexer___TGe___init(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*/;
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
         variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(73)));
         if (UNTAG_Bool(variable11)) { /*if*/
+          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*/
+          variable12 = variable15;
+          variable11 = variable12;
+          ((lexer___Lexer___push_back_t)CALL( self,COLOR_lexer___Lexer___push_back))( self,  variable5 /*accept_length*/) /*Lexer::push_back*/;
+          ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
+          ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
+          variable0 =  variable11 /*token*/;
+          goto return_label247;
+        }
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(74)));
+        if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
           variable11 = variable12;
@@ -4413,9 +4464,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(74)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(75)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4430,9 +4481,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(75)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(76)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4447,9 +4498,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(76)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(77)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4464,9 +4515,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(77)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(78)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4481,9 +4532,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(78)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(79)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4498,9 +4549,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(79)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(80)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4515,9 +4566,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(80)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(81)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4532,9 +4583,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(81)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(82)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4549,9 +4600,9 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
-        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(82)));
+        variable11 = TAG_Bool(( variable4 /*accept_token*/)==( TAG_Int(83)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
           variable12 = ((string___String___substring_t)CALL(variable12,COLOR_string___String___substring))(variable12,  TAG_Int(0),  variable5 /*accept_length*/) /*String::substring*/;
@@ -4566,11 +4617,11 @@ val_t lexer___Lexer___get_token(val_t  self) {
           ATTR_lexer___Lexer____pos( self) /*Lexer::_pos*/ =  variable6 /*accept_pos*/;
           ATTR_lexer___Lexer____line( self) /*Lexer::_line*/ =  variable7 /*accept_line*/;
           variable0 =  variable12 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
       } else { /*if*/
         variable11 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
-        variable11 = ((array___AbstractArray___length_t)CALL(variable11,COLOR_abstract_collection___Collection___length))(variable11) /*String::length*/;
+        variable11 = ((array___AbstractArray___length_t)CALL(variable11,COLOR_abstract_collection___Collection___length))(variable11) /*AbstractArray::length*/;
         variable11 = TAG_Bool(UNTAG_Int(variable11)>UNTAG_Int( TAG_Int(0)));
         if (UNTAG_Bool(variable11)) { /*if*/
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
@@ -4590,7 +4641,7 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = variable16;
           variable11 = variable12;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         } else { /*if*/
           variable12 = ATTR_lexer___Lexer____filename( self) /*Lexer::_filename*/;
           variable13 = TAG_Int(UNTAG_Int( variable2 /*start_line*/)+UNTAG_Int( TAG_Int(1)));
@@ -4599,21 +4650,21 @@ val_t lexer___Lexer___get_token(val_t  self) {
           variable12 = variable15;
           variable11 = variable12;
           variable0 =  variable11 /*token*/;
-          goto return_label244;
+          goto return_label247;
         }
       }
     }
-    continue_247: while(0);
+    continue_250: while(0);
   }
-  break_247: while(0);
+  break_250: while(0);
   variable0 =  NIT_NULL /*null*/;
-  goto return_label244;
-  return_label244: while(false);
+  goto return_label247;
+  return_label247: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t lexer___Lexer___get_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___get_char, 2036};
+  struct trace_t trace = {NULL, LOCATE_lexer, 2058, LOCATE_lexer___Lexer___get_char};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4623,9 +4674,9 @@ val_t lexer___Lexer___get_char(val_t  self) {
   variable0 = ATTR_lexer___Lexer____eof( self) /*Lexer::_eof*/;
   if (UNTAG_Bool(variable0)) { /*if*/
     variable0 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    goto return_label257;
+    goto return_label260;
   }
-  variable0 = TAG_Int((int)0) /*decl variable result*/;
+  variable0 = TAG_Int((bigint)0) /*decl variable result*/;
   variable2 = ATTR_lexer___Lexer____stream_pos( self) /*Lexer::_stream_pos*/;
   variable1 = variable2;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*sp*/)>=UNTAG_Int( TAG_Int(0)));
@@ -4649,13 +4700,13 @@ val_t lexer___Lexer___get_char(val_t  self) {
     ATTR_lexer___Lexer____eof( self) /*Lexer::_eof*/ =  TAG_Bool(true);
   }
   variable0 =  variable0 /*result*/;
-  goto return_label257;
-  return_label257: while(false);
+  goto return_label260;
+  return_label260: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void lexer___Lexer___push_back(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___push_back, 2062};
+  struct trace_t trace = {NULL, LOCATE_lexer, 2084, LOCATE_lexer___Lexer___push_back};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4665,7 +4716,7 @@ void lexer___Lexer___push_back(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ATTR_lexer___Lexer____text( self) /*Lexer::_text*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable1 = variable2;
   variable3 = TAG_Int(UNTAG_Int( variable1 /*length*/)-UNTAG_Int( TAG_Int(1)));
   variable2 = variable3;
@@ -4683,16 +4734,16 @@ void lexer___Lexer___push_back(val_t  self, val_t  param0) {
     ((string___String_____braeq_t)CALL(variable3,COLOR_abstract_collection___Map_____braeq))(variable3, variable4, variable5) /*String::[]=*/;
     variable3 = TAG_Int(UNTAG_Int( variable2 /*i*/)-UNTAG_Int( TAG_Int(1)));
     variable2 = variable3 /*i=*/;
-    continue_259: while(0);
+    continue_262: while(0);
   }
-  break_259: while(0);
+  break_262: while(0);
   tracehead = trace.prev;
   return;
 }
 void lexer___Lexer___build_goto_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___build_goto_table, 2077};
+  struct trace_t trace = {NULL, LOCATE_lexer, 2099, LOCATE_lexer___Lexer___build_goto_table};
   val_t variable0;
-  static val_t once_value_variable0_261; static int once_bool_variable0_261;
+  static val_t once_value_variable0_264; static int once_bool_variable0_264;
     val_t variable1;
     val_t variable2;
     val_t variable3;
@@ -4950,4055 +5001,4055 @@ void lexer___Lexer___build_goto_table(val_t  self) {
     val_t variable255;
     val_t variable256;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_261) variable0 = once_value_variable0_261;
+  if (once_bool_variable0_264) variable0 = once_value_variable0_264;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Array[Array[Int]]]]*/
-    variable1 = NEW_array___Array___with_capacity(TAG_Int(253)); /*new Array[Array[Array[Int]]]*/
-    variable2 = NEW_array___Array___with_capacity(TAG_Int(48)); /*new Array[Array[Int]]*/
-    variable3 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*Array::add*/;
-    variable4 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*Array::add*/;
-    variable5 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable5) /*Array::add*/;
-    variable6 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable6) /*Array::add*/;
-    variable7 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable7) /*Array::add*/;
-    variable8 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(34)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(6)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable8) /*Array::add*/;
-    variable9 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(35)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(7)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable9) /*Array::add*/;
-    variable10 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(8)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable10) /*Array::add*/;
-    variable11 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable11) /*Array::add*/;
-    variable12 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable12) /*Array::add*/;
-    variable13 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(41)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable13) /*Array::add*/;
-    variable14 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable14) /*Array::add*/;
-    variable15 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable15) /*Array::add*/;
-    variable16 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable16) /*Array::add*/;
-    variable17 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(45)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable17) /*Array::add*/;
-    variable18 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable18) /*Array::add*/;
-    variable19 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(47)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(17)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable19) /*Array::add*/;
-    variable20 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable20) /*Array::add*/;
-    variable21 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable21) /*Array::add*/;
-    variable22 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable22) /*Array::add*/;
-    variable23 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable23) /*Array::add*/;
-    variable24 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(62)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable24) /*Array::add*/;
-    variable25 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable25) /*Array::add*/;
-    variable26 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(24)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable26) /*Array::add*/;
-    variable27 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(93)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(25)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable27) /*Array::add*/;
-    variable28 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(95)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable28) /*Array::add*/;
-    variable29 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(27)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable29) /*Array::add*/;
-    variable30 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable30) /*Array::add*/;
-    variable31 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable31) /*Array::add*/;
-    variable32 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(30)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable32) /*Array::add*/;
-    variable33 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable33) /*Array::add*/;
-    variable34 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable34) /*Array::add*/;
-    variable35 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable35) /*Array::add*/;
-    variable36 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(34)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable36) /*Array::add*/;
-    variable37 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable37) /*Array::add*/;
-    variable38 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(35)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable38) /*Array::add*/;
-    variable39 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(36)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable39) /*Array::add*/;
-    variable40 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable40) /*Array::add*/;
-    variable41 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(38)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable41) /*Array::add*/;
-    variable42 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable42) /*Array::add*/;
-    variable43 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable43) /*Array::add*/;
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable44) /*Array::add*/;
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(41)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable45) /*Array::add*/;
-    variable46 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable46) /*Array::add*/;
-    variable47 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable47) /*Array::add*/;
-    variable48 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable48) /*Array::add*/;
-    variable49 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable49) /*Array::add*/;
-    variable50 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(125)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(45)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable50) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*Array::add*/;
-    variable3 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
-    variable4 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*Array::add*/;
-    variable5 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable5) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*Array::add*/;
+    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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable5) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable6 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable6) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*Array::add*/;
-    variable6 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable7 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(32)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable7) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*Array::add*/;
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable8 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(47)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*Array::add*/;
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Array[Int]]*/
-    variable9 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*Array::add*/;
-    variable10 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable10) /*Array::add*/;
-    variable11 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable11) /*Array::add*/;
-    variable12 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(34)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(49)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable12) /*Array::add*/;
-    variable13 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable13) /*Array::add*/;
-    variable14 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(92)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable14) /*Array::add*/;
-    variable15 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable15) /*Array::add*/;
-    variable16 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(51)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable16) /*Array::add*/;
-    variable17 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(255)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable17) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable8) /*Array::add*/;
-    variable9 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable10 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(52)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable10) /*Array::add*/;
-    variable11 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable11) /*Array::add*/;
-    variable12 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(52)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable12) /*Array::add*/;
-    variable13 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(54)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable13) /*Array::add*/;
-    variable14 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(255)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(52)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable14) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable9) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable14) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable11 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable12 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable12) /*Array::add*/;
-    variable13 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable13) /*Array::add*/;
-    variable14 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(38)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable14) /*Array::add*/;
-    variable15 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(56)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable15) /*Array::add*/;
-    variable16 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(255)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable16) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable11) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable16) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable11) /*AbstractArray::add*/;
     variable12 = ((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, variable12) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable12) /*AbstractArray::add*/;
     variable13 = ((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, variable13) /*Array::add*/;
+    ((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) /*Array::add*/;
-    variable15 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable16 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15, variable16) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable15) /*Array::add*/;
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15, variable16) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable17 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable18 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17, variable18) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable17) /*Array::add*/;
-    variable18 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
-    variable19 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18, variable19) /*Array::add*/;
-    variable20 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18, variable20) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable18) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18, variable20) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable20 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
-    variable21 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20, variable21) /*Array::add*/;
-    variable22 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20, variable22) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable20) /*Array::add*/;
-    variable21 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable22 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(62)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21, variable22) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable21) /*Array::add*/;
-    variable22 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable23 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(63)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable22) /*Array::add*/;
-    variable23 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable24 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(64)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23, variable24) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable23) /*Array::add*/;
-    variable24 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable25 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(65)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24, variable25) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable24) /*Array::add*/;
-    variable25 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable26 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(66)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable26) /*Array::add*/;
-    variable27 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable27) /*Array::add*/;
-    variable28 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(95)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable28) /*Array::add*/;
-    variable29 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(69)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable29) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable25) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable29) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable25) /*AbstractArray::add*/;
     variable26 = ((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, variable26) /*Array::add*/;
+    ((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) /*Array::add*/;
-    variable28 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable29 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(70)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28, variable29) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable28) /*Array::add*/;
-    variable29 = NEW_array___Array___with_capacity(TAG_Int(11)); /*new Array[Array[Int]]*/
-    variable30 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(71)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable30) /*Array::add*/;
-    variable31 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable31) /*Array::add*/;
-    variable32 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(95)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable32) /*Array::add*/;
-    variable33 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable33) /*Array::add*/;
-    variable34 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable34) /*Array::add*/;
-    variable35 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable35) /*Array::add*/;
-    variable36 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(76)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable36) /*Array::add*/;
-    variable37 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable37) /*Array::add*/;
-    variable38 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(77)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable38) /*Array::add*/;
-    variable39 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable39) /*Array::add*/;
-    variable40 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable40) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable29) /*Array::add*/;
-    variable30 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable31 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable31) /*Array::add*/;
-    variable32 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable32) /*Array::add*/;
-    variable33 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(79)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable33) /*Array::add*/;
-    variable34 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable34) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable30) /*Array::add*/;
-    variable31 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Array[Int]]*/
-    variable32 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable32) /*Array::add*/;
-    variable33 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(107)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable33) /*Array::add*/;
-    variable34 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable34) /*Array::add*/;
-    variable35 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable35) /*Array::add*/;
-    variable36 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(81)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable36) /*Array::add*/;
-    variable37 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable37) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable31) /*Array::add*/;
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable33 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable33) /*Array::add*/;
-    variable34 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable34) /*Array::add*/;
-    variable35 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(82)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable35) /*Array::add*/;
-    variable36 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable36) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable32) /*Array::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
-    variable34 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*Array::add*/;
-    variable35 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable35) /*Array::add*/;
-    variable36 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable36) /*Array::add*/;
-    variable37 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable37) /*Array::add*/;
-    variable38 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable38) /*Array::add*/;
-    variable39 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(120)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(85)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable39) /*Array::add*/;
-    variable40 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable40) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable33) /*Array::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable35 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable35) /*Array::add*/;
-    variable36 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(86)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable36) /*Array::add*/;
-    variable37 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable37) /*Array::add*/;
-    variable38 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(87)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable38) /*Array::add*/;
-    variable39 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable39) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable34) /*Array::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Array[Int]]*/
-    variable36 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35, variable36) /*Array::add*/;
-    variable37 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35, variable37) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable35) /*Array::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Array[Int]]*/
-    variable37 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*Array::add*/;
-    variable38 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable38) /*Array::add*/;
-    variable39 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(88)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable39) /*Array::add*/;
-    variable40 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable40) /*Array::add*/;
-    variable41 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(89)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable41) /*Array::add*/;
-    variable42 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable42) /*Array::add*/;
-    variable43 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable43) /*Array::add*/;
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable44) /*Array::add*/;
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable45) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable36) /*Array::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable38 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable38) /*Array::add*/;
-    variable39 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable39) /*Array::add*/;
-    variable40 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(92)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable40) /*Array::add*/;
-    variable41 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable41) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable37) /*Array::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
-    variable39 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable39) /*Array::add*/;
-    variable40 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(93)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable40) /*Array::add*/;
-    variable41 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable41) /*Array::add*/;
-    variable42 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(94)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable42) /*Array::add*/;
-    variable43 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable43) /*Array::add*/;
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(95)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable44) /*Array::add*/;
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable45) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable38) /*Array::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Array[Int]]*/
-    variable40 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*Array::add*/;
-    variable41 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable41) /*Array::add*/;
-    variable42 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable42) /*Array::add*/;
-    variable43 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable43) /*Array::add*/;
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable44) /*Array::add*/;
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable45) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable39) /*Array::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable41 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable41) /*Array::add*/;
-    variable42 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable42) /*Array::add*/;
-    variable43 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable43) /*Array::add*/;
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable44) /*Array::add*/;
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable45) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable40) /*Array::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable42 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable42) /*Array::add*/;
-    variable43 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable43) /*Array::add*/;
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable44) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable41) /*Array::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
-    variable43 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*Array::add*/;
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable44) /*Array::add*/;
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable45) /*Array::add*/;
-    variable46 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable46) /*Array::add*/;
-    variable47 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable47) /*Array::add*/;
-    variable48 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(103)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable48) /*Array::add*/;
-    variable49 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable49) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable42) /*Array::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Array[Int]]*/
-    variable44 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable44) /*Array::add*/;
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(103)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable45) /*Array::add*/;
-    variable46 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable46) /*Array::add*/;
-    variable47 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable47) /*Array::add*/;
-    variable48 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable48) /*Array::add*/;
-    variable49 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(120)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable49) /*Array::add*/;
-    variable50 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(121)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(106)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable50) /*Array::add*/;
-    variable51 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable51) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable43) /*Array::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable45 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(109)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable45) /*Array::add*/;
-    variable46 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(107)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable46) /*Array::add*/;
-    variable47 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable47) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable44) /*Array::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable46 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*Array::add*/;
-    variable47 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable47) /*Array::add*/;
-    variable48 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable48) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable45) /*Array::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable47 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(103)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable47) /*Array::add*/;
-    variable48 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable48) /*Array::add*/;
-    variable49 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable49) /*Array::add*/;
-    variable50 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable50) /*Array::add*/;
-    variable51 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable51) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable46) /*Array::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Array[Int]]*/
-    variable48 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable48) /*Array::add*/;
-    variable49 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable49) /*Array::add*/;
-    variable50 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable50) /*Array::add*/;
-    variable51 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(34)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable51) /*Array::add*/;
-    variable52 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable52) /*Array::add*/;
-    variable53 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(92)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable53) /*Array::add*/;
-    variable54 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable54) /*Array::add*/;
-    variable55 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable55) /*Array::add*/;
-    variable56 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(255)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable56) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable47) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable56) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable47) /*AbstractArray::add*/;
     variable48 = ((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, variable48) /*Array::add*/;
+    ((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) /*Array::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable51 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(255)) /*Array::add*/;
+    ((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]*/
+    ((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)));
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable52) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50, variable51) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable50) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable52) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50, variable51) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable52 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable53 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable53) /*Array::add*/;
-    variable54 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable54) /*Array::add*/;
-    variable55 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(255)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable55) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable52) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable55) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable54 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable55 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(255)) /*Array::add*/;
+    ((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]*/
+    ((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)));
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55, variable56) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54, variable55) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable54) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55, variable56) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54, variable55) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable56 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable57 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56, variable57) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable56) /*Array::add*/;
-    variable57 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable58 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(255)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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)));
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58, variable59) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57, variable58) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable57) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58, variable59) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57, variable58) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable57) /*AbstractArray::add*/;
     variable58 = ((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, variable58) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable58) /*AbstractArray::add*/;
     variable59 = ((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, variable59) /*Array::add*/;
+    ((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) /*Array::add*/;
-    variable61 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable62 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61, variable62) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable61) /*Array::add*/;
-    variable62 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable63 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62, variable63) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable62) /*Array::add*/;
-    variable63 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable64 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63, variable64) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable63) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63, variable64) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable65 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable66 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(62)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable65,COLOR_abstract_collection___SimpleCollection___add))(variable65, variable66) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable65) /*Array::add*/;
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable65,COLOR_abstract_collection___SimpleCollection___add))(variable65, variable66) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable65) /*AbstractArray::add*/;
     variable66 = ((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, variable66) /*Array::add*/;
+    ((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) /*Array::add*/;
-    variable68 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable69 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable68,COLOR_abstract_collection___SimpleCollection___add))(variable68, variable69) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable68) /*Array::add*/;
-    variable69 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable70 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69, variable70) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable69) /*Array::add*/;
-    variable70 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable71 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70, variable71) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable70) /*Array::add*/;
-    variable71 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable72 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71, variable72) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable71) /*Array::add*/;
-    variable72 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable73 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable73) /*Array::add*/;
-    variable74 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(120)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable74) /*Array::add*/;
-    variable75 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(95)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(121)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable75) /*Array::add*/;
-    variable76 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable76) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable72) /*Array::add*/;
-    variable73 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable74 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73, variable74) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable73) /*Array::add*/;
-    variable74 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable75 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74, variable75) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable74) /*Array::add*/;
-    variable75 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable76 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75, variable76) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable75) /*Array::add*/;
-    variable76 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable77 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76, variable77) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable76) /*Array::add*/;
-    variable77 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable78 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78,  TAG_Int(110)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable78) /*Array::add*/;
-    variable79 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable79) /*Array::add*/;
-    variable80 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable80) /*Array::add*/;
-    variable81 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(124)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable81) /*Array::add*/;
-    variable82 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable82) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable77) /*Array::add*/;
-    variable78 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable79 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable79) /*Array::add*/;
-    variable80 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable80) /*Array::add*/;
-    variable81 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(125)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable81) /*Array::add*/;
-    variable82 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable82) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable78) /*Array::add*/;
-    variable79 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable80 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable80) /*Array::add*/;
-    variable81 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable81) /*Array::add*/;
-    variable82 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable82) /*Array::add*/;
-    variable83 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable83) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable79) /*Array::add*/;
-    variable80 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable81 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable81) /*Array::add*/;
-    variable82 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable82) /*Array::add*/;
-    variable83 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(127)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable83) /*Array::add*/;
-    variable84 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable84) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable80) /*Array::add*/;
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable82 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable82) /*Array::add*/;
-    variable83 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(128)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable83) /*Array::add*/;
-    variable84 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable84) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable81) /*Array::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable83 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable83) /*Array::add*/;
-    variable84 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable84) /*Array::add*/;
-    variable85 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable85) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable82) /*Array::add*/;
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable84 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(109)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable84) /*Array::add*/;
-    variable85 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(130)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable85) /*Array::add*/;
-    variable86 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable86) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable83) /*Array::add*/;
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable85 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84, variable85) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable84) /*Array::add*/;
-    variable85 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable86 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(114)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable86) /*Array::add*/;
-    variable87 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable87) /*Array::add*/;
-    variable88 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable88) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable85) /*Array::add*/;
-    variable86 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable87 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(99)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable87) /*Array::add*/;
-    variable88 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable88) /*Array::add*/;
-    variable89 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable89) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable86) /*Array::add*/;
-    variable87 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable88 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable88) /*Array::add*/;
-    variable89 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(133)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable89) /*Array::add*/;
-    variable90 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable90) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable87) /*Array::add*/;
-    variable88 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable89 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable89) /*Array::add*/;
-    variable90 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(134)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable90) /*Array::add*/;
-    variable91 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable91) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable88) /*Array::add*/;
-    variable89 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable90 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable90) /*Array::add*/;
-    variable91 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable91) /*Array::add*/;
-    variable92 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable92) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable89) /*Array::add*/;
-    variable90 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable91 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90, variable91) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable90) /*Array::add*/;
-    variable91 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable92 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable92) /*Array::add*/;
-    variable93 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable93) /*Array::add*/;
-    variable94 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable94) /*Array::add*/;
-    variable95 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable95) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable91) /*Array::add*/;
-    variable92 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Array[Int]]*/
-    variable93 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable93) /*Array::add*/;
-    variable94 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable94) /*Array::add*/;
-    variable95 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable95) /*Array::add*/;
-    variable96 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable96) /*Array::add*/;
-    variable97 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(138)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable97) /*Array::add*/;
-    variable98 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable98) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable92) /*Array::add*/;
-    variable93 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable94 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable94) /*Array::add*/;
-    variable95 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(139)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable95) /*Array::add*/;
-    variable96 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable96) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable93) /*Array::add*/;
-    variable94 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable95 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable95) /*Array::add*/;
-    variable96 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable96) /*Array::add*/;
-    variable97 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable97) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable94) /*Array::add*/;
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable96 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable96) /*Array::add*/;
-    variable97 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable97) /*Array::add*/;
-    variable98 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(141)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable98) /*Array::add*/;
-    variable99 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable99) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable95) /*Array::add*/;
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable97 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable97) /*Array::add*/;
-    variable98 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable98) /*Array::add*/;
-    variable99 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable99) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable96) /*Array::add*/;
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable98 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable98) /*Array::add*/;
-    variable99 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable99) /*Array::add*/;
-    variable100 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable100) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable97) /*Array::add*/;
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable99 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable99) /*Array::add*/;
-    variable100 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable100) /*Array::add*/;
-    variable101 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable101) /*Array::add*/;
-    variable102 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable102) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable98) /*Array::add*/;
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable100 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99, variable100) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable99) /*Array::add*/;
-    variable100 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable101 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101,  TAG_Int(98)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable101) /*Array::add*/;
-    variable102 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(145)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable102) /*Array::add*/;
-    variable103 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable103) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable100) /*Array::add*/;
-    variable101 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable102 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102,  TAG_Int(104)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable102) /*Array::add*/;
-    variable103 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(146)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable103) /*Array::add*/;
-    variable104 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable104) /*Array::add*/;
-    variable105 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(147)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable105) /*Array::add*/;
-    variable106 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable106) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable101) /*Array::add*/;
-    variable102 = NEW_array___Array___with_capacity(TAG_Int(7)); /*new Array[Array[Int]]*/
-    variable103 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable103) /*Array::add*/;
-    variable104 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(148)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable104) /*Array::add*/;
-    variable105 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable105) /*Array::add*/;
-    variable106 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable106) /*Array::add*/;
-    variable107 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable107) /*Array::add*/;
-    variable108 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(150)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable108) /*Array::add*/;
-    variable109 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable109) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable102) /*Array::add*/;
-    variable103 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable104 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable104) /*Array::add*/;
-    variable105 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(151)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable105) /*Array::add*/;
-    variable106 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable106) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable103) /*Array::add*/;
-    variable104 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable105 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable105) /*Array::add*/;
-    variable106 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable106) /*Array::add*/;
-    variable107 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable107) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable104) /*Array::add*/;
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable106 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(111)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable106) /*Array::add*/;
-    variable107 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(153)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable107) /*Array::add*/;
-    variable108 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable108) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable105) /*Array::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable107 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable107) /*Array::add*/;
-    variable108 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(154)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable108) /*Array::add*/;
-    variable109 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable109) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable106) /*Array::add*/;
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable108 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable108) /*Array::add*/;
-    variable109 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable109) /*Array::add*/;
-    variable110 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable110) /*Array::add*/;
-    variable111 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable111) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable107) /*Array::add*/;
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable109 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(111)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable109) /*Array::add*/;
-    variable110 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(156)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable110) /*Array::add*/;
-    variable111 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable111) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable108) /*Array::add*/;
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable110 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(104)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable110) /*Array::add*/;
-    variable111 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable111) /*Array::add*/;
-    variable112 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable112) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable109) /*Array::add*/;
-    variable110 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable111 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable111) /*Array::add*/;
-    variable112 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(158)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable112) /*Array::add*/;
-    variable113 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable113) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable110) /*Array::add*/;
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable112 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(104)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable112) /*Array::add*/;
-    variable113 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(159)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable113) /*Array::add*/;
-    variable114 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable114) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable111) /*Array::add*/;
-    variable112 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable113 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(104)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable113) /*Array::add*/;
-    variable114 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable114) /*Array::add*/;
-    variable115 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable115) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable112) /*Array::add*/;
-    variable113 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable114 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(255)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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)));
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114, variable115) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113, variable114) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable113) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114, variable115) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113, variable114) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable115 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable116 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(161)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable116) /*Array::add*/;
-    variable117 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable117,COLOR_abstract_collection___SimpleCollection___add))(variable117,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable117,COLOR_abstract_collection___SimpleCollection___add))(variable117,  TAG_Int(161)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable117) /*Array::add*/;
-    variable118 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(255)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(161)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable118) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable115) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable118) /*AbstractArray::add*/;
+    ((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) /*Array::add*/;
-    variable117 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable118 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118,  TAG_Int(255)) /*Array::add*/;
+    ((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]*/
+    ((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)));
-    ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118, variable119) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable117,COLOR_abstract_collection___SimpleCollection___add))(variable117, variable118) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable117) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable118,COLOR_abstract_collection___SimpleCollection___add))(variable118, variable119) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable117,COLOR_abstract_collection___SimpleCollection___add))(variable117, variable118) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable117) /*AbstractArray::add*/;
     variable118 = ((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, variable118) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable118) /*AbstractArray::add*/;
     variable119 = ((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, variable119) /*Array::add*/;
+    ((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) /*Array::add*/;
-    variable121 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable122 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable122,COLOR_abstract_collection___SimpleCollection___add))(variable122,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable121,COLOR_abstract_collection___SimpleCollection___add))(variable121, variable122) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable121) /*Array::add*/;
-    variable122 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable123 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable123,COLOR_abstract_collection___SimpleCollection___add))(variable123,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable122,COLOR_abstract_collection___SimpleCollection___add))(variable122, variable123) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable122) /*Array::add*/;
-    variable123 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable124 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable124,COLOR_abstract_collection___SimpleCollection___add))(variable124,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable123,COLOR_abstract_collection___SimpleCollection___add))(variable123, variable124) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable123) /*Array::add*/;
-    variable124 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable125 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable124,COLOR_abstract_collection___SimpleCollection___add))(variable124, variable125) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable124) /*Array::add*/;
-    variable125 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable126 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125, variable126) /*Array::add*/;
-    variable127 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(162)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125, variable127) /*Array::add*/;
-    variable128 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable125,COLOR_abstract_collection___SimpleCollection___add))(variable125, variable128) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable125) /*Array::add*/;
-    variable126 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable127 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126, variable127) /*Array::add*/;
-    variable128 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(163)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126, variable128) /*Array::add*/;
-    variable129 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable126,COLOR_abstract_collection___SimpleCollection___add))(variable126, variable129) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable126) /*Array::add*/;
-    variable127 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable128 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable127,COLOR_abstract_collection___SimpleCollection___add))(variable127, variable128) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable127) /*Array::add*/;
-    variable128 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable129 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128, variable129) /*Array::add*/;
-    variable130 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(164)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128, variable130) /*Array::add*/;
-    variable131 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable128,COLOR_abstract_collection___SimpleCollection___add))(variable128, variable131) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable128) /*Array::add*/;
-    variable129 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable130 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129, variable130) /*Array::add*/;
-    variable131 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(165)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129, variable131) /*Array::add*/;
-    variable132 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable129,COLOR_abstract_collection___SimpleCollection___add))(variable129, variable132) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable129) /*Array::add*/;
-    variable130 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable131 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130, variable131) /*Array::add*/;
-    variable132 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(166)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130, variable132) /*Array::add*/;
-    variable133 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable130,COLOR_abstract_collection___SimpleCollection___add))(variable130, variable133) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable130) /*Array::add*/;
-    variable131 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable132 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132,  TAG_Int(114)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131, variable132) /*Array::add*/;
-    variable133 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(167)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131, variable133) /*Array::add*/;
-    variable134 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable131,COLOR_abstract_collection___SimpleCollection___add))(variable131, variable134) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable131) /*Array::add*/;
-    variable132 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable133 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132, variable133) /*Array::add*/;
-    variable134 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(168)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132, variable134) /*Array::add*/;
-    variable135 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable132,COLOR_abstract_collection___SimpleCollection___add))(variable132, variable135) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable132) /*Array::add*/;
-    variable133 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable134 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133, variable134) /*Array::add*/;
-    variable135 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(169)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133, variable135) /*Array::add*/;
-    variable136 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable133,COLOR_abstract_collection___SimpleCollection___add))(variable133, variable136) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable133) /*Array::add*/;
-    variable134 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable135 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable134,COLOR_abstract_collection___SimpleCollection___add))(variable134, variable135) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable134) /*Array::add*/;
-    variable135 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable136 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135, variable136) /*Array::add*/;
-    variable137 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(170)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135, variable137) /*Array::add*/;
-    variable138 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable135,COLOR_abstract_collection___SimpleCollection___add))(variable135, variable138) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable135) /*Array::add*/;
-    variable136 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable137 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137,  TAG_Int(114)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136, variable137) /*Array::add*/;
-    variable138 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(171)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136, variable138) /*Array::add*/;
-    variable139 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable136,COLOR_abstract_collection___SimpleCollection___add))(variable136, variable139) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable136) /*Array::add*/;
-    variable137 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable138 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable137,COLOR_abstract_collection___SimpleCollection___add))(variable137, variable138) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable137) /*Array::add*/;
-    variable138 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable139 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139,  TAG_Int(110)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138, variable139) /*Array::add*/;
-    variable140 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(172)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138, variable140) /*Array::add*/;
-    variable141 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable138,COLOR_abstract_collection___SimpleCollection___add))(variable138, variable141) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable138) /*Array::add*/;
-    variable139 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable140 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139, variable140) /*Array::add*/;
-    variable141 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(173)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139, variable141) /*Array::add*/;
-    variable142 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable139,COLOR_abstract_collection___SimpleCollection___add))(variable139, variable142) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable139) /*Array::add*/;
-    variable140 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable141 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable141) /*Array::add*/;
-    variable142 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(174)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable142) /*Array::add*/;
-    variable143 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable143) /*Array::add*/;
-    variable144 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(175)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable144) /*Array::add*/;
-    variable145 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable140,COLOR_abstract_collection___SimpleCollection___add))(variable140, variable145) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable140) /*Array::add*/;
-    variable141 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable142 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable141,COLOR_abstract_collection___SimpleCollection___add))(variable141, variable142) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable141) /*Array::add*/;
-    variable142 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable143 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143,  TAG_Int(103)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142, variable143) /*Array::add*/;
-    variable144 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(176)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142, variable144) /*Array::add*/;
-    variable145 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable142,COLOR_abstract_collection___SimpleCollection___add))(variable142, variable145) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable142) /*Array::add*/;
-    variable143 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable144 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable143,COLOR_abstract_collection___SimpleCollection___add))(variable143, variable144) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable143) /*Array::add*/;
-    variable144 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable145 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable144,COLOR_abstract_collection___SimpleCollection___add))(variable144, variable145) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable144) /*Array::add*/;
-    variable145 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable146 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145, variable146) /*Array::add*/;
-    variable147 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(177)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145, variable147) /*Array::add*/;
-    variable148 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable145,COLOR_abstract_collection___SimpleCollection___add))(variable145, variable148) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable145) /*Array::add*/;
-    variable146 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable147 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146, variable147) /*Array::add*/;
-    variable148 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(178)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146, variable148) /*Array::add*/;
-    variable149 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable146,COLOR_abstract_collection___SimpleCollection___add))(variable146, variable149) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable146) /*Array::add*/;
-    variable147 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable148 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable148) /*Array::add*/;
-    variable149 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(106)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable149) /*Array::add*/;
-    variable150 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(107)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(179)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable150) /*Array::add*/;
-    variable151 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable147,COLOR_abstract_collection___SimpleCollection___add))(variable147, variable151) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable147) /*Array::add*/;
-    variable148 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable149 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable149) /*Array::add*/;
-    variable150 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable150) /*Array::add*/;
-    variable151 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(180)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable151) /*Array::add*/;
-    variable152 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable148,COLOR_abstract_collection___SimpleCollection___add))(variable148, variable152) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable148) /*Array::add*/;
-    variable149 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable150 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149, variable150) /*Array::add*/;
-    variable151 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(181)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149, variable151) /*Array::add*/;
-    variable152 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable149,COLOR_abstract_collection___SimpleCollection___add))(variable149, variable152) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable149) /*Array::add*/;
-    variable150 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable151 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151,  TAG_Int(99)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150, variable151) /*Array::add*/;
-    variable152 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(182)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150, variable152) /*Array::add*/;
-    variable153 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable150,COLOR_abstract_collection___SimpleCollection___add))(variable150, variable153) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable150) /*Array::add*/;
-    variable151 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable152 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151, variable152) /*Array::add*/;
-    variable153 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(183)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151, variable153) /*Array::add*/;
-    variable154 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable151,COLOR_abstract_collection___SimpleCollection___add))(variable151, variable154) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable151) /*Array::add*/;
-    variable152 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable153 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153,  TAG_Int(116)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152, variable153) /*Array::add*/;
-    variable154 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(184)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152, variable154) /*Array::add*/;
-    variable155 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable152,COLOR_abstract_collection___SimpleCollection___add))(variable152, variable155) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable152) /*Array::add*/;
-    variable153 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable154 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154,  TAG_Int(101)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153, variable154) /*Array::add*/;
-    variable155 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(185)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153, variable155) /*Array::add*/;
-    variable156 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable153,COLOR_abstract_collection___SimpleCollection___add))(variable153, variable156) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable153) /*Array::add*/;
-    variable154 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable155 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155,  TAG_Int(98)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154, variable155) /*Array::add*/;
-    variable156 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(186)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154, variable156) /*Array::add*/;
-    variable157 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable154,COLOR_abstract_collection___SimpleCollection___add))(variable154, variable157) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable154) /*Array::add*/;
-    variable155 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable156 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155, variable156) /*Array::add*/;
-    variable157 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(187)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155, variable157) /*Array::add*/;
-    variable158 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable155,COLOR_abstract_collection___SimpleCollection___add))(variable155, variable158) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable155) /*Array::add*/;
-    variable156 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable157 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157,  TAG_Int(109)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156, variable157) /*Array::add*/;
-    variable158 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(188)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156, variable158) /*Array::add*/;
-    variable159 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable156,COLOR_abstract_collection___SimpleCollection___add))(variable156, variable159) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable156) /*Array::add*/;
-    variable157 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable158 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157, variable158) /*Array::add*/;
-    variable159 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(189)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157, variable159) /*Array::add*/;
-    variable160 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable157,COLOR_abstract_collection___SimpleCollection___add))(variable157, variable160) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable157) /*Array::add*/;
-    variable158 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable159 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158, variable159) /*Array::add*/;
-    variable160 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(190)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158, variable160) /*Array::add*/;
-    variable161 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable158,COLOR_abstract_collection___SimpleCollection___add))(variable158, variable161) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable158) /*Array::add*/;
-    variable159 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable160 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160,  TAG_Int(117)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159, variable160) /*Array::add*/;
-    variable161 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(191)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159, variable161) /*Array::add*/;
-    variable162 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable159,COLOR_abstract_collection___SimpleCollection___add))(variable159, variable162) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable159) /*Array::add*/;
-    variable160 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable161 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable160,COLOR_abstract_collection___SimpleCollection___add))(variable160, variable161) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable160) /*Array::add*/;
-    variable161 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable162 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161, variable162) /*Array::add*/;
-    variable163 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(192)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161, variable163) /*Array::add*/;
-    variable164 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable161,COLOR_abstract_collection___SimpleCollection___add))(variable161, variable164) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable161) /*Array::add*/;
-    variable162 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable163 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162, variable163) /*Array::add*/;
-    variable164 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(193)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162, variable164) /*Array::add*/;
-    variable165 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable162,COLOR_abstract_collection___SimpleCollection___add))(variable162, variable165) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable162) /*Array::add*/;
-    variable163 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable164 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164,  TAG_Int(255)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable163,COLOR_abstract_collection___SimpleCollection___add))(variable163, variable164) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable163) /*Array::add*/;
-    variable164 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable165 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164, variable165) /*Array::add*/;
-    variable166 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(194)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164, variable166) /*Array::add*/;
-    variable167 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable164,COLOR_abstract_collection___SimpleCollection___add))(variable164, variable167) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable164) /*Array::add*/;
-    variable165 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable166 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165, variable166) /*Array::add*/;
-    variable167 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(195)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165, variable167) /*Array::add*/;
-    variable168 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable165,COLOR_abstract_collection___SimpleCollection___add))(variable165, variable168) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable165) /*Array::add*/;
-    variable166 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable167 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166, variable167) /*Array::add*/;
-    variable168 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(196)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166, variable168) /*Array::add*/;
-    variable169 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable166,COLOR_abstract_collection___SimpleCollection___add))(variable166, variable169) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable166) /*Array::add*/;
-    variable167 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable168 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable167,COLOR_abstract_collection___SimpleCollection___add))(variable167, variable168) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable167) /*Array::add*/;
-    variable168 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable169 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169,  TAG_Int(106)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168, variable169) /*Array::add*/;
-    variable170 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(107)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(197)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168, variable170) /*Array::add*/;
-    variable171 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable168,COLOR_abstract_collection___SimpleCollection___add))(variable168, variable171) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable168) /*Array::add*/;
-    variable169 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable170 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170,  TAG_Int(114)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169, variable170) /*Array::add*/;
-    variable171 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(198)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169, variable171) /*Array::add*/;
-    variable172 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable169,COLOR_abstract_collection___SimpleCollection___add))(variable169, variable172) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable169) /*Array::add*/;
-    variable170 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable171 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171,  TAG_Int(104)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170, variable171) /*Array::add*/;
-    variable172 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(199)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170, variable172) /*Array::add*/;
-    variable173 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable170,COLOR_abstract_collection___SimpleCollection___add))(variable170, variable173) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable170) /*Array::add*/;
-    variable171 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable172 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable171,COLOR_abstract_collection___SimpleCollection___add))(variable171, variable172) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable171) /*Array::add*/;
-    variable172 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable173 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172, variable173) /*Array::add*/;
-    variable174 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(200)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172, variable174) /*Array::add*/;
-    variable175 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable172,COLOR_abstract_collection___SimpleCollection___add))(variable172, variable175) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable172) /*Array::add*/;
-    variable173 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable174 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173, variable174) /*Array::add*/;
-    variable175 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(201)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173, variable175) /*Array::add*/;
-    variable176 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable173,COLOR_abstract_collection___SimpleCollection___add))(variable173, variable176) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable173) /*Array::add*/;
-    variable174 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable175 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174, variable175) /*Array::add*/;
-    variable176 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(202)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174, variable176) /*Array::add*/;
-    variable177 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable174,COLOR_abstract_collection___SimpleCollection___add))(variable174, variable177) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable174) /*Array::add*/;
-    variable175 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable176 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable175,COLOR_abstract_collection___SimpleCollection___add))(variable175, variable176) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable175) /*Array::add*/;
-    variable176 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable177 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176, variable177) /*Array::add*/;
-    variable178 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(203)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176, variable178) /*Array::add*/;
-    variable179 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable176,COLOR_abstract_collection___SimpleCollection___add))(variable176, variable179) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable176) /*Array::add*/;
-    variable177 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable178 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178,  TAG_Int(116)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177, variable178) /*Array::add*/;
-    variable179 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(204)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177, variable179) /*Array::add*/;
-    variable180 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable177,COLOR_abstract_collection___SimpleCollection___add))(variable177, variable180) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable177) /*Array::add*/;
-    variable178 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable179 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable178,COLOR_abstract_collection___SimpleCollection___add))(variable178, variable179) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable178) /*Array::add*/;
-    variable179 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable180 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable179,COLOR_abstract_collection___SimpleCollection___add))(variable179, variable180) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable179) /*Array::add*/;
-    variable180 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable181 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable180,COLOR_abstract_collection___SimpleCollection___add))(variable180, variable181) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable180) /*Array::add*/;
-    variable181 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable182 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181, variable182) /*Array::add*/;
-    variable183 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(205)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181, variable183) /*Array::add*/;
-    variable184 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable181,COLOR_abstract_collection___SimpleCollection___add))(variable181, variable184) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable181) /*Array::add*/;
-    variable182 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable183 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182, variable183) /*Array::add*/;
-    variable184 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(206)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182, variable184) /*Array::add*/;
-    variable185 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable182,COLOR_abstract_collection___SimpleCollection___add))(variable182, variable185) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable182) /*Array::add*/;
-    variable183 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable184 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183, variable184) /*Array::add*/;
-    variable185 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(207)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183, variable185) /*Array::add*/;
-    variable186 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable183,COLOR_abstract_collection___SimpleCollection___add))(variable183, variable186) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable183) /*Array::add*/;
-    variable184 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable185 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184, variable185) /*Array::add*/;
-    variable186 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(208)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184, variable186) /*Array::add*/;
-    variable187 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable184,COLOR_abstract_collection___SimpleCollection___add))(variable184, variable187) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable184) /*Array::add*/;
-    variable185 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable186 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186,  TAG_Int(101)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185, variable186) /*Array::add*/;
-    variable187 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(209)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185, variable187) /*Array::add*/;
-    variable188 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable185,COLOR_abstract_collection___SimpleCollection___add))(variable185, variable188) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable185) /*Array::add*/;
-    variable186 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable187 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186, variable187) /*Array::add*/;
-    variable188 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(210)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186, variable188) /*Array::add*/;
-    variable189 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable186,COLOR_abstract_collection___SimpleCollection___add))(variable186, variable189) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable186) /*Array::add*/;
-    variable187 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable188 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable187,COLOR_abstract_collection___SimpleCollection___add))(variable187, variable188) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable187) /*Array::add*/;
-    variable188 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable189 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189,  TAG_Int(104)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188, variable189) /*Array::add*/;
-    variable190 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(211)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188, variable190) /*Array::add*/;
-    variable191 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable188,COLOR_abstract_collection___SimpleCollection___add))(variable188, variable191) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable188) /*Array::add*/;
-    variable189 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable190 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189, variable190) /*Array::add*/;
-    variable191 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(212)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189, variable191) /*Array::add*/;
-    variable192 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable189,COLOR_abstract_collection___SimpleCollection___add))(variable189, variable192) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable189) /*Array::add*/;
-    variable190 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable191 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable190,COLOR_abstract_collection___SimpleCollection___add))(variable190, variable191) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable190) /*Array::add*/;
-    variable191 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable192 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable191,COLOR_abstract_collection___SimpleCollection___add))(variable191, variable192) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable191) /*Array::add*/;
-    variable192 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable193 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable192,COLOR_abstract_collection___SimpleCollection___add))(variable192, variable193) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable192) /*Array::add*/;
-    variable193 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable194 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193, variable194) /*Array::add*/;
-    variable195 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(213)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193, variable195) /*Array::add*/;
-    variable196 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable193,COLOR_abstract_collection___SimpleCollection___add))(variable193, variable196) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable193) /*Array::add*/;
-    variable194 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable195 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194, variable195) /*Array::add*/;
-    variable196 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(214)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194, variable196) /*Array::add*/;
-    variable197 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable194,COLOR_abstract_collection___SimpleCollection___add))(variable194, variable197) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable194) /*Array::add*/;
-    variable195 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable196 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195, variable196) /*Array::add*/;
-    variable197 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(215)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195, variable197) /*Array::add*/;
-    variable198 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable195,COLOR_abstract_collection___SimpleCollection___add))(variable195, variable198) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable195) /*Array::add*/;
-    variable196 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable197 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable196,COLOR_abstract_collection___SimpleCollection___add))(variable196, variable197) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable196) /*Array::add*/;
-    variable197 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable198 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197, variable198) /*Array::add*/;
-    variable199 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(216)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197, variable199) /*Array::add*/;
-    variable200 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable197,COLOR_abstract_collection___SimpleCollection___add))(variable197, variable200) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable197) /*Array::add*/;
-    variable198 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable199 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198, variable199) /*Array::add*/;
-    variable200 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(217)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198, variable200) /*Array::add*/;
-    variable201 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable198,COLOR_abstract_collection___SimpleCollection___add))(variable198, variable201) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable198) /*Array::add*/;
-    variable199 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable200 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable199,COLOR_abstract_collection___SimpleCollection___add))(variable199, variable200) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable199) /*Array::add*/;
-    variable200 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable201 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable200,COLOR_abstract_collection___SimpleCollection___add))(variable200, variable201) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable200) /*Array::add*/;
-    variable201 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable202 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202,  TAG_Int(109)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201, variable202) /*Array::add*/;
-    variable203 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(218)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201, variable203) /*Array::add*/;
-    variable204 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable201,COLOR_abstract_collection___SimpleCollection___add))(variable201, variable204) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable201) /*Array::add*/;
-    variable202 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable203 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203,  TAG_Int(109)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202, variable203) /*Array::add*/;
-    variable204 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(219)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202, variable204) /*Array::add*/;
-    variable205 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable202,COLOR_abstract_collection___SimpleCollection___add))(variable202, variable205) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable202) /*Array::add*/;
-    variable203 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable204 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable203,COLOR_abstract_collection___SimpleCollection___add))(variable203, variable204) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable203) /*Array::add*/;
-    variable204 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable205 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204, variable205) /*Array::add*/;
-    variable206 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(220)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204, variable206) /*Array::add*/;
-    variable207 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable204,COLOR_abstract_collection___SimpleCollection___add))(variable204, variable207) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable204) /*Array::add*/;
-    variable205 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Array[Int]]*/
-    variable206 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206,  TAG_Int(101)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable206) /*Array::add*/;
-    variable207 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable207) /*Array::add*/;
-    variable208 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable208) /*Array::add*/;
-    variable209 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(222)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable209) /*Array::add*/;
-    variable210 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable205,COLOR_abstract_collection___SimpleCollection___add))(variable205, variable210) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable205) /*Array::add*/;
-    variable206 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable207 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207,  TAG_Int(99)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206, variable207) /*Array::add*/;
-    variable208 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(223)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206, variable208) /*Array::add*/;
-    variable209 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable206,COLOR_abstract_collection___SimpleCollection___add))(variable206, variable209) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable206) /*Array::add*/;
-    variable207 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Array[Int]]*/
-    variable208 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable208) /*Array::add*/;
-    variable209 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable209) /*Array::add*/;
-    variable210 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(103)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(224)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable210) /*Array::add*/;
-    variable211 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable207,COLOR_abstract_collection___SimpleCollection___add))(variable207, variable211) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable207) /*Array::add*/;
-    variable208 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable209 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208, variable209) /*Array::add*/;
-    variable210 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(225)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208, variable210) /*Array::add*/;
-    variable211 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable208,COLOR_abstract_collection___SimpleCollection___add))(variable208, variable211) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable208) /*Array::add*/;
-    variable209 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable210 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210,  TAG_Int(98)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209, variable210) /*Array::add*/;
-    variable211 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(226)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209, variable211) /*Array::add*/;
-    variable212 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable209,COLOR_abstract_collection___SimpleCollection___add))(variable209, variable212) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable209) /*Array::add*/;
-    variable210 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable211 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211,  TAG_Int(97)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210, variable211) /*Array::add*/;
-    variable212 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(227)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210, variable212) /*Array::add*/;
-    variable213 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable210,COLOR_abstract_collection___SimpleCollection___add))(variable210, variable213) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable210) /*Array::add*/;
-    variable211 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable212 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable211,COLOR_abstract_collection___SimpleCollection___add))(variable211, variable212) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable211) /*Array::add*/;
-    variable212 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable213 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213,  TAG_Int(109)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212, variable213) /*Array::add*/;
-    variable214 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(228)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212, variable214) /*Array::add*/;
-    variable215 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable212,COLOR_abstract_collection___SimpleCollection___add))(variable212, variable215) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable212) /*Array::add*/;
-    variable213 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable214 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213, variable214) /*Array::add*/;
-    variable215 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(229)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213, variable215) /*Array::add*/;
-    variable216 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable213,COLOR_abstract_collection___SimpleCollection___add))(variable213, variable216) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable213) /*Array::add*/;
-    variable214 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable215 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable214,COLOR_abstract_collection___SimpleCollection___add))(variable214, variable215) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable214) /*Array::add*/;
-    variable215 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable216 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216,  TAG_Int(113)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215, variable216) /*Array::add*/;
-    variable217 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(230)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215, variable217) /*Array::add*/;
-    variable218 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable215,COLOR_abstract_collection___SimpleCollection___add))(variable215, variable218) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable215) /*Array::add*/;
-    variable216 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable217 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable216,COLOR_abstract_collection___SimpleCollection___add))(variable216, variable217) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable216) /*Array::add*/;
-    variable217 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable218 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218,  TAG_Int(97)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217, variable218) /*Array::add*/;
-    variable219 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(231)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217, variable219) /*Array::add*/;
-    variable220 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable217,COLOR_abstract_collection___SimpleCollection___add))(variable217, variable220) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable217) /*Array::add*/;
-    variable218 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable219 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219,  TAG_Int(98)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218, variable219) /*Array::add*/;
-    variable220 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(232)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218, variable220) /*Array::add*/;
-    variable221 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable218,COLOR_abstract_collection___SimpleCollection___add))(variable218, variable221) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable218) /*Array::add*/;
-    variable219 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable220 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable219,COLOR_abstract_collection___SimpleCollection___add))(variable219, variable220) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable219) /*Array::add*/;
-    variable220 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable221 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221,  TAG_Int(116)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220, variable221) /*Array::add*/;
-    variable222 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(233)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220, variable222) /*Array::add*/;
-    variable223 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable220,COLOR_abstract_collection___SimpleCollection___add))(variable220, variable223) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable220) /*Array::add*/;
-    variable221 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable222 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable221,COLOR_abstract_collection___SimpleCollection___add))(variable221, variable222) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable221) /*Array::add*/;
-    variable222 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable223 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable222,COLOR_abstract_collection___SimpleCollection___add))(variable222, variable223) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable222) /*Array::add*/;
-    variable223 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable224 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable224,COLOR_abstract_collection___SimpleCollection___add))(variable224,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223, variable224) /*Array::add*/;
-    variable225 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(234)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223, variable225) /*Array::add*/;
-    variable226 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable223,COLOR_abstract_collection___SimpleCollection___add))(variable223, variable226) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable223) /*Array::add*/;
-    variable224 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable225 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable224,COLOR_abstract_collection___SimpleCollection___add))(variable224, variable225) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable224) /*Array::add*/;
-    variable225 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable226 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225, variable226) /*Array::add*/;
-    variable227 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(235)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225, variable227) /*Array::add*/;
-    variable228 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable225,COLOR_abstract_collection___SimpleCollection___add))(variable225, variable228) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable225) /*Array::add*/;
-    variable226 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable227 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226, variable227) /*Array::add*/;
-    variable228 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(236)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226, variable228) /*Array::add*/;
-    variable229 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable226,COLOR_abstract_collection___SimpleCollection___add))(variable226, variable229) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable226) /*Array::add*/;
-    variable227 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable228 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227, variable228) /*Array::add*/;
-    variable229 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(237)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227, variable229) /*Array::add*/;
-    variable230 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable227,COLOR_abstract_collection___SimpleCollection___add))(variable227, variable230) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable227) /*Array::add*/;
-    variable228 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable229 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228, variable229) /*Array::add*/;
-    variable230 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(238)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228, variable230) /*Array::add*/;
-    variable231 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable228,COLOR_abstract_collection___SimpleCollection___add))(variable228, variable231) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable228) /*Array::add*/;
-    variable229 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable230 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229, variable230) /*Array::add*/;
-    variable231 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(239)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229, variable231) /*Array::add*/;
-    variable232 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable229,COLOR_abstract_collection___SimpleCollection___add))(variable229, variable232) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable229) /*Array::add*/;
-    variable230 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable231 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable230,COLOR_abstract_collection___SimpleCollection___add))(variable230, variable231) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable230) /*Array::add*/;
-    variable231 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable232 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231, variable232) /*Array::add*/;
-    variable233 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(240)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231, variable233) /*Array::add*/;
-    variable234 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable231,COLOR_abstract_collection___SimpleCollection___add))(variable231, variable234) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable231) /*Array::add*/;
-    variable232 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable233 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233,  TAG_Int(114)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232, variable233) /*Array::add*/;
-    variable234 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(241)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232, variable234) /*Array::add*/;
-    variable235 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable232,COLOR_abstract_collection___SimpleCollection___add))(variable232, variable235) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable232) /*Array::add*/;
-    variable233 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable234 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233, variable234) /*Array::add*/;
-    variable235 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(242)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233, variable235) /*Array::add*/;
-    variable236 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable233,COLOR_abstract_collection___SimpleCollection___add))(variable233, variable236) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable233) /*Array::add*/;
-    variable234 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable235 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235,  TAG_Int(115)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234, variable235) /*Array::add*/;
-    variable236 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(243)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234, variable236) /*Array::add*/;
-    variable237 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable234,COLOR_abstract_collection___SimpleCollection___add))(variable234, variable237) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable234) /*Array::add*/;
-    variable235 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable236 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235, variable236) /*Array::add*/;
-    variable237 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(244)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235, variable237) /*Array::add*/;
-    variable238 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable235,COLOR_abstract_collection___SimpleCollection___add))(variable235, variable238) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable235) /*Array::add*/;
-    variable236 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable237 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237,  TAG_Int(98)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236, variable237) /*Array::add*/;
-    variable238 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(245)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236, variable238) /*Array::add*/;
-    variable239 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable236,COLOR_abstract_collection___SimpleCollection___add))(variable236, variable239) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable236) /*Array::add*/;
-    variable237 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable238 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable237,COLOR_abstract_collection___SimpleCollection___add))(variable237, variable238) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable237) /*Array::add*/;
-    variable238 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable239 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable238,COLOR_abstract_collection___SimpleCollection___add))(variable238, variable239) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable238) /*Array::add*/;
-    variable239 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable240 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable239,COLOR_abstract_collection___SimpleCollection___add))(variable239, variable240) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable239) /*Array::add*/;
-    variable240 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable241 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240, variable241) /*Array::add*/;
-    variable242 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(246)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240, variable242) /*Array::add*/;
-    variable243 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable240,COLOR_abstract_collection___SimpleCollection___add))(variable240, variable243) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable240) /*Array::add*/;
-    variable241 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable242 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241, variable242) /*Array::add*/;
-    variable243 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(247)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241, variable243) /*Array::add*/;
-    variable244 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable241,COLOR_abstract_collection___SimpleCollection___add))(variable241, variable244) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable241) /*Array::add*/;
-    variable242 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable243 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable242,COLOR_abstract_collection___SimpleCollection___add))(variable242, variable243) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable242) /*Array::add*/;
-    variable243 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable244 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244,  TAG_Int(95)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243, variable244) /*Array::add*/;
-    variable245 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(248)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243, variable245) /*Array::add*/;
-    variable246 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable243,COLOR_abstract_collection___SimpleCollection___add))(variable243, variable246) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable243) /*Array::add*/;
-    variable244 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable245 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244, variable245) /*Array::add*/;
-    variable246 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(249)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244, variable246) /*Array::add*/;
-    variable247 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable244,COLOR_abstract_collection___SimpleCollection___add))(variable244, variable247) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable244) /*Array::add*/;
-    variable245 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable246 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable245,COLOR_abstract_collection___SimpleCollection___add))(variable245, variable246) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable245) /*Array::add*/;
-    variable246 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable247 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable246,COLOR_abstract_collection___SimpleCollection___add))(variable246, variable247) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable246) /*Array::add*/;
-    variable247 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable248 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248,  TAG_Int(100)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247, variable248) /*Array::add*/;
-    variable249 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(250)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247, variable249) /*Array::add*/;
-    variable250 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable247,COLOR_abstract_collection___SimpleCollection___add))(variable247, variable250) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable247) /*Array::add*/;
-    variable248 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable249 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249,  TAG_Int(99)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248, variable249) /*Array::add*/;
-    variable250 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(251)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248, variable250) /*Array::add*/;
-    variable251 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable248,COLOR_abstract_collection___SimpleCollection___add))(variable248, variable251) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable248) /*Array::add*/;
-    variable249 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable250 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable249,COLOR_abstract_collection___SimpleCollection___add))(variable249, variable250) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable249) /*Array::add*/;
-    variable250 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Array[Int]]*/
-    variable251 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251,  TAG_Int(107)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250, variable251) /*Array::add*/;
-    variable252 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(252)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250, variable252) /*Array::add*/;
-    variable253 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable250,COLOR_abstract_collection___SimpleCollection___add))(variable250, variable253) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable250) /*Array::add*/;
-    variable251 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable252 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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]*/
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable251,COLOR_abstract_collection___SimpleCollection___add))(variable251, variable252) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable251) /*Array::add*/;
-    variable252 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable253 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable252,COLOR_abstract_collection___SimpleCollection___add))(variable252, variable253) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable252) /*Array::add*/;
-    variable253 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable254 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable254,COLOR_abstract_collection___SimpleCollection___add))(variable254,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable253,COLOR_abstract_collection___SimpleCollection___add))(variable253, variable254) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable253) /*Array::add*/;
-    variable254 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable255 = NEW_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)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable255,COLOR_abstract_collection___SimpleCollection___add))(variable255,  TAG_Int(122)) /*Array::add*/;
+    ((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]*/
+    ((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)));
-    ((array___AbstractArray___add_t)CALL(variable255,COLOR_abstract_collection___SimpleCollection___add))(variable255, variable256) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable254,COLOR_abstract_collection___SimpleCollection___add))(variable254, variable255) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable254) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-    once_value_variable0_261 = variable0;
-    once_bool_variable0_261 = true;
+    ((array___AbstractArray___add_t)CALL(variable255,COLOR_abstract_collection___SimpleCollection___add))(variable255, variable256) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable254,COLOR_abstract_collection___SimpleCollection___add))(variable254, variable255) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable254) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+    once_value_variable0_264 = variable0;
+    once_bool_variable0_264 = true;
   }
   ATTR_lexer___Lexer____goto_table( self) /*Lexer::_goto_table*/ = variable0;
   tracehead = trace.prev;
   return;
 }
 val_t lexer___Lexer___nil_array(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___nil_array, 3228};
+  struct trace_t trace = {NULL, LOCATE_lexer, 3250, LOCATE_lexer___Lexer___nil_array};
   val_t variable0;
-  static val_t once_value_variable0_263; static int once_bool_variable0_263;
+  static val_t once_value_variable0_266; static int once_bool_variable0_266;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_263) variable0 = once_value_variable0_263;
+  if (once_bool_variable0_266) variable0 = once_value_variable0_266;
   else {
-    variable0 = NEW_array___Array___init(); /*new Array[Array[Int]]*/
-    once_value_variable0_263 = variable0;
-    once_bool_variable0_263 = true;
+    variable0 = NEW_array___Array___init(); /*new Array[E]*/
+    once_value_variable0_266 = variable0;
+    once_bool_variable0_266 = true;
   }
-  goto return_label262;
-  return_label262: while(false);
+  goto return_label265;
+  return_label265: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void lexer___Lexer___build_accept_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_lexer___Lexer___build_accept_table, 3234};
+  struct trace_t trace = {NULL, LOCATE_lexer, 3256, LOCATE_lexer___Lexer___build_accept_table};
   val_t variable0;
-  static val_t once_value_variable0_265; static int once_bool_variable0_265;
+  static val_t once_value_variable0_268; static int once_bool_variable0_268;
     val_t variable1;
     val_t variable2;
     val_t variable3;
@@ -9017,282 +9068,282 @@ void lexer___Lexer___build_accept_table(val_t  self) {
     val_t variable16;
     val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_265) variable0 = once_value_variable0_265;
+  if (once_bool_variable0_268) variable0 = once_value_variable0_268;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[Array[Int]]*/
-    variable1 = NEW_array___Array___with_capacity(TAG_Int(253)); /*new Array[Int]*/
+    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 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(0)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(0)) /*Array::add*/;
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(1)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(1)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(0)) /*AbstractArray::add*/;
     variable3 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*AbstractArray::add*/;
     variable4 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*AbstractArray::add*/;
     variable5 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(65)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(66)) /*AbstractArray::add*/;
     variable6 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(49)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(63)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(52)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(62)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(64)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(76)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(70)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(51)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(49)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(64)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(62)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(63)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(61)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(65)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(77)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(54)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(69)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(56)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(71)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(51)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(52)) /*AbstractArray::add*/;
     variable7 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
     variable8 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable8) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(67)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable8) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(1)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(68)) /*AbstractArray::add*/;
     variable9 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable9) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(79)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable9) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(80)) /*AbstractArray::add*/;
     variable10 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable10) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(80)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable10) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(81)) /*AbstractArray::add*/;
     variable11 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable11) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(2)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable11) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(2)) /*AbstractArray::add*/;
     variable12 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable12) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(56)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(77)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable12) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(79)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(78)) /*AbstractArray::add*/;
     variable13 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable13) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(54)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(69)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(66)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(71)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(17)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable13) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(70)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(76)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(48)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(17)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(33)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
     variable14 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable14) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(82)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable14) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(83)) /*AbstractArray::add*/;
     variable15 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable15) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(81)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable15) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(82)) /*AbstractArray::add*/;
     variable16 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable16) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(30)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(41)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(34)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable16) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(73)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(76)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(76)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(76)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(76)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(30)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(41)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(34)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
     variable17 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable17) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(47)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(27)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(45)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(38)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(35)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(25)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(24)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(6)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(36)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(7)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(8)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-    once_value_variable0_265 = variable0;
-    once_bool_variable0_265 = true;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable17) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(14)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(47)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(42)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(27)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(45)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(12)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(38)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(35)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(25)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(24)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(9)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(6)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(36)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(7)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(8)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+    once_value_variable0_268 = variable0;
+    once_bool_variable0_268 = true;
   }
   ATTR_lexer___Lexer____accept_table( self) /*Lexer::_accept_table*/ = variable0;
   tracehead = trace.prev;
index 8300a4b..14bfb51 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires lexer. */
-#ifndef lexer_3_sep
-#define lexer_3_sep
+#ifndef lexer_2_sep
+#define lexer_2_sep
 #include "parser_nodes._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Lexer[];
-#define LOCATE_lexer "lexer"
+#define LOCATE_lexer "./parser//lexer.nit"
 extern const int SFT_lexer[];
 #define COLOR_lexer___Token____text SFT_lexer[0]
 #define COLOR_lexer___Token____filename SFT_lexer[1]
@@ -64,73 +64,74 @@ extern const int SFT_lexer[];
 #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___TOpar___init SFT_lexer[57]
-#define COLOR_lexer___TCpar___init SFT_lexer[58]
-#define COLOR_lexer___TObra___init SFT_lexer[59]
-#define COLOR_lexer___TCbra___init SFT_lexer[60]
-#define COLOR_lexer___TComma___init SFT_lexer[61]
-#define COLOR_lexer___TColumn___init SFT_lexer[62]
-#define COLOR_lexer___TQuad___init SFT_lexer[63]
-#define COLOR_lexer___TAssign___init SFT_lexer[64]
-#define COLOR_lexer___TPluseq___init SFT_lexer[65]
-#define COLOR_lexer___TMinuseq___init SFT_lexer[66]
-#define COLOR_lexer___TDotdotdot___init SFT_lexer[67]
-#define COLOR_lexer___TDotdot___init SFT_lexer[68]
-#define COLOR_lexer___TDot___init SFT_lexer[69]
-#define COLOR_lexer___TPlus___init SFT_lexer[70]
-#define COLOR_lexer___TMinus___init SFT_lexer[71]
-#define COLOR_lexer___TStar___init SFT_lexer[72]
-#define COLOR_lexer___TSlash___init SFT_lexer[73]
-#define COLOR_lexer___TPercent___init SFT_lexer[74]
-#define COLOR_lexer___TEq___init SFT_lexer[75]
-#define COLOR_lexer___TNe___init SFT_lexer[76]
-#define COLOR_lexer___TLt___init SFT_lexer[77]
-#define COLOR_lexer___TLe___init SFT_lexer[78]
-#define COLOR_lexer___TGt___init SFT_lexer[79]
-#define COLOR_lexer___TGe___init SFT_lexer[80]
-#define COLOR_lexer___TStarship___init SFT_lexer[81]
-#define COLOR_lexer___TClassid___init SFT_lexer[82]
-#define COLOR_lexer___TId___init SFT_lexer[83]
-#define COLOR_lexer___TAttrid___init SFT_lexer[84]
-#define COLOR_lexer___TNumber___init SFT_lexer[85]
-#define COLOR_lexer___TFloat___init SFT_lexer[86]
-#define COLOR_lexer___TChar___init SFT_lexer[87]
-#define COLOR_lexer___TString___init SFT_lexer[88]
-#define COLOR_lexer___TStartString___init SFT_lexer[89]
-#define COLOR_lexer___TMidString___init SFT_lexer[90]
-#define COLOR_lexer___TEndString___init SFT_lexer[91]
-#define COLOR_lexer___EOF___init SFT_lexer[92]
-#define COLOR_lexer___PError____message SFT_lexer[93]
-#define COLOR_lexer___PError___message SFT_lexer[94]
-#define COLOR_lexer___PError___message__eq SFT_lexer[95]
-#define COLOR_lexer___PError___init_error SFT_lexer[96]
-#define ID_Lexer SFT_lexer[97]
-#define COLOR_Lexer SFT_lexer[98]
-#define COLOR_lexer___Lexer____token SFT_lexer[99]
-#define COLOR_lexer___Lexer____state SFT_lexer[100]
-#define COLOR_lexer___Lexer____filename SFT_lexer[101]
-#define COLOR_lexer___Lexer____stream SFT_lexer[102]
-#define COLOR_lexer___Lexer____stream_buf SFT_lexer[103]
-#define COLOR_lexer___Lexer____stream_pos SFT_lexer[104]
-#define COLOR_lexer___Lexer____line SFT_lexer[105]
-#define COLOR_lexer___Lexer____pos SFT_lexer[106]
-#define COLOR_lexer___Lexer____cr SFT_lexer[107]
-#define COLOR_lexer___Lexer____eof SFT_lexer[108]
-#define COLOR_lexer___Lexer____text SFT_lexer[109]
-#define COLOR_lexer___Lexer____goto_table SFT_lexer[110]
-#define COLOR_lexer___Lexer____accept_table SFT_lexer[111]
-#define INIT_TABLE_POS_Lexer SFT_lexer[112]
-#define COLOR_lexer___Lexer___filename SFT_lexer[113]
-#define COLOR_lexer___Lexer___state_initial SFT_lexer[114]
-#define COLOR_lexer___Lexer___init SFT_lexer[115]
-#define COLOR_lexer___Lexer___peek SFT_lexer[116]
-#define COLOR_lexer___Lexer___next SFT_lexer[117]
-#define COLOR_lexer___Lexer___get_token SFT_lexer[118]
-#define COLOR_lexer___Lexer___get_char SFT_lexer[119]
-#define COLOR_lexer___Lexer___push_back SFT_lexer[120]
-#define COLOR_lexer___Lexer___build_goto_table SFT_lexer[121]
-#define COLOR_lexer___Lexer___nil_array SFT_lexer[122]
-#define COLOR_lexer___Lexer___build_accept_table SFT_lexer[123]
+#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___EOF___init SFT_lexer[93]
+#define COLOR_lexer___PError____message SFT_lexer[94]
+#define COLOR_lexer___PError___message SFT_lexer[95]
+#define COLOR_lexer___PError___message__eq SFT_lexer[96]
+#define COLOR_lexer___PError___init_error SFT_lexer[97]
+#define ID_Lexer SFT_lexer[98]
+#define COLOR_Lexer SFT_lexer[99]
+#define COLOR_lexer___Lexer____token SFT_lexer[100]
+#define COLOR_lexer___Lexer____state SFT_lexer[101]
+#define COLOR_lexer___Lexer____filename SFT_lexer[102]
+#define COLOR_lexer___Lexer____stream SFT_lexer[103]
+#define COLOR_lexer___Lexer____stream_buf SFT_lexer[104]
+#define COLOR_lexer___Lexer____stream_pos SFT_lexer[105]
+#define COLOR_lexer___Lexer____line SFT_lexer[106]
+#define COLOR_lexer___Lexer____pos SFT_lexer[107]
+#define COLOR_lexer___Lexer____cr SFT_lexer[108]
+#define COLOR_lexer___Lexer____eof SFT_lexer[109]
+#define COLOR_lexer___Lexer____text SFT_lexer[110]
+#define COLOR_lexer___Lexer____goto_table SFT_lexer[111]
+#define COLOR_lexer___Lexer____accept_table SFT_lexer[112]
+#define INIT_TABLE_POS_Lexer SFT_lexer[113]
+#define COLOR_lexer___Lexer___filename SFT_lexer[114]
+#define COLOR_lexer___Lexer___state_initial SFT_lexer[115]
+#define COLOR_lexer___Lexer___init SFT_lexer[116]
+#define COLOR_lexer___Lexer___peek SFT_lexer[117]
+#define COLOR_lexer___Lexer___next SFT_lexer[118]
+#define COLOR_lexer___Lexer___get_token SFT_lexer[119]
+#define COLOR_lexer___Lexer___get_char SFT_lexer[120]
+#define COLOR_lexer___Lexer___push_back SFT_lexer[121]
+#define COLOR_lexer___Lexer___build_goto_table SFT_lexer[122]
+#define COLOR_lexer___Lexer___nil_array SFT_lexer[123]
+#define COLOR_lexer___Lexer___build_accept_table SFT_lexer[124]
 #define ATTR_lexer___Token____text(recv) ATTR(recv, COLOR_lexer___Token____text)
 typedef val_t (* lexer___Token___text_t)(val_t  self);
 val_t lexer___Token___text(val_t  self);
@@ -485,6 +486,13 @@ typedef void (* lexer___TKwnull___init_t)(val_t  self, val_t  param0, val_t  par
 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 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 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)"
index 3fabd7f..b1a0069 100644 (file)
@@ -1,20 +1,20 @@
 /* This C file is generated by NIT to compile module list. */
 #include "list._sep.h"
 val_t list___List_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List_____bra, 21};
+  struct trace_t trace = {NULL, LOCATE_list, 21, LOCATE_list___List_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*index*/) /*List::get_node*/;
-  variable1 = ((abstract_collection___Container___item_t)CALL(variable1,COLOR_abstract_collection___Container___item))(variable1) /*ListNode::item*/;
+  variable1 = ((abstract_collection___Container___item_t)CALL(variable1,COLOR_abstract_collection___Container___item))(variable1) /*Container::item*/;
   goto return_label0;
   return_label0: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void list___List_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_list___List_____braeq, 24};
+  struct trace_t trace = {NULL, LOCATE_list, 24, LOCATE_list___List_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22,67 +22,67 @@ void list___List_____braeq(val_t  self, val_t  param0, val_t  param1) {
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*index*/) /*List::get_node*/;
-  ((abstract_collection___Container___item__eq_t)CALL(variable2,COLOR_abstract_collection___Container___item__eq))(variable2,  variable1 /*item*/) /*ListNode::item=*/;
+  ((abstract_collection___Container___item__eq_t)CALL(variable2,COLOR_abstract_collection___Container___item__eq))(variable2,  variable1 /*item*/) /*Container::item=*/;
   tracehead = trace.prev;
   return;
 }
 val_t list___List___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___first, 26};
+  struct trace_t trace = {NULL, LOCATE_list, 26, LOCATE_list___List___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_list___List____head( self) /*List::_head*/;
-  variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*ListNode::item*/;
+  variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*Container::item*/;
   goto return_label2;
   return_label2: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void list___List___first__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___first__eq, 29};
+  struct trace_t trace = {NULL, LOCATE_list, 29, LOCATE_list___List___first__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_list___List____head( self) /*List::_head*/;
-  ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*ListNode::item=*/;
+  ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*Container::item=*/;
   tracehead = trace.prev;
   return;
 }
 val_t list___List___last(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___last, 32};
+  struct trace_t trace = {NULL, LOCATE_list, 32, LOCATE_list___List___last};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_list___List____tail( self) /*List::_tail*/;
-  variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*ListNode::item*/;
+  variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*Container::item*/;
   goto return_label4;
   return_label4: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void list___List___last__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___last__eq, 35};
+  struct trace_t trace = {NULL, LOCATE_list, 35, LOCATE_list___List___last__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_list___List____tail( self) /*List::_tail*/;
-  ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*ListNode::item=*/;
+  ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*Container::item=*/;
   tracehead = trace.prev;
   return;
 }
 val_t list___List___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___is_empty, 40};
+  struct trace_t trace = {NULL, LOCATE_list, 40, LOCATE_list___List___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_list___List____head( self) /*List::_head*/;
-  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*/) /*ListNode::==*/)))));
+  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::==*/)))));
   goto return_label6;
   return_label6: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t list___List___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___length, 43};
+  struct trace_t trace = {NULL, LOCATE_list, 43, LOCATE_list___List___length};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -91,7 +91,7 @@ val_t list___List___length(val_t  self) {
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = variable2;
   while (true) { /*while*/
-    variable2 = TAG_Bool(!UNTAG_Bool(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*/) /*ListNode::==*/)))))));
+    variable2 = TAG_Bool(!UNTAG_Bool(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)) break; /* while*/
     variable0 = TAG_Int(UNTAG_Int(variable0)+UNTAG_Int( TAG_Int(1))) /*l*/;
     variable2 = ((list___ListNode___next_t)CALL( variable1 /*t*/,COLOR_list___ListNode___next))( variable1 /*t*/) /*ListNode::next*/;
@@ -106,21 +106,21 @@ val_t list___List___length(val_t  self) {
   return variable0;
 }
 val_t list___List___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___has, 55};
+  struct trace_t trace = {NULL, LOCATE_list, 55, LOCATE_list___List___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = ((list___List___search_node_after_t)CALL( self,COLOR_list___List___search_node_after))( self,  variable0 /*e*/, variable1) /*List::search_node_after*/;
-  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*/) /*ListNode::==*/)))))));
+  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::==*/)))))));
   goto return_label9;
   return_label9: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t list___List___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___has_only, 58};
+  struct trace_t trace = {NULL, LOCATE_list, 58, LOCATE_list___List___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -129,9 +129,9 @@ val_t list___List___has_only(val_t  self, val_t  param0) {
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable1 = variable2;
   while (true) { /*while*/
-    variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*ListNode::==*/)))))));
+    variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ((abstract_collection___Container___item_t)CALL( variable1 /*node*/,COLOR_abstract_collection___Container___item))( variable1 /*node*/) /*ListNode::item*/;
+    variable2 = ((abstract_collection___Container___item_t)CALL( variable1 /*node*/,COLOR_abstract_collection___Container___item))( variable1 /*node*/) /*Container::item*/;
     variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  variable0 /*e*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*e*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*e*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable2)) { /*if*/
       variable1 =  TAG_Bool(false);
@@ -149,7 +149,7 @@ val_t list___List___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t list___List___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___count, 68};
+  struct trace_t trace = {NULL, LOCATE_list, 68, LOCATE_list___List___count};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -160,9 +160,9 @@ val_t list___List___count(val_t  self, val_t  param0) {
   variable3 = ATTR_list___List____head( self) /*List::_head*/;
   variable2 = variable3;
   while (true) { /*while*/
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*node*/ ==  NIT_NULL /*null*/) || (( variable2 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*node*/,COLOR_kernel___Object_____eqeq))( variable2 /*node*/,  NIT_NULL /*null*/) /*ListNode::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*node*/ ==  NIT_NULL /*null*/) || (( variable2 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*node*/,COLOR_kernel___Object_____eqeq))( variable2 /*node*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    variable3 = ((abstract_collection___Container___item_t)CALL( variable2 /*node*/,COLOR_abstract_collection___Container___item))( variable2 /*node*/) /*ListNode::item*/;
+    variable3 = ((abstract_collection___Container___item_t)CALL( variable2 /*node*/,COLOR_abstract_collection___Container___item))( variable2 /*node*/) /*Container::item*/;
     variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 ==  variable0 /*e*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, variable0 /*e*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3,  variable0 /*e*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable3)) { /*if*/
       variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*nb*/;
@@ -179,20 +179,20 @@ val_t list___List___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t list___List___has_key(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___has_key, 79};
+  struct trace_t trace = {NULL, LOCATE_list, 79, LOCATE_list___List___has_key};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*index*/) /*List::get_node*/;
-  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*/) /*ListNode::==*/)))))));
+  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::==*/)))))));
   goto return_label14;
   return_label14: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void list___List___push(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___push, 83};
+  struct trace_t trace = {NULL, LOCATE_list, 83, LOCATE_list___List___push};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -201,7 +201,7 @@ void list___List___push(val_t  self, val_t  param0) {
   variable2 = NEW_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*/) /*ListNode::==*/)))));
+  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*/
     ATTR_list___List____head( self) /*List::_head*/ =  variable1 /*node*/;
   } else { /*if*/
@@ -215,7 +215,7 @@ void list___List___push(val_t  self, val_t  param0) {
   return;
 }
 void list___List___unshift(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___unshift, 96};
+  struct trace_t trace = {NULL, LOCATE_list, 96, LOCATE_list___List___unshift};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -224,7 +224,7 @@ void list___List___unshift(val_t  self, val_t  param0) {
   variable2 = NEW_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*/) /*ListNode::==*/)))));
+  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*/
     ATTR_list___List____tail( self) /*List::_tail*/ =  variable1 /*node*/;
   } else { /*if*/
@@ -238,20 +238,20 @@ void list___List___unshift(val_t  self, val_t  param0) {
   return;
 }
 void list___List___link(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___link, 109};
+  struct trace_t trace = {NULL, LOCATE_list, 109, LOCATE_list___List___link};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_list___List____tail( self) /*List::_tail*/;
-  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*/) /*ListNode::==*/)))));
+  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*/
     variable1 = ATTR_list___List____head( variable0 /*l*/) /*List::_head*/;
     ATTR_list___List____head( self) /*List::_head*/ = variable1;
   } else { /*if*/
     variable1 = ATTR_list___List____head( variable0 /*l*/) /*List::_head*/;
-    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*/) /*ListNode::==*/)))))));
+    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 = ATTR_list___List____tail( self) /*List::_tail*/;
       variable2 = ATTR_list___List____head( variable0 /*l*/) /*List::_head*/;
@@ -269,7 +269,7 @@ void list___List___link(val_t  self, val_t  param0) {
   return;
 }
 val_t list___List___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___pop, 126};
+  struct trace_t trace = {NULL, LOCATE_list, 126, LOCATE_list___List___pop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -279,14 +279,14 @@ val_t list___List___pop(val_t  self) {
   ATTR_list___List____tail( self) /*List::_tail*/ = variable1;
   ((list___ListNode___prev__eq_t)CALL( variable0 /*node*/,COLOR_list___ListNode___prev__eq))( variable0 /*node*/,  NIT_NULL /*null*/) /*ListNode::prev=*/;
   variable1 = ATTR_list___List____tail( self) /*List::_tail*/;
-  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*/) /*ListNode::==*/)))));
+  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*/
     ATTR_list___List____head( self) /*List::_head*/ =  NIT_NULL /*null*/;
   } else { /*if*/
     variable1 = ATTR_list___List____tail( self) /*List::_tail*/;
     ((list___ListNode___next__eq_t)CALL(variable1,COLOR_list___ListNode___next__eq))(variable1,  NIT_NULL /*null*/) /*ListNode::next=*/;
   }
-  variable1 = ((abstract_collection___Container___item_t)CALL( variable0 /*node*/,COLOR_abstract_collection___Container___item))( variable0 /*node*/) /*ListNode::item*/;
+  variable1 = ((abstract_collection___Container___item_t)CALL( variable0 /*node*/,COLOR_abstract_collection___Container___item))( variable0 /*node*/) /*Container::item*/;
   variable0 = variable1;
   goto return_label18;
   return_label18: while(false);
@@ -294,7 +294,7 @@ val_t list___List___pop(val_t  self) {
   return variable0;
 }
 val_t list___List___shift(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___shift, 140};
+  struct trace_t trace = {NULL, LOCATE_list, 140, LOCATE_list___List___shift};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -304,14 +304,14 @@ val_t list___List___shift(val_t  self) {
   ATTR_list___List____head( self) /*List::_head*/ = variable1;
   ((list___ListNode___next__eq_t)CALL( variable0 /*node*/,COLOR_list___ListNode___next__eq))( variable0 /*node*/,  NIT_NULL /*null*/) /*ListNode::next=*/;
   variable1 = ATTR_list___List____head( self) /*List::_head*/;
-  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*/) /*ListNode::==*/)))));
+  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*/
     ATTR_list___List____tail( self) /*List::_tail*/ =  NIT_NULL /*null*/;
   } else { /*if*/
     variable1 = ATTR_list___List____head( self) /*List::_head*/;
     ((list___ListNode___prev__eq_t)CALL(variable1,COLOR_list___ListNode___prev__eq))(variable1,  NIT_NULL /*null*/) /*ListNode::prev=*/;
   }
-  variable1 = ((abstract_collection___Container___item_t)CALL( variable0 /*node*/,COLOR_abstract_collection___Container___item))( variable0 /*node*/) /*ListNode::item*/;
+  variable1 = ((abstract_collection___Container___item_t)CALL( variable0 /*node*/,COLOR_abstract_collection___Container___item))( variable0 /*node*/) /*Container::item*/;
   variable0 = variable1;
   goto return_label19;
   return_label19: while(false);
@@ -319,7 +319,7 @@ val_t list___List___shift(val_t  self) {
   return variable0;
 }
 void list___List___remove(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___remove, 154};
+  struct trace_t trace = {NULL, LOCATE_list, 154, LOCATE_list___List___remove};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -328,7 +328,7 @@ void list___List___remove(val_t  self, val_t  param0) {
   variable2 = ATTR_list___List____head( self) /*List::_head*/;
   variable2 = ((list___List___search_node_after_t)CALL( self,COLOR_list___List___search_node_after))( self,  variable0 /*e*/, variable2) /*List::search_node_after*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*ListNode::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
     ((list___List___remove_node_t)CALL( self,COLOR_list___List___remove_node))( self,  variable1 /*node*/) /*List::remove_node*/;
   }
@@ -336,7 +336,7 @@ void list___List___remove(val_t  self, val_t  param0) {
   return;
 }
 void list___List___remove_at(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___remove_at, 160};
+  struct trace_t trace = {NULL, LOCATE_list, 160, LOCATE_list___List___remove_at};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -344,7 +344,7 @@ void list___List___remove_at(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((list___List___get_node_t)CALL( self,COLOR_list___List___get_node))( self,  variable0 /*i*/) /*List::get_node*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*ListNode::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*node*/ ==  NIT_NULL /*null*/) || (( variable1 /*node*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*node*/,COLOR_kernel___Object_____eqeq))( variable1 /*node*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
     ((list___List___remove_node_t)CALL( self,COLOR_list___List___remove_node))( self,  variable1 /*node*/) /*List::remove_node*/;
   }
@@ -352,7 +352,7 @@ void list___List___remove_at(val_t  self, val_t  param0) {
   return;
 }
 void list___List___clear(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___clear, 166};
+  struct trace_t trace = {NULL, LOCATE_list, 166, LOCATE_list___List___clear};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_list___List____head( self) /*List::_head*/ =  NIT_NULL /*null*/;
   ATTR_list___List____tail( self) /*List::_tail*/ =  NIT_NULL /*null*/;
@@ -360,7 +360,7 @@ void list___List___clear(val_t  self) {
   return;
 }
 val_t list___List___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___List___iterator, 173};
+  struct trace_t trace = {NULL, LOCATE_list, 173, LOCATE_list___List___iterator};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -373,7 +373,7 @@ val_t list___List___iterator(val_t  self) {
   return variable0;
 }
 void list___List___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list___List___init, 175};
+  struct trace_t trace = {NULL, LOCATE_list, 175, LOCATE_list___List___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_List].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_List].i] = 1;
@@ -381,18 +381,18 @@ void list___List___init(val_t  self, int* init_table) {
   return;
 }
 void list___List___from(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list___List___from, 178};
+  struct trace_t trace = {NULL, LOCATE_list, 178, LOCATE_list___List___from};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_List].i]) return;
-  ((abstract_collection___IndexedCollection___append_t)CALL( self,COLOR_abstract_collection___IndexedCollection___append))( self,  variable0 /*coll*/) /*List::append*/;
+  ((abstract_collection___IndexedCollection___append_t)CALL( self,COLOR_abstract_collection___IndexedCollection___append))( self,  variable0 /*coll*/) /*IndexedCollection::append*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_List].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t list___List___get_node(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___get_node, 187};
+  struct trace_t trace = {NULL, LOCATE_list, 187, LOCATE_list___List___get_node};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -407,7 +407,7 @@ val_t list___List___get_node(val_t  self, val_t  param0) {
     goto return_label26;
   }
   while (true) { /*while*/
-    variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n*/ ==  NIT_NULL /*null*/) || (( variable1 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n*/,COLOR_kernel___Object_____eqeq))( variable1 /*n*/,  NIT_NULL /*null*/) /*ListNode::==*/)))))));
+    variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n*/ ==  NIT_NULL /*null*/) || (( variable1 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n*/,COLOR_kernel___Object_____eqeq))( variable1 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     variable3 = variable2;
     if (UNTAG_Bool(variable3)) { /* and */
       variable3 = TAG_Bool(UNTAG_Int( variable0 /*i*/)>UNTAG_Int( TAG_Int(0)));
@@ -427,7 +427,7 @@ val_t list___List___get_node(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t list___List___search_node_after(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_list___List___search_node_after, 201};
+  struct trace_t trace = {NULL, LOCATE_list, 201, LOCATE_list___List___search_node_after};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -438,10 +438,10 @@ val_t list___List___search_node_after(val_t  self, val_t  param0, val_t  param1)
   variable1 =  param1;
   variable2 =  variable1 /*after*/;
   while (true) { /*while*/
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n*/ ==  NIT_NULL /*null*/) || (( variable2 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n*/,COLOR_kernel___Object_____eqeq))( variable2 /*n*/,  NIT_NULL /*null*/) /*ListNode::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n*/ ==  NIT_NULL /*null*/) || (( variable2 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n*/,COLOR_kernel___Object_____eqeq))( variable2 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     variable4 = variable3;
     if (UNTAG_Bool(variable4)) { /* and */
-      variable4 = ((abstract_collection___Container___item_t)CALL( variable2 /*n*/,COLOR_abstract_collection___Container___item))( variable2 /*n*/) /*ListNode::item*/;
+      variable4 = ((abstract_collection___Container___item_t)CALL( variable2 /*n*/,COLOR_abstract_collection___Container___item))( variable2 /*n*/) /*Container::item*/;
       variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 ==  variable0 /*e*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*e*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*e*/) /*Object::==*/)))))));
     }
     variable3 = variable4;
@@ -458,19 +458,19 @@ val_t list___List___search_node_after(val_t  self, val_t  param0, val_t  param1)
   return variable2;
 }
 void list___List___remove_node(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___List___remove_node, 209};
+  struct trace_t trace = {NULL, LOCATE_list, 209, LOCATE_list___List___remove_node};
   val_t variable0;
   val_t variable1;
       val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((list___ListNode___prev_t)CALL( variable0 /*node*/,COLOR_list___ListNode___prev))( variable0 /*node*/) /*ListNode::prev*/;
-  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*/) /*ListNode::==*/)))));
+  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*/
     variable1 = ((list___ListNode___next_t)CALL( variable0 /*node*/,COLOR_list___ListNode___next))( variable0 /*node*/) /*ListNode::next*/;
     ATTR_list___List____head( self) /*List::_head*/ = variable1;
     variable1 = ((list___ListNode___next_t)CALL( variable0 /*node*/,COLOR_list___ListNode___next))( variable0 /*node*/) /*ListNode::next*/;
-    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*/) /*ListNode::==*/)))));
+    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*/
       ATTR_list___List____tail( self) /*List::_tail*/ =  NIT_NULL /*null*/;
     } else { /*if*/
@@ -479,7 +479,7 @@ void list___List___remove_node(val_t  self, val_t  param0) {
     }
   } else { /*if*/
     variable1 = ((list___ListNode___next_t)CALL( variable0 /*node*/,COLOR_list___ListNode___next))( variable0 /*node*/) /*ListNode::next*/;
-    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*/) /*ListNode::==*/)))));
+    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*/
       variable1 = ((list___ListNode___prev_t)CALL( variable0 /*node*/,COLOR_list___ListNode___prev))( variable0 /*node*/) /*ListNode::prev*/;
       ATTR_list___List____tail( self) /*List::_tail*/ = variable1;
@@ -498,7 +498,7 @@ void list___List___remove_node(val_t  self, val_t  param0) {
   return;
 }
 void list___List___insert_before(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_list___List___insert_before, 228};
+  struct trace_t trace = {NULL, LOCATE_list, 228, LOCATE_list___List___insert_before};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -511,7 +511,7 @@ void list___List___insert_before(val_t  self, val_t  param0, val_t  param1) {
   variable2 = variable3;
   variable4 = ((list___ListNode___prev_t)CALL( variable1 /*node*/,COLOR_list___ListNode___prev))( variable1 /*node*/) /*ListNode::prev*/;
   variable3 = variable4;
-  variable4 = TAG_Bool(( variable3 /*prev*/ ==  NIT_NULL /*null*/) || (( variable3 /*prev*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*prev*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*prev*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*prev*/,COLOR_kernel___Object_____eqeq))( variable3 /*prev*/,  NIT_NULL /*null*/) /*ListNode::==*/)))));
+  variable4 = TAG_Bool(( variable3 /*prev*/ ==  NIT_NULL /*null*/) || (( variable3 /*prev*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*prev*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*prev*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*prev*/,COLOR_kernel___Object_____eqeq))( variable3 /*prev*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
     ATTR_list___List____head( self) /*List::_head*/ =  variable2 /*nnode*/;
   } else { /*if*/
@@ -524,33 +524,33 @@ void list___List___insert_before(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 val_t list___ListIterator___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___ListIterator___item, 246};
+  struct trace_t trace = {NULL, LOCATE_list, 246, LOCATE_list___ListIterator___item};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
-  variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*ListNode::item*/;
+  variable0 = ((abstract_collection___Container___item_t)CALL(variable0,COLOR_abstract_collection___Container___item))(variable0) /*Container::item*/;
   goto return_label32;
   return_label32: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void list___ListIterator___item__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___ListIterator___item__eq, 248};
+  struct trace_t trace = {NULL, LOCATE_list, 248, LOCATE_list___ListIterator___item__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
-  ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*ListNode::item=*/;
+  ((abstract_collection___Container___item__eq_t)CALL(variable1,COLOR_abstract_collection___Container___item__eq))(variable1,  variable0 /*e*/) /*Container::item=*/;
   tracehead = trace.prev;
   return;
 }
 val_t list___ListIterator___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___ListIterator___is_ok, 250};
+  struct trace_t trace = {NULL, LOCATE_list, 250, LOCATE_list___ListIterator___is_ok};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
-  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*/) /*ListNode::==*/)))));
+  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::==*/)))));
   variable0 =  TAG_Bool(!UNTAG_Bool(variable0));
   goto return_label34;
   return_label34: while(false);
@@ -558,7 +558,7 @@ val_t list___ListIterator___is_ok(val_t  self) {
   return variable0;
 }
 void list___ListIterator___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___ListIterator___next, 252};
+  struct trace_t trace = {NULL, LOCATE_list, 252, LOCATE_list___ListIterator___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_list___ListIterator____node( self) /*ListIterator::_node*/;
@@ -569,7 +569,7 @@ void list___ListIterator___next(val_t  self) {
   return;
 }
 void list___ListIterator___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list___ListIterator___init, 258};
+  struct trace_t trace = {NULL, LOCATE_list, 258, LOCATE_list___ListIterator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -581,43 +581,43 @@ void list___ListIterator___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t list___ListIterator___index(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___ListIterator___index, 268};
+  struct trace_t trace = {NULL, LOCATE_list, 268, LOCATE_list___ListIterator___index};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_list___ListIterator____index( self) /*ListIterator::_index*/;
 }
 void list___ListNode___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_list___ListNode___init, 275};
+  struct trace_t trace = {NULL, LOCATE_list, 275, LOCATE_list___ListNode___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ListNode].i]) return;
-  ((abstract_collection___Container___item__eq_t)CALL( self,COLOR_abstract_collection___Container___item__eq))( self,  variable0 /*i*/) /*ListNode::item=*/;
+  ((abstract_collection___Container___item__eq_t)CALL( self,COLOR_abstract_collection___Container___item__eq))( self,  variable0 /*i*/) /*Container::item=*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ListNode].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t list___ListNode___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___ListNode___next, 280};
+  struct trace_t trace = {NULL, LOCATE_list, 280, LOCATE_list___ListNode___next};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_list___ListNode____next( self) /*ListNode::_next*/;
 }
 void list___ListNode___next__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___ListNode___next__eq, 280};
+  struct trace_t trace = {NULL, LOCATE_list, 280, LOCATE_list___ListNode___next__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_list___ListNode____next( self) /*ListNode::_next*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t list___ListNode___prev(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_list___ListNode___prev, 283};
+  struct trace_t trace = {NULL, LOCATE_list, 283, LOCATE_list___ListNode___prev};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_list___ListNode____prev( self) /*ListNode::_prev*/;
 }
 void list___ListNode___prev__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_list___ListNode___prev__eq, 283};
+  struct trace_t trace = {NULL, LOCATE_list, 283, LOCATE_list___ListNode___prev__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_list___ListNode____prev( self) /*ListNode::_prev*/ =  param0;
   tracehead = trace.prev;
index a57c221..a70cfe9 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires list. */
-#ifndef list_3_sep
-#define list_3_sep
+#ifndef list_2_sep
+#define list_2_sep
 #include "abstract_collection._sep.h"
 #include <nit_common.h>
 
@@ -9,7 +9,7 @@ extern const classtable_elt_t VFT_List[];
 extern const classtable_elt_t VFT_ListIterator[];
 
 extern const classtable_elt_t VFT_ListNode[];
-#define LOCATE_list "list"
+#define LOCATE_list "./../lib/standard//list.nit"
 extern const int SFT_list[];
 #define ID_List SFT_list[0]
 #define COLOR_List SFT_list[1]
index ef2d180..eef6707 100644 (file)
@@ -1,98 +1,98 @@
 /* This C file is generated by NIT to compile module math. */
 #include "math._sep.h"
 val_t math___Int___rand(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Int___rand, 19};
+  struct trace_t trace = {NULL, LOCATE_math, 19, LOCATE_math___Int___rand};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(kernel_Int_Int_rand_0(UNTAG_Int( self)));
 }
 val_t math___Float___sqrt(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___sqrt, 23};
+  struct trace_t trace = {NULL, LOCATE_math, 23, LOCATE_math___Float___sqrt};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_sqrt_0(UNBOX_Float( self)));
 }
 val_t math___Float___cos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___cos, 24};
+  struct trace_t trace = {NULL, LOCATE_math, 24, LOCATE_math___Float___cos};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_cos_0(UNBOX_Float( self)));
 }
 val_t math___Float___sin(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___sin, 25};
+  struct trace_t trace = {NULL, LOCATE_math, 25, LOCATE_math___Float___sin};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_sin_0(UNBOX_Float( self)));
 }
 val_t math___Float___tan(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___tan, 26};
+  struct trace_t trace = {NULL, LOCATE_math, 26, LOCATE_math___Float___tan};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_tan_0(UNBOX_Float( self)));
 }
 val_t math___Float___acos(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___acos, 27};
+  struct trace_t trace = {NULL, LOCATE_math, 27, LOCATE_math___Float___acos};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_acos_0(UNBOX_Float( self)));
 }
 val_t math___Float___asin(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___asin, 28};
+  struct trace_t trace = {NULL, LOCATE_math, 28, LOCATE_math___Float___asin};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_asin_0(UNBOX_Float( self)));
 }
 val_t math___Float___atan(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___atan, 29};
+  struct trace_t trace = {NULL, LOCATE_math, 29, LOCATE_math___Float___atan};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_atan_0(UNBOX_Float( self)));
 }
 val_t math___Float___pow(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___pow, 31};
+  struct trace_t trace = {NULL, LOCATE_math, 31, LOCATE_math___Float___pow};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_pow_1(UNBOX_Float( self), UNBOX_Float( param0)));
 }
 val_t math___Float___log(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___log, 32};
+  struct trace_t trace = {NULL, LOCATE_math, 32, LOCATE_math___Float___log};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_log_0(UNBOX_Float( self)));
 }
 val_t math___Float___exp(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___exp, 33};
+  struct trace_t trace = {NULL, LOCATE_math, 33, LOCATE_math___Float___exp};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_exp_0(UNBOX_Float( self)));
 }
 val_t math___Float___rand(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Float___rand, 35};
+  struct trace_t trace = {NULL, LOCATE_math, 35, LOCATE_math___Float___rand};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Float_Float_rand_0(UNBOX_Float( self)));
 }
 val_t math___Object___atan2(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_math___Object___atan2, 38};
+  struct trace_t trace = {NULL, LOCATE_math, 38, LOCATE_math___Object___atan2};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Any_Any_atan2_2( self, UNBOX_Float( param0), UNBOX_Float( param1)));
 }
 val_t math___Object___pi(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Object___pi, 39};
+  struct trace_t trace = {NULL, LOCATE_math, 39, LOCATE_math___Object___pi};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_Float(kernel_Any_Any_pi_0( self));
 }
 void math___Object___srand_from(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_math___Object___srand_from, 40};
+  struct trace_t trace = {NULL, LOCATE_math, 40, LOCATE_math___Object___srand_from};
   trace.prev = tracehead; tracehead = &trace;
   kernel_Any_Any_srand_from_1( self, UNTAG_Int( param0));
   tracehead = trace.prev;
   return;
 }
 void math___Object___srand(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_math___Object___srand, 41};
+  struct trace_t trace = {NULL, LOCATE_math, 41, LOCATE_math___Object___srand};
   trace.prev = tracehead; tracehead = &trace;
   kernel_Any_Any_srand_0( self);
   tracehead = trace.prev;
index 84be02b..0d1fc76 100644 (file)
@@ -1,10 +1,10 @@
 /* This C header file is generated by NIT to compile modules and programs that requires math. */
-#ifndef math_3_sep
-#define math_3_sep
+#ifndef math_2_sep
+#define math_2_sep
 #include "kernel._sep.h"
 #include <nit_common.h>
 #include <math_nit.h>
-#define LOCATE_math "math"
+#define LOCATE_math "./../lib/standard//math.nit"
 extern const int SFT_math[];
 #define COLOR_math___Int___rand SFT_math[0]
 #define COLOR_math___Float___sqrt SFT_math[1]
index b7b7caa..ab17419 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires metamodel. */
-#ifndef metamodel_3_sep
-#define metamodel_3_sep
+#ifndef metamodel_2_sep
+#define metamodel_2_sep
 #include "vararg._sep.h"
 #include "virtualtype._sep.h"
 #include <nit_common.h>
-#define LOCATE_metamodel "metamodel"
+#define LOCATE_metamodel "./metamodel//metamodel.nit"
 extern const int SFT_metamodel[];
 #endif
index 37c1507..50c65b1 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module mmbuilder. */
 #include "mmbuilder._sep.h"
 val_t mmbuilder___CSHSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___CSHSorter___compare, 27};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 27, LOCATE_mmbuilder___CSHSorter___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20,7 +20,7 @@ val_t mmbuilder___CSHSorter___compare(val_t  self, val_t  param0, val_t  param1)
   return variable2;
 }
 void mmbuilder___CSHSorter___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___CSHSorter___init, 32};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 32, LOCATE_mmbuilder___CSHSorter___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CSHSorter].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CSHSorter].i] = 1;
@@ -28,7 +28,7 @@ void mmbuilder___CSHSorter___init(val_t  self, int* init_table) {
   return;
 }
 void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___MMSrcModule___do_mmbuilder, 36};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 36, LOCATE_mmbuilder___MMSrcModule___do_mmbuilder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -39,15 +39,15 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   static val_t once_value_variable5_4; static int once_bool_variable5_4;
     val_t variable7;
     val_t variable8;
-        val_t variable9;
-        val_t variable10;
-        val_t variable11;
-        val_t variable12;
+    val_t variable9;
+    val_t variable10;
+    val_t variable11;
+      val_t variable12;
       val_t variable13;
       val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ((inheritance___MMModule___import_global_classes_t)CALL( self,COLOR_inheritance___MMModule___import_global_classes))( self) /*MMSrcModule::import_global_classes*/;
+  ((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*/
   variable1 = variable2;
   variable2 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
@@ -57,7 +57,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable2)) { /*if*/
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  ((inheritance___MMModule___import_local_classes_t)CALL( self,COLOR_inheritance___MMModule___import_local_classes))( self) /*MMSrcModule::import_local_classes*/;
+  ((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*/
   variable2 = variable3;
   variable3 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
@@ -67,8 +67,8 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable3)) { /*if*/
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  variable3 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMSrcModule::local_classes*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+  variable3 = ((abstractmetamodel___MMModule___local_classes_t)CALL( self,COLOR_abstractmetamodel___MMModule___local_classes))( self) /*MMModule::local_classes*/;
+  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*/
@@ -76,7 +76,7 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
     variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable4 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable4 /*c*/) /*MMLocalClass::global*/;
     variable5 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable5) /*MMGlobalClass::intro*/;
     variable5 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___module))(variable5) /*MMLocalClass::module*/;
-    variable5 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( self,COLOR_abstractmetamodel___MMModule___visibility_for))( self, variable5) /*MMSrcModule::visibility_for*/;
+    variable5 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( self,COLOR_abstractmetamodel___MMModule___visibility_for))( self, variable5) /*MMModule::visibility_for*/;
     variable6 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable4 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable4 /*c*/) /*MMLocalClass::global*/;
     variable6 = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL(variable6,COLOR_abstractmetamodel___MMGlobalClass___visibility_level))(variable6) /*MMGlobalClass::visibility_level*/;
     variable5 = TAG_Bool(UNTAG_Int(variable5)<UNTAG_Int(variable6));
@@ -88,8 +88,8 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
   break_3: while(0);
-  variable4 = ((abstractmetamodel___MMModule___class_specialization_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMModule___class_specialization_hierarchy))( self) /*MMSrcModule::class_specialization_hierarchy*/;
-  variable4 = ((array___Collection___to_a_t)CALL(variable4,COLOR_array___Collection___to_a))(variable4) /*PartialOrder::to_a*/;
+  variable4 = ((abstractmetamodel___MMModule___class_specialization_hierarchy_t)CALL( self,COLOR_abstractmetamodel___MMModule___class_specialization_hierarchy))( self) /*MMModule::class_specialization_hierarchy*/;
+  variable4 = ((array___Collection___to_a_t)CALL(variable4,COLOR_array___Collection___to_a))(variable4) /*Collection::to_a*/;
   variable3 = variable4;
   if (once_bool_variable5_4) variable5 = once_value_variable5_4;
   else {
@@ -98,28 +98,15 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
     once_bool_variable5_4 = true;
   }
   variable4 = variable5;
-  ((sorter___AbstractSorter___sort_t)CALL( variable4 /*sorter*/,COLOR_sorter___AbstractSorter___sort))( variable4 /*sorter*/,  variable3 /*classes*/) /*CSHSorter::sort*/;
+  ((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*/
   variable5 = variable6;
-  variable6 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*Array::iterator*/;
+  variable6 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     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 = TAG_Bool(( variable7 /*c*/==NIT_NULL) || VAL_ISA( variable7 /*c*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
-    if (UNTAG_Bool(variable8)) { /*if*/
-      variable8 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable7 /*c*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable7 /*c*/) /*MMSrcLocalClass::nodes*/;
-      variable8 = ((array___AbstractArray___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Array::iterator*/;
-      while (true) { /*for*/
-        variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
-        if (!UNTAG_Bool(variable9)) break; /*for*/
-        variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
-        ((mmbuilder___ClassAncestorBuilder___visit_t)CALL( variable5 /*mmbv1b*/,COLOR_parser_prod___Visitor___visit))( variable5 /*mmbv1b*/,  variable9 /*n*/) /*ClassAncestorBuilder::visit*/;
-        continue_6: while(0);
-        ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
-      }
-      break_6: while(0);
-    }
+    ((mmbuilder___MMLocalClass___accept_class_visitor_t)CALL( variable7 /*c*/,COLOR_mmbuilder___MMLocalClass___accept_class_visitor))( variable7 /*c*/,  variable5 /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
     ((inheritance___MMLocalClass___compute_ancestors_t)CALL( variable7 /*c*/,COLOR_inheritance___MMLocalClass___compute_ancestors))( variable7 /*c*/) /*MMLocalClass::compute_ancestors*/;
     continue_5: while(0);
     ((array___ArrayIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ArrayIterator::next*/;
@@ -132,29 +119,16 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   }
   variable7 = NEW_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*/) /*Array::iterator*/;
+  variable7 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable8 = ((array___ArrayIterator___is_ok_t)CALL(variable7,COLOR_abstract_collection___Iterator___is_ok))(variable7) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable8)) break; /*for*/
     variable8 = ((array___ArrayIterator___item_t)CALL(variable7,COLOR_abstract_collection___Iterator___item))(variable7) /*ArrayIterator::item*/;
-    variable9 = TAG_Bool(( variable8 /*c*/==NIT_NULL) || VAL_ISA( variable8 /*c*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
-    if (UNTAG_Bool(variable9)) { /*if*/
-      variable9 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable8 /*c*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable8 /*c*/) /*MMSrcLocalClass::nodes*/;
-      variable9 = ((array___AbstractArray___iterator_t)CALL(variable9,COLOR_abstract_collection___Collection___iterator))(variable9) /*Array::iterator*/;
-      while (true) { /*for*/
-        variable10 = ((array___ArrayIterator___is_ok_t)CALL(variable9,COLOR_abstract_collection___Iterator___is_ok))(variable9) /*ArrayIterator::is_ok*/;
-        if (!UNTAG_Bool(variable10)) break; /*for*/
-        variable10 = ((array___ArrayIterator___item_t)CALL(variable9,COLOR_abstract_collection___Iterator___item))(variable9) /*ArrayIterator::item*/;
-        ((mmbuilder___ClassVerifierVisitor___visit_t)CALL( variable6 /*mmbv1b*/,COLOR_parser_prod___Visitor___visit))( variable6 /*mmbv1b*/,  variable10 /*n*/) /*ClassVerifierVisitor::visit*/;
-        continue_8: while(0);
-        ((array___ArrayIterator___next_t)CALL(variable9,COLOR_abstract_collection___Iterator___next))(variable9) /*ArrayIterator::next*/;
-      }
-      break_8: while(0);
-    }
-    continue_7: while(0);
+    ((mmbuilder___MMLocalClass___accept_class_visitor_t)CALL( variable8 /*c*/,COLOR_mmbuilder___MMLocalClass___accept_class_visitor))( variable8 /*c*/,  variable6 /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
+    continue_6: while(0);
     ((array___ArrayIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ArrayIterator::next*/;
   }
-  break_7: while(0);
+  break_6: while(0);
   variable7 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
   variable7 = TAG_Bool(UNTAG_Int(variable7)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable7)) { /*if*/
@@ -162,30 +136,20 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   }
   variable8 = NEW_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*/) /*Array::iterator*/;
+  variable8 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable9)) break; /*for*/
     variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
     ((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*/;
     if (UNTAG_Bool(variable10)) { /*if*/
-      variable10 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable9 /*c*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable9 /*c*/) /*MMSrcLocalClass::nodes*/;
-      variable10 = ((array___AbstractArray___iterator_t)CALL(variable10,COLOR_abstract_collection___Collection___iterator))(variable10) /*Array::iterator*/;
-      while (true) { /*for*/
-        variable11 = ((array___ArrayIterator___is_ok_t)CALL(variable10,COLOR_abstract_collection___Iterator___is_ok))(variable10) /*ArrayIterator::is_ok*/;
-        if (!UNTAG_Bool(variable11)) break; /*for*/
-        variable11 = ((array___ArrayIterator___item_t)CALL(variable10,COLOR_abstract_collection___Iterator___item))(variable10) /*ArrayIterator::item*/;
-        ((mmbuilder___PropertyBuilderVisitor___visit_t)CALL( variable7 /*mmbv2*/,COLOR_parser_prod___Visitor___visit))( variable7 /*mmbv2*/,  variable11 /*n*/) /*PropertyBuilderVisitor::visit*/;
-        continue_10: while(0);
-        ((array___ArrayIterator___next_t)CALL(variable10,COLOR_abstract_collection___Iterator___next))(variable10) /*ArrayIterator::next*/;
-      }
-      break_10: while(0);
     }
-    continue_9: while(0);
+    continue_7: while(0);
     ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
   }
-  break_9: while(0);
+  break_7: while(0);
   variable8 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
   variable8 = TAG_Bool(UNTAG_Int(variable8)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable8)) { /*if*/
@@ -193,58 +157,45 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   }
   variable9 = NEW_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*/) /*Array::iterator*/;
+  variable9 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable10 = ((array___ArrayIterator___is_ok_t)CALL(variable9,COLOR_abstract_collection___Iterator___is_ok))(variable9) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable10)) break; /*for*/
     variable10 = ((array___ArrayIterator___item_t)CALL(variable9,COLOR_abstract_collection___Iterator___item))(variable9) /*ArrayIterator::item*/;
-    variable11 = TAG_Bool(( variable10 /*c*/==NIT_NULL) || VAL_ISA( variable10 /*c*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
-    if (UNTAG_Bool(variable11)) { /*if*/
-      variable11 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable10 /*c*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable10 /*c*/) /*MMSrcLocalClass::nodes*/;
-      variable11 = ((array___AbstractArray___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*Array::iterator*/;
-      while (true) { /*for*/
-        variable12 = ((array___ArrayIterator___is_ok_t)CALL(variable11,COLOR_abstract_collection___Iterator___is_ok))(variable11) /*ArrayIterator::is_ok*/;
-        if (!UNTAG_Bool(variable12)) break; /*for*/
-        variable12 = ((array___ArrayIterator___item_t)CALL(variable11,COLOR_abstract_collection___Iterator___item))(variable11) /*ArrayIterator::item*/;
-        ((mmbuilder___PropertyVerifierVisitor___visit_t)CALL( variable8 /*mmbv3*/,COLOR_parser_prod___Visitor___visit))( variable8 /*mmbv3*/,  variable12 /*n*/) /*PropertyVerifierVisitor::visit*/;
-        continue_12: while(0);
-        ((array___ArrayIterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*ArrayIterator::next*/;
-      }
-      break_12: while(0);
-    }
-    continue_11: while(0);
+    ((mmbuilder___MMLocalClass___accept_properties_visitor_t)CALL( variable10 /*c*/,COLOR_mmbuilder___MMLocalClass___accept_properties_visitor))( variable10 /*c*/,  variable8 /*mmbv3*/) /*MMLocalClass::accept_properties_visitor*/;
+    continue_8: while(0);
     ((array___ArrayIterator___next_t)CALL(variable9,COLOR_abstract_collection___Iterator___next))(variable9) /*ArrayIterator::next*/;
   }
-  break_11: while(0);
-  variable9 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*Array::iterator*/;
+  break_8: while(0);
+  variable9 = ((array___AbstractArray___iterator_t)CALL( variable3 /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*classes*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable10 = ((array___ArrayIterator___is_ok_t)CALL(variable9,COLOR_abstract_collection___Iterator___is_ok))(variable9) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable10)) break; /*for*/
     variable10 = ((array___ArrayIterator___item_t)CALL(variable9,COLOR_abstract_collection___Iterator___item))(variable9) /*ArrayIterator::item*/;
     variable11 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable10 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable10 /*c*/) /*MMLocalClass::global_properties*/;
-    variable11 = ((abstract_collection___Collection___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*Set::iterator*/;
+    variable11 = ((abstract_collection___Collection___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*Collection::iterator*/;
     while (true) { /*for*/
       variable12 = ((abstract_collection___Iterator___is_ok_t)CALL(variable11,COLOR_abstract_collection___Iterator___is_ok))(variable11) /*Iterator::is_ok*/;
       if (!UNTAG_Bool(variable12)) break; /*for*/
       variable12 = ((abstract_collection___Iterator___item_t)CALL(variable11,COLOR_abstract_collection___Iterator___item))(variable11) /*Iterator::item*/;
       variable13 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable12 /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable12 /*g*/) /*MMGlobalProperty::intro*/;
-      variable13 = ((abstractmetamodel___MMLocalProperty___module_t)CALL(variable13,COLOR_abstractmetamodel___MMLocalProperty___module))(variable13) /*MMConcreteProperty::module*/;
-      variable13 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( self,COLOR_abstractmetamodel___MMModule___visibility_for))( self, variable13) /*MMSrcModule::visibility_for*/;
+      variable13 = ((abstractmetamodel___MMLocalProperty___module_t)CALL(variable13,COLOR_abstractmetamodel___MMLocalProperty___module))(variable13) /*MMLocalProperty::module*/;
+      variable13 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( self,COLOR_abstractmetamodel___MMModule___visibility_for))( self, variable13) /*MMModule::visibility_for*/;
       variable14 = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL( variable12 /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))( variable12 /*g*/) /*MMGlobalProperty::visibility_level*/;
       variable13 = TAG_Bool(UNTAG_Int(variable13)<UNTAG_Int(variable14));
       if (UNTAG_Bool(variable13)) { /*if*/
-        goto continue_14;
+        goto continue_10;
       }
       variable14 = ((inheritance___MMLocalClass_____bra_t)CALL( variable10 /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable10 /*c*/,  variable12 /*g*/) /*MMLocalClass::[]*/;
       variable13 = variable14;
-      continue_14: while(0);
+      continue_10: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*Iterator::next*/;
     }
-    break_14: while(0);
-    continue_13: while(0);
+    break_10: while(0);
+    continue_9: while(0);
     ((array___ArrayIterator___next_t)CALL(variable9,COLOR_abstract_collection___Iterator___next))(variable9) /*ArrayIterator::next*/;
   }
-  break_13: while(0);
+  break_9: while(0);
   variable9 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
   variable9 = TAG_Bool(UNTAG_Int(variable9)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable9)) { /*if*/
@@ -253,8 +204,77 @@ void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
+void mmbuilder___MMLocalClass___accept_class_visitor(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 122, LOCATE_mmbuilder___MMLocalClass___accept_class_visitor};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  tracehead = trace.prev;
+  return;
+}
+void mmbuilder___MMLocalClass___accept_properties_visitor(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 127, LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  tracehead = trace.prev;
+  return;
+}
+void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 134, LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor};
+  val_t variable0;
+  val_t variable1;
+    val_t variable2;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___nodes))( self) /*MMSrcLocalClass::nodes*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
+  while (true) { /*for*/
+    variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable2)) break; /*for*/
+    variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/,  variable2 /*n*/) /*Visitor::visit*/;
+    continue_14: while(0);
+    ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
+  }
+  break_14: while(0);
+  tracehead = trace.prev;
+  return;
+}
+void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 141, LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor};
+  val_t variable0;
+  val_t variable1;
+    val_t variable2;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___nodes))( self) /*MMSrcLocalClass::nodes*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
+  while (true) { /*for*/
+    variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
+    if (!UNTAG_Bool(variable2)) break; /*for*/
+    variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/,  variable2 /*n*/) /*Visitor::visit*/;
+    continue_16: while(0);
+    ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
+  }
+  break_16: while(0);
+  variable1 = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___src_local_properties))( self) /*MMSrcLocalClass::src_local_properties*/;
+  variable1 = ((abstract_collection___Map___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Map::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*/;
+    ((mmbuilder___MMLocalProperty___accept_property_visitor_t)CALL( variable2 /*p*/,COLOR_mmbuilder___MMLocalProperty___accept_property_visitor))( variable2 /*p*/,  variable0 /*v*/) /*MMLocalProperty::accept_property_visitor*/;
+    continue_17: while(0);
+    ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
+  }
+  break_17: while(0);
+  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, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property, 136};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 152, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -269,19 +289,19 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
     val_t variable11;
     val_t variable12;
     val_t variable13;
-    val_t variable14;
-    val_t variable15;
-    val_t variable16;
-    val_t variable17;
+      val_t variable14;
+      val_t variable15;
+      val_t variable16;
+      val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMSrcLocalProperty::name*/;
+  variable3 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMLocalProperty::name*/;
   variable2 = variable3;
   variable3 = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___src_local_properties))( self) /*MMSrcLocalClass::src_local_properties*/;
   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___MMSrcLocalProperty___node_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable1 /*prop*/) /*MMSrcLocalProperty::node*/;
+    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*/
     variable6 = variable5;
@@ -292,38 +312,27 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
     variable8 = NEW_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) /*MMSrcLocalClass::name*/;
+    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(" at line "), TAG_Int(9)); /*new String*/
+    variable12 = NEW_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 = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL( self,COLOR_syntax_base___MMSrcLocalClass___src_local_properties))( self) /*MMSrcLocalClass::src_local_properties*/;
-    variable14 = ((abstract_collection___Map_____bra_t)CALL(variable14,COLOR_abstract_collection___Map_____bra))(variable14,  variable2 /*pname*/) /*Map::[]*/;
-    variable14 = ((syntax_base___MMSrcLocalProperty___node_t)CALL(variable14,COLOR_syntax_base___MMSrcLocalProperty___node))(variable14) /*MMSrcLocalProperty::node*/;
-    variable14 = ((parser_prod___Prod___first_token_t)CALL(variable14,COLOR_parser_prod___Prod___first_token))(variable14) /*PPropdef::first_token*/;
-    variable14 = ((lexer___Token___line_t)CALL(variable14,COLOR_lexer___Token___line))(variable14) /*Token::line*/;
-    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(1)); /*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*/, variable3, variable4) /*PropertyBuilderVisitor::error*/;
-    goto return_label15;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable3, variable4) /*AbsSyntaxVisitor::error*/;
+    goto return_label18;
   }
   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::[]=*/;
-  variable3 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( self,  variable2 /*pname*/) /*MMSrcLocalClass::has_global_property_by_name*/;
+  variable3 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( self,  variable2 /*pname*/) /*MMLocalClass::has_global_property_by_name*/;
   if (UNTAG_Bool(variable3)) { /*if*/
-    variable4 = ((abstractmetamodel___MMLocalClass___properties_by_name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___properties_by_name))( self) /*MMSrcLocalClass::properties_by_name*/;
+    variable4 = ((abstractmetamodel___MMLocalClass___properties_by_name_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___properties_by_name))( self) /*MMLocalClass::properties_by_name*/;
     variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable2 /*pname*/) /*Map::[]*/;
     variable3 = variable4;
-    variable4 = ((array___AbstractArray___length_t)CALL( variable3 /*globs*/,COLOR_abstract_collection___Collection___length))( variable3 /*globs*/) /*Array::length*/;
+    variable4 = ((array___AbstractArray___length_t)CALL( variable3 /*globs*/,COLOR_abstract_collection___Collection___length))( variable3 /*globs*/) /*AbstractArray::length*/;
     variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(1)));
     if (UNTAG_Bool(variable4)) { /*if*/
-      variable4 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable1 /*prop*/) /*MMSrcLocalProperty::node*/;
+      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*/
       variable7 = variable6;
@@ -334,7 +343,7 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
       variable9 = NEW_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*/) /*Array::length*/;
+      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*/;
@@ -347,39 +356,47 @@ void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  pa
       variable16 = NEW_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) /*PropertyBuilderVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
     }
-    variable5 = ((abstract_collection___IndexedCollection___first_t)CALL( variable3 /*globs*/,COLOR_abstract_collection___Collection___first))( variable3 /*globs*/) /*Array::first*/;
+    variable5 = ((abstract_collection___IndexedCollection___first_t)CALL( variable3 /*globs*/,COLOR_abstract_collection___Collection___first))( variable3 /*globs*/) /*IndexedCollection::first*/;
     variable4 = variable5;
-    ((inheritance___MMLocalProperty___inherit_global_t)CALL( variable1 /*prop*/,COLOR_inheritance___MMLocalProperty___inherit_global))( variable1 /*prop*/,  variable4 /*g*/) /*MMSrcLocalProperty::inherit_global*/;
+    ((inheritance___MMLocalProperty___inherit_global_t)CALL( variable1 /*prop*/,COLOR_inheritance___MMLocalProperty___inherit_global))( variable1 /*prop*/,  variable4 /*g*/) /*MMLocalProperty::inherit_global*/;
   }
-  variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMSrcLocalProperty::global*/;
-  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*/) /*MMGlobalProperty::==*/)))));
+  variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMLocalProperty::global*/;
+  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*/
-    ((abstractmetamodel___MMConcreteProperty___new_global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMConcreteProperty___new_global))( variable1 /*prop*/) /*MMSrcLocalProperty::new_global*/;
-    variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMSrcLocalProperty::global*/;
-    variable4 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable1 /*prop*/) /*MMSrcLocalProperty::node*/;
+    ((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*/;
     ((abstractmetamodel___MMGlobalProperty___is_init__eq_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalProperty___is_init__eq))(variable3, variable4) /*MMGlobalProperty::is_init=*/;
   }
-  return_label15: while(false);
+  return_label18: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void mmbuilder___MMLocalProperty___accept_property_visitor(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 183, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___MMSrcAncestor___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___MMSrcAncestor___node, 169};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 190, LOCATE_mmbuilder___MMSrcAncestor___node};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___MMSrcAncestor___local_class, 171};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 192, LOCATE_mmbuilder___MMSrcAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___MMSrcAncestor___init, 173};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 194, LOCATE_mmbuilder___MMSrcAncestor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -393,33 +410,33 @@ 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, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity, 187};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq, 187};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 208, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self) /*ClassBuilderVisitor::_local_class_arity*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___ClassBuilderVisitor___formals(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ClassBuilderVisitor___formals, 190};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq, 190};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 211, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmbuilder___ClassBuilderVisitor____formals( self) /*ClassBuilderVisitor::_formals*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ClassBuilderVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ClassBuilderVisitor___visit, 193};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 214, LOCATE_mmbuilder___ClassBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -428,7 +445,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, LOCATE_mmbuilder___ClassBuilderVisitor___init, 194};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 215, LOCATE_mmbuilder___ClassBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -441,7 +458,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, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit, 201};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 222, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -450,7 +467,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, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init, 202};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 223, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -463,7 +480,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, LOCATE_mmbuilder___ClassAncestorBuilder___visit, 209};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 230, LOCATE_mmbuilder___ClassAncestorBuilder___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -472,7 +489,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, LOCATE_mmbuilder___ClassAncestorBuilder___init, 210};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 231, LOCATE_mmbuilder___ClassAncestorBuilder___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -485,7 +502,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, LOCATE_mmbuilder___ClassVerifierVisitor___visit, 217};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 238, LOCATE_mmbuilder___ClassVerifierVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -494,7 +511,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, LOCATE_mmbuilder___ClassVerifierVisitor___init, 218};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 239, LOCATE_mmbuilder___ClassVerifierVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -507,7 +524,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, LOCATE_mmbuilder___PropertyBuilderVisitor___visit, 228};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 249, LOCATE_mmbuilder___PropertyBuilderVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -516,7 +533,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, LOCATE_mmbuilder___PropertyBuilderVisitor___init, 229};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 250, LOCATE_mmbuilder___PropertyBuilderVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -529,59 +546,59 @@ 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, LOCATE_mmbuilder___PropertyVerifierVisitor___params, 236};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___PropertyVerifierVisitor___params__eq, 236};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 257, LOCATE_mmbuilder___PropertyVerifierVisitor___params__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmbuilder___PropertyVerifierVisitor____params( self) /*PropertyVerifierVisitor::_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___untyped_params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params, 239};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params__eq, 239};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 260, LOCATE_mmbuilder___PropertyVerifierVisitor___untyped_params__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmbuilder___PropertyVerifierVisitor____untyped_params( self) /*PropertyVerifierVisitor::_untyped_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___vararg_rank(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank, 242};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq, 242};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 263, LOCATE_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmbuilder___PropertyVerifierVisitor____vararg_rank( self) /*PropertyVerifierVisitor::_vararg_rank*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PropertyVerifierVisitor___signature(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PropertyVerifierVisitor___signature, 245};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___PropertyVerifierVisitor___signature__eq, 245};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 266, LOCATE_mmbuilder___PropertyVerifierVisitor___signature__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmbuilder___PropertyVerifierVisitor____signature( self) /*PropertyVerifierVisitor::_signature*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PropertyVerifierVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PropertyVerifierVisitor___visit, 248};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 269, LOCATE_mmbuilder___PropertyVerifierVisitor___visit};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -590,7 +607,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, LOCATE_mmbuilder___PropertyVerifierVisitor___init, 250};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 271, LOCATE_mmbuilder___PropertyVerifierVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -603,7 +620,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, LOCATE_mmbuilder___PNode___accept_class_builder, 256};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 277, LOCATE_mmbuilder___PNode___accept_class_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -612,7 +629,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, LOCATE_mmbuilder___PNode___accept_class_specialization_builder, 257};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 278, LOCATE_mmbuilder___PNode___accept_class_specialization_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -621,7 +638,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, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder, 258};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 279, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -630,7 +647,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, LOCATE_mmbuilder___PNode___accept_class_verifier, 259};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 280, LOCATE_mmbuilder___PNode___accept_class_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -639,7 +656,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, LOCATE_mmbuilder___PNode___accept_property_builder, 260};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 281, LOCATE_mmbuilder___PNode___accept_property_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -648,7 +665,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, LOCATE_mmbuilder___PNode___accept_property_verifier, 261};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 282, LOCATE_mmbuilder___PNode___accept_property_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -657,7 +674,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, LOCATE_mmbuilder___AModule___import_super_modules, 265};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 286, LOCATE_mmbuilder___AModule___import_super_modules};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -670,15 +687,15 @@ 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_37; static int once_bool_variable6_37;
+      static val_t once_value_variable6_41; static int once_bool_variable6_41;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = NEW_array___Array___init(); /*new Array[Symbol]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable4 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, Int]*/
+  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable3 = variable4;
-  variable4 = NIT_NULL /*decl variable no_import*/;
+  variable4 =  NIT_NULL /*null*/;
   variable5 = ((parser_nodes___AModule___n_imports_t)CALL( self,COLOR_parser_nodes___AModule___n_imports))( self) /*AModule::n_imports*/;
   variable5 = ((list___List___iterator_t)CALL(variable5,COLOR_abstract_collection___Collection___iterator))(variable5) /*List::iterator*/;
   while (true) { /*for*/
@@ -687,27 +704,27 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
     variable6 = ((list___ListIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ListIterator::item*/;
     variable8 = ((mmbuilder___PImport___module_name_t)CALL( variable6 /*i*/,COLOR_mmbuilder___PImport___module_name))( variable6 /*i*/) /*PImport::module_name*/;
     variable7 = variable8;
-    variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*n*/ ==  NIT_NULL /*null*/) || (( variable7 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*n*/,COLOR_kernel___Object_____eqeq))( variable7 /*n*/,  NIT_NULL /*null*/) /*Symbol::==*/)))))));
+    variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*n*/ ==  NIT_NULL /*null*/) || (( variable7 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*n*/,COLOR_kernel___Object_____eqeq))( variable7 /*n*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable8)) { /*if*/
-      ((array___AbstractArray___add_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*module_names_to_import*/,  variable7 /*n*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*module_names_to_import*/,  variable7 /*n*/) /*AbstractArray::add*/;
       variable8 = ((mmbuilder___PImport___visibility_level_t)CALL( variable6 /*i*/,COLOR_mmbuilder___PImport___visibility_level))( variable6 /*i*/) /*PImport::visibility_level*/;
       ((hash___HashMap_____braeq_t)CALL( variable3 /*module_visibility*/,COLOR_abstract_collection___Map_____braeq))( variable3 /*module_visibility*/,  variable7 /*n*/, variable8) /*HashMap::[]=*/;
     } else { /*if*/
       variable4 =  variable6 /*i*/ /*no_import=*/;
     }
-    continue_36: while(0);
+    continue_40: while(0);
     ((list___ListIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ListIterator::next*/;
   }
-  break_36: 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*/) /*PImport::==*/)))))));
+  break_40: 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*/) /*Array::is_empty*/;
+    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*/
       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*/) /*PImport::locate*/;
+      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*/
@@ -716,40 +733,40 @@ void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_
       ((mmloader___ToolContext___error_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error))( variable0 /*tc*/, variable5) /*ToolContext::error*/;
     }
   } 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*/) /*Array::is_empty*/;
+    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_37) variable6 = once_value_variable6_37;
+      if (once_bool_variable6_41) variable6 = once_value_variable6_41;
       else {
         variable6 = NEW_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_37 = variable6;
-        once_bool_variable6_37 = true;
+        once_value_variable6_41 = variable6;
+        once_bool_variable6_41 = 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*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*module_names_to_import*/,  variable5 /*stdname*/) /*AbstractArray::add*/;
       ((hash___HashMap_____braeq_t)CALL( variable3 /*module_visibility*/,COLOR_abstract_collection___Map_____braeq))( variable3 /*module_visibility*/,  variable5 /*stdname*/,  TAG_Int(1)) /*HashMap::[]=*/;
     }
   }
-  ((mmloader___MMModule___import_supers_modules_t)CALL( variable1 /*mod*/,COLOR_mmloader___MMModule___import_supers_modules))( variable1 /*mod*/,  variable2 /*module_names_to_import*/) /*MMSrcModule::import_supers_modules*/;
-  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*module_names_to_import*/) /*Array::iterator*/;
+  ((mmloader___MMModule___import_supers_modules_t)CALL( variable1 /*mod*/,COLOR_mmloader___MMModule___import_supers_modules))( variable1 /*mod*/,  variable2 /*module_names_to_import*/) /*MMModule::import_supers_modules*/;
+  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*module_names_to_import*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*module_names_to_import*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     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*/;
-    variable8 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable3 /*module_visibility*/,COLOR_abstract_collection___Map_____bra))( variable3 /*module_visibility*/,  variable6 /*mname*/) /*HashMap::[]*/;
+    variable8 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable3 /*module_visibility*/,COLOR_abstract_collection___Map_____bra))( variable3 /*module_visibility*/,  variable6 /*mname*/) /*CoupleMap::[]*/;
     variable7 = variable8;
     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*/) /*MMSrcModule::add_super_module*/;
-    continue_38: while(0);
+    ((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);
     ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
   }
-  break_38: while(0);
+  break_42: while(0);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___APackagedecl___accept_class_builder, 302};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 323, LOCATE_mmbuilder___APackagedecl___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -766,18 +783,18 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((parser_nodes___APackagedecl___n_id_t)CALL( self,COLOR_parser_nodes___APackagedecl___n_id))( self) /*APackagedecl::n_id*/;
-  variable1 = ((syntax_base___Token___to_symbol_t)CALL(variable1,COLOR_syntax_base___Token___to_symbol))(variable1) /*TId::to_symbol*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*ClassBuilderVisitor::module*/;
-  variable2 = ((abstractmetamodel___MMModule___name_t)CALL(variable2,COLOR_abstractmetamodel___MMModule___name))(variable2) /*MMSrcModule::name*/;
-  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) /*Symbol::==*/)))))));
+  variable1 = ((syntax_base___Token___to_symbol_t)CALL(variable1,COLOR_syntax_base___Token___to_symbol))(variable1) /*Token::to_symbol*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
+  variable2 = ((abstractmetamodel___MMModule___name_t)CALL(variable2,COLOR_abstractmetamodel___MMModule___name))(variable2) /*MMModule::name*/;
+  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*/
     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*/) /*ClassBuilderVisitor::module*/;
-    variable5 = ((abstractmetamodel___MMModule___name_t)CALL(variable5,COLOR_abstractmetamodel___MMModule___name))(variable5) /*MMSrcModule::name*/;
+    variable5 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
+    variable5 = ((abstractmetamodel___MMModule___name_t)CALL(variable5,COLOR_abstractmetamodel___MMModule___name))(variable5) /*MMModule::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*/;
@@ -785,150 +802,154 @@ void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0)
     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*/;
-    variable9 = ((syntax_base___Token___to_symbol_t)CALL(variable9,COLOR_syntax_base___Token___to_symbol))(variable9) /*TId::to_symbol*/;
+    variable9 = ((syntax_base___Token___to_symbol_t)CALL(variable9,COLOR_syntax_base___Token___to_symbol))(variable9) /*Token::to_symbol*/;
     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*/
     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) /*ClassBuilderVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1, variable2) /*AbsSyntaxVisitor::error*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PImport___module_name, 311};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 332, LOCATE_mmbuilder___PImport___module_name};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "module_name", LOCATE_mmbuilder___APackagedecl___accept_class_builder, 311);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 332);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___PImport___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PImport___visibility_level, 314};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 335, LOCATE_mmbuilder___PImport___visibility_level};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "visibility_level", LOCATE_mmbuilder___APackagedecl___accept_class_builder, 314);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___APackagedecl___accept_class_builder, LOCATE_mmbuilder, 335);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___AImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AImport___module_name, 318};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 339, LOCATE_mmbuilder___AImport___module_name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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) /*TId::to_symbol*/;
-  goto return_label40;
-  return_label40: while(false);
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AImport___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AImport___visibility_level, 322};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 343, LOCATE_mmbuilder___AImport___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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_label41;
-  return_label41: while(false);
+  goto return_label45;
+  return_label45: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___ANoImport___module_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ANoImport___module_name, 328};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 349, LOCATE_mmbuilder___ANoImport___module_name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  NIT_NULL /*null*/;
-  goto return_label42;
-  return_label42: while(false);
+  goto return_label46;
+  return_label46: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PVisibility___level, 335};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 356, LOCATE_mmbuilder___PVisibility___level};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "level", LOCATE_mmbuilder___ANoImport___module_name, 335);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___ANoImport___module_name, LOCATE_mmbuilder, 356);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___APublicVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___APublicVisibility___level, 339};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 360, LOCATE_mmbuilder___APublicVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(1);
-  goto return_label43;
-  return_label43: while(false);
+  goto return_label47;
+  return_label47: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AProtectedVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AProtectedVisibility___level, 342};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 363, LOCATE_mmbuilder___AProtectedVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(2);
-  goto return_label44;
-  return_label44: while(false);
+  goto return_label48;
+  return_label48: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___APrivateVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___APrivateVisibility___level, 345};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 366, LOCATE_mmbuilder___APrivateVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(3);
-  goto return_label45;
-  return_label45: while(false);
+  goto return_label49;
+  return_label49: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AIntrudeVisibility___level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AIntrudeVisibility___level, 348};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 369, LOCATE_mmbuilder___AIntrudeVisibility___level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(0);
-  goto return_label46;
-  return_label46: while(false);
+  goto return_label50;
+  return_label50: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClassdef___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PClassdef___local_class, 353};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 374, LOCATE_mmbuilder___PClassdef___local_class};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___PClassdef___name, 355};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 376, LOCATE_mmbuilder___PClassdef___name};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "name", LOCATE_mmbuilder___AIntrudeVisibility___level, 355);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AIntrudeVisibility___level, LOCATE_mmbuilder, 376);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___PClassdef___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PClassdef___arity, 358};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 379, LOCATE_mmbuilder___PClassdef___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(0);
-  goto return_label47;
-  return_label47: while(false);
+  goto return_label51;
+  return_label51: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClassdef___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PClassdef___visibility_level, 361};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 382, LOCATE_mmbuilder___PClassdef___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(1);
-  goto return_label48;
-  return_label48: while(false);
+  goto return_label52;
+  return_label52: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PClassdef___accept_class_builder, 364};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 385, LOCATE_mmbuilder___PClassdef___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -947,7 +968,7 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = NIT_NULL /*decl variable local_class*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*ClassBuilderVisitor::module*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
   variable2 = variable3;
   variable4 = ((syntax_base___MMSrcModule___src_local_classes_t)CALL( variable2 /*mod*/,COLOR_syntax_base___MMSrcModule___src_local_classes))( variable2 /*mod*/) /*MMSrcModule::src_local_classes*/;
   variable3 = variable4;
@@ -971,8 +992,8 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
       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*/;
-      variable11 = ((abstract_collection___IndexedCollection___first_t)CALL(variable11,COLOR_abstract_collection___Collection___first))(variable11) /*Array::first*/;
-      variable11 = ((parser_prod___Prod___first_token_t)CALL(variable11,COLOR_parser_prod___Prod___first_token))(variable11) /*PClassdef::first_token*/;
+      variable11 = ((abstract_collection___IndexedCollection___first_t)CALL(variable11,COLOR_abstract_collection___Collection___first))(variable11) /*IndexedCollection::first*/;
+      variable11 = ((parser_prod___Prod___first_token_t)CALL(variable11,COLOR_parser_prod___Prod___first_token))(variable11) /*Prod::first_token*/;
       variable11 = ((lexer___Token___line_t)CALL(variable11,COLOR_lexer___Token___line))(variable11) /*Token::line*/;
       variable12 = variable11;
       variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
@@ -980,47 +1001,47 @@ void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0) {
       variable13 = NEW_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) /*ClassBuilderVisitor::error*/;
-      goto return_label49;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
+      goto return_label53;
     }
     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) /*Array::add*/;
+    ((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*/
     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*/) /*MMSrcModule::add_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*/;
     variable4 = ((mmbuilder___PClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*PClassdef::name*/;
     ((abstract_collection___Map_____braeq_t)CALL( variable3 /*local_classes*/,COLOR_abstract_collection___Map_____braeq))( variable3 /*local_classes*/, variable4,  variable1 /*local_class*/) /*Map::[]=*/;
     variable5 = ((mmbuilder___PClassdef___name_t)CALL( self,COLOR_mmbuilder___PClassdef___name))( self) /*PClassdef::name*/;
-    variable5 = ((abstractmetamodel___MMModule___global_class_named_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___global_class_named))( variable2 /*mod*/, variable5) /*MMSrcModule::global_class_named*/;
+    variable5 = ((abstractmetamodel___MMModule___global_class_named_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___global_class_named))( variable2 /*mod*/, variable5) /*MMModule::global_class_named*/;
     variable4 = variable5;
-    variable5 = TAG_Bool(( variable4 /*g*/ ==  NIT_NULL /*null*/) || (( variable4 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))( variable4 /*g*/,  NIT_NULL /*null*/) /*MMGlobalClass::==*/)))));
+    variable5 = TAG_Bool(( variable4 /*g*/ ==  NIT_NULL /*null*/) || (( variable4 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*g*/,COLOR_kernel___Object_____eqeq))( variable4 /*g*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable5)) { /*if*/
-      ((abstractmetamodel___MMLocalClass___new_global_t)CALL( variable1 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___new_global))( variable1 /*local_class*/) /*MMSrcLocalClass::new_global*/;
-      variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable1 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable1 /*local_class*/) /*MMSrcLocalClass::global*/;
+      ((abstractmetamodel___MMLocalClass___new_global_t)CALL( variable1 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___new_global))( variable1 /*local_class*/) /*MMLocalClass::new_global*/;
+      variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable1 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable1 /*local_class*/) /*MMLocalClass::global*/;
       variable4 = variable5 /*g=*/;
     } else { /*if*/
-      ((abstractmetamodel___MMLocalClass___set_global_t)CALL( variable1 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___set_global))( variable1 /*local_class*/,  variable4 /*g*/) /*MMSrcLocalClass::set_global*/;
+      ((abstractmetamodel___MMLocalClass___set_global_t)CALL( variable1 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___set_global))( variable1 /*local_class*/,  variable4 /*g*/) /*MMLocalClass::set_global*/;
     }
   }
   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[Symbol, MMTypeFormalParameter]*/
+  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ((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_label49: while(false);
+  return_label53: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor, 403};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 424, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1033,89 +1054,89 @@ 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, LOCATE_mmbuilder___PClasskind___is_interface, 412};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 433, LOCATE_mmbuilder___PClasskind___is_interface};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
-  goto return_label51;
-  return_label51: while(false);
+  goto return_label55;
+  return_label55: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClasskind___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PClasskind___is_universal, 413};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 434, LOCATE_mmbuilder___PClasskind___is_universal};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
-  goto return_label52;
-  return_label52: while(false);
+  goto return_label56;
+  return_label56: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___PClasskind___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PClasskind___is_abstract, 414};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 435, LOCATE_mmbuilder___PClasskind___is_abstract};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
-  goto return_label53;
-  return_label53: while(false);
+  goto return_label57;
+  return_label57: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AInterfaceClasskind___is_interface(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AInterfaceClasskind___is_interface, 418};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 439, LOCATE_mmbuilder___AInterfaceClasskind___is_interface};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(true);
-  goto return_label54;
-  return_label54: while(false);
+  goto return_label58;
+  return_label58: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AUniversalClasskind___is_universal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AUniversalClasskind___is_universal, 421};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 442, LOCATE_mmbuilder___AUniversalClasskind___is_universal};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(true);
-  goto return_label55;
-  return_label55: while(false);
+  goto return_label59;
+  return_label59: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AAbstractClasskind___is_abstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AAbstractClasskind___is_abstract, 424};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 445, LOCATE_mmbuilder___AAbstractClasskind___is_abstract};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(true);
-  goto return_label56;
-  return_label56: while(false);
+  goto return_label60;
+  return_label60: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AClassdef___name, 428};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 449, LOCATE_mmbuilder___AClassdef___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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) /*TClassid::to_symbol*/;
-  goto return_label57;
-  return_label57: while(false);
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AClassdef___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AClassdef___arity, 432};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 453, LOCATE_mmbuilder___AClassdef___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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_label58;
-  return_label58: while(false);
+  goto return_label62;
+  return_label62: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AClassdef___accept_class_verifier, 436};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 457, LOCATE_mmbuilder___AClassdef___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1135,12 +1156,12 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ((mmbuilder___AClassdef___accept_class_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___AClassdef___accept_class_verifier))( self,  param0) /*super AClassdef::accept_class_verifier*/;
-  variable2 = ATTR_mmbuilder___PClassdef____local_class( self) /*AClassdef::_local_class*/;
-  variable2 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___global))(variable2) /*MMSrcLocalClass::global*/;
+  variable2 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
+  variable2 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___global))(variable2) /*MMLocalClass::global*/;
   variable1 = variable2;
   variable2 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( variable1 /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___intro))( variable1 /*glob*/) /*MMGlobalClass::intro*/;
-  variable3 = ATTR_mmbuilder___PClassdef____local_class( self) /*AClassdef::_local_class*/;
-  variable2 = 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) /*MMLocalClass::==*/)))));
+  variable3 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
+  variable2 = 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::==*/)))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ((mmbuilder___AClassdef___visibility_level_t)CALL( self,COLOR_mmbuilder___PClassdef___visibility_level))( self) /*AClassdef::visibility_level*/;
     ((abstractmetamodel___MMGlobalClass___visibility_level__eq_t)CALL( variable1 /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___visibility_level__eq))( variable1 /*glob*/, variable2) /*MMGlobalClass::visibility_level=*/;
@@ -1154,7 +1175,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
     variable2 = ((mmbuilder___PClasskind___is_universal_t)CALL(variable2,COLOR_mmbuilder___PClasskind___is_universal))(variable2) /*PClasskind::is_universal*/;
     ((abstractmetamodel___MMGlobalClass___is_universal__eq_t)CALL( variable1 /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal__eq))( variable1 /*glob*/, variable2) /*MMGlobalClass::is_universal=*/;
     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*/) /*TKwredef::==*/)))))));
+    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*/
@@ -1167,12 +1188,12 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
       variable7 = NEW_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) /*ClassVerifierVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
     }
-    variable2 = ATTR_mmbuilder___PClassdef____local_class( self) /*AClassdef::_local_class*/;
-    variable2 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable2) /*MMSrcLocalClass::cshe*/;
+    variable2 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
+    variable2 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable2) /*MMLocalClass::cshe*/;
     variable2 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable2,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable2) /*PartialOrderElement::direct_greaters*/;
-    variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+    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*/
@@ -1201,7 +1222,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
           variable14 = NEW_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) /*ClassVerifierVisitor::error*/;
+          ((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*/
@@ -1223,7 +1244,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
             variable14 = NEW_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) /*ClassVerifierVisitor::error*/;
+            ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
           }
         }
       } else { /*if*/
@@ -1254,7 +1275,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
             variable14 = NEW_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) /*ClassVerifierVisitor::error*/;
+            ((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_universal_t)CALL( variable4 /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable4 /*cg*/) /*MMGlobalClass::is_universal*/;
@@ -1277,20 +1298,20 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
             variable14 = NEW_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) /*ClassVerifierVisitor::error*/;
+            ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
           }
         }
       }
-      continue_60: while(0);
+      continue_64: while(0);
       ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
     }
-    break_60: while(0);
-    goto return_label59;
+    break_64: while(0);
+    goto return_label63;
   }
-  variable2 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*ClassVerifierVisitor::module*/;
+  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*/) /*TKwredef::==*/)))));
+  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*/
@@ -1303,21 +1324,21 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
     variable7 = NEW_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) /*ClassVerifierVisitor::error*/;
-    goto return_label59;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
+    goto return_label63;
   }
   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*/;
-  variable3 = ATTR_mmbuilder___PClassdef____local_class( self) /*AClassdef::_local_class*/;
-  variable3 = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___arity))(variable3) /*MMSrcLocalClass::arity*/;
+  variable3 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
+  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*/
     variable4 = variable3;
     ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
-    variable5 = ATTR_mmbuilder___PClassdef____local_class( self) /*AClassdef::_local_class*/;
-    variable5 = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___arity))(variable5) /*MMSrcLocalClass::arity*/;
+    variable5 = ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
+    variable5 = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___arity))(variable5) /*MMLocalClass::arity*/;
     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*/;
@@ -1332,7 +1353,7 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
     variable11 = NEW_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) /*ClassVerifierVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
   }
   variable2 = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable1 /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable1 /*glob*/) /*MMGlobalClass::is_interface*/;
   variable2 =  TAG_Bool(!UNTAG_Bool(variable2));
@@ -1376,65 +1397,65 @@ void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0) {
     variable7 = NEW_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) /*ClassVerifierVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
   }
-  return_label59: while(false);
+  return_label63: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___AClassdef___visibility_level(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AClassdef___visibility_level, 493};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 514, LOCATE_mmbuilder___AClassdef___visibility_level};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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_label61;
-  return_label61: while(false);
+  goto return_label65;
+  return_label65: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___AMainClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AMainClassdef___name, 500};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 521, LOCATE_mmbuilder___AMainClassdef___name};
   val_t variable0;
-  static val_t once_value_variable0_63; static int once_bool_variable0_63;
+  static val_t once_value_variable0_67; static int once_bool_variable0_67;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_63) variable0 = once_value_variable0_63;
+  if (once_bool_variable0_67) variable0 = once_value_variable0_67;
   else {
     variable0 = NEW_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_63 = variable0;
-    once_bool_variable0_63 = true;
+    once_value_variable0_67 = variable0;
+    once_bool_variable0_67 = true;
   }
-  goto return_label62;
-  return_label62: while(false);
+  goto return_label66;
+  return_label66: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___ATopClassdef___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ATopClassdef___name, 507};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 528, LOCATE_mmbuilder___ATopClassdef___name};
   val_t variable0;
-  static val_t once_value_variable0_65; static int once_bool_variable0_65;
+  static val_t once_value_variable0_69; static int once_bool_variable0_69;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_65) variable0 = once_value_variable0_65;
+  if (once_bool_variable0_69) variable0 = once_value_variable0_69;
   else {
     variable0 = NEW_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_65 = variable0;
-    once_bool_variable0_65 = true;
+    once_value_variable0_69 = variable0;
+    once_bool_variable0_69 = true;
   }
-  goto return_label64;
-  return_label64: while(false);
+  goto return_label68;
+  return_label68: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t mmbuilder___MMSrcTypeFormalParameter___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node, 515};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 536, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init, 518};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 539, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1452,7 +1473,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, LOCATE_mmbuilder___AFormaldef___accept_class_builder, 529};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 550, LOCATE_mmbuilder___AFormaldef___accept_class_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1462,10 +1483,10 @@ void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((parser_nodes___AFormaldef___n_id_t)CALL( self,COLOR_parser_nodes___AFormaldef___n_id))( self) /*AFormaldef::n_id*/;
-  variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TClassid::to_symbol*/;
+  variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
   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*/) /*ClassBuilderVisitor::local_class*/;
+  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*/
   variable3 = variable5;
   variable2 = variable3;
@@ -1473,8 +1494,8 @@ void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0) {
   variable3 = ((mmbuilder___ClassBuilderVisitor___local_class_arity_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity))( variable0 /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
   variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1)));
   ((mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity__eq))( variable0 /*v*/, variable3) /*ClassBuilderVisitor::local_class_arity=*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*ClassBuilderVisitor::local_class*/;
-  ((genericity___MMLocalClass___register_formal_t)CALL(variable3,COLOR_genericity___MMLocalClass___register_formal))(variable3,  variable2 /*formal_type*/) /*MMSrcLocalClass::register_formal*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+  ((genericity___MMLocalClass___register_formal_t)CALL(variable3,COLOR_genericity___MMLocalClass___register_formal))(variable3,  variable2 /*formal_type*/) /*MMLocalClass::register_formal*/;
   variable3 = ((mmbuilder___ClassBuilderVisitor___formals_t)CALL( variable0 /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals))( variable0 /*v*/) /*ClassBuilderVisitor::formals*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable3,COLOR_abstract_collection___Map_____braeq))(variable3,  variable1 /*name*/,  variable2 /*formal_type*/) /*Map::[]=*/;
   ((mmbuilder___AFormaldef___accept_class_builder_t)CALL( self,COLOR_SUPER_mmbuilder___AFormaldef___accept_class_builder))( self,  param0) /*super AFormaldef::accept_class_builder*/;
@@ -1482,7 +1503,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, LOCATE_mmbuilder___AFormaldef___accept_class_verifier, 540};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 561, LOCATE_mmbuilder___AFormaldef___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1503,47 +1524,47 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ((mmbuilder___AFormaldef___accept_class_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___AFormaldef___accept_class_verifier))( self,  param0) /*super AFormaldef::accept_class_verifier*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*ClassVerifierVisitor::local_class*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   variable1 = variable2;
-  variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable1 /*c*/) /*MMSrcLocalClass::global*/;
+  variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable1 /*c*/) /*MMLocalClass::global*/;
   variable3 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalClass___intro))(variable3) /*MMGlobalClass::intro*/;
   variable2 = variable3;
-  variable3 = TAG_Bool(( variable1 /*c*/ ==  variable2 /*o*/) || (( variable1 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*c*/, variable2 /*o*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))( variable1 /*c*/,  variable2 /*o*/) /*MMSrcLocalClass::==*/)))));
+  variable3 = TAG_Bool(( variable1 /*c*/ ==  variable2 /*o*/) || (( variable1 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*c*/, variable2 /*o*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*c*/,COLOR_kernel___Object_____eqeq))( variable1 /*c*/,  variable2 /*o*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable3)) { /*if*/
     variable3 = ((parser_nodes___AFormaldef___n_type_t)CALL( self,COLOR_parser_nodes___AFormaldef___n_type))( self) /*AFormaldef::n_type*/;
-    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*/) /*PType::==*/)))));
+    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*/
       variable3 = ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/;
-      variable4 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*ClassVerifierVisitor::module*/;
-      variable4 = ((inheritance___MMModule___type_any_t)CALL(variable4,COLOR_inheritance___MMModule___type_any))(variable4) /*MMSrcModule::type_any*/;
-      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable3,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable3, variable4) /*MMSrcTypeFormalParameter::bound=*/;
+      variable4 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
+      variable4 = ((inheritance___MMModule___type_any_t)CALL(variable4,COLOR_inheritance___MMModule___type_any))(variable4) /*MMModule::type_any*/;
+      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable3,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable3, variable4) /*MMTypeFormalParameter::bound=*/;
     } else { /*if*/
       variable3 = ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/;
       variable4 = ((parser_nodes___AFormaldef___n_type_t)CALL( self,COLOR_parser_nodes___AFormaldef___n_type))( self) /*AFormaldef::n_type*/;
       variable4 = ((syntax_base___PType___get_stype_t)CALL(variable4,COLOR_syntax_base___PType___get_stype))(variable4,  variable0 /*v*/) /*PType::get_stype*/;
-      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable3,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable3, variable4) /*MMSrcTypeFormalParameter::bound=*/;
+      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable3,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable3, variable4) /*MMTypeFormalParameter::bound=*/;
     }
   } else { /*if*/
     variable4 = ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/;
-    variable4 = ((genericity___MMTypeFormalParameter___position_t)CALL(variable4,COLOR_genericity___MMTypeFormalParameter___position))(variable4) /*MMSrcTypeFormalParameter::position*/;
+    variable4 = ((genericity___MMTypeFormalParameter___position_t)CALL(variable4,COLOR_genericity___MMTypeFormalParameter___position))(variable4) /*MMTypeFormalParameter::position*/;
     variable4 = ((genericity___MMLocalClass___get_formal_t)CALL( variable2 /*o*/,COLOR_genericity___MMLocalClass___get_formal))( variable2 /*o*/, variable4) /*MMLocalClass::get_formal*/;
-    variable4 = ((type_formal___MMTypeFormal___bound_t)CALL(variable4,COLOR_type_formal___MMTypeFormal___bound))(variable4) /*MMTypeFormalParameter::bound*/;
-    variable5 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*ClassVerifierVisitor::module*/;
+    variable4 = ((type_formal___MMTypeFormal___bound_t)CALL(variable4,COLOR_type_formal___MMTypeFormal___bound))(variable4) /*MMTypeFormal::bound*/;
+    variable5 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
     variable4 = ((static_type___MMType___for_module_t)CALL(variable4,COLOR_static_type___MMType___for_module))(variable4, variable5) /*MMType::for_module*/;
     variable3 = variable4;
     variable4 = ((parser_nodes___AFormaldef___n_type_t)CALL( self,COLOR_parser_nodes___AFormaldef___n_type))( self) /*AFormaldef::n_type*/;
-    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*/) /*PType::==*/)))));
+    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*/
       variable4 = ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/;
-      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable4,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable4,  variable3 /*ob*/) /*MMSrcTypeFormalParameter::bound=*/;
+      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable4,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable4,  variable3 /*ob*/) /*MMTypeFormalParameter::bound=*/;
     } else { /*if*/
       variable4 = ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/;
       variable5 = ((parser_nodes___AFormaldef___n_type_t)CALL( self,COLOR_parser_nodes___AFormaldef___n_type))( self) /*AFormaldef::n_type*/;
       variable5 = ((syntax_base___PType___get_stype_t)CALL(variable5,COLOR_syntax_base___PType___get_stype))(variable5,  variable0 /*v*/) /*PType::get_stype*/;
-      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable4,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable4, variable5) /*MMSrcTypeFormalParameter::bound=*/;
+      ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable4,COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable4, variable5) /*MMTypeFormalParameter::bound=*/;
       variable4 = ATTR_mmbuilder___AFormaldef____formal( self) /*AFormaldef::_formal*/;
-      variable4 = ((type_formal___MMTypeFormal___bound_t)CALL(variable4,COLOR_type_formal___MMTypeFormal___bound))(variable4) /*MMSrcTypeFormalParameter::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*/) /*MMType::==*/)))))));
+      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*/
@@ -1556,7 +1577,7 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
         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*/;
-        variable10 = ((type_formal___MMTypeFormal___bound_t)CALL(variable10,COLOR_type_formal___MMTypeFormal___bound))(variable10) /*MMSrcTypeFormalParameter::bound*/;
+        variable10 = ((type_formal___MMTypeFormal___bound_t)CALL(variable10,COLOR_type_formal___MMTypeFormal___bound))(variable10) /*MMTypeFormal::bound*/;
         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*/;
@@ -1569,7 +1590,7 @@ void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0)
         variable15 = NEW_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) /*ClassVerifierVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
       }
     }
   }
@@ -1577,13 +1598,13 @@ 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, LOCATE_mmbuilder___ASuperclass___ancestor, 566};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 587, LOCATE_mmbuilder___ASuperclass___ancestor};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder, 568};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 589, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1597,13 +1618,13 @@ void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t  self,
   variable3 = NEW_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*/) /*ClassSpecializationBuilderVisitor::local_class*/;
-  ((inheritance___MMLocalClass___add_direct_parent_t)CALL(variable3,COLOR_inheritance___MMLocalClass___add_direct_parent))(variable3,  variable2 /*ancestor*/) /*MMSrcLocalClass::add_direct_parent*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+  ((inheritance___MMLocalClass___add_direct_parent_t)CALL(variable3,COLOR_inheritance___MMLocalClass___add_direct_parent))(variable3,  variable2 /*ancestor*/) /*MMLocalClass::add_direct_parent*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder, 577};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 598, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1613,16 +1634,16 @@ void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t  self, val_t
   variable1 = ATTR_mmbuilder___ASuperclass____ancestor( self) /*ASuperclass::_ancestor*/;
   variable2 = ((parser_nodes___ASuperclass___n_type_t)CALL( self,COLOR_parser_nodes___ASuperclass___n_type))( self) /*ASuperclass::n_type*/;
   variable2 = ((syntax_base___PType___get_unchecked_stype_t)CALL(variable2,COLOR_syntax_base___PType___get_unchecked_stype))(variable2,  variable0 /*v*/) /*PType::get_unchecked_stype*/;
-  ((static_type___MMAncestor___stype__eq_t)CALL(variable1,COLOR_static_type___MMAncestor___stype__eq))(variable1, variable2) /*MMSrcAncestor::stype=*/;
+  ((static_type___MMAncestor___stype__eq_t)CALL(variable1,COLOR_static_type___MMAncestor___stype__eq))(variable1, variable2) /*MMAncestor::stype=*/;
   variable1 = ATTR_mmbuilder___ASuperclass____ancestor( self) /*ASuperclass::_ancestor*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*ClassAncestorBuilder::local_class*/;
-  variable2 = ((genericity___MMLocalClass___get_type_t)CALL(variable2,COLOR_static_type___MMLocalClass___get_type))(variable2) /*MMSrcLocalClass::get_type*/;
-  ((static_type___MMAncestor___inheriter__eq_t)CALL(variable1,COLOR_static_type___MMAncestor___inheriter__eq))(variable1, variable2) /*MMSrcAncestor::inheriter=*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+  variable2 = ((genericity___MMLocalClass___get_type_t)CALL(variable2,COLOR_static_type___MMLocalClass___get_type))(variable2) /*MMLocalClass::get_type*/;
+  ((static_type___MMAncestor___inheriter__eq_t)CALL(variable1,COLOR_static_type___MMAncestor___inheriter__eq))(variable1, variable2) /*MMAncestor::inheriter=*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ASuperclass___accept_class_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ASuperclass___accept_class_verifier, 584};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 605, LOCATE_mmbuilder___ASuperclass___accept_class_verifier};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1634,7 +1655,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, LOCATE_mmbuilder___PPropdef___process_and_check, 592};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 613, LOCATE_mmbuilder___PPropdef___process_and_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1645,9 +1666,9 @@ void mmbuilder___PPropdef___process_and_check(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   variable2 =  param2;
   variable3 =  param3;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMSrcLocalProperty::global*/;
+  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMLocalProperty::global*/;
   variable4 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable4) /*MMGlobalProperty::intro*/;
-  variable4 = TAG_Bool((variable4 ==  variable1 /*prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable1 /*prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable1 /*prop*/) /*MMConcreteProperty::==*/)))));
+  variable4 = TAG_Bool((variable4 ==  variable1 /*prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable1 /*prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable1 /*prop*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable4)) { /*if*/
     ((mmbuilder___PPropdef___do_and_check_intro_t)CALL( self,COLOR_mmbuilder___PPropdef___do_and_check_intro))( self,  variable0 /*v*/,  variable1 /*prop*/,  variable2 /*has_redef*/,  variable3 /*visibility_level*/) /*PPropdef::do_and_check_intro*/;
   } else { /*if*/
@@ -1657,7 +1678,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, LOCATE_mmbuilder___PPropdef___do_and_check_intro, 607};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 628, LOCATE_mmbuilder___PPropdef___do_and_check_intro};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1679,13 +1700,13 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   variable2 =  param2;
   variable3 =  param3;
-  variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMSrcLocalProperty::global*/;
+  variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMLocalProperty::global*/;
   variable4 = variable5;
-  variable6 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMSrcLocalProperty::local_class*/;
+  variable6 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
   variable6 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___global))(variable6) /*MMLocalClass::global*/;
   variable5 = variable6;
-  variable6 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-  variable6 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___global))(variable6) /*MMSrcLocalClass::global*/;
+  variable6 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+  variable6 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___global))(variable6) /*MMLocalClass::global*/;
   variable6 = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL(variable6,COLOR_abstractmetamodel___MMGlobalClass___visibility_level))(variable6) /*MMGlobalClass::visibility_level*/;
   variable6 = TAG_Bool(UNTAG_Int(variable6)>=UNTAG_Int( TAG_Int(3)));
   if (UNTAG_Bool(variable6)) { /*if*/
@@ -1702,7 +1723,7 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
     variable7 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+    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*/;
@@ -1715,7 +1736,7 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
     variable14 = NEW_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) /*PropertyVerifierVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
   }
   variable6 = ((abstractmetamodel___MMGlobalProperty___is_attribute_t)CALL( variable4 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_attribute))( variable4 /*glob*/) /*MMGlobalProperty::is_attribute*/;
   if (UNTAG_Bool(variable6)) { /*if*/
@@ -1731,14 +1752,14 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
       variable10 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+      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*/
       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) /*PropertyVerifierVisitor::error*/;
+      ((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*/
@@ -1752,14 +1773,14 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
         variable10 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+        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*/
         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) /*PropertyVerifierVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
       }
     }
   } else { /*if*/
@@ -1777,14 +1798,14 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
         variable10 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+        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*/
         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) /*PropertyVerifierVisitor::error*/;
+        ((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*/
@@ -1798,47 +1819,47 @@ void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t
           variable10 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+          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*/
           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) /*PropertyVerifierVisitor::error*/;
+          ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
         }
       }
     }
   }
-  variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMSrcLocalProperty::signature*/;
-  variable6 = 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*/) /*MMSignature::==*/)))));
+  variable6 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMLocalProperty::signature*/;
+  variable6 = 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 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable4 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable4 /*glob*/) /*MMGlobalProperty::is_init*/;
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMSrcLocalProperty::local_class*/;
-      variable8 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMSrcLocalProperty::name*/;
+      variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
+      variable8 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*prop*/) /*MMLocalProperty::name*/;
       variable7 = ((abstractmetamodel___MMLocalClass___super_methods_named_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___super_methods_named))(variable7, variable8) /*MMLocalClass::super_methods_named*/;
       variable6 = variable7;
       ((mmbuilder___PPropdef___inherit_signature_t)CALL( self,COLOR_mmbuilder___PPropdef___inherit_signature))( self,  variable0 /*v*/,  variable1 /*prop*/,  variable6 /*supers*/) /*PPropdef::inherit_signature*/;
     }
-    variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMSrcLocalProperty::signature*/;
-    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*/) /*MMSignature::==*/)))))));
+    variable6 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMLocalProperty::signature*/;
+    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*/
     } else { /*if*/
       variable6 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
-      variable6 = ((array___AbstractArray___is_empty_t)CALL(variable6,COLOR_abstract_collection___Collection___is_empty))(variable6) /*Array::is_empty*/;
+      variable6 = ((array___AbstractArray___is_empty_t)CALL(variable6,COLOR_abstract_collection___Collection___is_empty))(variable6) /*AbstractArray::is_empty*/;
       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) /*Array::first*/;
+        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*/
-        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable6, variable7) /*PropertyVerifierVisitor::error*/;
+        ((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[MMType]*/
-        variable7 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-        variable7 = ((genericity___MMLocalClass___get_type_t)CALL(variable7,COLOR_static_type___MMLocalClass___get_type))(variable7) /*MMSrcLocalClass::get_type*/;
+        variable6 = NEW_array___Array___init(); /*new Array[E]*/
+        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*/
         variable6 = variable8;
-        ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/, variable6) /*MMSrcLocalProperty::signature=*/;
+        ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/, variable6) /*MMLocalProperty::signature=*/;
       }
     }
   }
@@ -1846,7 +1867,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, LOCATE_mmbuilder___PPropdef___inherit_signature, 648};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 669, LOCATE_mmbuilder___PPropdef___inherit_signature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1859,81 +1880,33 @@ void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t
         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;
-        val_t variable21;
-        val_t variable22;
-        val_t variable23;
-        val_t variable24;
-        val_t variable25;
-        val_t variable26;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable4 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMSrcLocalProperty::signature*/;
+  variable4 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMLocalProperty::signature*/;
   variable3 = variable4;
-  variable4 = ((array___AbstractArray___iterator_t)CALL( variable2 /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*supers*/) /*Array::iterator*/;
+  variable4 = ((array___AbstractArray___iterator_t)CALL( variable2 /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*supers*/) /*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*/;
-    variable7 = ((genericity___MMLocalProperty___signature_t)CALL( variable5 /*ip*/,COLOR_static_type___MMLocalProperty___signature))( variable5 /*ip*/) /*MMLocalProperty::signature*/;
-    variable8 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-    variable8 = ((genericity___MMLocalClass___get_type_t)CALL(variable8,COLOR_static_type___MMLocalClass___get_type))(variable8) /*MMSrcLocalClass::get_type*/;
-    variable7 = ((vararg___MMSignature___adaptation_to_t)CALL(variable7,COLOR_genericity___MMSignature___adaptation_to))(variable7, variable8) /*MMSignature::adaptation_to*/;
+    variable7 = ((static_type___MMLocalProperty___signature_t)CALL( variable5 /*ip*/,COLOR_static_type___MMLocalProperty___signature))( variable5 /*ip*/) /*MMLocalProperty::signature*/;
+    variable8 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+    variable8 = ((genericity___MMLocalClass___get_type_t)CALL(variable8,COLOR_static_type___MMLocalClass___get_type))(variable8) /*MMLocalClass::get_type*/;
+    variable7 = ((vararg___MMSignature___adaptation_to_t)CALL(variable7,COLOR_static_type___MMSignature___adaptation_to))(variable7, variable8) /*MMSignature::adaptation_to*/;
     variable6 = variable7;
-    variable7 = TAG_Bool(( variable3 /*s*/ ==  NIT_NULL /*null*/) || (( variable3 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*s*/,COLOR_kernel___Object_____eqeq))( variable3 /*s*/,  NIT_NULL /*null*/) /*MMSignature::==*/)))));
+    variable7 = TAG_Bool(( variable3 /*s*/ ==  NIT_NULL /*null*/) || (( variable3 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*s*/,COLOR_kernel___Object_____eqeq))( variable3 /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable7)) { /*if*/
       variable7 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
-      variable7 = ((array___AbstractArray___length_t)CALL(variable7,COLOR_abstract_collection___Collection___length))(variable7) /*Array::length*/;
+      variable7 = ((array___AbstractArray___length_t)CALL(variable7,COLOR_abstract_collection___Collection___length))(variable7) /*AbstractArray::length*/;
       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*/
-        variable7 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( variable1 /*prop*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable1 /*prop*/) /*MMSrcLocalProperty::node*/;
-        variable8 = NEW_string___String___init(); /*new String*/
-        variable9 = NEW_string___String___with_native(BOX_NativeString("v.params.length "), TAG_Int(16)); /*new String*/
-        variable10 = variable9;
-        ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
-        variable11 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
-        variable11 = ((array___AbstractArray___length_t)CALL(variable11,COLOR_abstract_collection___Collection___length))(variable11) /*Array::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(" != isig.arity "), TAG_Int(15)); /*new String*/
-        variable14 = variable13;
-        ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
-        variable15 = ((static_type___MMSignature___arity_t)CALL( variable6 /*isig*/,COLOR_static_type___MMSignature___arity))( variable6 /*isig*/) /*MMSignature::arity*/;
-        variable16 = variable15;
-        variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
-        ((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(3)); /*new String*/
-        variable18 = variable17;
-        ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable18) /*String::append*/;
-        variable19 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable1 /*prop*/) /*MMSrcLocalProperty::full_name*/;
-        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(" vs "), TAG_Int(4)); /*new String*/
-        variable22 = variable21;
-        ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable22) /*String::append*/;
-        variable23 = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable5 /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable5 /*ip*/) /*MMLocalProperty::full_name*/;
-        variable24 = variable23;
-        ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable24) /*String::append*/;
-        variable25 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-        variable26 = variable25;
-        ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable26) /*String::append*/;
-        ((parser_prod___PNode___printl_t)CALL(variable7,COLOR_parser_prod___PNode___printl))(variable7, variable8) /*PPropdef::printl*/;
-        goto return_label74;
+        goto return_label78;
       }
       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) /*Array::iterator*/;
+      variable7 = ((array___AbstractArray___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*AbstractArray::iterator*/;
       while (true) { /*for*/
         variable8 = ((array___ArrayIterator___is_ok_t)CALL(variable7,COLOR_abstract_collection___Iterator___is_ok))(variable7) /*ArrayIterator::is_ok*/;
         if (!UNTAG_Bool(variable8)) break; /*for*/
@@ -1946,28 +1919,28 @@ void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t
         variable11 = ((vararg___MMSignature___vararg_rank_t)CALL( variable6 /*isig*/,COLOR_vararg___MMSignature___vararg_rank))( variable6 /*isig*/) /*MMSignature::vararg_rank*/;
         variable10 = TAG_Bool((variable10)==(variable11));
         if (UNTAG_Bool(variable10)) { /*if*/
-          variable10 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable9 /*t*/) /*PropertyVerifierVisitor::type_array*/;
+          variable10 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable9 /*t*/) /*AbsSyntaxVisitor::type_array*/;
           variable9 = variable10 /*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_76: while(0);
+        continue_80: while(0);
         ((array___ArrayIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ArrayIterator::next*/;
       }
-      break_76: while(0);
+      break_80: 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*/) /*MMSrcLocalProperty::signature=*/;
+      ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/,  variable3 /*s*/) /*MMLocalProperty::signature=*/;
     }
-    continue_75: while(0);
+    continue_79: while(0);
     ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
   }
-  break_75: while(0);
-  return_label74: while(false);
+  break_79: while(0);
+  return_label78: 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, LOCATE_mmbuilder___PPropdef___do_and_check_redef, 674};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 695, LOCATE_mmbuilder___PPropdef___do_and_check_redef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1976,7 +1949,7 @@ 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_78; static int once_bool_variable7_78;
+    static val_t once_value_variable7_82; static int once_bool_variable7_82;
     val_t variable8;
     val_t variable9;
     val_t variable10;
@@ -2014,26 +1987,26 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
   variable3 =  param3;
   variable5 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
   variable4 = variable5;
-  variable6 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMSrcLocalProperty::global*/;
+  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*/) /*MMSrcLocalProperty::name*/;
-    if (once_bool_variable7_78) variable7 = once_value_variable7_78;
+    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_78 = variable7;
-      once_bool_variable7_78 = true;
+      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) /*Symbol::==*/)))))));
+    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*/
     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*/) /*MMSrcLocalProperty::local_class*/;
+    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*/;
@@ -2046,8 +2019,8 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
     variable14 = NEW_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) /*PropertyVerifierVisitor::error*/;
-    goto return_label77;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
+    goto return_label81;
   }
   variable6 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable5 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable5 /*glob*/) /*MMGlobalProperty::is_init*/;
   variable7 = variable6;
@@ -2060,7 +2033,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
     variable7 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+    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*/;
@@ -2073,7 +2046,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
     variable14 = NEW_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) /*PropertyVerifierVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
   } else { /*if*/
     variable6 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable5 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable5 /*glob*/) /*MMGlobalProperty::is_init*/;
     variable6 =  TAG_Bool(!UNTAG_Bool(variable6));
@@ -2085,7 +2058,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       variable7 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+      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*/;
@@ -2098,31 +2071,31 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       variable14 = NEW_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) /*PropertyVerifierVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
     }
   }
-  variable7 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMSrcLocalProperty::signature*/;
+  variable7 = ((static_type___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMLocalProperty::signature*/;
   variable6 = variable7;
-  variable7 = ((abstractmetamodel___MMConcreteProperty___cprhe_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMConcreteProperty___cprhe))( variable1 /*prop*/) /*MMSrcLocalProperty::cprhe*/;
+  variable7 = ((abstractmetamodel___MMLocalProperty___prhe_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___prhe))( variable1 /*prop*/) /*MMLocalProperty::prhe*/;
   variable7 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable7,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable7) /*PartialOrderElement::direct_greaters*/;
-  variable7 = ((array___AbstractArray___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*Array::iterator*/;
+  variable7 = ((array___AbstractArray___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable8 = ((array___ArrayIterator___is_ok_t)CALL(variable7,COLOR_abstract_collection___Iterator___is_ok))(variable7) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable8)) break; /*for*/
     variable8 = ((array___ArrayIterator___item_t)CALL(variable7,COLOR_abstract_collection___Iterator___item))(variable7) /*ArrayIterator::item*/;
-    variable10 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable8 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable8 /*i*/) /*MMConcreteProperty::local_class*/;
-    variable11 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMSrcLocalProperty::global*/;
+    variable10 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable8 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable8 /*i*/) /*MMLocalProperty::local_class*/;
+    variable11 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMLocalProperty::global*/;
     variable10 = ((inheritance___MMLocalClass_____bra_t)CALL(variable10,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable10, variable11) /*MMLocalClass::[]*/;
     variable9 = variable10;
-    variable11 = ((genericity___MMLocalProperty___signature_t)CALL( variable8 /*i*/,COLOR_static_type___MMLocalProperty___signature))( variable8 /*i*/) /*MMConcreteProperty::signature*/;
-    variable12 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-    variable12 = ((genericity___MMLocalClass___get_type_t)CALL(variable12,COLOR_static_type___MMLocalClass___get_type))(variable12) /*MMSrcLocalClass::get_type*/;
-    variable11 = ((vararg___MMSignature___adaptation_to_t)CALL(variable11,COLOR_genericity___MMSignature___adaptation_to))(variable11, variable12) /*MMSignature::adaptation_to*/;
+    variable11 = ((static_type___MMLocalProperty___signature_t)CALL( variable8 /*i*/,COLOR_static_type___MMLocalProperty___signature))( variable8 /*i*/) /*MMLocalProperty::signature*/;
+    variable12 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+    variable12 = ((genericity___MMLocalClass___get_type_t)CALL(variable12,COLOR_static_type___MMLocalClass___get_type))(variable12) /*MMLocalClass::get_type*/;
+    variable11 = ((vararg___MMSignature___adaptation_to_t)CALL(variable11,COLOR_static_type___MMSignature___adaptation_to))(variable11, variable12) /*MMSignature::adaptation_to*/;
     variable10 = variable11;
-    variable11 = TAG_Bool(( variable6 /*s*/ ==  NIT_NULL /*null*/) || (( variable6 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*s*/,COLOR_kernel___Object_____eqeq))( variable6 /*s*/,  NIT_NULL /*null*/) /*MMSignature::==*/)))));
+    variable11 = TAG_Bool(( variable6 /*s*/ ==  NIT_NULL /*null*/) || (( variable6 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*s*/,COLOR_kernel___Object_____eqeq))( variable6 /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable11)) { /*if*/
       variable11 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
-      variable11 = ((array___AbstractArray___length_t)CALL(variable11,COLOR_abstract_collection___Collection___length))(variable11) /*Array::length*/;
+      variable11 = ((array___AbstractArray___length_t)CALL(variable11,COLOR_abstract_collection___Collection___length))(variable11) /*AbstractArray::length*/;
       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*/
@@ -2130,7 +2103,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         variable12 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+        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*/;
@@ -2163,11 +2136,11 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         variable30 = NEW_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) /*PropertyVerifierVisitor::error*/;
-        goto return_label77;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable11) /*AbsSyntaxVisitor::error*/;
+        goto return_label81;
       }
       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) /*Array::iterator*/;
+      variable11 = ((array___AbstractArray___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*AbstractArray::iterator*/;
       while (true) { /*for*/
         variable12 = ((array___ArrayIterator___is_ok_t)CALL(variable11,COLOR_abstract_collection___Iterator___is_ok))(variable11) /*ArrayIterator::is_ok*/;
         if (!UNTAG_Bool(variable12)) break; /*for*/
@@ -2180,26 +2153,26 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         variable15 = ((vararg___MMSignature___vararg_rank_t)CALL( variable10 /*isig*/,COLOR_vararg___MMSignature___vararg_rank))( variable10 /*isig*/) /*MMSignature::vararg_rank*/;
         variable14 = TAG_Bool((variable14)==(variable15));
         if (UNTAG_Bool(variable14)) { /*if*/
-          variable14 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable13 /*t*/) /*PropertyVerifierVisitor::type_array*/;
+          variable14 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable13 /*t*/) /*AbsSyntaxVisitor::type_array*/;
           variable13 = variable14 /*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_80: while(0);
+        continue_84: while(0);
         ((array___ArrayIterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*ArrayIterator::next*/;
       }
-      break_80: while(0);
+      break_84: 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*/) /*MMSrcLocalProperty::signature=*/;
+      ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/,  variable6 /*s*/) /*MMLocalProperty::signature=*/;
     }
     variable11 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable5 /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable5 /*glob*/) /*MMGlobalProperty::is_init*/;
     variable12 = variable11;
     if (UNTAG_Bool(variable12)) { /* and */
-      variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable8 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable8 /*i*/) /*MMConcreteProperty::local_class*/;
+      variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable8 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable8 /*i*/) /*MMLocalProperty::local_class*/;
       variable12 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable12,COLOR_abstractmetamodel___MMLocalClass___global))(variable12) /*MMLocalClass::global*/;
-      variable13 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMSrcLocalProperty::local_class*/;
+      variable13 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*prop*/) /*MMLocalProperty::local_class*/;
       variable13 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable13,COLOR_abstractmetamodel___MMLocalClass___global))(variable13) /*MMLocalClass::global*/;
-      variable12 = TAG_Bool(!UNTAG_Bool(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) /*MMGlobalClass::==*/)))))));
+      variable12 = TAG_Bool(!UNTAG_Bool(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*/
@@ -2212,7 +2185,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         variable12 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+        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*/;
@@ -2245,10 +2218,10 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         variable30 = NEW_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) /*PropertyVerifierVisitor::error*/;
+        ((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[Int]*/
+        variable12 = NEW_range___Range___without_last( TAG_Int(0), variable11); /*new Range[E]*/
         variable11 = variable12;
         variable11 = ((range___Range___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*Range::iterator*/;
         while (true) { /*for*/
@@ -2257,7 +2230,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
           variable12 = ((abstract_collection___Iterator___item_t)CALL(variable11,COLOR_abstract_collection___Iterator___item))(variable11) /*Iterator::item*/;
           variable13 = ((static_type___MMSignature_____bra_t)CALL( variable6 /*s*/,COLOR_static_type___MMSignature_____bra))( variable6 /*s*/,  variable12 /*i*/) /*MMSignature::[]*/;
           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) /*MMType::==*/)))))));
+          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*/
@@ -2290,7 +2263,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
             variable29 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+            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*/;
@@ -2303,22 +2276,22 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
             variable36 = NEW_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) /*PropertyVerifierVisitor::error*/;
+            ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
           }
-          continue_81: while(0);
+          continue_85: while(0);
           ((abstract_collection___Iterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*Iterator::next*/;
         }
-        break_81: while(0);
+        break_85: while(0);
       }
     }
     variable12 = ((static_type___MMSignature___return_type_t)CALL( variable6 /*s*/,COLOR_static_type___MMSignature___return_type))( variable6 /*s*/) /*MMSignature::return_type*/;
     variable11 = variable12;
     variable13 = ((static_type___MMSignature___return_type_t)CALL( variable10 /*isig*/,COLOR_static_type___MMSignature___return_type))( variable10 /*isig*/) /*MMSignature::return_type*/;
     variable12 = variable13;
-    variable13 = TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+    variable13 = TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     variable14 = variable13;
     if (UNTAG_Bool(variable14)) { /* and */
-      variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+      variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     }
     variable13 = variable14;
     if (UNTAG_Bool(variable13)) { /*if*/
@@ -2326,7 +2299,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       variable14 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+      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*/;
@@ -2352,12 +2325,12 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
       variable28 = NEW_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) /*PropertyVerifierVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
-      variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+      variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       variable14 = variable13;
       if (UNTAG_Bool(variable14)) { /* and */
-        variable14 = TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+        variable14 = TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*Object::==*/)))));
       }
       variable13 = variable14;
       if (UNTAG_Bool(variable13)) { /*if*/
@@ -2365,7 +2338,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         variable14 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+        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*/;
@@ -2391,12 +2364,12 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
         variable28 = NEW_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) /*PropertyVerifierVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
       } else { /*if*/
-        variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+        variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
         variable14 = variable13;
         if (UNTAG_Bool(variable14)) { /* and */
-          variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+          variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
         }
         variable13 = variable14;
         variable14 = variable13;
@@ -2435,7 +2408,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
           variable27 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+          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*/;
@@ -2448,17 +2421,17 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
           variable34 = NEW_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) /*PropertyVerifierVisitor::error*/;
+          ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::error*/;
         } else { /*if*/
-          variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+          variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  NIT_NULL /*null*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
           variable14 = variable13;
           if (UNTAG_Bool(variable14)) { /* and */
-            variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+            variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*isrt*/ ==  NIT_NULL /*null*/) || (( variable12 /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*isrt*/,COLOR_kernel___Object_____eqeq))( variable12 /*isrt*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
           }
           variable13 = variable14;
           variable14 = variable13;
           if (UNTAG_Bool(variable14)) { /* and */
-            variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  variable12 /*isrt*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, variable12 /*isrt*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  variable12 /*isrt*/) /*MMType::==*/)))))));
+            variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*srt*/ ==  variable12 /*isrt*/) || (( variable11 /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*srt*/, variable12 /*isrt*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*srt*/,COLOR_kernel___Object_____eqeq))( variable11 /*srt*/,  variable12 /*isrt*/) /*Object::==*/)))))));
           }
           variable13 = variable14;
           variable14 = variable13;
@@ -2496,7 +2469,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
             variable27 = NEW_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*/) /*MMAttribute::local_class*/;
+            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*/;
@@ -2509,15 +2482,15 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
             variable34 = NEW_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) /*PropertyVerifierVisitor::warning*/;
+            ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable0 /*v*/,  self, variable13) /*AbsSyntaxVisitor::warning*/;
           }
         }
       }
     }
-    continue_79: while(0);
+    continue_83: while(0);
     ((array___ArrayIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ArrayIterator::next*/;
   }
-  break_79: while(0);
+  break_83: while(0);
   variable7 = TAG_Bool(( variable3 /*visibility_level*/)!=( TAG_Int(1)));
   variable8 = variable7;
   if (UNTAG_Bool(variable8)) { /* and */
@@ -2530,7 +2503,7 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
     variable8 = NEW_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*/) /*MMSrcLocalProperty::local_class*/;
+    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*/;
@@ -2543,34 +2516,34 @@ void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t
     variable15 = NEW_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) /*PropertyVerifierVisitor::error*/;
+    ((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*/) /*PropertyVerifierVisitor::module*/;
+  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_label77: while(false);
+  return_label81: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___AAttrPropdef___readmethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AAttrPropdef___readmethod, 752};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 773, LOCATE_mmbuilder___AAttrPropdef___readmethod};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/;
 }
 val_t mmbuilder___AAttrPropdef___writemethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AAttrPropdef___writemethod, 753};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 774, LOCATE_mmbuilder___AAttrPropdef___writemethod};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
 }
 val_t mmbuilder___AAttrPropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AAttrPropdef___prop, 754};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 775, LOCATE_mmbuilder___AAttrPropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder, 756};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 777, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2580,46 +2553,46 @@ void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  para
   variable0 =  param0;
   ((mmbuilder___AAttrPropdef___accept_property_builder_t)CALL( self,COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_builder))( self,  param0) /*super AAttrPropdef::accept_property_builder*/;
   variable2 = ((parser_nodes___AAttrPropdef___n_id_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_id))( self) /*AAttrPropdef::n_id*/;
-  variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TAttrid::to_symbol*/;
+  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*/) /*PropertyBuilderVisitor::local_class*/;
+  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*/
   variable3 = variable4;
   variable2 = variable3;
   ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/ =  variable2 /*prop*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyBuilderVisitor::local_class*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable3,COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable3,  variable0 /*v*/,  variable2 /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
   variable3 = ((parser_nodes___AAttrPropdef___n_readable_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_readable))( self) /*AAttrPropdef::n_readable*/;
-  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*/) /*PAble::==*/)))))));
+  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 = ((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) /*TAttrid::text*/;
+    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*/;
     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*/) /*PropertyBuilderVisitor::local_class*/;
+    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*/
     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*/) /*PropertyBuilderVisitor::local_class*/;
+    variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
     variable4 = ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/;
     ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable3,COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable3,  variable0 /*v*/, variable4) /*MMSrcLocalClass::add_src_local_property*/;
   }
   variable3 = ((parser_nodes___AAttrPropdef___n_writable_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_writable))( self) /*AAttrPropdef::n_writable*/;
-  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*/) /*PAble::==*/)))))));
+  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 = ((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) /*TAttrid::text*/;
+    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*/
     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*/) /*PropertyBuilderVisitor::local_class*/;
+    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*/
     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*/) /*PropertyBuilderVisitor::local_class*/;
+    variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
     variable4 = ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
     ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable3,COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable3,  variable0 /*v*/, variable4) /*MMSrcLocalClass::add_src_local_property*/;
   }
@@ -2627,7 +2600,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, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier, 776};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 797, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2646,7 +2619,7 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
   ((mmbuilder___AAttrPropdef___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier))( self,  param0) /*super AAttrPropdef::accept_property_verifier*/;
   variable1 = NIT_NULL /*decl variable t*/;
   variable2 = ((parser_nodes___AAttrPropdef___n_type_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_type))( self) /*AAttrPropdef::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*/) /*PType::==*/)))))));
+  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___AAttrPropdef___n_type_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_type))( self) /*AAttrPropdef::n_type*/;
     variable2 = ((syntax_base___PType___get_stype_t)CALL(variable2,COLOR_syntax_base___PType___get_stype))(variable2,  variable0 /*v*/) /*PType::get_stype*/;
@@ -2657,7 +2630,7 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
     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*/;
-    variable5 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable5) /*MMSrcAttribute::local_class*/;
+    variable5 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable5) /*MMLocalProperty::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*/;
@@ -2671,66 +2644,66 @@ void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  par
     variable11 = NEW_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) /*PropertyVerifierVisitor::error*/;
-    goto return_label83;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
+    goto return_label87;
   }
-  variable3 = NEW_array___Array___init(); /*new Array[MMType]*/
-  variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-  variable4 = ((genericity___MMLocalClass___get_type_t)CALL(variable4,COLOR_static_type___MMLocalClass___get_type))(variable4) /*MMSrcLocalClass::get_type*/;
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
+  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*/
   variable3 = variable5;
   variable2 = variable3;
   variable3 = ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
-  ((static_type___MMLocalProperty___signature__eq_t)CALL(variable3,COLOR_static_type___MMLocalProperty___signature__eq))(variable3,  variable2 /*signature*/) /*MMSrcAttribute::signature=*/;
+  ((static_type___MMLocalProperty___signature__eq_t)CALL(variable3,COLOR_static_type___MMLocalProperty___signature__eq))(variable3,  variable2 /*signature*/) /*MMLocalProperty::signature=*/;
   variable4 = ((parser_nodes___AAttrPropdef___n_visibility_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_visibility))( self) /*AAttrPropdef::n_visibility*/;
   variable4 = ((mmbuilder___PVisibility___level_t)CALL(variable4,COLOR_mmbuilder___PVisibility___level))(variable4) /*PVisibility::level*/;
   variable3 = variable4;
   variable4 = ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
   variable5 = ((parser_nodes___AAttrPropdef___n_kwredef_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_kwredef))( self) /*AAttrPropdef::n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
-  ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable4, variable5,  variable3 /*visibility_level*/) /*AAttrPropdef::process_and_check*/;
+  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::==*/)))))));
+  ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable4, variable5,  variable3 /*visibility_level*/) /*PPropdef::process_and_check*/;
   variable4 = ((parser_nodes___AAttrPropdef___n_readable_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_readable))( self) /*AAttrPropdef::n_readable*/;
-  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*/) /*PAble::==*/)))))));
+  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____readmethod( self) /*AAttrPropdef::_readmethod*/;
-    ((static_type___MMLocalProperty___signature__eq_t)CALL(variable4,COLOR_static_type___MMLocalProperty___signature__eq))(variable4,  variable2 /*signature*/) /*MMSrcMethod::signature=*/;
+    ((static_type___MMLocalProperty___signature__eq_t)CALL(variable4,COLOR_static_type___MMLocalProperty___signature__eq))(variable4,  variable2 /*signature*/) /*MMLocalProperty::signature=*/;
     variable4 = ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/;
     variable5 = ((parser_nodes___AAttrPropdef___n_readable_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_readable))( self) /*AAttrPropdef::n_readable*/;
     variable5 = ((parser_nodes___PAble___n_kwredef_t)CALL(variable5,COLOR_parser_nodes___PAble___n_kwredef))(variable5) /*PAble::n_kwredef*/;
-    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*/) /*TKwredef::==*/)))))));
-    ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable4, variable5,  variable3 /*visibility_level*/) /*AAttrPropdef::process_and_check*/;
+    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::==*/)))))));
+    ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable4, variable5,  variable3 /*visibility_level*/) /*PPropdef::process_and_check*/;
     variable4 = ((parser_nodes___AAttrPropdef___n_type_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_type))( self) /*AAttrPropdef::n_type*/;
     variable5 = ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/;
     ((mmbuilder___PType___check_visibility_t)CALL(variable4,COLOR_mmbuilder___PType___check_visibility))(variable4,  variable0 /*v*/, variable5) /*PType::check_visibility*/;
   }
   variable4 = ((parser_nodes___AAttrPropdef___n_writable_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_writable))( self) /*AAttrPropdef::n_writable*/;
-  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*/) /*PAble::==*/)))))));
+  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[MMType]*/
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable1 /*t*/) /*Array::add*/;
-    variable6 = NEW_array___Array___with(variable5); /*new Array[MMType]*/
+    variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+    ((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]*/
     variable5 = variable6;
-    variable6 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-    variable6 = ((genericity___MMLocalClass___get_type_t)CALL(variable6,COLOR_static_type___MMLocalClass___get_type))(variable6) /*MMSrcLocalClass::get_type*/;
+    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*/
     variable5 = variable7;
-    ((static_type___MMLocalProperty___signature__eq_t)CALL(variable4,COLOR_static_type___MMLocalProperty___signature__eq))(variable4, variable5) /*MMSrcMethod::signature=*/;
+    ((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*/;
     variable5 = ((parser_nodes___AAttrPropdef___n_writable_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_writable))( self) /*AAttrPropdef::n_writable*/;
     variable5 = ((parser_nodes___PAble___n_kwredef_t)CALL(variable5,COLOR_parser_nodes___PAble___n_kwredef))(variable5) /*PAble::n_kwredef*/;
-    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*/) /*TKwredef::==*/)))))));
-    ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable4, variable5,  variable3 /*visibility_level*/) /*AAttrPropdef::process_and_check*/;
+    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::==*/)))))));
+    ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable4, variable5,  variable3 /*visibility_level*/) /*PPropdef::process_and_check*/;
     variable4 = ((parser_nodes___AAttrPropdef___n_type_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_type))( self) /*AAttrPropdef::n_type*/;
     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_label83: while(false);
+  return_label87: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor, 803};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 824, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2743,51 +2716,51 @@ 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, LOCATE_mmbuilder___AMethPropdef___name, 812};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 833, LOCATE_mmbuilder___AMethPropdef___name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/;
 }
 val_t mmbuilder___AMethPropdef___method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AMethPropdef___method, 815};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 836, LOCATE_mmbuilder___AMethPropdef___method};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___AMethPropdef___accept_property_builder, 817};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 838, LOCATE_mmbuilder___AMethPropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
-      static val_t once_value_variable1_86; static int once_bool_variable1_86;
-      static val_t once_value_variable1_87; static int once_bool_variable1_87;
+      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;
     val_t variable2;
-    static val_t once_value_variable2_88; static int once_bool_variable2_88;
+    static val_t once_value_variable2_92; static int once_bool_variable2_92;
       val_t variable3;
-        static val_t once_value_variable2_89; static int once_bool_variable2_89;
+        static val_t once_value_variable2_93; static int once_bool_variable2_93;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ((mmbuilder___AMethPropdef___accept_property_builder_t)CALL( self,COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_builder))( self,  param0) /*super AMethPropdef::accept_property_builder*/;
   variable1 = ((parser_nodes___AMethPropdef___n_methid_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_methid))( self) /*AMethPropdef::n_methid*/;
-  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*/) /*PMethid::==*/)))));
+  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*/
     variable1 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
     if (UNTAG_Bool(variable1)) { /*if*/
-      if (once_bool_variable1_86) variable1 = once_value_variable1_86;
+      if (once_bool_variable1_90) variable1 = once_value_variable1_90;
       else {
         variable1 = NEW_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_86 = variable1;
-        once_bool_variable1_86 = true;
+        once_value_variable1_90 = variable1;
+        once_bool_variable1_90 = true;
       }
       ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/ = variable1;
     } else { /*if*/
-      if (once_bool_variable1_87) variable1 = once_value_variable1_87;
+      if (once_bool_variable1_91) variable1 = once_value_variable1_91;
       else {
         variable1 = NEW_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_87 = variable1;
-        once_bool_variable1_87 = true;
+        once_value_variable1_91 = variable1;
+        once_bool_variable1_91 = true;
       }
       ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/ = variable1;
     }
@@ -2797,14 +2770,14 @@ 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_88) variable2 = once_value_variable2_88;
+    if (once_bool_variable2_92) variable2 = once_value_variable2_92;
     else {
       variable2 = NEW_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_88 = variable2;
-      once_bool_variable2_88 = true;
+      once_value_variable2_92 = variable2;
+      once_bool_variable2_92 = 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) /*Symbol::==*/)))));
+    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*/
       variable2 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AMethPropdef::n_signature*/;
       variable1 = variable2;
@@ -2817,55 +2790,55 @@ void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  para
       }
       variable2 = variable3;
       if (UNTAG_Bool(variable2)) { /*if*/
-        if (once_bool_variable2_89) variable2 = once_value_variable2_89;
+        if (once_bool_variable2_93) variable2 = once_value_variable2_93;
         else {
           variable2 = NEW_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_89 = variable2;
-          once_bool_variable2_89 = true;
+          once_value_variable2_93 = variable2;
+          once_bool_variable2_93 = true;
         }
         ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/ = variable2;
       }
     }
   }
   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*/) /*PropertyBuilderVisitor::local_class*/;
+  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*/
   variable2 = variable4;
   variable1 = variable2;
   ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/ =  variable1 /*prop*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyBuilderVisitor::local_class*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable2,COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable2,  variable0 /*v*/,  variable1 /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier, 841};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 862, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = NEW_array___Array___init(); /*new Array[PParam]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ((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[PParam]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ((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)));
   ((mmbuilder___PropertyVerifierVisitor___vararg_rank__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq))( variable0 /*v*/, variable1) /*PropertyVerifierVisitor::vararg_rank=*/;
   ((mmbuilder___AMethPropdef___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_verifier))( self,  param0) /*super AMethPropdef::accept_property_verifier*/;
   variable1 = ((mmbuilder___PropertyVerifierVisitor___signature_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature))( variable0 /*v*/) /*PropertyVerifierVisitor::signature*/;
-  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*/) /*MMSignature::==*/)))));
+  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*/
   } else { /*if*/
     variable1 = ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/;
     variable2 = ((mmbuilder___PropertyVerifierVisitor___signature_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature))( variable0 /*v*/) /*PropertyVerifierVisitor::signature*/;
-    ((static_type___MMLocalProperty___signature__eq_t)CALL(variable1,COLOR_static_type___MMLocalProperty___signature__eq))(variable1, variable2) /*MMMethSrcMethod::signature=*/;
+    ((static_type___MMLocalProperty___signature__eq_t)CALL(variable1,COLOR_static_type___MMLocalProperty___signature__eq))(variable1, variable2) /*MMLocalProperty::signature=*/;
   }
   variable1 =  TAG_Int(1);
   variable2 = ((parser_nodes___AMethPropdef___n_visibility_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_visibility))( self) /*AMethPropdef::n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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::==*/)))))));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
     variable3 = ((parser_nodes___AMethPropdef___n_visibility_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_visibility))( self) /*AMethPropdef::n_visibility*/;
@@ -2880,10 +2853,10 @@ void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  par
   }
   variable2 = ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/;
   variable3 = ((parser_nodes___AMethPropdef___n_kwredef_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_kwredef))( self) /*AMethPropdef::n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
-  ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable2, variable3,  variable1 /*visibility_level*/) /*AMethPropdef::process_and_check*/;
+  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::==*/)))))));
+  ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable2, variable3,  variable1 /*visibility_level*/) /*PPropdef::process_and_check*/;
   variable2 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AMethPropdef::n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  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___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AMethPropdef::n_signature*/;
     variable3 = ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/;
@@ -2893,7 +2866,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, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor, 863};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 884, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -2906,7 +2879,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, LOCATE_mmbuilder___AMainMethPropdef___process_and_check, 872};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 893, LOCATE_mmbuilder___AMainMethPropdef___process_and_check};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2919,25 +2892,25 @@ void mmbuilder___AMainMethPropdef___process_and_check(val_t  self, val_t  param0
   variable1 =  param1;
   variable2 =  param2;
   variable3 =  param3;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMSrcLocalProperty::global*/;
+  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[MMType]*/
-  variable5 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-  variable5 = ((genericity___MMLocalClass___get_type_t)CALL(variable5,COLOR_static_type___MMLocalClass___get_type))(variable5) /*MMSrcLocalClass::get_type*/;
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
+  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*/
   variable4 = variable6;
-  ((static_type___MMLocalProperty___signature__eq_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable1 /*prop*/, variable4) /*MMSrcLocalProperty::signature=*/;
+  ((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, LOCATE_mmbuilder___ATypePropdef___prop, 881};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 902, LOCATE_mmbuilder___ATypePropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___ATypePropdef___accept_property_builder, 883};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 904, LOCATE_mmbuilder___ATypePropdef___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2947,20 +2920,20 @@ void mmbuilder___ATypePropdef___accept_property_builder(val_t  self, val_t  para
   variable0 =  param0;
   ((mmbuilder___ATypePropdef___accept_property_builder_t)CALL( self,COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_builder))( self,  param0) /*super ATypePropdef::accept_property_builder*/;
   variable2 = ((parser_nodes___ATypePropdef___n_id_t)CALL( self,COLOR_parser_nodes___ATypePropdef___n_id))( self) /*ATypePropdef::n_id*/;
-  variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TClassid::to_symbol*/;
+  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*/) /*PropertyBuilderVisitor::local_class*/;
+  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*/
   variable3 = variable4;
   variable2 = variable3;
   ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/ =  variable2 /*prop*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyBuilderVisitor::local_class*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable3,COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable3,  variable0 /*v*/,  variable2 /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier, 892};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 913, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2970,28 +2943,28 @@ void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  par
   trace.prev = tracehead; tracehead = &trace;
   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[MMType]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   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*/) /*PropertyVerifierVisitor::local_class*/;
-  variable4 = ((genericity___MMLocalClass___get_type_t)CALL(variable4,COLOR_static_type___MMLocalClass___get_type))(variable4) /*MMSrcLocalClass::get_type*/;
+  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*/
   variable2 = variable5;
   variable1 = variable2;
   variable2 = ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/;
-  ((static_type___MMLocalProperty___signature__eq_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature__eq))(variable2,  variable1 /*signature*/) /*MMSrcTypeProperty::signature=*/;
+  ((static_type___MMLocalProperty___signature__eq_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature__eq))(variable2,  variable1 /*signature*/) /*MMLocalProperty::signature=*/;
   variable3 = ((parser_nodes___ATypePropdef___n_visibility_t)CALL( self,COLOR_parser_nodes___ATypePropdef___n_visibility))( self) /*ATypePropdef::n_visibility*/;
   variable3 = ((mmbuilder___PVisibility___level_t)CALL(variable3,COLOR_mmbuilder___PVisibility___level))(variable3) /*PVisibility::level*/;
   variable2 = variable3;
   variable3 = ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/;
   variable4 = ((parser_nodes___ATypePropdef___n_kwredef_t)CALL( self,COLOR_parser_nodes___ATypePropdef___n_kwredef))( self) /*ATypePropdef::n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
-  ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable3, variable4,  variable2 /*visibility_level*/) /*ATypePropdef::process_and_check*/;
+  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::==*/)))))));
+  ((mmbuilder___PPropdef___process_and_check_t)CALL( self,COLOR_mmbuilder___PPropdef___process_and_check))( self,  variable0 /*v*/, variable3, variable4,  variable2 /*visibility_level*/) /*PPropdef::process_and_check*/;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor, 901};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 922, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -3004,13 +2977,13 @@ 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, LOCATE_mmbuilder___MethidAccumulator___name, 912};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 933, LOCATE_mmbuilder___MethidAccumulator___name};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___MethidAccumulator___visit, 913};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 934, LOCATE_mmbuilder___MethidAccumulator___visit};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3028,7 +3001,7 @@ 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, LOCATE_mmbuilder___MethidAccumulator___init, 922};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 943, LOCATE_mmbuilder___MethidAccumulator___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MethidAccumulator].i]) return;
@@ -3039,13 +3012,13 @@ void mmbuilder___MethidAccumulator___init(val_t  self, int* init_table) {
   return;
 }
 val_t mmbuilder___PMethid___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PMethid___name, 929};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 950, LOCATE_mmbuilder___PMethid___name};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___PMethid___accept_property_builder, 932};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 953, LOCATE_mmbuilder___PMethid___accept_property_builder};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3062,15 +3035,16 @@ 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, LOCATE_mmbuilder___PSignature___check_visibility, 942};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 963, LOCATE_mmbuilder___PSignature___check_visibility};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "check_visibility", LOCATE_mmbuilder___PMethid___accept_property_builder, 942);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PMethid___accept_property_builder, LOCATE_mmbuilder, 963);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___ASignature___accept_property_verifier, 947};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 968, LOCATE_mmbuilder___ASignature___accept_property_verifier};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3080,59 +3054,59 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
   variable0 =  param0;
   ((mmbuilder___ASignature___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___ASignature___accept_property_verifier))( self,  param0) /*super ASignature::accept_property_verifier*/;
   variable1 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
-  variable1 = ((array___AbstractArray___is_empty_t)CALL(variable1,COLOR_abstract_collection___Collection___is_empty))(variable1) /*Array::is_empty*/;
+  variable1 = ((array___AbstractArray___is_empty_t)CALL(variable1,COLOR_abstract_collection___Collection___is_empty))(variable1) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool( TAG_Bool(!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) /*Array::first*/;
+    variable1 = ((abstract_collection___IndexedCollection___first_t)CALL(variable1,COLOR_abstract_collection___Collection___first))(variable1) /*IndexedCollection::first*/;
     variable2 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
-    variable2 = ((abstract_collection___IndexedCollection___first_t)CALL(variable2,COLOR_abstract_collection___Collection___first))(variable2) /*Array::first*/;
-    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) /*PParam::==*/)))))));
+    variable2 = ((abstract_collection___IndexedCollection___first_t)CALL(variable2,COLOR_abstract_collection___Collection___first))(variable2) /*IndexedCollection::first*/;
+    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::==*/)))))));
     variable2 = variable1;
     if (!UNTAG_Bool(variable2)) { /* or */
       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*/) /*PType::==*/)))))));
+      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::==*/)))))));
     }
     variable1 = variable2;
     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) /*Array::first*/;
+      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*/
-      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1, variable2) /*PropertyVerifierVisitor::error*/;
-      goto return_label99;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1, variable2) /*AbsSyntaxVisitor::error*/;
+      goto return_label103;
     }
   } else { /*if*/
     variable1 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
-    variable1 = ((array___AbstractArray___is_empty_t)CALL(variable1,COLOR_abstract_collection___Collection___is_empty))(variable1) /*Array::is_empty*/;
+    variable1 = ((array___AbstractArray___is_empty_t)CALL(variable1,COLOR_abstract_collection___Collection___is_empty))(variable1) /*AbstractArray::is_empty*/;
     variable1 =  TAG_Bool(!UNTAG_Bool(variable1));
     if (!UNTAG_Bool(variable1)) { /* or */
       variable1 = ((parser_nodes___ASignature___n_type_t)CALL( self,COLOR_parser_nodes___ASignature___n_type))( self) /*ASignature::n_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*/) /*PType::==*/)))))));
+      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[MMType]*/
+      variable2 = NEW_array___Array___init(); /*new Array[E]*/
       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) /*Array::iterator*/;
+      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 = ((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) /*Array::add*/;
-        continue_100: while(0);
+        ((array___AbstractArray___add_t)CALL( variable1 /*pars*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*pars*/, variable4) /*AbstractArray::add*/;
+        continue_104: while(0);
         ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
       }
-      break_100: while(0);
+      break_104: 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*/) /*PType::==*/)))))));
+      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 = ((parser_nodes___ASignature___n_type_t)CALL( self,COLOR_parser_nodes___ASignature___n_type))( self) /*ASignature::n_type*/;
         variable3 = ((syntax_base___PType___get_stype_t)CALL(variable3,COLOR_syntax_base___PType___get_stype))(variable3,  variable0 /*v*/) /*PType::get_stype*/;
         variable2 = variable3 /*ret=*/;
       }
-      variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*PropertyVerifierVisitor::local_class*/;
-      variable3 = ((genericity___MMLocalClass___get_type_t)CALL(variable3,COLOR_static_type___MMLocalClass___get_type))(variable3) /*MMSrcLocalClass::get_type*/;
+      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*/
       variable3 = variable4;
       ((mmbuilder___PropertyVerifierVisitor___signature__eq_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature__eq))( variable0 /*v*/, variable3) /*PropertyVerifierVisitor::signature=*/;
@@ -3145,12 +3119,12 @@ void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param
       }
     }
   }
-  return_label99: while(false);
+  return_label103: 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, LOCATE_mmbuilder___ASignature___check_visibility, 971};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 992, LOCATE_mmbuilder___ASignature___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3159,11 +3133,11 @@ void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*p*/) /*MMSrcLocalProperty::global*/;
+  variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*p*/) /*MMLocalProperty::global*/;
   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_label101;
+    goto return_label105;
   }
   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*/;
@@ -3172,52 +3146,52 @@ void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t
     if (!UNTAG_Bool(variable3)) break; /*for*/
     variable3 = ((list___ListIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ListIterator::item*/;
     variable4 = ((parser_nodes___PParam___n_type_t)CALL( variable3 /*n*/,COLOR_parser_nodes___PParam___n_type))( variable3 /*n*/) /*PParam::n_type*/;
-    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*/) /*PType::==*/)))))));
+    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 = ((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_102: while(0);
+    continue_106: while(0);
     ((list___ListIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ListIterator::next*/;
   }
-  break_102: while(0);
+  break_106: 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*/) /*PType::==*/)))))));
+  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_label101: while(false);
+  return_label105: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PParam___position(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PParam___position, 982};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1003, LOCATE_mmbuilder___PParam___position};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____position( self) /*PParam::_position*/;
 }
 val_t mmbuilder___PParam___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PParam___variable, 984};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1005, LOCATE_mmbuilder___PParam___variable};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmbuilder___PParam____variable( self) /*PParam::_variable*/;
 }
 val_t mmbuilder___PParam___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PParam___stype, 986};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1007, LOCATE_mmbuilder___PParam___stype};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_mmbuilder___PParam___stype__eq, 986};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1007, LOCATE_mmbuilder___PParam___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmbuilder___PParam____stype( self) /*PParam::_stype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PParam___accept_property_verifier, 989};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1010, LOCATE_mmbuilder___PParam___accept_property_verifier};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3228,25 +3202,25 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
   variable0 =  param0;
   ((mmbuilder___PParam___accept_property_verifier_t)CALL( self,COLOR_SUPER_mmbuilder___PParam___accept_property_verifier))( self,  param0) /*super PParam::accept_property_verifier*/;
   variable1 = ((mmbuilder___PropertyVerifierVisitor___params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___params))( variable0 /*v*/) /*PropertyVerifierVisitor::params*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*Array::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   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) /*TId::to_symbol*/;
+  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*/
   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*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  self) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  self) /*AbstractArray::add*/;
   variable1 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  self) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  self) /*AbstractArray::add*/;
   variable1 = ((parser_nodes___PParam___n_type_t)CALL( self,COLOR_parser_nodes___PParam___n_type))( self) /*PParam::n_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*/) /*PType::==*/)))))));
+  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 = ((parser_nodes___PParam___n_type_t)CALL( self,COLOR_parser_nodes___PParam___n_type))( self) /*PParam::n_type*/;
     variable2 = ((syntax_base___PType___get_stype_t)CALL(variable2,COLOR_syntax_base___PType___get_stype))(variable2,  variable0 /*v*/) /*PType::get_stype*/;
     variable1 = variable2;
     variable2 = ((mmbuilder___PropertyVerifierVisitor___untyped_params_t)CALL( variable0 /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params))( variable0 /*v*/) /*PropertyVerifierVisitor::untyped_params*/;
-    variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+    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*/
@@ -3262,52 +3236,54 @@ void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0) {
           ((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*/
-          ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*PropertyVerifierVisitor::error*/;
+          ((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*/) /*PropertyVerifierVisitor::type_array*/;
+        variable4 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable1 /*stype*/) /*AbsSyntaxVisitor::type_array*/;
         variable1 = variable4 /*stype=*/;
       }
       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_104: while(0);
+      continue_108: while(0);
       ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
     }
-    break_104: while(0);
+    break_108: 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) /*Array::clear*/;
+    ((array___AbstractArray___clear_t)CALL(variable2,COLOR_abstract_collection___RemovableCollection___clear))(variable2) /*AbstractArray::clear*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t mmbuilder___PParam___is_vararg(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PParam___is_vararg, 1014};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1035, LOCATE_mmbuilder___PParam___is_vararg};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "is_vararg", LOCATE_mmbuilder___PParam___accept_property_verifier, 1014);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___PParam___accept_property_verifier, LOCATE_mmbuilder, 1035);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmbuilder___AParam___is_vararg(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___AParam___is_vararg, 1018};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1039, LOCATE_mmbuilder___AParam___is_vararg};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*TDotdotdot::==*/)))))));
-  goto return_label105;
-  return_label105: while(false);
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 void mmbuilder___PType___check_visibility(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PType___check_visibility, 1022};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1043, LOCATE_mmbuilder___PType___check_visibility};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "check_visibility", LOCATE_mmbuilder___AParam___is_vararg, 1022);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmbuilder___AParam___is_vararg, LOCATE_mmbuilder, 1043);
   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, LOCATE_mmbuilder___AType___check_visibility, 1027};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1048, LOCATE_mmbuilder___AType___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3324,23 +3300,23 @@ void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  par
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*p*/) /*MMSrcLocalProperty::global*/;
+  variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*p*/) /*MMLocalProperty::global*/;
   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_label106;
+    goto return_label110;
   }
   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*/) /*MMType::==*/)))));
+  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_label106;
+    goto return_label110;
   }
   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*/) /*MMLocalClass::==*/)))));
+  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_label106;
+    goto return_label110;
   }
   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*/;
@@ -3371,16 +3347,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_107: while(0);
+    continue_111: while(0);
     ((list___ListIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ListIterator::next*/;
   }
-  break_107: while(0);
-  return_label106: while(false);
+  break_111: while(0);
+  return_label110: while(false);
   tracehead = trace.prev;
   return;
 }
 void mmbuilder___PExpr___accept_class_builder(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmbuilder___PExpr___accept_class_builder, 1044};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1065, LOCATE_mmbuilder___PExpr___accept_class_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -3388,7 +3364,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, LOCATE_mmbuilder___PExpr___accept_property_builder, 1045};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1066, LOCATE_mmbuilder___PExpr___accept_property_builder};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -3396,7 +3372,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, LOCATE_mmbuilder___PExpr___accept_property_verifier, 1046};
+  struct trace_t trace = {NULL, LOCATE_mmbuilder, 1067, LOCATE_mmbuilder___PExpr___accept_property_verifier};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
index 964eeea..98d29cf 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires mmbuilder. */
-#ifndef mmbuilder_3_sep
-#define mmbuilder_3_sep
+#ifndef mmbuilder_2_sep
+#define mmbuilder_2_sep
 #include "syntax_base._sep.h"
 #include <nit_common.h>
 
@@ -23,136 +23,139 @@ extern const classtable_elt_t VFT_PropertyVerifierVisitor[];
 extern const classtable_elt_t VFT_MMSrcTypeFormalParameter[];
 
 extern const classtable_elt_t VFT_MethidAccumulator[];
-#define LOCATE_mmbuilder "mmbuilder"
+#define LOCATE_mmbuilder "./syntax//mmbuilder.nit"
 extern const int SFT_mmbuilder[];
 #define ID_CSHSorter SFT_mmbuilder[0]
 #define COLOR_CSHSorter SFT_mmbuilder[1]
 #define INIT_TABLE_POS_CSHSorter SFT_mmbuilder[2]
 #define COLOR_mmbuilder___CSHSorter___init SFT_mmbuilder[3]
 #define COLOR_mmbuilder___MMSrcModule___do_mmbuilder SFT_mmbuilder[4]
-#define COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property SFT_mmbuilder[5]
-#define ID_MMSrcAncestor SFT_mmbuilder[6]
-#define COLOR_MMSrcAncestor SFT_mmbuilder[7]
-#define COLOR_mmbuilder___MMSrcAncestor____node SFT_mmbuilder[8]
-#define COLOR_mmbuilder___MMSrcAncestor____local_class SFT_mmbuilder[9]
-#define INIT_TABLE_POS_MMSrcAncestor SFT_mmbuilder[10]
-#define COLOR_mmbuilder___MMSrcAncestor___node SFT_mmbuilder[11]
-#define COLOR_mmbuilder___MMSrcAncestor___init SFT_mmbuilder[12]
-#define ID_ClassBuilderVisitor SFT_mmbuilder[13]
-#define COLOR_ClassBuilderVisitor SFT_mmbuilder[14]
-#define COLOR_mmbuilder___ClassBuilderVisitor____local_class_arity SFT_mmbuilder[15]
-#define COLOR_mmbuilder___ClassBuilderVisitor____formals SFT_mmbuilder[16]
-#define INIT_TABLE_POS_ClassBuilderVisitor SFT_mmbuilder[17]
-#define COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity SFT_mmbuilder[18]
-#define COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity__eq SFT_mmbuilder[19]
-#define COLOR_mmbuilder___ClassBuilderVisitor___formals SFT_mmbuilder[20]
-#define COLOR_mmbuilder___ClassBuilderVisitor___formals__eq SFT_mmbuilder[21]
-#define COLOR_mmbuilder___ClassBuilderVisitor___init SFT_mmbuilder[22]
-#define ID_ClassSpecializationBuilderVisitor SFT_mmbuilder[23]
-#define COLOR_ClassSpecializationBuilderVisitor SFT_mmbuilder[24]
-#define INIT_TABLE_POS_ClassSpecializationBuilderVisitor SFT_mmbuilder[25]
-#define COLOR_mmbuilder___ClassSpecializationBuilderVisitor___init SFT_mmbuilder[26]
-#define ID_ClassAncestorBuilder SFT_mmbuilder[27]
-#define COLOR_ClassAncestorBuilder SFT_mmbuilder[28]
-#define INIT_TABLE_POS_ClassAncestorBuilder SFT_mmbuilder[29]
-#define COLOR_mmbuilder___ClassAncestorBuilder___init SFT_mmbuilder[30]
-#define ID_ClassVerifierVisitor SFT_mmbuilder[31]
-#define COLOR_ClassVerifierVisitor SFT_mmbuilder[32]
-#define INIT_TABLE_POS_ClassVerifierVisitor SFT_mmbuilder[33]
-#define COLOR_mmbuilder___ClassVerifierVisitor___init SFT_mmbuilder[34]
-#define ID_PropertyBuilderVisitor SFT_mmbuilder[35]
-#define COLOR_PropertyBuilderVisitor SFT_mmbuilder[36]
-#define INIT_TABLE_POS_PropertyBuilderVisitor SFT_mmbuilder[37]
-#define COLOR_mmbuilder___PropertyBuilderVisitor___init SFT_mmbuilder[38]
-#define ID_PropertyVerifierVisitor SFT_mmbuilder[39]
-#define COLOR_PropertyVerifierVisitor SFT_mmbuilder[40]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____params SFT_mmbuilder[41]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____untyped_params SFT_mmbuilder[42]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____vararg_rank SFT_mmbuilder[43]
-#define COLOR_mmbuilder___PropertyVerifierVisitor____signature SFT_mmbuilder[44]
-#define INIT_TABLE_POS_PropertyVerifierVisitor SFT_mmbuilder[45]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___params SFT_mmbuilder[46]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___params__eq SFT_mmbuilder[47]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params SFT_mmbuilder[48]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___untyped_params__eq SFT_mmbuilder[49]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank SFT_mmbuilder[50]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___vararg_rank__eq SFT_mmbuilder[51]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___signature SFT_mmbuilder[52]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___signature__eq SFT_mmbuilder[53]
-#define COLOR_mmbuilder___PropertyVerifierVisitor___init SFT_mmbuilder[54]
-#define COLOR_mmbuilder___PNode___accept_class_builder SFT_mmbuilder[55]
-#define COLOR_mmbuilder___PNode___accept_class_specialization_builder SFT_mmbuilder[56]
-#define COLOR_mmbuilder___PNode___accept_class_ancestor_builder SFT_mmbuilder[57]
-#define COLOR_mmbuilder___PNode___accept_class_verifier SFT_mmbuilder[58]
-#define COLOR_mmbuilder___PNode___accept_property_builder SFT_mmbuilder[59]
-#define COLOR_mmbuilder___PNode___accept_property_verifier SFT_mmbuilder[60]
-#define COLOR_mmbuilder___AModule___import_super_modules SFT_mmbuilder[61]
-#define COLOR_mmbuilder___PImport___module_name SFT_mmbuilder[62]
-#define COLOR_mmbuilder___PImport___visibility_level SFT_mmbuilder[63]
-#define COLOR_mmbuilder___PVisibility___level SFT_mmbuilder[64]
-#define COLOR_mmbuilder___PClassdef____local_class SFT_mmbuilder[65]
-#define COLOR_mmbuilder___PClassdef___name SFT_mmbuilder[66]
-#define COLOR_mmbuilder___PClassdef___arity SFT_mmbuilder[67]
-#define COLOR_mmbuilder___PClassdef___visibility_level SFT_mmbuilder[68]
-#define COLOR_SUPER_mmbuilder___PClassdef___accept_class_builder SFT_mmbuilder[69]
-#define COLOR_SUPER_mmbuilder___PClassdef___accept_abs_syntax_visitor SFT_mmbuilder[70]
-#define COLOR_mmbuilder___PClasskind___is_interface SFT_mmbuilder[71]
-#define COLOR_mmbuilder___PClasskind___is_universal SFT_mmbuilder[72]
-#define COLOR_mmbuilder___PClasskind___is_abstract SFT_mmbuilder[73]
-#define COLOR_SUPER_mmbuilder___AClassdef___accept_class_verifier SFT_mmbuilder[74]
-#define ID_MMSrcTypeFormalParameter SFT_mmbuilder[75]
-#define COLOR_MMSrcTypeFormalParameter SFT_mmbuilder[76]
-#define COLOR_mmbuilder___MMSrcTypeFormalParameter____node SFT_mmbuilder[77]
-#define INIT_TABLE_POS_MMSrcTypeFormalParameter SFT_mmbuilder[78]
-#define COLOR_mmbuilder___MMSrcTypeFormalParameter___node SFT_mmbuilder[79]
-#define COLOR_mmbuilder___MMSrcTypeFormalParameter___init SFT_mmbuilder[80]
-#define COLOR_mmbuilder___AFormaldef____formal SFT_mmbuilder[81]
-#define COLOR_SUPER_mmbuilder___AFormaldef___accept_class_builder SFT_mmbuilder[82]
-#define COLOR_SUPER_mmbuilder___AFormaldef___accept_class_verifier SFT_mmbuilder[83]
-#define COLOR_mmbuilder___ASuperclass____ancestor SFT_mmbuilder[84]
-#define COLOR_mmbuilder___ASuperclass___ancestor SFT_mmbuilder[85]
-#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder SFT_mmbuilder[86]
-#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder SFT_mmbuilder[87]
-#define COLOR_SUPER_mmbuilder___ASuperclass___accept_class_verifier SFT_mmbuilder[88]
-#define COLOR_mmbuilder___PPropdef___process_and_check SFT_mmbuilder[89]
-#define COLOR_mmbuilder___PPropdef___do_and_check_intro SFT_mmbuilder[90]
-#define COLOR_mmbuilder___PPropdef___inherit_signature SFT_mmbuilder[91]
-#define COLOR_mmbuilder___PPropdef___do_and_check_redef SFT_mmbuilder[92]
-#define COLOR_mmbuilder___AAttrPropdef____readmethod SFT_mmbuilder[93]
-#define COLOR_mmbuilder___AAttrPropdef____writemethod SFT_mmbuilder[94]
-#define COLOR_mmbuilder___AAttrPropdef____prop SFT_mmbuilder[95]
-#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_builder SFT_mmbuilder[96]
-#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier SFT_mmbuilder[97]
-#define COLOR_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor SFT_mmbuilder[98]
-#define COLOR_mmbuilder___AMethPropdef____name SFT_mmbuilder[99]
-#define COLOR_mmbuilder___AMethPropdef____method SFT_mmbuilder[100]
-#define COLOR_mmbuilder___AMethPropdef___name SFT_mmbuilder[101]
-#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_builder SFT_mmbuilder[102]
-#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_verifier SFT_mmbuilder[103]
-#define COLOR_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor SFT_mmbuilder[104]
-#define COLOR_mmbuilder___ATypePropdef____prop SFT_mmbuilder[105]
-#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_builder SFT_mmbuilder[106]
-#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_verifier SFT_mmbuilder[107]
-#define COLOR_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor SFT_mmbuilder[108]
-#define ID_MethidAccumulator SFT_mmbuilder[109]
-#define COLOR_MethidAccumulator SFT_mmbuilder[110]
-#define COLOR_mmbuilder___MethidAccumulator____name SFT_mmbuilder[111]
-#define INIT_TABLE_POS_MethidAccumulator SFT_mmbuilder[112]
-#define COLOR_mmbuilder___MethidAccumulator___name SFT_mmbuilder[113]
-#define COLOR_mmbuilder___MethidAccumulator___init SFT_mmbuilder[114]
-#define COLOR_mmbuilder___PMethid____name SFT_mmbuilder[115]
-#define COLOR_mmbuilder___PMethid___name SFT_mmbuilder[116]
-#define COLOR_SUPER_mmbuilder___PMethid___accept_property_builder SFT_mmbuilder[117]
-#define COLOR_mmbuilder___PSignature___check_visibility SFT_mmbuilder[118]
-#define COLOR_SUPER_mmbuilder___ASignature___accept_property_verifier SFT_mmbuilder[119]
-#define COLOR_mmbuilder___PParam____position SFT_mmbuilder[120]
-#define COLOR_mmbuilder___PParam____variable SFT_mmbuilder[121]
-#define COLOR_mmbuilder___PParam____stype SFT_mmbuilder[122]
-#define COLOR_mmbuilder___PParam___stype SFT_mmbuilder[123]
-#define COLOR_mmbuilder___PParam___stype__eq SFT_mmbuilder[124]
-#define COLOR_SUPER_mmbuilder___PParam___accept_property_verifier SFT_mmbuilder[125]
-#define COLOR_mmbuilder___PParam___is_vararg SFT_mmbuilder[126]
-#define COLOR_mmbuilder___PType___check_visibility SFT_mmbuilder[127]
+#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]
 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)"
@@ -163,9 +166,24 @@ val_t NEW_mmbuilder___CSHSorter___init();
 typedef void (* mmbuilder___MMSrcModule___do_mmbuilder_t)(val_t  self, val_t  param0);
 void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0);
 #define LOCATE_mmbuilder___MMSrcModule___do_mmbuilder "mmbuilder::MMSrcModule::do_mmbuilder"
+typedef void (* mmbuilder___MMLocalClass___accept_class_visitor_t)(val_t  self, val_t  param0);
+void mmbuilder___MMLocalClass___accept_class_visitor(val_t  self, val_t  param0);
+#define LOCATE_mmbuilder___MMLocalClass___accept_class_visitor "mmbuilder::MMLocalClass::accept_class_visitor"
+typedef void (* mmbuilder___MMLocalClass___accept_properties_visitor_t)(val_t  self, val_t  param0);
+void mmbuilder___MMLocalClass___accept_properties_visitor(val_t  self, val_t  param0);
+#define LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor "mmbuilder::MMLocalClass::accept_properties_visitor"
+typedef void (* mmbuilder___MMSrcLocalClass___accept_class_visitor_t)(val_t  self, val_t  param0);
+void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  param0);
+#define LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_class_visitor)"
+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)"
 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___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 e064760..1d91eab 100644 (file)
@@ -1,19 +1,19 @@
 /* This C file is generated by NIT to compile module mmloader. */
 #include "mmloader._sep.h"
 val_t mmloader___ToolContext___error_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___error_count, 27};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 27, LOCATE_mmloader___ToolContext___error_count};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____error_count( self) /*ToolContext::_error_count*/;
 }
 val_t mmloader___ToolContext___warning_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___warning_count, 30};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 30, LOCATE_mmloader___ToolContext___warning_count};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____warning_count( self) /*ToolContext::_warning_count*/;
 }
 void mmloader___ToolContext___error(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___error, 33};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 33, LOCATE_mmloader___ToolContext___error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24,7 +24,7 @@ void mmloader___ToolContext___error(val_t  self, val_t  param0) {
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*ToolContext::stderr*/;
+  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*/
   variable4 = variable3;
@@ -42,7 +42,7 @@ void mmloader___ToolContext___error(val_t  self, val_t  param0) {
   return;
 }
 void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___warning, 40};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 40, LOCATE_mmloader___ToolContext___warning};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -54,11 +54,11 @@ void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_mmloader___ToolContext____opt_warn( self) /*ToolContext::_opt_warn*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionBool::value*/;
+  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*Option::value*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
     goto return_label1;
   }
-  variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*ToolContext::stderr*/;
+  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*/
   variable4 = variable3;
@@ -77,55 +77,55 @@ void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
   return;
 }
 val_t mmloader___ToolContext___paths(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___paths, 48};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 48, LOCATE_mmloader___ToolContext___paths};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____paths( self) /*ToolContext::_paths*/;
 }
 val_t mmloader___ToolContext___option_context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___option_context, 54};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 54, LOCATE_mmloader___ToolContext___option_context};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____option_context( self) /*ToolContext::_option_context*/;
 }
 val_t mmloader___ToolContext___opt_warn(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_warn, 57};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 57, LOCATE_mmloader___ToolContext___opt_warn};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_warn( self) /*ToolContext::_opt_warn*/;
 }
 val_t mmloader___ToolContext___opt_path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_path, 60};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 60, LOCATE_mmloader___ToolContext___opt_path};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_path( self) /*ToolContext::_opt_path*/;
 }
 val_t mmloader___ToolContext___opt_log(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_log, 63};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 63, LOCATE_mmloader___ToolContext___opt_log};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_log( self) /*ToolContext::_opt_log*/;
 }
 val_t mmloader___ToolContext___opt_only_metamodel(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_only_metamodel, 66};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 66, LOCATE_mmloader___ToolContext___opt_only_metamodel};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_only_metamodel( self) /*ToolContext::_opt_only_metamodel*/;
 }
 val_t mmloader___ToolContext___opt_only_parse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_only_parse, 69};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 69, LOCATE_mmloader___ToolContext___opt_only_parse};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_only_parse( self) /*ToolContext::_opt_only_parse*/;
 }
 val_t mmloader___ToolContext___opt_help(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_help, 72};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 72, LOCATE_mmloader___ToolContext___opt_help};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_help( self) /*ToolContext::_opt_help*/;
 }
 void mmloader___ToolContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___init, 75};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 75, LOCATE_mmloader___ToolContext___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -138,26 +138,26 @@ 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[Option]*/
+  variable1 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   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) /*Array::add*/;
+  ((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*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*AbstractArray::add*/;
   variable4 = ((mmloader___ToolContext___opt_log_t)CALL( self,COLOR_mmloader___ToolContext___opt_log))( self) /*ToolContext::opt_log*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*AbstractArray::add*/;
   variable5 = ((mmloader___ToolContext___opt_only_parse_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_parse))( self) /*ToolContext::opt_only_parse*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*AbstractArray::add*/;
   variable6 = ((mmloader___ToolContext___opt_only_metamodel_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_metamodel))( self) /*ToolContext::opt_only_metamodel*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*AbstractArray::add*/;
   variable7 = ((mmloader___ToolContext___opt_help_t)CALL( self,COLOR_mmloader___ToolContext___opt_help))( self) /*ToolContext::opt_help*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*AbstractArray::add*/;
   ((opts___OptionContext___add_option_t)CALL(variable0,COLOR_opts___OptionContext___add_option))(variable0, variable1) /*OptionContext::add_option*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ToolContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void mmloader___ToolContext___process_options(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___process_options, 81};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 81, LOCATE_mmloader___ToolContext___process_options};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_4; static int once_bool_variable1_4;
@@ -171,14 +171,14 @@ void mmloader___ToolContext___process_options(val_t  self) {
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
   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) /*ToolContext::args*/;
+  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[String]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionArray::value*/;
-  ((abstract_collection___IndexedCollection___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable1) /*Array::append*/;
+  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*Option::value*/;
+  ((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*/
@@ -188,11 +188,11 @@ void mmloader___ToolContext___process_options(val_t  self) {
     once_bool_variable1_4 = true;
   }
   variable0 = variable1;
-  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*path_env*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*path_env*/) /*String::is_empty*/;
+  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*/
     variable1 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
     variable2 = ((string_search___String___split_with_t)CALL( variable0 /*path_env*/,COLOR_string_search___String___split_with))( variable0 /*path_env*/,  TAG_Char(':')) /*String::split_with*/;
-    ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*Array::append*/;
+    ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*IndexedCollection::append*/;
   }
   if (once_bool_variable1_5) variable1 = once_value_variable1_5;
   else {
@@ -203,7 +203,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
     once_bool_variable1_5 = true;
   }
   variable0 = variable1 /*path_env=*/;
-  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*path_env*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*path_env*/) /*String::is_empty*/;
+  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*/
@@ -218,7 +218,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
     variable2 = ((file___String___file_exists_t)CALL( variable1 /*libname*/,COLOR_file___String___file_exists))( variable1 /*libname*/) /*String::file_exists*/;
     if (UNTAG_Bool(variable2)) { /*if*/
       variable2 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
-      ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*AbstractArray::add*/;
     }
   }
   variable2 = NEW_string___String___init(); /*new String*/
@@ -237,13 +237,13 @@ void mmloader___ToolContext___process_options(val_t  self) {
   variable2 = ((file___String___file_exists_t)CALL( variable1 /*libname*/,COLOR_file___String___file_exists))( variable1 /*libname*/) /*String::file_exists*/;
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*AbstractArray::add*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___try_to_load, 106};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 106, LOCATE_mmloader___ToolContext___try_to_load};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -262,32 +262,32 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
   variable2 = ((abstractmetamodel___MMDirectory___modules_t)CALL( variable1 /*dir*/,COLOR_abstractmetamodel___MMDirectory___modules))( variable1 /*dir*/) /*MMDirectory::modules*/;
   variable2 = ((abstract_collection___Map___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Map::iterator*/;
   while (true) { /*for*/
-    variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*MapIterator::is_ok*/;
+    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) /*MapIterator::item*/;
+    variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ((abstractmetamodel___MMModule___name_t)CALL( variable3 /*m*/,COLOR_abstractmetamodel___MMModule___name))( variable3 /*m*/) /*MMModule::name*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*module_name*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*module_name*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*module_name*/) /*Symbol::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*module_name*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*module_name*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*module_name*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
       variable2 =  variable3 /*m*/;
       goto return_label6;
     }
     continue_7: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_7: while(0);
   variable2 = ATTR_mmloader___ToolContext____loaders( self) /*ToolContext::_loaders*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  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*/;
     variable5 = ((mmloader___ModuleLoader___try_to_load_dir_t)CALL( variable3 /*l*/,COLOR_mmloader___ModuleLoader___try_to_load_dir))( variable3 /*l*/,  variable0 /*module_name*/,  variable1 /*dir*/) /*ModuleLoader::try_to_load_dir*/;
     variable4 = variable5;
-    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*dir2*/ ==  NIT_NULL /*null*/) || (( variable4 /*dir2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*dir2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))( variable4 /*dir2*/,  NIT_NULL /*null*/) /*MMDirectory::==*/)))))));
+    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*dir2*/ ==  NIT_NULL /*null*/) || (( variable4 /*dir2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*dir2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))( variable4 /*dir2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable5)) { /*if*/
       variable6 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable0 /*module_name*/,  variable4 /*dir2*/) /*ToolContext::try_to_load*/;
       variable5 = variable6;
-      variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+      variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable6)) { /*if*/
         ((abstractmetamodel___MMDirectory___owner__eq_t)CALL( variable4 /*dir2*/,COLOR_abstractmetamodel___MMDirectory___owner__eq))( variable4 /*dir2*/,  variable5 /*m*/) /*MMDirectory::owner=*/;
         ((abstractmetamodel___MMDirectory___add_module_t)CALL( variable1 /*dir*/,COLOR_abstractmetamodel___MMDirectory___add_module))( variable1 /*dir*/,  variable5 /*m*/) /*MMDirectory::add_module*/;
@@ -314,7 +314,7 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
         ((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*/;
         exit(UNTAG_Int( TAG_Int(1)));
-        fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___try_to_load, 135); nit_exit(1);
+        fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___try_to_load, LOCATE_mmloader, 135); nit_exit(1);
       }
       variable6 = ATTR_mmloader___ToolContext____processing_modules( self) /*ToolContext::_processing_modules*/;
       ((hash___HashSet___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable5 /*full_name*/) /*HashSet::add*/;
@@ -337,7 +337,7 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___get_module_from_filename, 152};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 152, LOCATE_mmloader___ToolContext___get_module_from_filename};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -364,7 +364,7 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
   if (UNTAG_Bool(variable4)) { /*if*/
     variable5 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable2 /*module_name*/,  variable3 /*dir*/) /*ToolContext::try_to_load*/;
     variable4 = variable5;
-    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable5)) { /*if*/
       variable1 =  variable4 /*m*/;
       goto return_label9;
@@ -386,11 +386,11 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
     ((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*/;
     exit(UNTAG_Int( TAG_Int(1)));
-    fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, 175); nit_exit(1);
+    fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, LOCATE_mmloader, 175); nit_exit(1);
   }
   variable5 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable2 /*module_name*/,  variable3 /*dir*/) /*ToolContext::try_to_load*/;
   variable4 = variable5;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
     variable1 =  variable4 /*m*/;
     goto return_label9;
@@ -406,13 +406,13 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
   ((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*/;
   exit(UNTAG_Int( TAG_Int(1)));
-  fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, 184); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, LOCATE_mmloader, 184); nit_exit(1);
   return_label9: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___get_module, 187};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 187, LOCATE_mmloader___ToolContext___get_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -426,16 +426,16 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   variable2 = NIT_NULL /*decl variable m*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*from*/ ==  NIT_NULL /*null*/) || (( variable1 /*from*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*from*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))( variable1 /*from*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*from*/ ==  NIT_NULL /*null*/) || (( variable1 /*from*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*from*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))( variable1 /*from*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
     variable4 = ((abstractmetamodel___MMModule___directory_t)CALL( variable1 /*from*/,COLOR_abstractmetamodel___MMModule___directory))( variable1 /*from*/) /*MMModule::directory*/;
     variable3 = variable4;
     while (true) { /*while*/
-      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*dir*/ ==  NIT_NULL /*null*/) || (( variable3 /*dir*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*dir*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))( variable3 /*dir*/,  NIT_NULL /*null*/) /*MMDirectory::==*/)))))));
+      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*dir*/ ==  NIT_NULL /*null*/) || (( variable3 /*dir*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*dir*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))( variable3 /*dir*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (!UNTAG_Bool(variable4)) break; /* while*/
       variable5 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable0 /*module_name*/,  variable3 /*dir*/) /*ToolContext::try_to_load*/;
       variable4 = variable5;
-      variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+      variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable5)) { /*if*/
         variable2 =  variable4 /*m*/;
         goto return_label10;
@@ -447,7 +447,7 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
     break_11: while(0);
   }
   variable3 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+  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*/
@@ -455,7 +455,7 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
     variable6 = ((mmloader___ToolContext___directory_for_t)CALL( self,COLOR_mmloader___ToolContext___directory_for))( self,  variable4 /*p*/) /*ToolContext::directory_for*/;
     variable6 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable0 /*module_name*/, variable6) /*ToolContext::try_to_load*/;
     variable5 = variable6;
-    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable6)) { /*if*/
       variable2 =  variable5 /*m*/;
       goto return_label10;
@@ -476,13 +476,13 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
   ((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*/;
   exit(UNTAG_Int( TAG_Int(1)));
-  fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___get_module, 208); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___get_module, LOCATE_mmloader, 208); nit_exit(1);
   return_label10: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 val_t mmloader___ToolContext___directory_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___directory_for, 211};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 211, LOCATE_mmloader___ToolContext___directory_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -509,26 +509,27 @@ val_t mmloader___ToolContext___directory_for(val_t  self, val_t  param0) {
   return variable1;
 }
 void mmloader___ToolContext___register_loader(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___register_loader, 223};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 223, LOCATE_mmloader___ToolContext___register_loader};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_mmloader___ToolContext____loaders( self) /*ToolContext::_loaders*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*ml*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*ml*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___ModuleLoader___file_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___file_type, 232};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 232, LOCATE_mmloader___ModuleLoader___file_type};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "file_type", LOCATE_mmloader___ToolContext___register_loader, 232);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___register_loader, LOCATE_mmloader, 232);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___try_to_load_dir, 235};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 235, LOCATE_mmloader___ModuleLoader___try_to_load_dir};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -578,7 +579,7 @@ val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_
   return variable2;
 }
 val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___can_handle, 245};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 245, LOCATE_mmloader___ModuleLoader___can_handle};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -634,7 +635,7 @@ val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___load_and_process_module, 254};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 254, LOCATE_mmloader___ModuleLoader___load_and_process_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -683,7 +684,7 @@ val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  para
   variable5 = ((mmloader___ModuleLoader___load_module_t)CALL( self,COLOR_mmloader___ModuleLoader___load_module))( self,  variable0 /*context*/,  variable1 /*module_name*/,  variable2 /*dir*/,  variable3 /*filename*/) /*ModuleLoader::load_module*/;
   variable4 = variable5;
   variable5 = ((mmloader___ToolContext___opt_only_parse_t)CALL( variable0 /*context*/,COLOR_mmloader___ToolContext___opt_only_parse))( variable0 /*context*/) /*ToolContext::opt_only_parse*/;
-  variable5 = ((opts___Option___value_t)CALL(variable5,COLOR_opts___Option___value))(variable5) /*OptionBool::value*/;
+  variable5 = ((opts___Option___value_t)CALL(variable5,COLOR_opts___Option___value))(variable5) /*Option::value*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
     ((mmloader___ModuleLoader___process_metamodel_t)CALL( self,COLOR_mmloader___ModuleLoader___process_metamodel))( self,  variable0 /*context*/,  variable4 /*m*/) /*ModuleLoader::process_metamodel*/;
   }
@@ -694,7 +695,7 @@ val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  para
   return variable3;
 }
 val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___load_module, 264};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 264, LOCATE_mmloader___ModuleLoader___load_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -715,7 +716,7 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
   variable5 = NEW_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) /*ModuleLoader::stdin*/;
+    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*/;
@@ -723,7 +724,7 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
     variable5 = variable6;
     variable4 = variable5 /*file=*/;
   }
-  variable5 = ((stream___BufferedIStream___eof_t)CALL( variable4 /*file*/,COLOR_stream___IStream___eof))( variable4 /*file*/) /*IFStream::eof*/;
+  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*/
@@ -736,13 +737,13 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
     ((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*/;
     exit(UNTAG_Int( TAG_Int(1)));
-    fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ModuleLoader___load_module, 277); nit_exit(1);
+    fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 277); nit_exit(1);
   }
   variable6 = ((mmloader___ModuleLoader___parse_file_t)CALL( self,COLOR_mmloader___ModuleLoader___parse_file))( self,  variable0 /*context*/,  variable4 /*file*/,  variable3 /*filename*/,  variable1 /*module_name*/,  variable2 /*dir*/) /*ModuleLoader::parse_file*/;
   variable5 = variable6;
   ((mmloader___MMModule___filename__eq_t)CALL( variable5 /*m*/,COLOR_mmloader___MMModule___filename__eq))( variable5 /*m*/,  variable3 /*filename*/) /*MMModule::filename=*/;
-  variable6 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*ModuleLoader::stdin*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*file*/ == variable6) || (( variable4 /*file*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*file*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))( variable4 /*file*/, variable6) /*IFStream::==*/)))))));
+  variable6 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*file*/ == variable6) || (( variable4 /*file*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*file*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))( variable4 /*file*/, variable6) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
     ((file___IFStream___close_t)CALL( variable4 /*file*/,COLOR_stream___IOS___close))( variable4 /*file*/) /*IFStream::close*/;
   }
@@ -753,49 +754,51 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
   return variable4;
 }
 val_t mmloader___ModuleLoader___parse_file(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___parse_file, 285};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 285, LOCATE_mmloader___ModuleLoader___parse_file};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "parse_file", LOCATE_mmloader___ModuleLoader___load_module, 285);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 285);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void mmloader___ModuleLoader___process_metamodel(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___process_metamodel, 288};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 288, LOCATE_mmloader___ModuleLoader___process_metamodel};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "process_metamodel", LOCATE_mmloader___ModuleLoader___load_module, 288);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 288);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___MMModule___filename(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___filename, 293};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 293, LOCATE_mmloader___MMModule___filename};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___MMModule____filename( self) /*MMModule::_filename*/;
 }
 void mmloader___MMModule___filename__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___filename__eq, 293};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 293, LOCATE_mmloader___MMModule___filename__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmloader___MMModule____filename( self) /*MMModule::_filename*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___MMModule___mtime(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___mtime, 296};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 296, LOCATE_mmloader___MMModule___mtime};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___MMModule____mtime( self) /*MMModule::_mtime*/;
 }
 void mmloader___MMModule___mtime__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___mtime__eq, 296};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 296, LOCATE_mmloader___MMModule___mtime__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmloader___MMModule____mtime( self) /*MMModule::_mtime*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___import_supers_modules, 299};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 299, LOCATE_mmloader___MMModule___import_supers_modules};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -808,8 +811,8 @@ void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
   variable2 = ((abstractmetamodel___MMModule___context_t)CALL( self,COLOR_abstractmetamodel___MMModule___context))( self) /*MMModule::context*/;
   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 (%s: %d)\n", "", LOCATE_mmloader___MMModule___import_supers_modules, 303); nit_exit(1);}
-  variable3 = NEW_array___Array___init(); /*new Array[MMModule]*/
+  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]*/
   variable2 = variable3;
   variable3 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*names*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*names*/) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -818,12 +821,12 @@ void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
     variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
     variable6 = ((mmloader___ToolContext___get_module_t)CALL( variable1 /*c*/,COLOR_mmloader___ToolContext___get_module))( variable1 /*c*/,  variable4 /*n*/,  self) /*ToolContext::get_module*/;
     variable5 = variable6;
-    ((array___AbstractArray___add_t)CALL( variable2 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*supers*/,  variable5 /*m*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable2 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*supers*/,  variable5 /*m*/) /*AbstractArray::add*/;
     continue_20: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
   }
   break_20: while(0);
-  ((abstractmetamodel___MMContext___add_module_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMContext___add_module))( variable1 /*c*/,  self,  variable2 /*supers*/) /*ToolContext::add_module*/;
+  ((abstractmetamodel___MMContext___add_module_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMContext___add_module))( variable1 /*c*/,  self,  variable2 /*supers*/) /*MMContext::add_module*/;
   tracehead = trace.prev;
   return;
 }
index a4614fe..a2401ba 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires mmloader. */
-#ifndef mmloader_3_sep
-#define mmloader_3_sep
+#ifndef mmloader_2_sep
+#define mmloader_2_sep
 #include "metamodel._sep.h"
 #include "opts._sep.h"
 #include <nit_common.h>
@@ -8,7 +8,7 @@
 extern const classtable_elt_t VFT_ToolContext[];
 
 extern const classtable_elt_t VFT_ModuleLoader[];
-#define LOCATE_mmloader "mmloader"
+#define LOCATE_mmloader "./mmloader.nit"
 extern const int SFT_mmloader[];
 #define ID_ToolContext SFT_mmloader[0]
 #define COLOR_ToolContext SFT_mmloader[1]
index 0fd5ed8..032f0a0 100644 (file)
@@ -1,55 +1,55 @@
 /* This C file is generated by NIT to compile module nitc. */
 #include "nitc._sep.h"
 val_t nitc___NitCompiler___opt_output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_output, 26};
+  struct trace_t trace = {NULL, LOCATE_nitc, 26, LOCATE_nitc___NitCompiler___opt_output};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_output( self) /*NitCompiler::_opt_output*/;
 }
 val_t nitc___NitCompiler___opt_boost(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_boost, 27};
+  struct trace_t trace = {NULL, LOCATE_nitc, 27, LOCATE_nitc___NitCompiler___opt_boost};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_boost( self) /*NitCompiler::_opt_boost*/;
 }
 val_t nitc___NitCompiler___opt_no_cc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_no_cc, 28};
+  struct trace_t trace = {NULL, LOCATE_nitc, 28, LOCATE_nitc___NitCompiler___opt_no_cc};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_no_cc( self) /*NitCompiler::_opt_no_cc*/;
 }
 val_t nitc___NitCompiler___opt_attr_sim(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_attr_sim, 29};
+  struct trace_t trace = {NULL, LOCATE_nitc, 29, LOCATE_nitc___NitCompiler___opt_attr_sim};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_attr_sim( self) /*NitCompiler::_opt_attr_sim*/;
 }
 val_t nitc___NitCompiler___opt_global(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_global, 30};
+  struct trace_t trace = {NULL, LOCATE_nitc, 30, LOCATE_nitc___NitCompiler___opt_global};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_global( self) /*NitCompiler::_opt_global*/;
 }
 val_t nitc___NitCompiler___opt_clibdir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_clibdir, 31};
+  struct trace_t trace = {NULL, LOCATE_nitc, 31, LOCATE_nitc___NitCompiler___opt_clibdir};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_clibdir( self) /*NitCompiler::_opt_clibdir*/;
 }
 val_t nitc___NitCompiler___opt_bindir(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_bindir, 32};
+  struct trace_t trace = {NULL, LOCATE_nitc, 32, LOCATE_nitc___NitCompiler___opt_bindir};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_bindir( self) /*NitCompiler::_opt_bindir*/;
 }
 val_t nitc___NitCompiler___opt_extension_prefix(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___opt_extension_prefix, 33};
+  struct trace_t trace = {NULL, LOCATE_nitc, 33, LOCATE_nitc___NitCompiler___opt_extension_prefix};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_nitc___NitCompiler____opt_extension_prefix( self) /*NitCompiler::_opt_extension_prefix*/;
 }
 void nitc___NitCompiler___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___init, 35};
+  struct trace_t trace = {NULL, LOCATE_nitc, 35, LOCATE_nitc___NitCompiler___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -63,33 +63,33 @@ void nitc___NitCompiler___init(val_t  self, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   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) /*NitCompiler::option_context*/;
-  variable1 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Option]*/
+  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(8)); /*new Array[E]*/
   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) /*Array::add*/;
+  ((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*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*AbstractArray::add*/;
   variable4 = ((nitc___NitCompiler___opt_no_cc_t)CALL( self,COLOR_nitc___NitCompiler___opt_no_cc))( self) /*NitCompiler::opt_no_cc*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*AbstractArray::add*/;
   variable5 = ((nitc___NitCompiler___opt_attr_sim_t)CALL( self,COLOR_nitc___NitCompiler___opt_attr_sim))( self) /*NitCompiler::opt_attr_sim*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*AbstractArray::add*/;
   variable6 = ((nitc___NitCompiler___opt_global_t)CALL( self,COLOR_nitc___NitCompiler___opt_global))( self) /*NitCompiler::opt_global*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*AbstractArray::add*/;
   variable7 = ((nitc___NitCompiler___opt_clibdir_t)CALL( self,COLOR_nitc___NitCompiler___opt_clibdir))( self) /*NitCompiler::opt_clibdir*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*AbstractArray::add*/;
   variable8 = ((nitc___NitCompiler___opt_bindir_t)CALL( self,COLOR_nitc___NitCompiler___opt_bindir))( self) /*NitCompiler::opt_bindir*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable8) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable8) /*AbstractArray::add*/;
   variable9 = ((nitc___NitCompiler___opt_extension_prefix_t)CALL( self,COLOR_nitc___NitCompiler___opt_extension_prefix))( self) /*NitCompiler::opt_extension_prefix*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable9) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable9) /*AbstractArray::add*/;
   ((opts___OptionContext___add_option_t)CALL(variable0,COLOR_opts___OptionContext___add_option))(variable0, variable1) /*OptionContext::add_option*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_NitCompiler].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void nitc___NitCompiler___process_options(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___process_options, 41};
+  struct trace_t trace = {NULL, LOCATE_nitc, 41, LOCATE_nitc___NitCompiler___process_options};
   val_t variable0;
-  val_t variable1;
+    val_t variable1;
     static val_t once_value_variable1_2; static int once_bool_variable1_2;
       val_t variable2;
       val_t variable3;
@@ -101,49 +101,36 @@ void nitc___NitCompiler___process_options(val_t  self) {
     static val_t once_value_variable1_3; static int once_bool_variable1_3;
   trace.prev = tracehead; tracehead = &trace;
   ((nitc___NitCompiler___process_options_t)CALL( self,COLOR_SUPER_nitc___NitCompiler___process_options))( self) /*super NitCompiler::process_options*/;
-  variable0 = NEW_mmloader___ToolContext___init(); /*new ToolContext*/
-  ((syntax___MMContext___tc__eq_t)CALL( self,COLOR_syntax___MMContext___tc__eq))( self, variable0) /*NitCompiler::tc=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_output_t)CALL( self,COLOR_nitc___NitCompiler___opt_output))( self) /*NitCompiler::opt_output*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionString::value*/;
-  ((compiling_base___ToolContext___output_file__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___output_file__eq))(variable0, variable1) /*ToolContext::output_file=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_boost_t)CALL( self,COLOR_nitc___NitCompiler___opt_boost))( self) /*NitCompiler::opt_boost*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionBool::value*/;
-  ((compiling_base___ToolContext___boost__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___boost__eq))(variable0, variable1) /*ToolContext::boost=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_no_cc_t)CALL( self,COLOR_nitc___NitCompiler___opt_no_cc))( self) /*NitCompiler::opt_no_cc*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionBool::value*/;
-  ((compiling_base___ToolContext___no_cc__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___no_cc__eq))(variable0, variable1) /*ToolContext::no_cc=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_extension_prefix_t)CALL( self,COLOR_nitc___NitCompiler___opt_extension_prefix))( self) /*NitCompiler::opt_extension_prefix*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionString::value*/;
-  ((compiling_base___ToolContext___ext_prefix__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___ext_prefix__eq))(variable0, variable1) /*ToolContext::ext_prefix=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable0 = ((compiling_base___ToolContext___ext_prefix_t)CALL(variable0,COLOR_compiling_base___ToolContext___ext_prefix))(variable0) /*ToolContext::ext_prefix*/;
+  variable0 = ((nitc___NitCompiler___opt_output_t)CALL( self,COLOR_nitc___NitCompiler___opt_output))( self) /*NitCompiler::opt_output*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___output_file__eq_t)CALL( self,COLOR_compiling_base___ToolContext___output_file__eq))( self, variable0) /*ToolContext::output_file=*/;
+  variable0 = ((nitc___NitCompiler___opt_boost_t)CALL( self,COLOR_nitc___NitCompiler___opt_boost))( self) /*NitCompiler::opt_boost*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___boost__eq_t)CALL( self,COLOR_compiling_base___ToolContext___boost__eq))( self, variable0) /*ToolContext::boost=*/;
+  variable0 = ((nitc___NitCompiler___opt_no_cc_t)CALL( self,COLOR_nitc___NitCompiler___opt_no_cc))( self) /*NitCompiler::opt_no_cc*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___no_cc__eq_t)CALL( self,COLOR_compiling_base___ToolContext___no_cc__eq))( self, variable0) /*ToolContext::no_cc=*/;
+  variable0 = ((nitc___NitCompiler___opt_extension_prefix_t)CALL( self,COLOR_nitc___NitCompiler___opt_extension_prefix))( self) /*NitCompiler::opt_extension_prefix*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___ext_prefix__eq_t)CALL( self,COLOR_compiling_base___ToolContext___ext_prefix__eq))( self, variable0) /*ToolContext::ext_prefix=*/;
+  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 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-    variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
-    ((compiling_base___ToolContext___ext_prefix__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___ext_prefix__eq))(variable0, variable1) /*ToolContext::ext_prefix=*/;
+    variable0 = NEW_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 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_attr_sim_t)CALL( self,COLOR_nitc___NitCompiler___opt_attr_sim))( self) /*NitCompiler::opt_attr_sim*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionBool::value*/;
-  ((compiling_base___ToolContext___attr_sim__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___attr_sim__eq))(variable0, variable1) /*ToolContext::attr_sim=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_global_t)CALL( self,COLOR_nitc___NitCompiler___opt_global))( self) /*NitCompiler::opt_global*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionBool::value*/;
-  ((compiling_base___ToolContext___global__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___global__eq))(variable0, variable1) /*ToolContext::global=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = NEW_string___String___with_native(BOX_NativeString(".nit_compile"), TAG_Int(12)); /*new String*/
-  ((compiling_base___ToolContext___base_dir__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___base_dir__eq))(variable0, variable1) /*ToolContext::base_dir=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_clibdir_t)CALL( self,COLOR_nitc___NitCompiler___opt_clibdir))( self) /*NitCompiler::opt_clibdir*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionString::value*/;
-  ((compiling_base___ToolContext___clibdir__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___clibdir__eq))(variable0, variable1) /*ToolContext::clibdir=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable0 = ((compiling_base___ToolContext___clibdir_t)CALL(variable0,COLOR_compiling_base___ToolContext___clibdir))(variable0) /*ToolContext::clibdir*/;
+  variable0 = ((nitc___NitCompiler___opt_attr_sim_t)CALL( self,COLOR_nitc___NitCompiler___opt_attr_sim))( self) /*NitCompiler::opt_attr_sim*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___attr_sim__eq_t)CALL( self,COLOR_compiling_base___ToolContext___attr_sim__eq))( self, variable0) /*ToolContext::attr_sim=*/;
+  variable0 = ((nitc___NitCompiler___opt_global_t)CALL( self,COLOR_nitc___NitCompiler___opt_global))( self) /*NitCompiler::opt_global*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___global__eq_t)CALL( self,COLOR_compiling_base___ToolContext___global__eq))( self, variable0) /*ToolContext::global=*/;
+  variable0 = NEW_string___String___with_native(BOX_NativeString(".nit_compile"), TAG_Int(12)); /*new String*/
+  ((compiling_base___ToolContext___base_dir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___base_dir__eq))( self, variable0) /*ToolContext::base_dir=*/;
+  variable0 = ((nitc___NitCompiler___opt_clibdir_t)CALL( self,COLOR_nitc___NitCompiler___opt_clibdir))( self) /*NitCompiler::opt_clibdir*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___clibdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___clibdir__eq))( self, variable0) /*ToolContext::clibdir=*/;
+  variable0 = ((compiling_base___ToolContext___clibdir_t)CALL( self,COLOR_compiling_base___ToolContext___clibdir))( self) /*ToolContext::clibdir*/;
   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*/
     if (once_bool_variable1_2) variable1 = once_value_variable1_2;
@@ -155,7 +142,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
       once_bool_variable1_2 = true;
     }
     variable0 = variable1;
-    variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dir*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dir*/) /*String::is_empty*/;
+    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*/
@@ -172,8 +159,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
       variable1 = variable2;
       variable2 = ((file___String___file_exists_t)CALL( variable1 /*dir*/,COLOR_file___String___file_exists))( variable1 /*dir*/) /*String::file_exists*/;
       if (UNTAG_Bool(variable2)) { /*if*/
-        variable2 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-        ((compiling_base___ToolContext___clibdir__eq_t)CALL(variable2,COLOR_compiling_base___ToolContext___clibdir__eq))(variable2,  variable1 /*dir*/) /*ToolContext::clibdir=*/;
+        ((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*/
@@ -188,25 +174,21 @@ void nitc___NitCompiler___process_options(val_t  self) {
       variable0 = variable1 /*dir=*/;
       variable1 = ((file___String___file_exists_t)CALL( variable0 /*dir*/,COLOR_file___String___file_exists))( variable0 /*dir*/) /*String::file_exists*/;
       if (UNTAG_Bool(variable1)) { /*if*/
-        variable1 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-        ((compiling_base___ToolContext___clibdir__eq_t)CALL(variable1,COLOR_compiling_base___ToolContext___clibdir__eq))(variable1,  variable0 /*dir*/) /*ToolContext::clibdir=*/;
+        ((compiling_base___ToolContext___clibdir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___clibdir__eq))( self,  variable0 /*dir*/) /*ToolContext::clibdir=*/;
       }
     }
-    variable1 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-    variable1 = ((compiling_base___ToolContext___clibdir_t)CALL(variable1,COLOR_compiling_base___ToolContext___clibdir))(variable1) /*ToolContext::clibdir*/;
+    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*/
-      ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable1) /*NitCompiler::error*/;
+      ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable1) /*ToolContext::error*/;
       exit(UNTAG_Int( TAG_Int(1)));
     }
   }
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable1 = ((nitc___NitCompiler___opt_bindir_t)CALL( self,COLOR_nitc___NitCompiler___opt_bindir))( self) /*NitCompiler::opt_bindir*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionString::value*/;
-  ((compiling_base___ToolContext___bindir__eq_t)CALL(variable0,COLOR_compiling_base___ToolContext___bindir__eq))(variable0, variable1) /*ToolContext::bindir=*/;
-  variable0 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-  variable0 = ((compiling_base___ToolContext___bindir_t)CALL(variable0,COLOR_compiling_base___ToolContext___bindir))(variable0) /*ToolContext::bindir*/;
+  variable0 = ((nitc___NitCompiler___opt_bindir_t)CALL( self,COLOR_nitc___NitCompiler___opt_bindir))( self) /*NitCompiler::opt_bindir*/;
+  variable0 = ((opts___Option___value_t)CALL(variable0,COLOR_opts___Option___value))(variable0) /*Option::value*/;
+  ((compiling_base___ToolContext___bindir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___bindir__eq))( self, variable0) /*ToolContext::bindir=*/;
+  variable0 = ((compiling_base___ToolContext___bindir_t)CALL( self,COLOR_compiling_base___ToolContext___bindir))( self) /*ToolContext::bindir*/;
   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*/
     if (once_bool_variable1_3) variable1 = once_value_variable1_3;
@@ -218,7 +200,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
       once_bool_variable1_3 = true;
     }
     variable0 = variable1;
-    variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dir*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dir*/) /*String::is_empty*/;
+    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*/
@@ -235,8 +217,7 @@ void nitc___NitCompiler___process_options(val_t  self) {
       variable1 = variable2;
       variable2 = ((file___String___file_exists_t)CALL( variable1 /*dir*/,COLOR_file___String___file_exists))( variable1 /*dir*/) /*String::file_exists*/;
       if (UNTAG_Bool(variable2)) { /*if*/
-        variable2 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-        ((compiling_base___ToolContext___bindir__eq_t)CALL(variable2,COLOR_compiling_base___ToolContext___bindir__eq))(variable2,  variable1 /*dir*/) /*ToolContext::bindir=*/;
+        ((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*/
@@ -251,16 +232,14 @@ void nitc___NitCompiler___process_options(val_t  self) {
       variable0 = variable1 /*dir=*/;
       variable1 = ((file___String___file_exists_t)CALL( variable0 /*dir*/,COLOR_file___String___file_exists))( variable0 /*dir*/) /*String::file_exists*/;
       if (UNTAG_Bool(variable1)) { /*if*/
-        variable1 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-        ((compiling_base___ToolContext___bindir__eq_t)CALL(variable1,COLOR_compiling_base___ToolContext___bindir__eq))(variable1,  variable0 /*dir*/) /*ToolContext::bindir=*/;
+        ((compiling_base___ToolContext___bindir__eq_t)CALL( self,COLOR_compiling_base___ToolContext___bindir__eq))( self,  variable0 /*dir*/) /*ToolContext::bindir=*/;
       }
     }
-    variable1 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-    variable1 = ((compiling_base___ToolContext___bindir_t)CALL(variable1,COLOR_compiling_base___ToolContext___bindir))(variable1) /*ToolContext::bindir*/;
+    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*/
-      ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable1) /*NitCompiler::error*/;
+      ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable1) /*ToolContext::error*/;
       exit(UNTAG_Int( TAG_Int(1)));
     }
   }
@@ -268,22 +247,21 @@ void nitc___NitCompiler___process_options(val_t  self) {
   return;
 }
 void nitc___NitCompiler___perform_work(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_nitc___NitCompiler___perform_work, 85};
+  struct trace_t trace = {NULL, LOCATE_nitc, 84, LOCATE_nitc___NitCompiler___perform_work};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*mods*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*mods*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*mods*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*mods*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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 /*mod*/==NIT_NULL) || VAL_ISA( variable2 /*mod*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
-    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_nitc___NitCompiler___perform_work, 88); nit_exit(1);}
-    variable3 = ((syntax___MMContext___tc_t)CALL( self,COLOR_syntax___MMContext___tc))( self) /*NitCompiler::tc*/;
-    ((compiling___MMSrcModule___compile_prog_to_c_t)CALL( variable2 /*mod*/,COLOR_compiling___MMSrcModule___compile_prog_to_c))( variable2 /*mod*/, variable3) /*MMSrcModule::compile_prog_to_c*/;
+    if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_nitc___NitCompiler___perform_work, LOCATE_nitc, 87); nit_exit(1);}
+    ((compiling___MMSrcModule___compile_prog_to_c_t)CALL( variable2 /*mod*/,COLOR_compiling___MMSrcModule___compile_prog_to_c))( variable2 /*mod*/,  self) /*MMSrcModule::compile_prog_to_c*/;
     continue_5: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -292,13 +270,13 @@ void nitc___NitCompiler___perform_work(val_t  self, val_t  param0) {
   return;
 }
 void nitc___Sys___main(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_nitc___Sys___main, 95};
+  struct trace_t trace = {NULL, LOCATE_nitc, 94, LOCATE_nitc___Sys___main};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable1 = NEW_nitc___NitCompiler___init(); /*new NitCompiler*/
   variable0 = variable1;
-  ((abstracttool___AbstractCompiler___exec_cmd_line_t)CALL( variable0 /*c*/,COLOR_abstracttool___AbstractCompiler___exec_cmd_line))( variable0 /*c*/) /*NitCompiler::exec_cmd_line*/;
+  ((abstracttool___AbstractCompiler___exec_cmd_line_t)CALL( variable0 /*c*/,COLOR_abstracttool___AbstractCompiler___exec_cmd_line))( variable0 /*c*/) /*AbstractCompiler::exec_cmd_line*/;
   tracehead = trace.prev;
   return;
 }
index 702ebbd..f0f76a0 100644 (file)
@@ -1,12 +1,12 @@
 /* This C header file is generated by NIT to compile modules and programs that requires nitc. */
-#ifndef nitc_3_sep
-#define nitc_3_sep
+#ifndef nitc_2_sep
+#define nitc_2_sep
 #include "abstracttool._sep.h"
 #include "compiling._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_NitCompiler[];
-#define LOCATE_nitc "nitc"
+#define LOCATE_nitc "./nitc.nit"
 extern const int SFT_nitc[];
 #define ID_NitCompiler SFT_nitc[0]
 #define COLOR_NitCompiler SFT_nitc[1]
index b4e43bd..7f48141 100644 (file)
 #include "nitc._sep.h"
 #include <nit_common.h>
 const int SFT_abstracttool[9] = {
-  3227 /* Id of AbstractCompiler */,
+  3239 /* Id of AbstractCompiler */,
   4 /* Color of AbstractCompiler */,
-  88 /* Color of AbstractCompiler */,
-  89 /* Property init */,
-  90 /* Property exec_cmd_line */,
-  91 /* Property perform_work */,
-  92 /* Property dump_context_info */,
+  86 /* Color of AbstractCompiler */,
+  87 /* Property init */,
+  88 /* Property exec_cmd_line */,
+  89 /* Property perform_work */,
+  90 /* Property dump_context_info */,
   40 /* Property dump_module_info */,
   40 /* Property dump_properties */,
 };
-const int SFT_syntax[9] = {
+const int SFT_syntax[6] = {
   203 /* Id of SrcModuleLoader */,
   3 /* Color of SrcModuleLoader */,
   48 /* Color of SrcModuleLoader */,
   49 /* Property init */,
-  1 /* Property _tc */,
-  40 /* Property tc */,
-  41 /* Property tc= */,
   84 /* Property process_supermodules */,
   85 /* Property process_syntax */,
 };
-const int SFT_mmbuilder[128] = {
-  2655 /* Id of CSHSorter */,
+const int SFT_mmbuilder[131] = {
+  2667 /* Id of CSHSorter */,
   3 /* Color of CSHSorter */,
   46 /* Color of CSHSorter */,
   47 /* Property init */,
   86 /* Property do_mmbuilder */,
-  105 /* Property add_src_local_property */,
-  2551 /* Id of MMSrcAncestor */,
+  41 /* Property accept_class_visitor */,
+  42 /* Property accept_properties_visitor */,
+  110 /* Property add_src_local_property */,
+  43 /* Property accept_property_visitor */,
+  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 */,
-  3215 /* Id of ClassBuilderVisitor */,
+  3227 /* Id of ClassBuilderVisitor */,
   4 /* Color of ClassBuilderVisitor */,
   5 /* Property _local_class_arity */,
   6 /* Property _formals */,
@@ -91,23 +91,23 @@ const int SFT_mmbuilder[128] = {
   67 /* Property formals */,
   68 /* Property formals= */,
   69 /* Property init */,
-  3211 /* Id of ClassSpecializationBuilderVisitor */,
+  3223 /* Id of ClassSpecializationBuilderVisitor */,
   4 /* Color of ClassSpecializationBuilderVisitor */,
   64 /* Color of ClassSpecializationBuilderVisitor */,
   65 /* Property init */,
-  3219 /* Id of ClassAncestorBuilder */,
+  3231 /* Id of ClassAncestorBuilder */,
   4 /* Color of ClassAncestorBuilder */,
   64 /* Color of ClassAncestorBuilder */,
   65 /* Property init */,
-  3207 /* Id of ClassVerifierVisitor */,
+  3219 /* Id of ClassVerifierVisitor */,
   4 /* Color of ClassVerifierVisitor */,
   64 /* Color of ClassVerifierVisitor */,
   65 /* Property init */,
-  3027 /* Id of PropertyBuilderVisitor */,
+  3043 /* Id of PropertyBuilderVisitor */,
   4 /* Color of PropertyBuilderVisitor */,
   64 /* Color of PropertyBuilderVisitor */,
   65 /* Property init */,
-  3023 /* Id of PropertyVerifierVisitor */,
+  3039 /* Id of PropertyVerifierVisitor */,
   4 /* Color of PropertyVerifierVisitor */,
   5 /* Property _params */,
   6 /* Property _untyped_params */,
@@ -143,12 +143,12 @@ const int SFT_mmbuilder[128] = {
   68 /* Property is_universal */,
   69 /* Property is_abstract */,
   75 /* Property accept_class_verifier */,
-  3279 /* Id of MMSrcTypeFormalParameter */,
+  3287 /* Id of MMSrcTypeFormalParameter */,
   5 /* Color of MMSrcTypeFormalParameter */,
   5 /* Property _node */,
-  71 /* Color of MMSrcTypeFormalParameter */,
-  72 /* Property node */,
-  73 /* Property init */,
+  67 /* Color of MMSrcTypeFormalParameter */,
+  68 /* Property node */,
+  69 /* Property init */,
   4 /* Property _formal */,
   68 /* Property accept_class_builder */,
   69 /* Property accept_class_verifier */,
@@ -177,7 +177,7 @@ const int SFT_mmbuilder[128] = {
   74 /* Property accept_property_builder */,
   75 /* Property accept_property_verifier */,
   76 /* Property accept_abs_syntax_visitor */,
-  2523 /* Id of MethidAccumulator */,
+  2543 /* Id of MethidAccumulator */,
   3 /* Color of MethidAccumulator */,
   1 /* Property _name */,
   42 /* Color of MethidAccumulator */,
@@ -197,8 +197,8 @@ const int SFT_mmbuilder[128] = {
   70 /* Property is_vararg */,
   67 /* Property check_visibility */,
 };
-const int SFT_syntax_base[109] = {
-  2547 /* Id of MMSrcModule */,
+const int SFT_syntax_base[118] = {
+  2567 /* Id of MMSrcModule */,
   3 /* Color of MMSrcModule */,
   19 /* Property _node */,
   20 /* Property _src_local_classes */,
@@ -207,49 +207,49 @@ const int SFT_syntax_base[109] = {
   89 /* Property src_local_classes */,
   90 /* Property init */,
   43 /* Property check_visibility */,
-  3151 /* Id of MMSrcLocalClass */,
+  3171 /* Id of MMSrcLocalClass */,
   4 /* Color of MMSrcLocalClass */,
   24 /* Property _nodes */,
   25 /* Property _formal_dict */,
   26 /* Property _src_local_properties */,
-  106 /* Color of MMSrcLocalClass */,
-  107 /* Property nodes */,
-  108 /* Property formal_dict */,
-  109 /* Property formal_dict= */,
-  110 /* Property src_local_properties */,
-  111 /* Property init */,
+  111 /* Color of MMSrcLocalClass */,
+  112 /* Property nodes */,
+  113 /* Property formal_dict */,
+  114 /* Property formal_dict= */,
+  115 /* Property src_local_properties */,
+  116 /* Property init */,
   45 /* Property check_visibility */,
-  3147 /* Id of MMSrcLocalProperty */,
-  5 /* Color of MMSrcLocalProperty */,
-  12 /* Property _node */,
-  72 /* Color of MMSrcLocalProperty */,
-  73 /* Property node */,
-  3287 /* Id of MMSrcAttribute */,
-  6 /* Color of MMSrcAttribute */,
+  44 /* Property node */,
+  3175 /* Id of MMSrcAttribute */,
+  4 /* Color of MMSrcAttribute */,
+  9 /* Property _node */,
   63 /* Color of MMSrcAttribute */,
   64 /* Property init */,
-  3283 /* Id of MMSrcMethod */,
-  6 /* Color of MMSrcMethod */,
-  76 /* Color of MMSrcMethod */,
-  3615 /* Id of MMAttrImplementationMethod */,
-  7 /* Color of MMAttrImplementationMethod */,
-  77 /* Color of MMAttrImplementationMethod */,
-  3779 /* Id of MMReadImplementationMethod */,
-  8 /* Color of MMReadImplementationMethod */,
-  78 /* Color of MMReadImplementationMethod */,
-  79 /* Property init */,
-  3775 /* Id of MMWriteImplementationMethod */,
-  8 /* Color of MMWriteImplementationMethod */,
-  78 /* Color of MMWriteImplementationMethod */,
-  79 /* Property init */,
-  3611 /* Id of MMMethSrcMethod */,
-  7 /* Color of MMMethSrcMethod */,
-  77 /* Color of MMMethSrcMethod */,
-  78 /* Property init */,
-  3275 /* Id of MMSrcTypeProperty */,
-  6 /* Color of MMSrcTypeProperty */,
-  63 /* Color of MMSrcTypeProperty */,
-  64 /* Property init */,
+  3167 /* Id of MMSrcMethod */,
+  4 /* Color of MMSrcMethod */,
+  67 /* Color of MMSrcMethod */,
+  3295 /* Id of MMAttrImplementationMethod */,
+  5 /* Color of MMAttrImplementationMethod */,
+  9 /* Property _node */,
+  68 /* Color of MMAttrImplementationMethod */,
+  3627 /* Id of MMReadImplementationMethod */,
+  6 /* Color of MMReadImplementationMethod */,
+  69 /* Color of MMReadImplementationMethod */,
+  70 /* Property init */,
+  3623 /* Id of MMWriteImplementationMethod */,
+  6 /* Color of MMWriteImplementationMethod */,
+  69 /* Color of MMWriteImplementationMethod */,
+  70 /* Property init */,
+  3291 /* Id of MMMethSrcMethod */,
+  5 /* Color of MMMethSrcMethod */,
+  9 /* Property _node */,
+  68 /* Color of MMMethSrcMethod */,
+  69 /* Property init */,
+  3163 /* Id of MMSrcTypeProperty */,
+  4 /* Color of MMSrcTypeProperty */,
+  10 /* Property _node */,
+  64 /* Color of MMSrcTypeProperty */,
+  65 /* Property init */,
   15 /* Id of Variable */,
   2 /* Color of Variable */,
   1 /* Property _name */,
@@ -261,7 +261,7 @@ const int SFT_syntax_base[109] = {
   43 /* Property stype */,
   44 /* Property stype= */,
   45 /* Property init */,
-  2667 /* Id of AbsSyntaxVisitor */,
+  2679 /* Id of AbsSyntaxVisitor */,
   3 /* Color of AbsSyntaxVisitor */,
   1 /* Property _module */,
   2 /* Property _local_class */,
@@ -307,8 +307,17 @@ const int SFT_syntax_base[109] = {
   5 /* Property _stype_cache */,
   6 /* Property _stype_cached */,
   70 /* Property stype */,
+  6 /* Property _variable */,
+  77 /* Property variable */,
+  78 /* Property variable= */,
+  6 /* Property _variable */,
+  77 /* Property variable */,
+  78 /* Property variable= */,
+  6 /* Property _variable */,
+  76 /* Property variable */,
+  77 /* Property variable= */,
 };
-const int SFT_parser[2307] = {
+const int SFT_parser[2326] = {
   35 /* Id of State */,
   2 /* Color of State */,
   1 /* Property _state */,
@@ -319,17 +328,20 @@ const int SFT_parser[2307] = {
   43 /* Property nodes */,
   44 /* Property nodes= */,
   45 /* Property init */,
-  1 /* Property _lexer */,
-  2 /* Property _stack */,
-  3 /* Property _stack_pos */,
-  4 /* Property _reduce_table */,
-  40 /* Property init */,
-  41 /* Property go_to */,
-  42 /* Property push */,
-  43 /* Property state */,
-  44 /* Property pop */,
-  45 /* Property parse */,
-  46 /* Property build_reduce_table */,
+  2519 /* Id of Parser */,
+  3 /* Color of Parser */,
+  3 /* Property _lexer */,
+  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 */,
   207 /* Id of SearchTokensVisitor */,
   3 /* Color of SearchTokensVisitor */,
   1 /* Property _untokenned_nodes */,
@@ -340,27 +352,27 @@ const int SFT_parser[2307] = {
   2 /* Color of ReduceAction */,
   40 /* Color of ReduceAction */,
   41 /* Property action */,
-  2487 /* Id of ReduceAction0 */,
+  2503 /* Id of ReduceAction0 */,
   3 /* Color of ReduceAction0 */,
   42 /* Color of ReduceAction0 */,
   43 /* Property init */,
-  2483 /* Id of ReduceAction1 */,
+  2499 /* Id of ReduceAction1 */,
   3 /* Color of ReduceAction1 */,
   42 /* Color of ReduceAction1 */,
   43 /* Property init */,
-  2039 /* Id of ReduceAction2 */,
+  2055 /* Id of ReduceAction2 */,
   3 /* Color of ReduceAction2 */,
   42 /* Color of ReduceAction2 */,
   43 /* Property init */,
-  1595 /* Id of ReduceAction3 */,
+  1611 /* Id of ReduceAction3 */,
   3 /* Color of ReduceAction3 */,
   42 /* Color of ReduceAction3 */,
   43 /* Property init */,
-  1151 /* Id of ReduceAction4 */,
+  1167 /* Id of ReduceAction4 */,
   3 /* Color of ReduceAction4 */,
   42 /* Color of ReduceAction4 */,
   43 /* Property init */,
-  707 /* Id of ReduceAction5 */,
+  723 /* Id of ReduceAction5 */,
   3 /* Color of ReduceAction5 */,
   42 /* Color of ReduceAction5 */,
   43 /* Property init */,
@@ -380,195 +392,195 @@ const int SFT_parser[2307] = {
   3 /* Color of ReduceAction9 */,
   42 /* Color of ReduceAction9 */,
   43 /* Property init */,
-  2479 /* Id of ReduceAction10 */,
+  2495 /* Id of ReduceAction10 */,
   3 /* Color of ReduceAction10 */,
   42 /* Color of ReduceAction10 */,
   43 /* Property init */,
-  2435 /* Id of ReduceAction11 */,
+  2451 /* Id of ReduceAction11 */,
   3 /* Color of ReduceAction11 */,
   42 /* Color of ReduceAction11 */,
   43 /* Property init */,
-  2391 /* Id of ReduceAction12 */,
+  2407 /* Id of ReduceAction12 */,
   3 /* Color of ReduceAction12 */,
   42 /* Color of ReduceAction12 */,
   43 /* Property init */,
-  2347 /* Id of ReduceAction13 */,
+  2363 /* Id of ReduceAction13 */,
   3 /* Color of ReduceAction13 */,
   42 /* Color of ReduceAction13 */,
   43 /* Property init */,
-  2303 /* Id of ReduceAction14 */,
+  2319 /* Id of ReduceAction14 */,
   3 /* Color of ReduceAction14 */,
   42 /* Color of ReduceAction14 */,
   43 /* Property init */,
-  2259 /* Id of ReduceAction15 */,
+  2275 /* Id of ReduceAction15 */,
   3 /* Color of ReduceAction15 */,
   42 /* Color of ReduceAction15 */,
   43 /* Property init */,
-  2215 /* Id of ReduceAction16 */,
+  2231 /* Id of ReduceAction16 */,
   3 /* Color of ReduceAction16 */,
   42 /* Color of ReduceAction16 */,
   43 /* Property init */,
-  2171 /* Id of ReduceAction17 */,
+  2187 /* Id of ReduceAction17 */,
   3 /* Color of ReduceAction17 */,
   42 /* Color of ReduceAction17 */,
   43 /* Property init */,
-  2127 /* Id of ReduceAction18 */,
+  2143 /* Id of ReduceAction18 */,
   3 /* Color of ReduceAction18 */,
   42 /* Color of ReduceAction18 */,
   43 /* Property init */,
-  2083 /* Id of ReduceAction19 */,
+  2099 /* Id of ReduceAction19 */,
   3 /* Color of ReduceAction19 */,
   42 /* Color of ReduceAction19 */,
   43 /* Property init */,
-  2035 /* Id of ReduceAction20 */,
+  2051 /* Id of ReduceAction20 */,
   3 /* Color of ReduceAction20 */,
   42 /* Color of ReduceAction20 */,
   43 /* Property init */,
-  1991 /* Id of ReduceAction21 */,
+  2007 /* Id of ReduceAction21 */,
   3 /* Color of ReduceAction21 */,
   42 /* Color of ReduceAction21 */,
   43 /* Property init */,
-  1947 /* Id of ReduceAction22 */,
+  1963 /* Id of ReduceAction22 */,
   3 /* Color of ReduceAction22 */,
   42 /* Color of ReduceAction22 */,
   43 /* Property init */,
-  1903 /* Id of ReduceAction23 */,
+  1919 /* Id of ReduceAction23 */,
   3 /* Color of ReduceAction23 */,
   42 /* Color of ReduceAction23 */,
   43 /* Property init */,
-  1859 /* Id of ReduceAction24 */,
+  1875 /* Id of ReduceAction24 */,
   3 /* Color of ReduceAction24 */,
   42 /* Color of ReduceAction24 */,
   43 /* Property init */,
-  1815 /* Id of ReduceAction25 */,
+  1831 /* Id of ReduceAction25 */,
   3 /* Color of ReduceAction25 */,
   42 /* Color of ReduceAction25 */,
   43 /* Property init */,
-  1771 /* Id of ReduceAction26 */,
+  1787 /* Id of ReduceAction26 */,
   3 /* Color of ReduceAction26 */,
   42 /* Color of ReduceAction26 */,
   43 /* Property init */,
-  1727 /* Id of ReduceAction27 */,
+  1743 /* Id of ReduceAction27 */,
   3 /* Color of ReduceAction27 */,
   42 /* Color of ReduceAction27 */,
   43 /* Property init */,
-  1683 /* Id of ReduceAction28 */,
+  1699 /* Id of ReduceAction28 */,
   3 /* Color of ReduceAction28 */,
   42 /* Color of ReduceAction28 */,
   43 /* Property init */,
-  1639 /* Id of ReduceAction29 */,
+  1655 /* Id of ReduceAction29 */,
   3 /* Color of ReduceAction29 */,
   42 /* Color of ReduceAction29 */,
   43 /* Property init */,
-  1591 /* Id of ReduceAction30 */,
+  1607 /* Id of ReduceAction30 */,
   3 /* Color of ReduceAction30 */,
   42 /* Color of ReduceAction30 */,
   43 /* Property init */,
-  1547 /* Id of ReduceAction31 */,
+  1563 /* Id of ReduceAction31 */,
   3 /* Color of ReduceAction31 */,
   42 /* Color of ReduceAction31 */,
   43 /* Property init */,
-  1503 /* Id of ReduceAction32 */,
+  1519 /* Id of ReduceAction32 */,
   3 /* Color of ReduceAction32 */,
   42 /* Color of ReduceAction32 */,
   43 /* Property init */,
-  1459 /* Id of ReduceAction33 */,
+  1475 /* Id of ReduceAction33 */,
   3 /* Color of ReduceAction33 */,
   42 /* Color of ReduceAction33 */,
   43 /* Property init */,
-  1415 /* Id of ReduceAction34 */,
+  1431 /* Id of ReduceAction34 */,
   3 /* Color of ReduceAction34 */,
   42 /* Color of ReduceAction34 */,
   43 /* Property init */,
-  1371 /* Id of ReduceAction35 */,
+  1387 /* Id of ReduceAction35 */,
   3 /* Color of ReduceAction35 */,
   42 /* Color of ReduceAction35 */,
   43 /* Property init */,
-  1327 /* Id of ReduceAction36 */,
+  1343 /* Id of ReduceAction36 */,
   3 /* Color of ReduceAction36 */,
   42 /* Color of ReduceAction36 */,
   43 /* Property init */,
-  1283 /* Id of ReduceAction37 */,
+  1299 /* Id of ReduceAction37 */,
   3 /* Color of ReduceAction37 */,
   42 /* Color of ReduceAction37 */,
   43 /* Property init */,
-  1239 /* Id of ReduceAction38 */,
+  1255 /* Id of ReduceAction38 */,
   3 /* Color of ReduceAction38 */,
   42 /* Color of ReduceAction38 */,
   43 /* Property init */,
-  1195 /* Id of ReduceAction39 */,
+  1211 /* Id of ReduceAction39 */,
   3 /* Color of ReduceAction39 */,
   42 /* Color of ReduceAction39 */,
   43 /* Property init */,
-  1147 /* Id of ReduceAction40 */,
+  1163 /* Id of ReduceAction40 */,
   3 /* Color of ReduceAction40 */,
   42 /* Color of ReduceAction40 */,
   43 /* Property init */,
-  1103 /* Id of ReduceAction41 */,
+  1119 /* Id of ReduceAction41 */,
   3 /* Color of ReduceAction41 */,
   42 /* Color of ReduceAction41 */,
   43 /* Property init */,
-  1059 /* Id of ReduceAction42 */,
+  1075 /* Id of ReduceAction42 */,
   3 /* Color of ReduceAction42 */,
   42 /* Color of ReduceAction42 */,
   43 /* Property init */,
-  1015 /* Id of ReduceAction43 */,
+  1031 /* Id of ReduceAction43 */,
   3 /* Color of ReduceAction43 */,
   42 /* Color of ReduceAction43 */,
   43 /* Property init */,
-  971 /* Id of ReduceAction44 */,
+  987 /* Id of ReduceAction44 */,
   3 /* Color of ReduceAction44 */,
   42 /* Color of ReduceAction44 */,
   43 /* Property init */,
-  927 /* Id of ReduceAction45 */,
+  943 /* Id of ReduceAction45 */,
   3 /* Color of ReduceAction45 */,
   42 /* Color of ReduceAction45 */,
   43 /* Property init */,
-  883 /* Id of ReduceAction46 */,
+  899 /* Id of ReduceAction46 */,
   3 /* Color of ReduceAction46 */,
   42 /* Color of ReduceAction46 */,
   43 /* Property init */,
-  839 /* Id of ReduceAction47 */,
+  855 /* Id of ReduceAction47 */,
   3 /* Color of ReduceAction47 */,
   42 /* Color of ReduceAction47 */,
   43 /* Property init */,
-  795 /* Id of ReduceAction48 */,
+  811 /* Id of ReduceAction48 */,
   3 /* Color of ReduceAction48 */,
   42 /* Color of ReduceAction48 */,
   43 /* Property init */,
-  751 /* Id of ReduceAction49 */,
+  767 /* Id of ReduceAction49 */,
   3 /* Color of ReduceAction49 */,
   42 /* Color of ReduceAction49 */,
   43 /* Property init */,
-  703 /* Id of ReduceAction50 */,
+  719 /* Id of ReduceAction50 */,
   3 /* Color of ReduceAction50 */,
   42 /* Color of ReduceAction50 */,
   43 /* Property init */,
-  659 /* Id of ReduceAction51 */,
+  675 /* Id of ReduceAction51 */,
   3 /* Color of ReduceAction51 */,
   42 /* Color of ReduceAction51 */,
   43 /* Property init */,
-  615 /* Id of ReduceAction52 */,
+  631 /* Id of ReduceAction52 */,
   3 /* Color of ReduceAction52 */,
   42 /* Color of ReduceAction52 */,
   43 /* Property init */,
-  571 /* Id of ReduceAction53 */,
+  587 /* Id of ReduceAction53 */,
   3 /* Color of ReduceAction53 */,
   42 /* Color of ReduceAction53 */,
   43 /* Property init */,
-  527 /* Id of ReduceAction54 */,
+  543 /* Id of ReduceAction54 */,
   3 /* Color of ReduceAction54 */,
   42 /* Color of ReduceAction54 */,
   43 /* Property init */,
-  483 /* Id of ReduceAction55 */,
+  499 /* Id of ReduceAction55 */,
   3 /* Color of ReduceAction55 */,
   42 /* Color of ReduceAction55 */,
   43 /* Property init */,
-  439 /* Id of ReduceAction56 */,
+  455 /* Id of ReduceAction56 */,
   3 /* Color of ReduceAction56 */,
   42 /* Color of ReduceAction56 */,
   43 /* Property init */,
-  399 /* Id of ReduceAction57 */,
+  411 /* Id of ReduceAction57 */,
   3 /* Color of ReduceAction57 */,
   42 /* Color of ReduceAction57 */,
   43 /* Property init */,
@@ -740,1884 +752,1900 @@ const int SFT_parser[2307] = {
   3 /* Color of ReduceAction99 */,
   42 /* Color of ReduceAction99 */,
   43 /* Property init */,
-  2475 /* Id of ReduceAction100 */,
+  2491 /* Id of ReduceAction100 */,
   3 /* Color of ReduceAction100 */,
   42 /* Color of ReduceAction100 */,
   43 /* Property init */,
-  2471 /* Id of ReduceAction101 */,
+  2487 /* Id of ReduceAction101 */,
   3 /* Color of ReduceAction101 */,
   42 /* Color of ReduceAction101 */,
   43 /* Property init */,
-  2467 /* Id of ReduceAction102 */,
+  2483 /* Id of ReduceAction102 */,
   3 /* Color of ReduceAction102 */,
   42 /* Color of ReduceAction102 */,
   43 /* Property init */,
-  2463 /* Id of ReduceAction103 */,
+  2479 /* Id of ReduceAction103 */,
   3 /* Color of ReduceAction103 */,
   42 /* Color of ReduceAction103 */,
   43 /* Property init */,
-  2459 /* Id of ReduceAction104 */,
+  2475 /* Id of ReduceAction104 */,
   3 /* Color of ReduceAction104 */,
   42 /* Color of ReduceAction104 */,
   43 /* Property init */,
-  2455 /* Id of ReduceAction105 */,
+  2471 /* Id of ReduceAction105 */,
   3 /* Color of ReduceAction105 */,
   42 /* Color of ReduceAction105 */,
   43 /* Property init */,
-  2451 /* Id of ReduceAction106 */,
+  2467 /* Id of ReduceAction106 */,
   3 /* Color of ReduceAction106 */,
   42 /* Color of ReduceAction106 */,
   43 /* Property init */,
-  2447 /* Id of ReduceAction107 */,
+  2463 /* Id of ReduceAction107 */,
   3 /* Color of ReduceAction107 */,
   42 /* Color of ReduceAction107 */,
   43 /* Property init */,
-  2443 /* Id of ReduceAction108 */,
+  2459 /* Id of ReduceAction108 */,
   3 /* Color of ReduceAction108 */,
   42 /* Color of ReduceAction108 */,
   43 /* Property init */,
-  2439 /* Id of ReduceAction109 */,
+  2455 /* Id of ReduceAction109 */,
   3 /* Color of ReduceAction109 */,
   42 /* Color of ReduceAction109 */,
   43 /* Property init */,
-  2431 /* Id of ReduceAction110 */,
+  2447 /* Id of ReduceAction110 */,
   3 /* Color of ReduceAction110 */,
   42 /* Color of ReduceAction110 */,
   43 /* Property init */,
-  2427 /* Id of ReduceAction111 */,
+  2443 /* Id of ReduceAction111 */,
   3 /* Color of ReduceAction111 */,
   42 /* Color of ReduceAction111 */,
   43 /* Property init */,
-  2423 /* Id of ReduceAction112 */,
+  2439 /* Id of ReduceAction112 */,
   3 /* Color of ReduceAction112 */,
   42 /* Color of ReduceAction112 */,
   43 /* Property init */,
-  2419 /* Id of ReduceAction113 */,
+  2435 /* Id of ReduceAction113 */,
   3 /* Color of ReduceAction113 */,
   42 /* Color of ReduceAction113 */,
   43 /* Property init */,
-  2415 /* Id of ReduceAction114 */,
+  2431 /* Id of ReduceAction114 */,
   3 /* Color of ReduceAction114 */,
   42 /* Color of ReduceAction114 */,
   43 /* Property init */,
-  2411 /* Id of ReduceAction115 */,
+  2427 /* Id of ReduceAction115 */,
   3 /* Color of ReduceAction115 */,
   42 /* Color of ReduceAction115 */,
   43 /* Property init */,
-  2407 /* Id of ReduceAction116 */,
+  2423 /* Id of ReduceAction116 */,
   3 /* Color of ReduceAction116 */,
   42 /* Color of ReduceAction116 */,
   43 /* Property init */,
-  2403 /* Id of ReduceAction117 */,
+  2419 /* Id of ReduceAction117 */,
   3 /* Color of ReduceAction117 */,
   42 /* Color of ReduceAction117 */,
   43 /* Property init */,
-  2399 /* Id of ReduceAction118 */,
+  2415 /* Id of ReduceAction118 */,
   3 /* Color of ReduceAction118 */,
   42 /* Color of ReduceAction118 */,
   43 /* Property init */,
-  2395 /* Id of ReduceAction119 */,
+  2411 /* Id of ReduceAction119 */,
   3 /* Color of ReduceAction119 */,
   42 /* Color of ReduceAction119 */,
   43 /* Property init */,
-  2387 /* Id of ReduceAction120 */,
+  2403 /* Id of ReduceAction120 */,
   3 /* Color of ReduceAction120 */,
   42 /* Color of ReduceAction120 */,
   43 /* Property init */,
-  2383 /* Id of ReduceAction121 */,
+  2399 /* Id of ReduceAction121 */,
   3 /* Color of ReduceAction121 */,
   42 /* Color of ReduceAction121 */,
   43 /* Property init */,
-  2379 /* Id of ReduceAction122 */,
+  2395 /* Id of ReduceAction122 */,
   3 /* Color of ReduceAction122 */,
   42 /* Color of ReduceAction122 */,
   43 /* Property init */,
-  2375 /* Id of ReduceAction123 */,
+  2391 /* Id of ReduceAction123 */,
   3 /* Color of ReduceAction123 */,
   42 /* Color of ReduceAction123 */,
   43 /* Property init */,
-  2371 /* Id of ReduceAction124 */,
+  2387 /* Id of ReduceAction124 */,
   3 /* Color of ReduceAction124 */,
   42 /* Color of ReduceAction124 */,
   43 /* Property init */,
-  2367 /* Id of ReduceAction125 */,
+  2383 /* Id of ReduceAction125 */,
   3 /* Color of ReduceAction125 */,
   42 /* Color of ReduceAction125 */,
   43 /* Property init */,
-  2363 /* Id of ReduceAction126 */,
+  2379 /* Id of ReduceAction126 */,
   3 /* Color of ReduceAction126 */,
   42 /* Color of ReduceAction126 */,
   43 /* Property init */,
-  2359 /* Id of ReduceAction127 */,
+  2375 /* Id of ReduceAction127 */,
   3 /* Color of ReduceAction127 */,
   42 /* Color of ReduceAction127 */,
   43 /* Property init */,
-  2355 /* Id of ReduceAction128 */,
+  2371 /* Id of ReduceAction128 */,
   3 /* Color of ReduceAction128 */,
   42 /* Color of ReduceAction128 */,
   43 /* Property init */,
-  2351 /* Id of ReduceAction129 */,
+  2367 /* Id of ReduceAction129 */,
   3 /* Color of ReduceAction129 */,
   42 /* Color of ReduceAction129 */,
   43 /* Property init */,
-  2343 /* Id of ReduceAction130 */,
+  2359 /* Id of ReduceAction130 */,
   3 /* Color of ReduceAction130 */,
   42 /* Color of ReduceAction130 */,
   43 /* Property init */,
-  2339 /* Id of ReduceAction131 */,
+  2355 /* Id of ReduceAction131 */,
   3 /* Color of ReduceAction131 */,
   42 /* Color of ReduceAction131 */,
   43 /* Property init */,
-  2335 /* Id of ReduceAction132 */,
+  2351 /* Id of ReduceAction132 */,
   3 /* Color of ReduceAction132 */,
   42 /* Color of ReduceAction132 */,
   43 /* Property init */,
-  2331 /* Id of ReduceAction133 */,
+  2347 /* Id of ReduceAction133 */,
   3 /* Color of ReduceAction133 */,
   42 /* Color of ReduceAction133 */,
   43 /* Property init */,
-  2327 /* Id of ReduceAction134 */,
+  2343 /* Id of ReduceAction134 */,
   3 /* Color of ReduceAction134 */,
   42 /* Color of ReduceAction134 */,
   43 /* Property init */,
-  2323 /* Id of ReduceAction135 */,
+  2339 /* Id of ReduceAction135 */,
   3 /* Color of ReduceAction135 */,
   42 /* Color of ReduceAction135 */,
   43 /* Property init */,
-  2319 /* Id of ReduceAction136 */,
+  2335 /* Id of ReduceAction136 */,
   3 /* Color of ReduceAction136 */,
   42 /* Color of ReduceAction136 */,
   43 /* Property init */,
-  2315 /* Id of ReduceAction137 */,
+  2331 /* Id of ReduceAction137 */,
   3 /* Color of ReduceAction137 */,
   42 /* Color of ReduceAction137 */,
   43 /* Property init */,
-  2311 /* Id of ReduceAction138 */,
+  2327 /* Id of ReduceAction138 */,
   3 /* Color of ReduceAction138 */,
   42 /* Color of ReduceAction138 */,
   43 /* Property init */,
-  2307 /* Id of ReduceAction139 */,
+  2323 /* Id of ReduceAction139 */,
   3 /* Color of ReduceAction139 */,
   42 /* Color of ReduceAction139 */,
   43 /* Property init */,
-  2299 /* Id of ReduceAction140 */,
+  2315 /* Id of ReduceAction140 */,
   3 /* Color of ReduceAction140 */,
   42 /* Color of ReduceAction140 */,
   43 /* Property init */,
-  2295 /* Id of ReduceAction141 */,
+  2311 /* Id of ReduceAction141 */,
   3 /* Color of ReduceAction141 */,
   42 /* Color of ReduceAction141 */,
   43 /* Property init */,
-  2291 /* Id of ReduceAction142 */,
+  2307 /* Id of ReduceAction142 */,
   3 /* Color of ReduceAction142 */,
   42 /* Color of ReduceAction142 */,
   43 /* Property init */,
-  2287 /* Id of ReduceAction143 */,
+  2303 /* Id of ReduceAction143 */,
   3 /* Color of ReduceAction143 */,
   42 /* Color of ReduceAction143 */,
   43 /* Property init */,
-  2283 /* Id of ReduceAction144 */,
+  2299 /* Id of ReduceAction144 */,
   3 /* Color of ReduceAction144 */,
   42 /* Color of ReduceAction144 */,
   43 /* Property init */,
-  2279 /* Id of ReduceAction145 */,
+  2295 /* Id of ReduceAction145 */,
   3 /* Color of ReduceAction145 */,
   42 /* Color of ReduceAction145 */,
   43 /* Property init */,
-  2275 /* Id of ReduceAction146 */,
+  2291 /* Id of ReduceAction146 */,
   3 /* Color of ReduceAction146 */,
   42 /* Color of ReduceAction146 */,
   43 /* Property init */,
-  2271 /* Id of ReduceAction147 */,
+  2287 /* Id of ReduceAction147 */,
   3 /* Color of ReduceAction147 */,
   42 /* Color of ReduceAction147 */,
   43 /* Property init */,
-  2267 /* Id of ReduceAction148 */,
+  2283 /* Id of ReduceAction148 */,
   3 /* Color of ReduceAction148 */,
   42 /* Color of ReduceAction148 */,
   43 /* Property init */,
-  2263 /* Id of ReduceAction149 */,
+  2279 /* Id of ReduceAction149 */,
   3 /* Color of ReduceAction149 */,
   42 /* Color of ReduceAction149 */,
   43 /* Property init */,
-  2255 /* Id of ReduceAction150 */,
+  2271 /* Id of ReduceAction150 */,
   3 /* Color of ReduceAction150 */,
   42 /* Color of ReduceAction150 */,
   43 /* Property init */,
-  2251 /* Id of ReduceAction151 */,
+  2267 /* Id of ReduceAction151 */,
   3 /* Color of ReduceAction151 */,
   42 /* Color of ReduceAction151 */,
   43 /* Property init */,
-  2247 /* Id of ReduceAction152 */,
+  2263 /* Id of ReduceAction152 */,
   3 /* Color of ReduceAction152 */,
   42 /* Color of ReduceAction152 */,
   43 /* Property init */,
-  2243 /* Id of ReduceAction153 */,
+  2259 /* Id of ReduceAction153 */,
   3 /* Color of ReduceAction153 */,
   42 /* Color of ReduceAction153 */,
   43 /* Property init */,
-  2239 /* Id of ReduceAction154 */,
+  2255 /* Id of ReduceAction154 */,
   3 /* Color of ReduceAction154 */,
   42 /* Color of ReduceAction154 */,
   43 /* Property init */,
-  2235 /* Id of ReduceAction155 */,
+  2251 /* Id of ReduceAction155 */,
   3 /* Color of ReduceAction155 */,
   42 /* Color of ReduceAction155 */,
   43 /* Property init */,
-  2231 /* Id of ReduceAction156 */,
+  2247 /* Id of ReduceAction156 */,
   3 /* Color of ReduceAction156 */,
   42 /* Color of ReduceAction156 */,
   43 /* Property init */,
-  2227 /* Id of ReduceAction157 */,
+  2243 /* Id of ReduceAction157 */,
   3 /* Color of ReduceAction157 */,
   42 /* Color of ReduceAction157 */,
   43 /* Property init */,
-  2223 /* Id of ReduceAction158 */,
+  2239 /* Id of ReduceAction158 */,
   3 /* Color of ReduceAction158 */,
   42 /* Color of ReduceAction158 */,
   43 /* Property init */,
-  2219 /* Id of ReduceAction159 */,
+  2235 /* Id of ReduceAction159 */,
   3 /* Color of ReduceAction159 */,
   42 /* Color of ReduceAction159 */,
   43 /* Property init */,
-  2211 /* Id of ReduceAction160 */,
+  2227 /* Id of ReduceAction160 */,
   3 /* Color of ReduceAction160 */,
   42 /* Color of ReduceAction160 */,
   43 /* Property init */,
-  2207 /* Id of ReduceAction161 */,
+  2223 /* Id of ReduceAction161 */,
   3 /* Color of ReduceAction161 */,
   42 /* Color of ReduceAction161 */,
   43 /* Property init */,
-  2203 /* Id of ReduceAction162 */,
+  2219 /* Id of ReduceAction162 */,
   3 /* Color of ReduceAction162 */,
   42 /* Color of ReduceAction162 */,
   43 /* Property init */,
-  2199 /* Id of ReduceAction163 */,
+  2215 /* Id of ReduceAction163 */,
   3 /* Color of ReduceAction163 */,
   42 /* Color of ReduceAction163 */,
   43 /* Property init */,
-  2195 /* Id of ReduceAction164 */,
+  2211 /* Id of ReduceAction164 */,
   3 /* Color of ReduceAction164 */,
   42 /* Color of ReduceAction164 */,
   43 /* Property init */,
-  2191 /* Id of ReduceAction165 */,
+  2207 /* Id of ReduceAction165 */,
   3 /* Color of ReduceAction165 */,
   42 /* Color of ReduceAction165 */,
   43 /* Property init */,
-  2187 /* Id of ReduceAction166 */,
+  2203 /* Id of ReduceAction166 */,
   3 /* Color of ReduceAction166 */,
   42 /* Color of ReduceAction166 */,
   43 /* Property init */,
-  2183 /* Id of ReduceAction167 */,
+  2199 /* Id of ReduceAction167 */,
   3 /* Color of ReduceAction167 */,
   42 /* Color of ReduceAction167 */,
   43 /* Property init */,
-  2179 /* Id of ReduceAction168 */,
+  2195 /* Id of ReduceAction168 */,
   3 /* Color of ReduceAction168 */,
   42 /* Color of ReduceAction168 */,
   43 /* Property init */,
-  2175 /* Id of ReduceAction169 */,
+  2191 /* Id of ReduceAction169 */,
   3 /* Color of ReduceAction169 */,
   42 /* Color of ReduceAction169 */,
   43 /* Property init */,
-  2167 /* Id of ReduceAction170 */,
+  2183 /* Id of ReduceAction170 */,
   3 /* Color of ReduceAction170 */,
   42 /* Color of ReduceAction170 */,
   43 /* Property init */,
-  2163 /* Id of ReduceAction171 */,
+  2179 /* Id of ReduceAction171 */,
   3 /* Color of ReduceAction171 */,
   42 /* Color of ReduceAction171 */,
   43 /* Property init */,
-  2159 /* Id of ReduceAction172 */,
+  2175 /* Id of ReduceAction172 */,
   3 /* Color of ReduceAction172 */,
   42 /* Color of ReduceAction172 */,
   43 /* Property init */,
-  2155 /* Id of ReduceAction173 */,
+  2171 /* Id of ReduceAction173 */,
   3 /* Color of ReduceAction173 */,
   42 /* Color of ReduceAction173 */,
   43 /* Property init */,
-  2151 /* Id of ReduceAction174 */,
+  2167 /* Id of ReduceAction174 */,
   3 /* Color of ReduceAction174 */,
   42 /* Color of ReduceAction174 */,
   43 /* Property init */,
-  2147 /* Id of ReduceAction175 */,
+  2163 /* Id of ReduceAction175 */,
   3 /* Color of ReduceAction175 */,
   42 /* Color of ReduceAction175 */,
   43 /* Property init */,
-  2143 /* Id of ReduceAction176 */,
+  2159 /* Id of ReduceAction176 */,
   3 /* Color of ReduceAction176 */,
   42 /* Color of ReduceAction176 */,
   43 /* Property init */,
-  2139 /* Id of ReduceAction177 */,
+  2155 /* Id of ReduceAction177 */,
   3 /* Color of ReduceAction177 */,
   42 /* Color of ReduceAction177 */,
   43 /* Property init */,
-  2135 /* Id of ReduceAction178 */,
+  2151 /* Id of ReduceAction178 */,
   3 /* Color of ReduceAction178 */,
   42 /* Color of ReduceAction178 */,
   43 /* Property init */,
-  2131 /* Id of ReduceAction179 */,
+  2147 /* Id of ReduceAction179 */,
   3 /* Color of ReduceAction179 */,
   42 /* Color of ReduceAction179 */,
   43 /* Property init */,
-  2123 /* Id of ReduceAction180 */,
+  2139 /* Id of ReduceAction180 */,
   3 /* Color of ReduceAction180 */,
   42 /* Color of ReduceAction180 */,
   43 /* Property init */,
-  2119 /* Id of ReduceAction181 */,
+  2135 /* Id of ReduceAction181 */,
   3 /* Color of ReduceAction181 */,
   42 /* Color of ReduceAction181 */,
   43 /* Property init */,
-  2115 /* Id of ReduceAction182 */,
+  2131 /* Id of ReduceAction182 */,
   3 /* Color of ReduceAction182 */,
   42 /* Color of ReduceAction182 */,
   43 /* Property init */,
-  2111 /* Id of ReduceAction183 */,
+  2127 /* Id of ReduceAction183 */,
   3 /* Color of ReduceAction183 */,
   42 /* Color of ReduceAction183 */,
   43 /* Property init */,
-  2107 /* Id of ReduceAction184 */,
+  2123 /* Id of ReduceAction184 */,
   3 /* Color of ReduceAction184 */,
   42 /* Color of ReduceAction184 */,
   43 /* Property init */,
-  2103 /* Id of ReduceAction185 */,
+  2119 /* Id of ReduceAction185 */,
   3 /* Color of ReduceAction185 */,
   42 /* Color of ReduceAction185 */,
   43 /* Property init */,
-  2099 /* Id of ReduceAction186 */,
+  2115 /* Id of ReduceAction186 */,
   3 /* Color of ReduceAction186 */,
   42 /* Color of ReduceAction186 */,
   43 /* Property init */,
-  2095 /* Id of ReduceAction187 */,
+  2111 /* Id of ReduceAction187 */,
   3 /* Color of ReduceAction187 */,
   42 /* Color of ReduceAction187 */,
   43 /* Property init */,
-  2091 /* Id of ReduceAction188 */,
+  2107 /* Id of ReduceAction188 */,
   3 /* Color of ReduceAction188 */,
   42 /* Color of ReduceAction188 */,
   43 /* Property init */,
-  2087 /* Id of ReduceAction189 */,
+  2103 /* Id of ReduceAction189 */,
   3 /* Color of ReduceAction189 */,
   42 /* Color of ReduceAction189 */,
   43 /* Property init */,
-  2079 /* Id of ReduceAction190 */,
+  2095 /* Id of ReduceAction190 */,
   3 /* Color of ReduceAction190 */,
   42 /* Color of ReduceAction190 */,
   43 /* Property init */,
-  2075 /* Id of ReduceAction191 */,
+  2091 /* Id of ReduceAction191 */,
   3 /* Color of ReduceAction191 */,
   42 /* Color of ReduceAction191 */,
   43 /* Property init */,
-  2071 /* Id of ReduceAction192 */,
+  2087 /* Id of ReduceAction192 */,
   3 /* Color of ReduceAction192 */,
   42 /* Color of ReduceAction192 */,
   43 /* Property init */,
-  2067 /* Id of ReduceAction193 */,
+  2083 /* Id of ReduceAction193 */,
   3 /* Color of ReduceAction193 */,
   42 /* Color of ReduceAction193 */,
   43 /* Property init */,
-  2063 /* Id of ReduceAction194 */,
+  2079 /* Id of ReduceAction194 */,
   3 /* Color of ReduceAction194 */,
   42 /* Color of ReduceAction194 */,
   43 /* Property init */,
-  2059 /* Id of ReduceAction195 */,
+  2075 /* Id of ReduceAction195 */,
   3 /* Color of ReduceAction195 */,
   42 /* Color of ReduceAction195 */,
   43 /* Property init */,
-  2055 /* Id of ReduceAction196 */,
+  2071 /* Id of ReduceAction196 */,
   3 /* Color of ReduceAction196 */,
   42 /* Color of ReduceAction196 */,
   43 /* Property init */,
-  2051 /* Id of ReduceAction197 */,
+  2067 /* Id of ReduceAction197 */,
   3 /* Color of ReduceAction197 */,
   42 /* Color of ReduceAction197 */,
   43 /* Property init */,
-  2047 /* Id of ReduceAction198 */,
+  2063 /* Id of ReduceAction198 */,
   3 /* Color of ReduceAction198 */,
   42 /* Color of ReduceAction198 */,
   43 /* Property init */,
-  2043 /* Id of ReduceAction199 */,
+  2059 /* Id of ReduceAction199 */,
   3 /* Color of ReduceAction199 */,
   42 /* Color of ReduceAction199 */,
   43 /* Property init */,
-  2031 /* Id of ReduceAction200 */,
+  2047 /* Id of ReduceAction200 */,
   3 /* Color of ReduceAction200 */,
   42 /* Color of ReduceAction200 */,
   43 /* Property init */,
-  2027 /* Id of ReduceAction201 */,
+  2043 /* Id of ReduceAction201 */,
   3 /* Color of ReduceAction201 */,
   42 /* Color of ReduceAction201 */,
   43 /* Property init */,
-  2023 /* Id of ReduceAction202 */,
+  2039 /* Id of ReduceAction202 */,
   3 /* Color of ReduceAction202 */,
   42 /* Color of ReduceAction202 */,
   43 /* Property init */,
-  2019 /* Id of ReduceAction203 */,
+  2035 /* Id of ReduceAction203 */,
   3 /* Color of ReduceAction203 */,
   42 /* Color of ReduceAction203 */,
   43 /* Property init */,
-  2015 /* Id of ReduceAction204 */,
+  2031 /* Id of ReduceAction204 */,
   3 /* Color of ReduceAction204 */,
   42 /* Color of ReduceAction204 */,
   43 /* Property init */,
-  2011 /* Id of ReduceAction205 */,
+  2027 /* Id of ReduceAction205 */,
   3 /* Color of ReduceAction205 */,
   42 /* Color of ReduceAction205 */,
   43 /* Property init */,
-  2007 /* Id of ReduceAction206 */,
+  2023 /* Id of ReduceAction206 */,
   3 /* Color of ReduceAction206 */,
   42 /* Color of ReduceAction206 */,
   43 /* Property init */,
-  2003 /* Id of ReduceAction207 */,
+  2019 /* Id of ReduceAction207 */,
   3 /* Color of ReduceAction207 */,
   42 /* Color of ReduceAction207 */,
   43 /* Property init */,
-  1999 /* Id of ReduceAction208 */,
+  2015 /* Id of ReduceAction208 */,
   3 /* Color of ReduceAction208 */,
   42 /* Color of ReduceAction208 */,
   43 /* Property init */,
-  1995 /* Id of ReduceAction209 */,
+  2011 /* Id of ReduceAction209 */,
   3 /* Color of ReduceAction209 */,
   42 /* Color of ReduceAction209 */,
   43 /* Property init */,
-  1987 /* Id of ReduceAction210 */,
+  2003 /* Id of ReduceAction210 */,
   3 /* Color of ReduceAction210 */,
   42 /* Color of ReduceAction210 */,
   43 /* Property init */,
-  1983 /* Id of ReduceAction211 */,
+  1999 /* Id of ReduceAction211 */,
   3 /* Color of ReduceAction211 */,
   42 /* Color of ReduceAction211 */,
   43 /* Property init */,
-  1979 /* Id of ReduceAction212 */,
+  1995 /* Id of ReduceAction212 */,
   3 /* Color of ReduceAction212 */,
   42 /* Color of ReduceAction212 */,
   43 /* Property init */,
-  1975 /* Id of ReduceAction213 */,
+  1991 /* Id of ReduceAction213 */,
   3 /* Color of ReduceAction213 */,
   42 /* Color of ReduceAction213 */,
   43 /* Property init */,
-  1971 /* Id of ReduceAction214 */,
+  1987 /* Id of ReduceAction214 */,
   3 /* Color of ReduceAction214 */,
   42 /* Color of ReduceAction214 */,
   43 /* Property init */,
-  1967 /* Id of ReduceAction215 */,
+  1983 /* Id of ReduceAction215 */,
   3 /* Color of ReduceAction215 */,
   42 /* Color of ReduceAction215 */,
   43 /* Property init */,
-  1963 /* Id of ReduceAction216 */,
+  1979 /* Id of ReduceAction216 */,
   3 /* Color of ReduceAction216 */,
   42 /* Color of ReduceAction216 */,
   43 /* Property init */,
-  1959 /* Id of ReduceAction217 */,
+  1975 /* Id of ReduceAction217 */,
   3 /* Color of ReduceAction217 */,
   42 /* Color of ReduceAction217 */,
   43 /* Property init */,
-  1955 /* Id of ReduceAction218 */,
+  1971 /* Id of ReduceAction218 */,
   3 /* Color of ReduceAction218 */,
   42 /* Color of ReduceAction218 */,
   43 /* Property init */,
-  1951 /* Id of ReduceAction219 */,
+  1967 /* Id of ReduceAction219 */,
   3 /* Color of ReduceAction219 */,
   42 /* Color of ReduceAction219 */,
   43 /* Property init */,
-  1943 /* Id of ReduceAction220 */,
+  1959 /* Id of ReduceAction220 */,
   3 /* Color of ReduceAction220 */,
   42 /* Color of ReduceAction220 */,
   43 /* Property init */,
-  1939 /* Id of ReduceAction221 */,
+  1955 /* Id of ReduceAction221 */,
   3 /* Color of ReduceAction221 */,
   42 /* Color of ReduceAction221 */,
   43 /* Property init */,
-  1935 /* Id of ReduceAction222 */,
+  1951 /* Id of ReduceAction222 */,
   3 /* Color of ReduceAction222 */,
   42 /* Color of ReduceAction222 */,
   43 /* Property init */,
-  1931 /* Id of ReduceAction223 */,
+  1947 /* Id of ReduceAction223 */,
   3 /* Color of ReduceAction223 */,
   42 /* Color of ReduceAction223 */,
   43 /* Property init */,
-  1927 /* Id of ReduceAction224 */,
+  1943 /* Id of ReduceAction224 */,
   3 /* Color of ReduceAction224 */,
   42 /* Color of ReduceAction224 */,
   43 /* Property init */,
-  1923 /* Id of ReduceAction225 */,
+  1939 /* Id of ReduceAction225 */,
   3 /* Color of ReduceAction225 */,
   42 /* Color of ReduceAction225 */,
   43 /* Property init */,
-  1919 /* Id of ReduceAction226 */,
+  1935 /* Id of ReduceAction226 */,
   3 /* Color of ReduceAction226 */,
   42 /* Color of ReduceAction226 */,
   43 /* Property init */,
-  1915 /* Id of ReduceAction227 */,
+  1931 /* Id of ReduceAction227 */,
   3 /* Color of ReduceAction227 */,
   42 /* Color of ReduceAction227 */,
   43 /* Property init */,
-  1911 /* Id of ReduceAction228 */,
+  1927 /* Id of ReduceAction228 */,
   3 /* Color of ReduceAction228 */,
   42 /* Color of ReduceAction228 */,
   43 /* Property init */,
-  1907 /* Id of ReduceAction229 */,
+  1923 /* Id of ReduceAction229 */,
   3 /* Color of ReduceAction229 */,
   42 /* Color of ReduceAction229 */,
   43 /* Property init */,
-  1899 /* Id of ReduceAction230 */,
+  1915 /* Id of ReduceAction230 */,
   3 /* Color of ReduceAction230 */,
   42 /* Color of ReduceAction230 */,
   43 /* Property init */,
-  1895 /* Id of ReduceAction231 */,
+  1911 /* Id of ReduceAction231 */,
   3 /* Color of ReduceAction231 */,
   42 /* Color of ReduceAction231 */,
   43 /* Property init */,
-  1891 /* Id of ReduceAction232 */,
+  1907 /* Id of ReduceAction232 */,
   3 /* Color of ReduceAction232 */,
   42 /* Color of ReduceAction232 */,
   43 /* Property init */,
-  1887 /* Id of ReduceAction233 */,
+  1903 /* Id of ReduceAction233 */,
   3 /* Color of ReduceAction233 */,
   42 /* Color of ReduceAction233 */,
   43 /* Property init */,
-  1883 /* Id of ReduceAction234 */,
+  1899 /* Id of ReduceAction234 */,
   3 /* Color of ReduceAction234 */,
   42 /* Color of ReduceAction234 */,
   43 /* Property init */,
-  1879 /* Id of ReduceAction235 */,
+  1895 /* Id of ReduceAction235 */,
   3 /* Color of ReduceAction235 */,
   42 /* Color of ReduceAction235 */,
   43 /* Property init */,
-  1875 /* Id of ReduceAction236 */,
+  1891 /* Id of ReduceAction236 */,
   3 /* Color of ReduceAction236 */,
   42 /* Color of ReduceAction236 */,
   43 /* Property init */,
-  1871 /* Id of ReduceAction237 */,
+  1887 /* Id of ReduceAction237 */,
   3 /* Color of ReduceAction237 */,
   42 /* Color of ReduceAction237 */,
   43 /* Property init */,
-  1867 /* Id of ReduceAction238 */,
+  1883 /* Id of ReduceAction238 */,
   3 /* Color of ReduceAction238 */,
   42 /* Color of ReduceAction238 */,
   43 /* Property init */,
-  1863 /* Id of ReduceAction239 */,
+  1879 /* Id of ReduceAction239 */,
   3 /* Color of ReduceAction239 */,
   42 /* Color of ReduceAction239 */,
   43 /* Property init */,
-  1855 /* Id of ReduceAction240 */,
+  1871 /* Id of ReduceAction240 */,
   3 /* Color of ReduceAction240 */,
   42 /* Color of ReduceAction240 */,
   43 /* Property init */,
-  1851 /* Id of ReduceAction241 */,
+  1867 /* Id of ReduceAction241 */,
   3 /* Color of ReduceAction241 */,
   42 /* Color of ReduceAction241 */,
   43 /* Property init */,
-  1847 /* Id of ReduceAction242 */,
+  1863 /* Id of ReduceAction242 */,
   3 /* Color of ReduceAction242 */,
   42 /* Color of ReduceAction242 */,
   43 /* Property init */,
-  1843 /* Id of ReduceAction243 */,
+  1859 /* Id of ReduceAction243 */,
   3 /* Color of ReduceAction243 */,
   42 /* Color of ReduceAction243 */,
   43 /* Property init */,
-  1839 /* Id of ReduceAction244 */,
+  1855 /* Id of ReduceAction244 */,
   3 /* Color of ReduceAction244 */,
   42 /* Color of ReduceAction244 */,
   43 /* Property init */,
-  1835 /* Id of ReduceAction245 */,
+  1851 /* Id of ReduceAction245 */,
   3 /* Color of ReduceAction245 */,
   42 /* Color of ReduceAction245 */,
   43 /* Property init */,
-  1831 /* Id of ReduceAction246 */,
+  1847 /* Id of ReduceAction246 */,
   3 /* Color of ReduceAction246 */,
   42 /* Color of ReduceAction246 */,
   43 /* Property init */,
-  1827 /* Id of ReduceAction247 */,
+  1843 /* Id of ReduceAction247 */,
   3 /* Color of ReduceAction247 */,
   42 /* Color of ReduceAction247 */,
   43 /* Property init */,
-  1823 /* Id of ReduceAction248 */,
+  1839 /* Id of ReduceAction248 */,
   3 /* Color of ReduceAction248 */,
   42 /* Color of ReduceAction248 */,
   43 /* Property init */,
-  1819 /* Id of ReduceAction249 */,
+  1835 /* Id of ReduceAction249 */,
   3 /* Color of ReduceAction249 */,
   42 /* Color of ReduceAction249 */,
   43 /* Property init */,
-  1811 /* Id of ReduceAction250 */,
+  1827 /* Id of ReduceAction250 */,
   3 /* Color of ReduceAction250 */,
   42 /* Color of ReduceAction250 */,
   43 /* Property init */,
-  1807 /* Id of ReduceAction251 */,
+  1823 /* Id of ReduceAction251 */,
   3 /* Color of ReduceAction251 */,
   42 /* Color of ReduceAction251 */,
   43 /* Property init */,
-  1803 /* Id of ReduceAction252 */,
+  1819 /* Id of ReduceAction252 */,
   3 /* Color of ReduceAction252 */,
   42 /* Color of ReduceAction252 */,
   43 /* Property init */,
-  1799 /* Id of ReduceAction253 */,
+  1815 /* Id of ReduceAction253 */,
   3 /* Color of ReduceAction253 */,
   42 /* Color of ReduceAction253 */,
   43 /* Property init */,
-  1795 /* Id of ReduceAction254 */,
+  1811 /* Id of ReduceAction254 */,
   3 /* Color of ReduceAction254 */,
   42 /* Color of ReduceAction254 */,
   43 /* Property init */,
-  1791 /* Id of ReduceAction255 */,
+  1807 /* Id of ReduceAction255 */,
   3 /* Color of ReduceAction255 */,
   42 /* Color of ReduceAction255 */,
   43 /* Property init */,
-  1787 /* Id of ReduceAction256 */,
+  1803 /* Id of ReduceAction256 */,
   3 /* Color of ReduceAction256 */,
   42 /* Color of ReduceAction256 */,
   43 /* Property init */,
-  1783 /* Id of ReduceAction257 */,
+  1799 /* Id of ReduceAction257 */,
   3 /* Color of ReduceAction257 */,
   42 /* Color of ReduceAction257 */,
   43 /* Property init */,
-  1779 /* Id of ReduceAction258 */,
+  1795 /* Id of ReduceAction258 */,
   3 /* Color of ReduceAction258 */,
   42 /* Color of ReduceAction258 */,
   43 /* Property init */,
-  1775 /* Id of ReduceAction259 */,
+  1791 /* Id of ReduceAction259 */,
   3 /* Color of ReduceAction259 */,
   42 /* Color of ReduceAction259 */,
   43 /* Property init */,
-  1767 /* Id of ReduceAction260 */,
+  1783 /* Id of ReduceAction260 */,
   3 /* Color of ReduceAction260 */,
   42 /* Color of ReduceAction260 */,
   43 /* Property init */,
-  1763 /* Id of ReduceAction261 */,
+  1779 /* Id of ReduceAction261 */,
   3 /* Color of ReduceAction261 */,
   42 /* Color of ReduceAction261 */,
   43 /* Property init */,
-  1759 /* Id of ReduceAction262 */,
+  1775 /* Id of ReduceAction262 */,
   3 /* Color of ReduceAction262 */,
   42 /* Color of ReduceAction262 */,
   43 /* Property init */,
-  1755 /* Id of ReduceAction263 */,
+  1771 /* Id of ReduceAction263 */,
   3 /* Color of ReduceAction263 */,
   42 /* Color of ReduceAction263 */,
   43 /* Property init */,
-  1751 /* Id of ReduceAction264 */,
+  1767 /* Id of ReduceAction264 */,
   3 /* Color of ReduceAction264 */,
   42 /* Color of ReduceAction264 */,
   43 /* Property init */,
-  1747 /* Id of ReduceAction265 */,
+  1763 /* Id of ReduceAction265 */,
   3 /* Color of ReduceAction265 */,
   42 /* Color of ReduceAction265 */,
   43 /* Property init */,
-  1743 /* Id of ReduceAction266 */,
+  1759 /* Id of ReduceAction266 */,
   3 /* Color of ReduceAction266 */,
   42 /* Color of ReduceAction266 */,
   43 /* Property init */,
-  1739 /* Id of ReduceAction267 */,
+  1755 /* Id of ReduceAction267 */,
   3 /* Color of ReduceAction267 */,
   42 /* Color of ReduceAction267 */,
   43 /* Property init */,
-  1735 /* Id of ReduceAction268 */,
+  1751 /* Id of ReduceAction268 */,
   3 /* Color of ReduceAction268 */,
   42 /* Color of ReduceAction268 */,
   43 /* Property init */,
-  1731 /* Id of ReduceAction269 */,
+  1747 /* Id of ReduceAction269 */,
   3 /* Color of ReduceAction269 */,
   42 /* Color of ReduceAction269 */,
   43 /* Property init */,
-  1723 /* Id of ReduceAction270 */,
+  1739 /* Id of ReduceAction270 */,
   3 /* Color of ReduceAction270 */,
   42 /* Color of ReduceAction270 */,
   43 /* Property init */,
-  1719 /* Id of ReduceAction271 */,
+  1735 /* Id of ReduceAction271 */,
   3 /* Color of ReduceAction271 */,
   42 /* Color of ReduceAction271 */,
   43 /* Property init */,
-  1715 /* Id of ReduceAction272 */,
+  1731 /* Id of ReduceAction272 */,
   3 /* Color of ReduceAction272 */,
   42 /* Color of ReduceAction272 */,
   43 /* Property init */,
-  1711 /* Id of ReduceAction273 */,
+  1727 /* Id of ReduceAction273 */,
   3 /* Color of ReduceAction273 */,
   42 /* Color of ReduceAction273 */,
   43 /* Property init */,
-  1707 /* Id of ReduceAction274 */,
+  1723 /* Id of ReduceAction274 */,
   3 /* Color of ReduceAction274 */,
   42 /* Color of ReduceAction274 */,
   43 /* Property init */,
-  1703 /* Id of ReduceAction275 */,
+  1719 /* Id of ReduceAction275 */,
   3 /* Color of ReduceAction275 */,
   42 /* Color of ReduceAction275 */,
   43 /* Property init */,
-  1699 /* Id of ReduceAction276 */,
+  1715 /* Id of ReduceAction276 */,
   3 /* Color of ReduceAction276 */,
   42 /* Color of ReduceAction276 */,
   43 /* Property init */,
-  1695 /* Id of ReduceAction277 */,
+  1711 /* Id of ReduceAction277 */,
   3 /* Color of ReduceAction277 */,
   42 /* Color of ReduceAction277 */,
   43 /* Property init */,
-  1691 /* Id of ReduceAction278 */,
+  1707 /* Id of ReduceAction278 */,
   3 /* Color of ReduceAction278 */,
   42 /* Color of ReduceAction278 */,
   43 /* Property init */,
-  1687 /* Id of ReduceAction279 */,
+  1703 /* Id of ReduceAction279 */,
   3 /* Color of ReduceAction279 */,
   42 /* Color of ReduceAction279 */,
   43 /* Property init */,
-  1679 /* Id of ReduceAction280 */,
+  1695 /* Id of ReduceAction280 */,
   3 /* Color of ReduceAction280 */,
   42 /* Color of ReduceAction280 */,
   43 /* Property init */,
-  1675 /* Id of ReduceAction281 */,
+  1691 /* Id of ReduceAction281 */,
   3 /* Color of ReduceAction281 */,
   42 /* Color of ReduceAction281 */,
   43 /* Property init */,
-  1671 /* Id of ReduceAction282 */,
+  1687 /* Id of ReduceAction282 */,
   3 /* Color of ReduceAction282 */,
   42 /* Color of ReduceAction282 */,
   43 /* Property init */,
-  1667 /* Id of ReduceAction283 */,
+  1683 /* Id of ReduceAction283 */,
   3 /* Color of ReduceAction283 */,
   42 /* Color of ReduceAction283 */,
   43 /* Property init */,
-  1663 /* Id of ReduceAction284 */,
+  1679 /* Id of ReduceAction284 */,
   3 /* Color of ReduceAction284 */,
   42 /* Color of ReduceAction284 */,
   43 /* Property init */,
-  1659 /* Id of ReduceAction285 */,
+  1675 /* Id of ReduceAction285 */,
   3 /* Color of ReduceAction285 */,
   42 /* Color of ReduceAction285 */,
   43 /* Property init */,
-  1655 /* Id of ReduceAction286 */,
+  1671 /* Id of ReduceAction286 */,
   3 /* Color of ReduceAction286 */,
   42 /* Color of ReduceAction286 */,
   43 /* Property init */,
-  1651 /* Id of ReduceAction287 */,
+  1667 /* Id of ReduceAction287 */,
   3 /* Color of ReduceAction287 */,
   42 /* Color of ReduceAction287 */,
   43 /* Property init */,
-  1647 /* Id of ReduceAction288 */,
+  1663 /* Id of ReduceAction288 */,
   3 /* Color of ReduceAction288 */,
   42 /* Color of ReduceAction288 */,
   43 /* Property init */,
-  1643 /* Id of ReduceAction289 */,
+  1659 /* Id of ReduceAction289 */,
   3 /* Color of ReduceAction289 */,
   42 /* Color of ReduceAction289 */,
   43 /* Property init */,
-  1635 /* Id of ReduceAction290 */,
+  1651 /* Id of ReduceAction290 */,
   3 /* Color of ReduceAction290 */,
   42 /* Color of ReduceAction290 */,
   43 /* Property init */,
-  1631 /* Id of ReduceAction291 */,
+  1647 /* Id of ReduceAction291 */,
   3 /* Color of ReduceAction291 */,
   42 /* Color of ReduceAction291 */,
   43 /* Property init */,
-  1627 /* Id of ReduceAction292 */,
+  1643 /* Id of ReduceAction292 */,
   3 /* Color of ReduceAction292 */,
   42 /* Color of ReduceAction292 */,
   43 /* Property init */,
-  1623 /* Id of ReduceAction293 */,
+  1639 /* Id of ReduceAction293 */,
   3 /* Color of ReduceAction293 */,
   42 /* Color of ReduceAction293 */,
   43 /* Property init */,
-  1619 /* Id of ReduceAction294 */,
+  1635 /* Id of ReduceAction294 */,
   3 /* Color of ReduceAction294 */,
   42 /* Color of ReduceAction294 */,
   43 /* Property init */,
-  1615 /* Id of ReduceAction295 */,
+  1631 /* Id of ReduceAction295 */,
   3 /* Color of ReduceAction295 */,
   42 /* Color of ReduceAction295 */,
   43 /* Property init */,
-  1611 /* Id of ReduceAction296 */,
+  1627 /* Id of ReduceAction296 */,
   3 /* Color of ReduceAction296 */,
   42 /* Color of ReduceAction296 */,
   43 /* Property init */,
-  1607 /* Id of ReduceAction297 */,
+  1623 /* Id of ReduceAction297 */,
   3 /* Color of ReduceAction297 */,
   42 /* Color of ReduceAction297 */,
   43 /* Property init */,
-  1603 /* Id of ReduceAction298 */,
+  1619 /* Id of ReduceAction298 */,
   3 /* Color of ReduceAction298 */,
   42 /* Color of ReduceAction298 */,
   43 /* Property init */,
-  1599 /* Id of ReduceAction299 */,
+  1615 /* Id of ReduceAction299 */,
   3 /* Color of ReduceAction299 */,
   42 /* Color of ReduceAction299 */,
   43 /* Property init */,
-  1587 /* Id of ReduceAction300 */,
+  1603 /* Id of ReduceAction300 */,
   3 /* Color of ReduceAction300 */,
   42 /* Color of ReduceAction300 */,
   43 /* Property init */,
-  1583 /* Id of ReduceAction301 */,
+  1599 /* Id of ReduceAction301 */,
   3 /* Color of ReduceAction301 */,
   42 /* Color of ReduceAction301 */,
   43 /* Property init */,
-  1579 /* Id of ReduceAction302 */,
+  1595 /* Id of ReduceAction302 */,
   3 /* Color of ReduceAction302 */,
   42 /* Color of ReduceAction302 */,
   43 /* Property init */,
-  1575 /* Id of ReduceAction303 */,
+  1591 /* Id of ReduceAction303 */,
   3 /* Color of ReduceAction303 */,
   42 /* Color of ReduceAction303 */,
   43 /* Property init */,
-  1571 /* Id of ReduceAction304 */,
+  1587 /* Id of ReduceAction304 */,
   3 /* Color of ReduceAction304 */,
   42 /* Color of ReduceAction304 */,
   43 /* Property init */,
-  1567 /* Id of ReduceAction305 */,
+  1583 /* Id of ReduceAction305 */,
   3 /* Color of ReduceAction305 */,
   42 /* Color of ReduceAction305 */,
   43 /* Property init */,
-  1563 /* Id of ReduceAction306 */,
+  1579 /* Id of ReduceAction306 */,
   3 /* Color of ReduceAction306 */,
   42 /* Color of ReduceAction306 */,
   43 /* Property init */,
-  1559 /* Id of ReduceAction307 */,
+  1575 /* Id of ReduceAction307 */,
   3 /* Color of ReduceAction307 */,
   42 /* Color of ReduceAction307 */,
   43 /* Property init */,
-  1555 /* Id of ReduceAction308 */,
+  1571 /* Id of ReduceAction308 */,
   3 /* Color of ReduceAction308 */,
   42 /* Color of ReduceAction308 */,
   43 /* Property init */,
-  1551 /* Id of ReduceAction309 */,
+  1567 /* Id of ReduceAction309 */,
   3 /* Color of ReduceAction309 */,
   42 /* Color of ReduceAction309 */,
   43 /* Property init */,
-  1543 /* Id of ReduceAction310 */,
+  1559 /* Id of ReduceAction310 */,
   3 /* Color of ReduceAction310 */,
   42 /* Color of ReduceAction310 */,
   43 /* Property init */,
-  1539 /* Id of ReduceAction311 */,
+  1555 /* Id of ReduceAction311 */,
   3 /* Color of ReduceAction311 */,
   42 /* Color of ReduceAction311 */,
   43 /* Property init */,
-  1535 /* Id of ReduceAction312 */,
+  1551 /* Id of ReduceAction312 */,
   3 /* Color of ReduceAction312 */,
   42 /* Color of ReduceAction312 */,
   43 /* Property init */,
-  1531 /* Id of ReduceAction313 */,
+  1547 /* Id of ReduceAction313 */,
   3 /* Color of ReduceAction313 */,
   42 /* Color of ReduceAction313 */,
   43 /* Property init */,
-  1527 /* Id of ReduceAction314 */,
+  1543 /* Id of ReduceAction314 */,
   3 /* Color of ReduceAction314 */,
   42 /* Color of ReduceAction314 */,
   43 /* Property init */,
-  1523 /* Id of ReduceAction315 */,
+  1539 /* Id of ReduceAction315 */,
   3 /* Color of ReduceAction315 */,
   42 /* Color of ReduceAction315 */,
   43 /* Property init */,
-  1519 /* Id of ReduceAction316 */,
+  1535 /* Id of ReduceAction316 */,
   3 /* Color of ReduceAction316 */,
   42 /* Color of ReduceAction316 */,
   43 /* Property init */,
-  1515 /* Id of ReduceAction317 */,
+  1531 /* Id of ReduceAction317 */,
   3 /* Color of ReduceAction317 */,
   42 /* Color of ReduceAction317 */,
   43 /* Property init */,
-  1511 /* Id of ReduceAction318 */,
+  1527 /* Id of ReduceAction318 */,
   3 /* Color of ReduceAction318 */,
   42 /* Color of ReduceAction318 */,
   43 /* Property init */,
-  1507 /* Id of ReduceAction319 */,
+  1523 /* Id of ReduceAction319 */,
   3 /* Color of ReduceAction319 */,
   42 /* Color of ReduceAction319 */,
   43 /* Property init */,
-  1499 /* Id of ReduceAction320 */,
+  1515 /* Id of ReduceAction320 */,
   3 /* Color of ReduceAction320 */,
   42 /* Color of ReduceAction320 */,
   43 /* Property init */,
-  1495 /* Id of ReduceAction321 */,
+  1511 /* Id of ReduceAction321 */,
   3 /* Color of ReduceAction321 */,
   42 /* Color of ReduceAction321 */,
   43 /* Property init */,
-  1491 /* Id of ReduceAction322 */,
+  1507 /* Id of ReduceAction322 */,
   3 /* Color of ReduceAction322 */,
   42 /* Color of ReduceAction322 */,
   43 /* Property init */,
-  1487 /* Id of ReduceAction323 */,
+  1503 /* Id of ReduceAction323 */,
   3 /* Color of ReduceAction323 */,
   42 /* Color of ReduceAction323 */,
   43 /* Property init */,
-  1483 /* Id of ReduceAction324 */,
+  1499 /* Id of ReduceAction324 */,
   3 /* Color of ReduceAction324 */,
   42 /* Color of ReduceAction324 */,
   43 /* Property init */,
-  1479 /* Id of ReduceAction325 */,
+  1495 /* Id of ReduceAction325 */,
   3 /* Color of ReduceAction325 */,
   42 /* Color of ReduceAction325 */,
   43 /* Property init */,
-  1475 /* Id of ReduceAction326 */,
+  1491 /* Id of ReduceAction326 */,
   3 /* Color of ReduceAction326 */,
   42 /* Color of ReduceAction326 */,
   43 /* Property init */,
-  1471 /* Id of ReduceAction327 */,
+  1487 /* Id of ReduceAction327 */,
   3 /* Color of ReduceAction327 */,
   42 /* Color of ReduceAction327 */,
   43 /* Property init */,
-  1467 /* Id of ReduceAction328 */,
+  1483 /* Id of ReduceAction328 */,
   3 /* Color of ReduceAction328 */,
   42 /* Color of ReduceAction328 */,
   43 /* Property init */,
-  1463 /* Id of ReduceAction329 */,
+  1479 /* Id of ReduceAction329 */,
   3 /* Color of ReduceAction329 */,
   42 /* Color of ReduceAction329 */,
   43 /* Property init */,
-  1455 /* Id of ReduceAction330 */,
+  1471 /* Id of ReduceAction330 */,
   3 /* Color of ReduceAction330 */,
   42 /* Color of ReduceAction330 */,
   43 /* Property init */,
-  1451 /* Id of ReduceAction331 */,
+  1467 /* Id of ReduceAction331 */,
   3 /* Color of ReduceAction331 */,
   42 /* Color of ReduceAction331 */,
   43 /* Property init */,
-  1447 /* Id of ReduceAction332 */,
+  1463 /* Id of ReduceAction332 */,
   3 /* Color of ReduceAction332 */,
   42 /* Color of ReduceAction332 */,
   43 /* Property init */,
-  1443 /* Id of ReduceAction333 */,
+  1459 /* Id of ReduceAction333 */,
   3 /* Color of ReduceAction333 */,
   42 /* Color of ReduceAction333 */,
   43 /* Property init */,
-  1439 /* Id of ReduceAction334 */,
+  1455 /* Id of ReduceAction334 */,
   3 /* Color of ReduceAction334 */,
   42 /* Color of ReduceAction334 */,
   43 /* Property init */,
-  1435 /* Id of ReduceAction335 */,
+  1451 /* Id of ReduceAction335 */,
   3 /* Color of ReduceAction335 */,
   42 /* Color of ReduceAction335 */,
   43 /* Property init */,
-  1431 /* Id of ReduceAction336 */,
+  1447 /* Id of ReduceAction336 */,
   3 /* Color of ReduceAction336 */,
   42 /* Color of ReduceAction336 */,
   43 /* Property init */,
-  1427 /* Id of ReduceAction337 */,
+  1443 /* Id of ReduceAction337 */,
   3 /* Color of ReduceAction337 */,
   42 /* Color of ReduceAction337 */,
   43 /* Property init */,
-  1423 /* Id of ReduceAction338 */,
+  1439 /* Id of ReduceAction338 */,
   3 /* Color of ReduceAction338 */,
   42 /* Color of ReduceAction338 */,
   43 /* Property init */,
-  1419 /* Id of ReduceAction339 */,
+  1435 /* Id of ReduceAction339 */,
   3 /* Color of ReduceAction339 */,
   42 /* Color of ReduceAction339 */,
   43 /* Property init */,
-  1411 /* Id of ReduceAction340 */,
+  1427 /* Id of ReduceAction340 */,
   3 /* Color of ReduceAction340 */,
   42 /* Color of ReduceAction340 */,
   43 /* Property init */,
-  1407 /* Id of ReduceAction341 */,
+  1423 /* Id of ReduceAction341 */,
   3 /* Color of ReduceAction341 */,
   42 /* Color of ReduceAction341 */,
   43 /* Property init */,
-  1403 /* Id of ReduceAction342 */,
+  1419 /* Id of ReduceAction342 */,
   3 /* Color of ReduceAction342 */,
   42 /* Color of ReduceAction342 */,
   43 /* Property init */,
-  1399 /* Id of ReduceAction343 */,
+  1415 /* Id of ReduceAction343 */,
   3 /* Color of ReduceAction343 */,
   42 /* Color of ReduceAction343 */,
   43 /* Property init */,
-  1395 /* Id of ReduceAction344 */,
+  1411 /* Id of ReduceAction344 */,
   3 /* Color of ReduceAction344 */,
   42 /* Color of ReduceAction344 */,
   43 /* Property init */,
-  1391 /* Id of ReduceAction345 */,
+  1407 /* Id of ReduceAction345 */,
   3 /* Color of ReduceAction345 */,
   42 /* Color of ReduceAction345 */,
   43 /* Property init */,
-  1387 /* Id of ReduceAction346 */,
+  1403 /* Id of ReduceAction346 */,
   3 /* Color of ReduceAction346 */,
   42 /* Color of ReduceAction346 */,
   43 /* Property init */,
-  1383 /* Id of ReduceAction347 */,
+  1399 /* Id of ReduceAction347 */,
   3 /* Color of ReduceAction347 */,
   42 /* Color of ReduceAction347 */,
   43 /* Property init */,
-  1379 /* Id of ReduceAction348 */,
+  1395 /* Id of ReduceAction348 */,
   3 /* Color of ReduceAction348 */,
   42 /* Color of ReduceAction348 */,
   43 /* Property init */,
-  1375 /* Id of ReduceAction349 */,
+  1391 /* Id of ReduceAction349 */,
   3 /* Color of ReduceAction349 */,
   42 /* Color of ReduceAction349 */,
   43 /* Property init */,
-  1367 /* Id of ReduceAction350 */,
+  1383 /* Id of ReduceAction350 */,
   3 /* Color of ReduceAction350 */,
   42 /* Color of ReduceAction350 */,
   43 /* Property init */,
-  1363 /* Id of ReduceAction351 */,
+  1379 /* Id of ReduceAction351 */,
   3 /* Color of ReduceAction351 */,
   42 /* Color of ReduceAction351 */,
   43 /* Property init */,
-  1359 /* Id of ReduceAction352 */,
+  1375 /* Id of ReduceAction352 */,
   3 /* Color of ReduceAction352 */,
   42 /* Color of ReduceAction352 */,
   43 /* Property init */,
-  1355 /* Id of ReduceAction353 */,
+  1371 /* Id of ReduceAction353 */,
   3 /* Color of ReduceAction353 */,
   42 /* Color of ReduceAction353 */,
   43 /* Property init */,
-  1351 /* Id of ReduceAction354 */,
+  1367 /* Id of ReduceAction354 */,
   3 /* Color of ReduceAction354 */,
   42 /* Color of ReduceAction354 */,
   43 /* Property init */,
-  1347 /* Id of ReduceAction355 */,
+  1363 /* Id of ReduceAction355 */,
   3 /* Color of ReduceAction355 */,
   42 /* Color of ReduceAction355 */,
   43 /* Property init */,
-  1343 /* Id of ReduceAction356 */,
+  1359 /* Id of ReduceAction356 */,
   3 /* Color of ReduceAction356 */,
   42 /* Color of ReduceAction356 */,
   43 /* Property init */,
-  1339 /* Id of ReduceAction357 */,
+  1355 /* Id of ReduceAction357 */,
   3 /* Color of ReduceAction357 */,
   42 /* Color of ReduceAction357 */,
   43 /* Property init */,
-  1335 /* Id of ReduceAction358 */,
+  1351 /* Id of ReduceAction358 */,
   3 /* Color of ReduceAction358 */,
   42 /* Color of ReduceAction358 */,
   43 /* Property init */,
-  1331 /* Id of ReduceAction359 */,
+  1347 /* Id of ReduceAction359 */,
   3 /* Color of ReduceAction359 */,
   42 /* Color of ReduceAction359 */,
   43 /* Property init */,
-  1323 /* Id of ReduceAction360 */,
+  1339 /* Id of ReduceAction360 */,
   3 /* Color of ReduceAction360 */,
   42 /* Color of ReduceAction360 */,
   43 /* Property init */,
-  1319 /* Id of ReduceAction361 */,
+  1335 /* Id of ReduceAction361 */,
   3 /* Color of ReduceAction361 */,
   42 /* Color of ReduceAction361 */,
   43 /* Property init */,
-  1315 /* Id of ReduceAction362 */,
+  1331 /* Id of ReduceAction362 */,
   3 /* Color of ReduceAction362 */,
   42 /* Color of ReduceAction362 */,
   43 /* Property init */,
-  1311 /* Id of ReduceAction363 */,
+  1327 /* Id of ReduceAction363 */,
   3 /* Color of ReduceAction363 */,
   42 /* Color of ReduceAction363 */,
   43 /* Property init */,
-  1307 /* Id of ReduceAction364 */,
+  1323 /* Id of ReduceAction364 */,
   3 /* Color of ReduceAction364 */,
   42 /* Color of ReduceAction364 */,
   43 /* Property init */,
-  1303 /* Id of ReduceAction365 */,
+  1319 /* Id of ReduceAction365 */,
   3 /* Color of ReduceAction365 */,
   42 /* Color of ReduceAction365 */,
   43 /* Property init */,
-  1299 /* Id of ReduceAction366 */,
+  1315 /* Id of ReduceAction366 */,
   3 /* Color of ReduceAction366 */,
   42 /* Color of ReduceAction366 */,
   43 /* Property init */,
-  1295 /* Id of ReduceAction367 */,
+  1311 /* Id of ReduceAction367 */,
   3 /* Color of ReduceAction367 */,
   42 /* Color of ReduceAction367 */,
   43 /* Property init */,
-  1291 /* Id of ReduceAction368 */,
+  1307 /* Id of ReduceAction368 */,
   3 /* Color of ReduceAction368 */,
   42 /* Color of ReduceAction368 */,
   43 /* Property init */,
-  1287 /* Id of ReduceAction369 */,
+  1303 /* Id of ReduceAction369 */,
   3 /* Color of ReduceAction369 */,
   42 /* Color of ReduceAction369 */,
   43 /* Property init */,
-  1279 /* Id of ReduceAction370 */,
+  1295 /* Id of ReduceAction370 */,
   3 /* Color of ReduceAction370 */,
   42 /* Color of ReduceAction370 */,
   43 /* Property init */,
-  1275 /* Id of ReduceAction371 */,
+  1291 /* Id of ReduceAction371 */,
   3 /* Color of ReduceAction371 */,
   42 /* Color of ReduceAction371 */,
   43 /* Property init */,
-  1271 /* Id of ReduceAction372 */,
+  1287 /* Id of ReduceAction372 */,
   3 /* Color of ReduceAction372 */,
   42 /* Color of ReduceAction372 */,
   43 /* Property init */,
-  1267 /* Id of ReduceAction373 */,
+  1283 /* Id of ReduceAction373 */,
   3 /* Color of ReduceAction373 */,
   42 /* Color of ReduceAction373 */,
   43 /* Property init */,
-  1263 /* Id of ReduceAction374 */,
+  1279 /* Id of ReduceAction374 */,
   3 /* Color of ReduceAction374 */,
   42 /* Color of ReduceAction374 */,
   43 /* Property init */,
-  1259 /* Id of ReduceAction375 */,
+  1275 /* Id of ReduceAction375 */,
   3 /* Color of ReduceAction375 */,
   42 /* Color of ReduceAction375 */,
   43 /* Property init */,
-  1255 /* Id of ReduceAction376 */,
+  1271 /* Id of ReduceAction376 */,
   3 /* Color of ReduceAction376 */,
   42 /* Color of ReduceAction376 */,
   43 /* Property init */,
-  1251 /* Id of ReduceAction377 */,
+  1267 /* Id of ReduceAction377 */,
   3 /* Color of ReduceAction377 */,
   42 /* Color of ReduceAction377 */,
   43 /* Property init */,
-  1247 /* Id of ReduceAction378 */,
+  1263 /* Id of ReduceAction378 */,
   3 /* Color of ReduceAction378 */,
   42 /* Color of ReduceAction378 */,
   43 /* Property init */,
-  1243 /* Id of ReduceAction379 */,
+  1259 /* Id of ReduceAction379 */,
   3 /* Color of ReduceAction379 */,
   42 /* Color of ReduceAction379 */,
   43 /* Property init */,
-  1235 /* Id of ReduceAction380 */,
+  1251 /* Id of ReduceAction380 */,
   3 /* Color of ReduceAction380 */,
   42 /* Color of ReduceAction380 */,
   43 /* Property init */,
-  1231 /* Id of ReduceAction381 */,
+  1247 /* Id of ReduceAction381 */,
   3 /* Color of ReduceAction381 */,
   42 /* Color of ReduceAction381 */,
   43 /* Property init */,
-  1227 /* Id of ReduceAction382 */,
+  1243 /* Id of ReduceAction382 */,
   3 /* Color of ReduceAction382 */,
   42 /* Color of ReduceAction382 */,
   43 /* Property init */,
-  1223 /* Id of ReduceAction383 */,
+  1239 /* Id of ReduceAction383 */,
   3 /* Color of ReduceAction383 */,
   42 /* Color of ReduceAction383 */,
   43 /* Property init */,
-  1219 /* Id of ReduceAction384 */,
+  1235 /* Id of ReduceAction384 */,
   3 /* Color of ReduceAction384 */,
   42 /* Color of ReduceAction384 */,
   43 /* Property init */,
-  1215 /* Id of ReduceAction385 */,
+  1231 /* Id of ReduceAction385 */,
   3 /* Color of ReduceAction385 */,
   42 /* Color of ReduceAction385 */,
   43 /* Property init */,
-  1211 /* Id of ReduceAction386 */,
+  1227 /* Id of ReduceAction386 */,
   3 /* Color of ReduceAction386 */,
   42 /* Color of ReduceAction386 */,
   43 /* Property init */,
-  1207 /* Id of ReduceAction387 */,
+  1223 /* Id of ReduceAction387 */,
   3 /* Color of ReduceAction387 */,
   42 /* Color of ReduceAction387 */,
   43 /* Property init */,
-  1203 /* Id of ReduceAction388 */,
+  1219 /* Id of ReduceAction388 */,
   3 /* Color of ReduceAction388 */,
   42 /* Color of ReduceAction388 */,
   43 /* Property init */,
-  1199 /* Id of ReduceAction389 */,
+  1215 /* Id of ReduceAction389 */,
   3 /* Color of ReduceAction389 */,
   42 /* Color of ReduceAction389 */,
   43 /* Property init */,
-  1191 /* Id of ReduceAction390 */,
+  1207 /* Id of ReduceAction390 */,
   3 /* Color of ReduceAction390 */,
   42 /* Color of ReduceAction390 */,
   43 /* Property init */,
-  1187 /* Id of ReduceAction391 */,
+  1203 /* Id of ReduceAction391 */,
   3 /* Color of ReduceAction391 */,
   42 /* Color of ReduceAction391 */,
   43 /* Property init */,
-  1183 /* Id of ReduceAction392 */,
+  1199 /* Id of ReduceAction392 */,
   3 /* Color of ReduceAction392 */,
   42 /* Color of ReduceAction392 */,
   43 /* Property init */,
-  1179 /* Id of ReduceAction393 */,
+  1195 /* Id of ReduceAction393 */,
   3 /* Color of ReduceAction393 */,
   42 /* Color of ReduceAction393 */,
   43 /* Property init */,
-  1175 /* Id of ReduceAction394 */,
+  1191 /* Id of ReduceAction394 */,
   3 /* Color of ReduceAction394 */,
   42 /* Color of ReduceAction394 */,
   43 /* Property init */,
-  1171 /* Id of ReduceAction395 */,
+  1187 /* Id of ReduceAction395 */,
   3 /* Color of ReduceAction395 */,
   42 /* Color of ReduceAction395 */,
   43 /* Property init */,
-  1167 /* Id of ReduceAction396 */,
+  1183 /* Id of ReduceAction396 */,
   3 /* Color of ReduceAction396 */,
   42 /* Color of ReduceAction396 */,
   43 /* Property init */,
-  1163 /* Id of ReduceAction397 */,
+  1179 /* Id of ReduceAction397 */,
   3 /* Color of ReduceAction397 */,
   42 /* Color of ReduceAction397 */,
   43 /* Property init */,
-  1159 /* Id of ReduceAction398 */,
+  1175 /* Id of ReduceAction398 */,
   3 /* Color of ReduceAction398 */,
   42 /* Color of ReduceAction398 */,
   43 /* Property init */,
-  1155 /* Id of ReduceAction399 */,
+  1171 /* Id of ReduceAction399 */,
   3 /* Color of ReduceAction399 */,
   42 /* Color of ReduceAction399 */,
   43 /* Property init */,
-  1143 /* Id of ReduceAction400 */,
+  1159 /* Id of ReduceAction400 */,
   3 /* Color of ReduceAction400 */,
   42 /* Color of ReduceAction400 */,
   43 /* Property init */,
-  1139 /* Id of ReduceAction401 */,
+  1155 /* Id of ReduceAction401 */,
   3 /* Color of ReduceAction401 */,
   42 /* Color of ReduceAction401 */,
   43 /* Property init */,
-  1135 /* Id of ReduceAction402 */,
+  1151 /* Id of ReduceAction402 */,
   3 /* Color of ReduceAction402 */,
   42 /* Color of ReduceAction402 */,
   43 /* Property init */,
-  1131 /* Id of ReduceAction403 */,
+  1147 /* Id of ReduceAction403 */,
   3 /* Color of ReduceAction403 */,
   42 /* Color of ReduceAction403 */,
   43 /* Property init */,
-  1127 /* Id of ReduceAction404 */,
+  1143 /* Id of ReduceAction404 */,
   3 /* Color of ReduceAction404 */,
   42 /* Color of ReduceAction404 */,
   43 /* Property init */,
-  1123 /* Id of ReduceAction405 */,
+  1139 /* Id of ReduceAction405 */,
   3 /* Color of ReduceAction405 */,
   42 /* Color of ReduceAction405 */,
   43 /* Property init */,
-  1119 /* Id of ReduceAction406 */,
+  1135 /* Id of ReduceAction406 */,
   3 /* Color of ReduceAction406 */,
   42 /* Color of ReduceAction406 */,
   43 /* Property init */,
-  1115 /* Id of ReduceAction407 */,
+  1131 /* Id of ReduceAction407 */,
   3 /* Color of ReduceAction407 */,
   42 /* Color of ReduceAction407 */,
   43 /* Property init */,
-  1111 /* Id of ReduceAction408 */,
+  1127 /* Id of ReduceAction408 */,
   3 /* Color of ReduceAction408 */,
   42 /* Color of ReduceAction408 */,
   43 /* Property init */,
-  1107 /* Id of ReduceAction409 */,
+  1123 /* Id of ReduceAction409 */,
   3 /* Color of ReduceAction409 */,
   42 /* Color of ReduceAction409 */,
   43 /* Property init */,
-  1099 /* Id of ReduceAction410 */,
+  1115 /* Id of ReduceAction410 */,
   3 /* Color of ReduceAction410 */,
   42 /* Color of ReduceAction410 */,
   43 /* Property init */,
-  1095 /* Id of ReduceAction411 */,
+  1111 /* Id of ReduceAction411 */,
   3 /* Color of ReduceAction411 */,
   42 /* Color of ReduceAction411 */,
   43 /* Property init */,
-  1091 /* Id of ReduceAction412 */,
+  1107 /* Id of ReduceAction412 */,
   3 /* Color of ReduceAction412 */,
   42 /* Color of ReduceAction412 */,
   43 /* Property init */,
-  1087 /* Id of ReduceAction413 */,
+  1103 /* Id of ReduceAction413 */,
   3 /* Color of ReduceAction413 */,
   42 /* Color of ReduceAction413 */,
   43 /* Property init */,
-  1083 /* Id of ReduceAction414 */,
+  1099 /* Id of ReduceAction414 */,
   3 /* Color of ReduceAction414 */,
   42 /* Color of ReduceAction414 */,
   43 /* Property init */,
-  1079 /* Id of ReduceAction415 */,
+  1095 /* Id of ReduceAction415 */,
   3 /* Color of ReduceAction415 */,
   42 /* Color of ReduceAction415 */,
   43 /* Property init */,
-  1075 /* Id of ReduceAction416 */,
+  1091 /* Id of ReduceAction416 */,
   3 /* Color of ReduceAction416 */,
   42 /* Color of ReduceAction416 */,
   43 /* Property init */,
-  1071 /* Id of ReduceAction417 */,
+  1087 /* Id of ReduceAction417 */,
   3 /* Color of ReduceAction417 */,
   42 /* Color of ReduceAction417 */,
   43 /* Property init */,
-  1067 /* Id of ReduceAction418 */,
+  1083 /* Id of ReduceAction418 */,
   3 /* Color of ReduceAction418 */,
   42 /* Color of ReduceAction418 */,
   43 /* Property init */,
-  1063 /* Id of ReduceAction419 */,
+  1079 /* Id of ReduceAction419 */,
   3 /* Color of ReduceAction419 */,
   42 /* Color of ReduceAction419 */,
   43 /* Property init */,
-  1055 /* Id of ReduceAction420 */,
+  1071 /* Id of ReduceAction420 */,
   3 /* Color of ReduceAction420 */,
   42 /* Color of ReduceAction420 */,
   43 /* Property init */,
-  1051 /* Id of ReduceAction421 */,
+  1067 /* Id of ReduceAction421 */,
   3 /* Color of ReduceAction421 */,
   42 /* Color of ReduceAction421 */,
   43 /* Property init */,
-  1047 /* Id of ReduceAction422 */,
+  1063 /* Id of ReduceAction422 */,
   3 /* Color of ReduceAction422 */,
   42 /* Color of ReduceAction422 */,
   43 /* Property init */,
-  1043 /* Id of ReduceAction423 */,
+  1059 /* Id of ReduceAction423 */,
   3 /* Color of ReduceAction423 */,
   42 /* Color of ReduceAction423 */,
   43 /* Property init */,
-  1039 /* Id of ReduceAction424 */,
+  1055 /* Id of ReduceAction424 */,
   3 /* Color of ReduceAction424 */,
   42 /* Color of ReduceAction424 */,
   43 /* Property init */,
-  1035 /* Id of ReduceAction425 */,
+  1051 /* Id of ReduceAction425 */,
   3 /* Color of ReduceAction425 */,
   42 /* Color of ReduceAction425 */,
   43 /* Property init */,
-  1031 /* Id of ReduceAction426 */,
+  1047 /* Id of ReduceAction426 */,
   3 /* Color of ReduceAction426 */,
   42 /* Color of ReduceAction426 */,
   43 /* Property init */,
-  1027 /* Id of ReduceAction427 */,
+  1043 /* Id of ReduceAction427 */,
   3 /* Color of ReduceAction427 */,
   42 /* Color of ReduceAction427 */,
   43 /* Property init */,
-  1023 /* Id of ReduceAction428 */,
+  1039 /* Id of ReduceAction428 */,
   3 /* Color of ReduceAction428 */,
   42 /* Color of ReduceAction428 */,
   43 /* Property init */,
-  1019 /* Id of ReduceAction429 */,
+  1035 /* Id of ReduceAction429 */,
   3 /* Color of ReduceAction429 */,
   42 /* Color of ReduceAction429 */,
   43 /* Property init */,
-  1011 /* Id of ReduceAction430 */,
+  1027 /* Id of ReduceAction430 */,
   3 /* Color of ReduceAction430 */,
   42 /* Color of ReduceAction430 */,
   43 /* Property init */,
-  1007 /* Id of ReduceAction431 */,
+  1023 /* Id of ReduceAction431 */,
   3 /* Color of ReduceAction431 */,
   42 /* Color of ReduceAction431 */,
   43 /* Property init */,
-  1003 /* Id of ReduceAction432 */,
+  1019 /* Id of ReduceAction432 */,
   3 /* Color of ReduceAction432 */,
   42 /* Color of ReduceAction432 */,
   43 /* Property init */,
-  999 /* Id of ReduceAction433 */,
+  1015 /* Id of ReduceAction433 */,
   3 /* Color of ReduceAction433 */,
   42 /* Color of ReduceAction433 */,
   43 /* Property init */,
-  995 /* Id of ReduceAction434 */,
+  1011 /* Id of ReduceAction434 */,
   3 /* Color of ReduceAction434 */,
   42 /* Color of ReduceAction434 */,
   43 /* Property init */,
-  991 /* Id of ReduceAction435 */,
+  1007 /* Id of ReduceAction435 */,
   3 /* Color of ReduceAction435 */,
   42 /* Color of ReduceAction435 */,
   43 /* Property init */,
-  987 /* Id of ReduceAction436 */,
+  1003 /* Id of ReduceAction436 */,
   3 /* Color of ReduceAction436 */,
   42 /* Color of ReduceAction436 */,
   43 /* Property init */,
-  983 /* Id of ReduceAction437 */,
+  999 /* Id of ReduceAction437 */,
   3 /* Color of ReduceAction437 */,
   42 /* Color of ReduceAction437 */,
   43 /* Property init */,
-  979 /* Id of ReduceAction438 */,
+  995 /* Id of ReduceAction438 */,
   3 /* Color of ReduceAction438 */,
   42 /* Color of ReduceAction438 */,
   43 /* Property init */,
-  975 /* Id of ReduceAction439 */,
+  991 /* Id of ReduceAction439 */,
   3 /* Color of ReduceAction439 */,
   42 /* Color of ReduceAction439 */,
   43 /* Property init */,
-  967 /* Id of ReduceAction440 */,
+  983 /* Id of ReduceAction440 */,
   3 /* Color of ReduceAction440 */,
   42 /* Color of ReduceAction440 */,
   43 /* Property init */,
-  963 /* Id of ReduceAction441 */,
+  979 /* Id of ReduceAction441 */,
   3 /* Color of ReduceAction441 */,
   42 /* Color of ReduceAction441 */,
   43 /* Property init */,
-  959 /* Id of ReduceAction442 */,
+  975 /* Id of ReduceAction442 */,
   3 /* Color of ReduceAction442 */,
   42 /* Color of ReduceAction442 */,
   43 /* Property init */,
-  955 /* Id of ReduceAction443 */,
+  971 /* Id of ReduceAction443 */,
   3 /* Color of ReduceAction443 */,
   42 /* Color of ReduceAction443 */,
   43 /* Property init */,
-  951 /* Id of ReduceAction444 */,
+  967 /* Id of ReduceAction444 */,
   3 /* Color of ReduceAction444 */,
   42 /* Color of ReduceAction444 */,
   43 /* Property init */,
-  947 /* Id of ReduceAction445 */,
+  963 /* Id of ReduceAction445 */,
   3 /* Color of ReduceAction445 */,
   42 /* Color of ReduceAction445 */,
   43 /* Property init */,
-  943 /* Id of ReduceAction446 */,
+  959 /* Id of ReduceAction446 */,
   3 /* Color of ReduceAction446 */,
   42 /* Color of ReduceAction446 */,
   43 /* Property init */,
-  939 /* Id of ReduceAction447 */,
+  955 /* Id of ReduceAction447 */,
   3 /* Color of ReduceAction447 */,
   42 /* Color of ReduceAction447 */,
   43 /* Property init */,
-  935 /* Id of ReduceAction448 */,
+  951 /* Id of ReduceAction448 */,
   3 /* Color of ReduceAction448 */,
   42 /* Color of ReduceAction448 */,
   43 /* Property init */,
-  931 /* Id of ReduceAction449 */,
+  947 /* Id of ReduceAction449 */,
   3 /* Color of ReduceAction449 */,
   42 /* Color of ReduceAction449 */,
   43 /* Property init */,
-  923 /* Id of ReduceAction450 */,
+  939 /* Id of ReduceAction450 */,
   3 /* Color of ReduceAction450 */,
   42 /* Color of ReduceAction450 */,
   43 /* Property init */,
-  919 /* Id of ReduceAction451 */,
+  935 /* Id of ReduceAction451 */,
   3 /* Color of ReduceAction451 */,
   42 /* Color of ReduceAction451 */,
   43 /* Property init */,
-  915 /* Id of ReduceAction452 */,
+  931 /* Id of ReduceAction452 */,
   3 /* Color of ReduceAction452 */,
   42 /* Color of ReduceAction452 */,
   43 /* Property init */,
-  911 /* Id of ReduceAction453 */,
+  927 /* Id of ReduceAction453 */,
   3 /* Color of ReduceAction453 */,
   42 /* Color of ReduceAction453 */,
   43 /* Property init */,
-  907 /* Id of ReduceAction454 */,
+  923 /* Id of ReduceAction454 */,
   3 /* Color of ReduceAction454 */,
   42 /* Color of ReduceAction454 */,
   43 /* Property init */,
-  903 /* Id of ReduceAction455 */,
+  919 /* Id of ReduceAction455 */,
   3 /* Color of ReduceAction455 */,
   42 /* Color of ReduceAction455 */,
   43 /* Property init */,
-  899 /* Id of ReduceAction456 */,
+  915 /* Id of ReduceAction456 */,
   3 /* Color of ReduceAction456 */,
   42 /* Color of ReduceAction456 */,
   43 /* Property init */,
-  895 /* Id of ReduceAction457 */,
+  911 /* Id of ReduceAction457 */,
   3 /* Color of ReduceAction457 */,
   42 /* Color of ReduceAction457 */,
   43 /* Property init */,
-  891 /* Id of ReduceAction458 */,
+  907 /* Id of ReduceAction458 */,
   3 /* Color of ReduceAction458 */,
   42 /* Color of ReduceAction458 */,
   43 /* Property init */,
-  887 /* Id of ReduceAction459 */,
+  903 /* Id of ReduceAction459 */,
   3 /* Color of ReduceAction459 */,
   42 /* Color of ReduceAction459 */,
   43 /* Property init */,
-  879 /* Id of ReduceAction460 */,
+  895 /* Id of ReduceAction460 */,
   3 /* Color of ReduceAction460 */,
   42 /* Color of ReduceAction460 */,
   43 /* Property init */,
-  875 /* Id of ReduceAction461 */,
+  891 /* Id of ReduceAction461 */,
   3 /* Color of ReduceAction461 */,
   42 /* Color of ReduceAction461 */,
   43 /* Property init */,
-  871 /* Id of ReduceAction462 */,
+  887 /* Id of ReduceAction462 */,
   3 /* Color of ReduceAction462 */,
   42 /* Color of ReduceAction462 */,
   43 /* Property init */,
-  867 /* Id of ReduceAction463 */,
+  883 /* Id of ReduceAction463 */,
   3 /* Color of ReduceAction463 */,
   42 /* Color of ReduceAction463 */,
   43 /* Property init */,
-  863 /* Id of ReduceAction464 */,
+  879 /* Id of ReduceAction464 */,
   3 /* Color of ReduceAction464 */,
   42 /* Color of ReduceAction464 */,
   43 /* Property init */,
-  859 /* Id of ReduceAction465 */,
+  875 /* Id of ReduceAction465 */,
   3 /* Color of ReduceAction465 */,
   42 /* Color of ReduceAction465 */,
   43 /* Property init */,
-  855 /* Id of ReduceAction466 */,
+  871 /* Id of ReduceAction466 */,
   3 /* Color of ReduceAction466 */,
   42 /* Color of ReduceAction466 */,
   43 /* Property init */,
-  851 /* Id of ReduceAction467 */,
+  867 /* Id of ReduceAction467 */,
   3 /* Color of ReduceAction467 */,
   42 /* Color of ReduceAction467 */,
   43 /* Property init */,
-  847 /* Id of ReduceAction468 */,
+  863 /* Id of ReduceAction468 */,
   3 /* Color of ReduceAction468 */,
   42 /* Color of ReduceAction468 */,
   43 /* Property init */,
-  843 /* Id of ReduceAction469 */,
+  859 /* Id of ReduceAction469 */,
   3 /* Color of ReduceAction469 */,
   42 /* Color of ReduceAction469 */,
   43 /* Property init */,
-  835 /* Id of ReduceAction470 */,
+  851 /* Id of ReduceAction470 */,
   3 /* Color of ReduceAction470 */,
   42 /* Color of ReduceAction470 */,
   43 /* Property init */,
-  831 /* Id of ReduceAction471 */,
+  847 /* Id of ReduceAction471 */,
   3 /* Color of ReduceAction471 */,
   42 /* Color of ReduceAction471 */,
   43 /* Property init */,
-  827 /* Id of ReduceAction472 */,
+  843 /* Id of ReduceAction472 */,
   3 /* Color of ReduceAction472 */,
   42 /* Color of ReduceAction472 */,
   43 /* Property init */,
-  823 /* Id of ReduceAction473 */,
+  839 /* Id of ReduceAction473 */,
   3 /* Color of ReduceAction473 */,
   42 /* Color of ReduceAction473 */,
   43 /* Property init */,
-  819 /* Id of ReduceAction474 */,
+  835 /* Id of ReduceAction474 */,
   3 /* Color of ReduceAction474 */,
   42 /* Color of ReduceAction474 */,
   43 /* Property init */,
-  815 /* Id of ReduceAction475 */,
+  831 /* Id of ReduceAction475 */,
   3 /* Color of ReduceAction475 */,
   42 /* Color of ReduceAction475 */,
   43 /* Property init */,
-  811 /* Id of ReduceAction476 */,
+  827 /* Id of ReduceAction476 */,
   3 /* Color of ReduceAction476 */,
   42 /* Color of ReduceAction476 */,
   43 /* Property init */,
-  807 /* Id of ReduceAction477 */,
+  823 /* Id of ReduceAction477 */,
   3 /* Color of ReduceAction477 */,
   42 /* Color of ReduceAction477 */,
   43 /* Property init */,
-  803 /* Id of ReduceAction478 */,
+  819 /* Id of ReduceAction478 */,
   3 /* Color of ReduceAction478 */,
   42 /* Color of ReduceAction478 */,
   43 /* Property init */,
-  799 /* Id of ReduceAction479 */,
+  815 /* Id of ReduceAction479 */,
   3 /* Color of ReduceAction479 */,
   42 /* Color of ReduceAction479 */,
   43 /* Property init */,
-  791 /* Id of ReduceAction480 */,
+  807 /* Id of ReduceAction480 */,
   3 /* Color of ReduceAction480 */,
   42 /* Color of ReduceAction480 */,
   43 /* Property init */,
-  787 /* Id of ReduceAction481 */,
+  803 /* Id of ReduceAction481 */,
   3 /* Color of ReduceAction481 */,
   42 /* Color of ReduceAction481 */,
   43 /* Property init */,
-  783 /* Id of ReduceAction482 */,
+  799 /* Id of ReduceAction482 */,
   3 /* Color of ReduceAction482 */,
   42 /* Color of ReduceAction482 */,
   43 /* Property init */,
-  779 /* Id of ReduceAction483 */,
+  795 /* Id of ReduceAction483 */,
   3 /* Color of ReduceAction483 */,
   42 /* Color of ReduceAction483 */,
   43 /* Property init */,
-  775 /* Id of ReduceAction484 */,
+  791 /* Id of ReduceAction484 */,
   3 /* Color of ReduceAction484 */,
   42 /* Color of ReduceAction484 */,
   43 /* Property init */,
-  771 /* Id of ReduceAction485 */,
+  787 /* Id of ReduceAction485 */,
   3 /* Color of ReduceAction485 */,
   42 /* Color of ReduceAction485 */,
   43 /* Property init */,
-  767 /* Id of ReduceAction486 */,
+  783 /* Id of ReduceAction486 */,
   3 /* Color of ReduceAction486 */,
   42 /* Color of ReduceAction486 */,
   43 /* Property init */,
-  763 /* Id of ReduceAction487 */,
+  779 /* Id of ReduceAction487 */,
   3 /* Color of ReduceAction487 */,
   42 /* Color of ReduceAction487 */,
   43 /* Property init */,
-  759 /* Id of ReduceAction488 */,
+  775 /* Id of ReduceAction488 */,
   3 /* Color of ReduceAction488 */,
   42 /* Color of ReduceAction488 */,
   43 /* Property init */,
-  755 /* Id of ReduceAction489 */,
+  771 /* Id of ReduceAction489 */,
   3 /* Color of ReduceAction489 */,
   42 /* Color of ReduceAction489 */,
   43 /* Property init */,
-  747 /* Id of ReduceAction490 */,
+  763 /* Id of ReduceAction490 */,
   3 /* Color of ReduceAction490 */,
   42 /* Color of ReduceAction490 */,
   43 /* Property init */,
-  743 /* Id of ReduceAction491 */,
+  759 /* Id of ReduceAction491 */,
   3 /* Color of ReduceAction491 */,
   42 /* Color of ReduceAction491 */,
   43 /* Property init */,
-  739 /* Id of ReduceAction492 */,
+  755 /* Id of ReduceAction492 */,
   3 /* Color of ReduceAction492 */,
   42 /* Color of ReduceAction492 */,
   43 /* Property init */,
-  735 /* Id of ReduceAction493 */,
+  751 /* Id of ReduceAction493 */,
   3 /* Color of ReduceAction493 */,
   42 /* Color of ReduceAction493 */,
   43 /* Property init */,
-  731 /* Id of ReduceAction494 */,
+  747 /* Id of ReduceAction494 */,
   3 /* Color of ReduceAction494 */,
   42 /* Color of ReduceAction494 */,
   43 /* Property init */,
-  727 /* Id of ReduceAction495 */,
+  743 /* Id of ReduceAction495 */,
   3 /* Color of ReduceAction495 */,
   42 /* Color of ReduceAction495 */,
   43 /* Property init */,
-  723 /* Id of ReduceAction496 */,
+  739 /* Id of ReduceAction496 */,
   3 /* Color of ReduceAction496 */,
   42 /* Color of ReduceAction496 */,
   43 /* Property init */,
-  719 /* Id of ReduceAction497 */,
+  735 /* Id of ReduceAction497 */,
   3 /* Color of ReduceAction497 */,
   42 /* Color of ReduceAction497 */,
   43 /* Property init */,
-  715 /* Id of ReduceAction498 */,
+  731 /* Id of ReduceAction498 */,
   3 /* Color of ReduceAction498 */,
   42 /* Color of ReduceAction498 */,
   43 /* Property init */,
-  711 /* Id of ReduceAction499 */,
+  727 /* Id of ReduceAction499 */,
   3 /* Color of ReduceAction499 */,
   42 /* Color of ReduceAction499 */,
   43 /* Property init */,
-  699 /* Id of ReduceAction500 */,
+  715 /* Id of ReduceAction500 */,
   3 /* Color of ReduceAction500 */,
   42 /* Color of ReduceAction500 */,
   43 /* Property init */,
-  695 /* Id of ReduceAction501 */,
+  711 /* Id of ReduceAction501 */,
   3 /* Color of ReduceAction501 */,
   42 /* Color of ReduceAction501 */,
   43 /* Property init */,
-  691 /* Id of ReduceAction502 */,
+  707 /* Id of ReduceAction502 */,
   3 /* Color of ReduceAction502 */,
   42 /* Color of ReduceAction502 */,
   43 /* Property init */,
-  687 /* Id of ReduceAction503 */,
+  703 /* Id of ReduceAction503 */,
   3 /* Color of ReduceAction503 */,
   42 /* Color of ReduceAction503 */,
   43 /* Property init */,
-  683 /* Id of ReduceAction504 */,
+  699 /* Id of ReduceAction504 */,
   3 /* Color of ReduceAction504 */,
   42 /* Color of ReduceAction504 */,
   43 /* Property init */,
-  679 /* Id of ReduceAction505 */,
+  695 /* Id of ReduceAction505 */,
   3 /* Color of ReduceAction505 */,
   42 /* Color of ReduceAction505 */,
   43 /* Property init */,
-  675 /* Id of ReduceAction506 */,
+  691 /* Id of ReduceAction506 */,
   3 /* Color of ReduceAction506 */,
   42 /* Color of ReduceAction506 */,
   43 /* Property init */,
-  671 /* Id of ReduceAction507 */,
+  687 /* Id of ReduceAction507 */,
   3 /* Color of ReduceAction507 */,
   42 /* Color of ReduceAction507 */,
   43 /* Property init */,
-  667 /* Id of ReduceAction508 */,
+  683 /* Id of ReduceAction508 */,
   3 /* Color of ReduceAction508 */,
   42 /* Color of ReduceAction508 */,
   43 /* Property init */,
-  663 /* Id of ReduceAction509 */,
+  679 /* Id of ReduceAction509 */,
   3 /* Color of ReduceAction509 */,
   42 /* Color of ReduceAction509 */,
   43 /* Property init */,
-  655 /* Id of ReduceAction510 */,
+  671 /* Id of ReduceAction510 */,
   3 /* Color of ReduceAction510 */,
   42 /* Color of ReduceAction510 */,
   43 /* Property init */,
-  651 /* Id of ReduceAction511 */,
+  667 /* Id of ReduceAction511 */,
   3 /* Color of ReduceAction511 */,
   42 /* Color of ReduceAction511 */,
   43 /* Property init */,
-  647 /* Id of ReduceAction512 */,
+  663 /* Id of ReduceAction512 */,
   3 /* Color of ReduceAction512 */,
   42 /* Color of ReduceAction512 */,
   43 /* Property init */,
-  643 /* Id of ReduceAction513 */,
+  659 /* Id of ReduceAction513 */,
   3 /* Color of ReduceAction513 */,
   42 /* Color of ReduceAction513 */,
   43 /* Property init */,
-  639 /* Id of ReduceAction514 */,
+  655 /* Id of ReduceAction514 */,
   3 /* Color of ReduceAction514 */,
   42 /* Color of ReduceAction514 */,
   43 /* Property init */,
-  635 /* Id of ReduceAction515 */,
+  651 /* Id of ReduceAction515 */,
   3 /* Color of ReduceAction515 */,
   42 /* Color of ReduceAction515 */,
   43 /* Property init */,
-  631 /* Id of ReduceAction516 */,
+  647 /* Id of ReduceAction516 */,
   3 /* Color of ReduceAction516 */,
   42 /* Color of ReduceAction516 */,
   43 /* Property init */,
-  627 /* Id of ReduceAction517 */,
+  643 /* Id of ReduceAction517 */,
   3 /* Color of ReduceAction517 */,
   42 /* Color of ReduceAction517 */,
   43 /* Property init */,
-  623 /* Id of ReduceAction518 */,
+  639 /* Id of ReduceAction518 */,
   3 /* Color of ReduceAction518 */,
   42 /* Color of ReduceAction518 */,
   43 /* Property init */,
-  619 /* Id of ReduceAction519 */,
+  635 /* Id of ReduceAction519 */,
   3 /* Color of ReduceAction519 */,
   42 /* Color of ReduceAction519 */,
   43 /* Property init */,
-  611 /* Id of ReduceAction520 */,
+  627 /* Id of ReduceAction520 */,
   3 /* Color of ReduceAction520 */,
   42 /* Color of ReduceAction520 */,
   43 /* Property init */,
-  607 /* Id of ReduceAction521 */,
+  623 /* Id of ReduceAction521 */,
   3 /* Color of ReduceAction521 */,
   42 /* Color of ReduceAction521 */,
   43 /* Property init */,
-  603 /* Id of ReduceAction522 */,
+  619 /* Id of ReduceAction522 */,
   3 /* Color of ReduceAction522 */,
   42 /* Color of ReduceAction522 */,
   43 /* Property init */,
-  599 /* Id of ReduceAction523 */,
+  615 /* Id of ReduceAction523 */,
   3 /* Color of ReduceAction523 */,
   42 /* Color of ReduceAction523 */,
   43 /* Property init */,
-  595 /* Id of ReduceAction524 */,
+  611 /* Id of ReduceAction524 */,
   3 /* Color of ReduceAction524 */,
   42 /* Color of ReduceAction524 */,
   43 /* Property init */,
-  591 /* Id of ReduceAction525 */,
+  607 /* Id of ReduceAction525 */,
   3 /* Color of ReduceAction525 */,
   42 /* Color of ReduceAction525 */,
   43 /* Property init */,
-  587 /* Id of ReduceAction526 */,
+  603 /* Id of ReduceAction526 */,
   3 /* Color of ReduceAction526 */,
   42 /* Color of ReduceAction526 */,
   43 /* Property init */,
-  583 /* Id of ReduceAction527 */,
+  599 /* Id of ReduceAction527 */,
   3 /* Color of ReduceAction527 */,
   42 /* Color of ReduceAction527 */,
   43 /* Property init */,
-  579 /* Id of ReduceAction528 */,
+  595 /* Id of ReduceAction528 */,
   3 /* Color of ReduceAction528 */,
   42 /* Color of ReduceAction528 */,
   43 /* Property init */,
-  575 /* Id of ReduceAction529 */,
+  591 /* Id of ReduceAction529 */,
   3 /* Color of ReduceAction529 */,
   42 /* Color of ReduceAction529 */,
   43 /* Property init */,
-  567 /* Id of ReduceAction530 */,
+  583 /* Id of ReduceAction530 */,
   3 /* Color of ReduceAction530 */,
   42 /* Color of ReduceAction530 */,
   43 /* Property init */,
-  563 /* Id of ReduceAction531 */,
+  579 /* Id of ReduceAction531 */,
   3 /* Color of ReduceAction531 */,
   42 /* Color of ReduceAction531 */,
   43 /* Property init */,
-  559 /* Id of ReduceAction532 */,
+  575 /* Id of ReduceAction532 */,
   3 /* Color of ReduceAction532 */,
   42 /* Color of ReduceAction532 */,
   43 /* Property init */,
-  555 /* Id of ReduceAction533 */,
+  571 /* Id of ReduceAction533 */,
   3 /* Color of ReduceAction533 */,
   42 /* Color of ReduceAction533 */,
   43 /* Property init */,
-  551 /* Id of ReduceAction534 */,
+  567 /* Id of ReduceAction534 */,
   3 /* Color of ReduceAction534 */,
   42 /* Color of ReduceAction534 */,
   43 /* Property init */,
-  547 /* Id of ReduceAction535 */,
+  563 /* Id of ReduceAction535 */,
   3 /* Color of ReduceAction535 */,
   42 /* Color of ReduceAction535 */,
   43 /* Property init */,
-  543 /* Id of ReduceAction536 */,
+  559 /* Id of ReduceAction536 */,
   3 /* Color of ReduceAction536 */,
   42 /* Color of ReduceAction536 */,
   43 /* Property init */,
-  539 /* Id of ReduceAction537 */,
+  555 /* Id of ReduceAction537 */,
   3 /* Color of ReduceAction537 */,
   42 /* Color of ReduceAction537 */,
   43 /* Property init */,
-  535 /* Id of ReduceAction538 */,
+  551 /* Id of ReduceAction538 */,
   3 /* Color of ReduceAction538 */,
   42 /* Color of ReduceAction538 */,
   43 /* Property init */,
-  531 /* Id of ReduceAction539 */,
+  547 /* Id of ReduceAction539 */,
   3 /* Color of ReduceAction539 */,
   42 /* Color of ReduceAction539 */,
   43 /* Property init */,
-  523 /* Id of ReduceAction540 */,
+  539 /* Id of ReduceAction540 */,
   3 /* Color of ReduceAction540 */,
   42 /* Color of ReduceAction540 */,
   43 /* Property init */,
-  519 /* Id of ReduceAction541 */,
+  535 /* Id of ReduceAction541 */,
   3 /* Color of ReduceAction541 */,
   42 /* Color of ReduceAction541 */,
   43 /* Property init */,
-  515 /* Id of ReduceAction542 */,
+  531 /* Id of ReduceAction542 */,
   3 /* Color of ReduceAction542 */,
   42 /* Color of ReduceAction542 */,
   43 /* Property init */,
-  511 /* Id of ReduceAction543 */,
+  527 /* Id of ReduceAction543 */,
   3 /* Color of ReduceAction543 */,
   42 /* Color of ReduceAction543 */,
   43 /* Property init */,
-  507 /* Id of ReduceAction544 */,
+  523 /* Id of ReduceAction544 */,
   3 /* Color of ReduceAction544 */,
   42 /* Color of ReduceAction544 */,
   43 /* Property init */,
-  503 /* Id of ReduceAction545 */,
+  519 /* Id of ReduceAction545 */,
   3 /* Color of ReduceAction545 */,
   42 /* Color of ReduceAction545 */,
   43 /* Property init */,
-  499 /* Id of ReduceAction546 */,
+  515 /* Id of ReduceAction546 */,
   3 /* Color of ReduceAction546 */,
   42 /* Color of ReduceAction546 */,
   43 /* Property init */,
-  495 /* Id of ReduceAction547 */,
+  511 /* Id of ReduceAction547 */,
   3 /* Color of ReduceAction547 */,
   42 /* Color of ReduceAction547 */,
   43 /* Property init */,
-  491 /* Id of ReduceAction548 */,
+  507 /* Id of ReduceAction548 */,
   3 /* Color of ReduceAction548 */,
   42 /* Color of ReduceAction548 */,
   43 /* Property init */,
-  487 /* Id of ReduceAction549 */,
+  503 /* Id of ReduceAction549 */,
   3 /* Color of ReduceAction549 */,
   42 /* Color of ReduceAction549 */,
   43 /* Property init */,
-  479 /* Id of ReduceAction550 */,
+  495 /* Id of ReduceAction550 */,
   3 /* Color of ReduceAction550 */,
   42 /* Color of ReduceAction550 */,
   43 /* Property init */,
-  475 /* Id of ReduceAction551 */,
+  491 /* Id of ReduceAction551 */,
   3 /* Color of ReduceAction551 */,
   42 /* Color of ReduceAction551 */,
   43 /* Property init */,
-  471 /* Id of ReduceAction552 */,
+  487 /* Id of ReduceAction552 */,
   3 /* Color of ReduceAction552 */,
   42 /* Color of ReduceAction552 */,
   43 /* Property init */,
-  467 /* Id of ReduceAction553 */,
+  483 /* Id of ReduceAction553 */,
   3 /* Color of ReduceAction553 */,
   42 /* Color of ReduceAction553 */,
   43 /* Property init */,
-  463 /* Id of ReduceAction554 */,
+  479 /* Id of ReduceAction554 */,
   3 /* Color of ReduceAction554 */,
   42 /* Color of ReduceAction554 */,
   43 /* Property init */,
-  459 /* Id of ReduceAction555 */,
+  475 /* Id of ReduceAction555 */,
   3 /* Color of ReduceAction555 */,
   42 /* Color of ReduceAction555 */,
   43 /* Property init */,
-  455 /* Id of ReduceAction556 */,
+  471 /* Id of ReduceAction556 */,
   3 /* Color of ReduceAction556 */,
   42 /* Color of ReduceAction556 */,
   43 /* Property init */,
-  451 /* Id of ReduceAction557 */,
+  467 /* Id of ReduceAction557 */,
   3 /* Color of ReduceAction557 */,
   42 /* Color of ReduceAction557 */,
   43 /* Property init */,
-  447 /* Id of ReduceAction558 */,
+  463 /* Id of ReduceAction558 */,
   3 /* Color of ReduceAction558 */,
   42 /* Color of ReduceAction558 */,
   43 /* Property init */,
-  443 /* Id of ReduceAction559 */,
+  459 /* Id of ReduceAction559 */,
   3 /* Color of ReduceAction559 */,
   42 /* Color of ReduceAction559 */,
   43 /* Property init */,
-  435 /* Id of ReduceAction560 */,
+  451 /* Id of ReduceAction560 */,
   3 /* Color of ReduceAction560 */,
   42 /* Color of ReduceAction560 */,
   43 /* Property init */,
-  431 /* Id of ReduceAction561 */,
+  447 /* Id of ReduceAction561 */,
   3 /* Color of ReduceAction561 */,
   42 /* Color of ReduceAction561 */,
   43 /* Property init */,
-  427 /* Id of ReduceAction562 */,
+  443 /* Id of ReduceAction562 */,
   3 /* Color of ReduceAction562 */,
   42 /* Color of ReduceAction562 */,
   43 /* Property init */,
-  423 /* Id of ReduceAction563 */,
+  439 /* Id of ReduceAction563 */,
   3 /* Color of ReduceAction563 */,
   42 /* Color of ReduceAction563 */,
   43 /* Property init */,
-  419 /* Id of ReduceAction564 */,
+  435 /* Id of ReduceAction564 */,
   3 /* Color of ReduceAction564 */,
   42 /* Color of ReduceAction564 */,
   43 /* Property init */,
-  415 /* Id of ReduceAction565 */,
+  431 /* Id of ReduceAction565 */,
   3 /* Color of ReduceAction565 */,
   42 /* Color of ReduceAction565 */,
   43 /* Property init */,
-  411 /* Id of ReduceAction566 */,
+  427 /* Id of ReduceAction566 */,
   3 /* Color of ReduceAction566 */,
   42 /* Color of ReduceAction566 */,
   43 /* Property init */,
-  407 /* Id of ReduceAction567 */,
+  423 /* Id of ReduceAction567 */,
   3 /* Color of ReduceAction567 */,
   42 /* Color of ReduceAction567 */,
   43 /* Property init */,
-  403 /* Id of ReduceAction568 */,
+  419 /* Id of ReduceAction568 */,
   3 /* Color of ReduceAction568 */,
   42 /* Color of ReduceAction568 */,
   43 /* Property init */,
+  415 /* Id of ReduceAction569 */,
+  3 /* Color of ReduceAction569 */,
+  42 /* Color of ReduceAction569 */,
+  43 /* Property init */,
+  407 /* Id of ReduceAction570 */,
+  3 /* Color of ReduceAction570 */,
+  42 /* Color of ReduceAction570 */,
+  43 /* Property init */,
+  403 /* Id of ReduceAction571 */,
+  3 /* Color of ReduceAction571 */,
+  42 /* Color of ReduceAction571 */,
+  43 /* Property init */,
+  399 /* Id of ReduceAction572 */,
+  3 /* Color of ReduceAction572 */,
+  42 /* Color of ReduceAction572 */,
+  43 /* Property init */,
 };
-const int SFT_parser_prod[259] = {
+const int SFT_parser_prod[261] = {
   1 /* Property _parent */,
   47 /* Property parent */,
   48 /* Property parent= */,
@@ -2730,14 +2758,14 @@ const int SFT_parser_prod[259] = {
   71 /* Property init_abraassignmethid */,
   70 /* Property empty_init */,
   71 /* Property init_asignature */,
-  78 /* Property empty_init */,
-  79 /* Property init_aparam */,
+  79 /* Property empty_init */,
+  80 /* Property init_aparam */,
   74 /* Property empty_init */,
   75 /* Property init_atype */,
   76 /* Property empty_init */,
   77 /* Property init_ablockexpr */,
-  77 /* Property empty_init */,
-  78 /* Property init_avardeclexpr */,
+  79 /* Property empty_init */,
+  80 /* Property init_avardeclexpr */,
   77 /* Property empty_init */,
   78 /* Property init_areturnexpr */,
   79 /* Property empty_init */,
@@ -2756,8 +2784,8 @@ const int SFT_parser_prod[259] = {
   80 /* Property init_awhileexpr */,
   79 /* Property empty_init */,
   80 /* Property init_aforexpr */,
-  77 /* Property empty_init */,
-  78 /* Property init_aforvardeclexpr */,
+  79 /* Property empty_init */,
+  80 /* Property init_aforvardeclexpr */,
   76 /* Property empty_init */,
   77 /* Property init_aassertexpr */,
   80 /* Property empty_init */,
@@ -2804,8 +2832,8 @@ const int SFT_parser_prod[259] = {
   103 /* Property init_auminusexpr */,
   94 /* Property empty_init */,
   95 /* Property init_anewexpr */,
-  95 /* Property empty_init */,
-  96 /* Property init_aattrexpr */,
+  96 /* Property empty_init */,
+  97 /* Property init_aattrexpr */,
   76 /* Property empty_init */,
   77 /* Property init_aattrassignexpr */,
   76 /* Property empty_init */,
@@ -2826,12 +2854,12 @@ const int SFT_parser_prod[259] = {
   79 /* Property init_abraassignexpr */,
   105 /* Property empty_init */,
   106 /* Property init_abrareassignexpr */,
-  81 /* Property empty_init */,
-  82 /* Property init_avarexpr */,
-  86 /* Property empty_init */,
-  87 /* Property init_avarassignexpr */,
-  88 /* Property empty_init */,
-  89 /* Property init_avarreassignexpr */,
+  82 /* Property empty_init */,
+  83 /* Property init_avarexpr */,
+  87 /* Property empty_init */,
+  88 /* Property init_avarassignexpr */,
+  89 /* Property empty_init */,
+  90 /* Property init_avarreassignexpr */,
   77 /* Property empty_init */,
   78 /* Property init_arangeexpr */,
   84 /* Property empty_init */,
@@ -2868,6 +2896,8 @@ const int SFT_parser_prod[259] = {
   77 /* Property init_asuperstringexpr */,
   79 /* Property empty_init */,
   80 /* Property init_aparexpr */,
+  76 /* Property empty_init */,
+  77 /* Property init_aascastexpr */,
   69 /* Property empty_init */,
   70 /* Property init_aplusassignop */,
   69 /* Property empty_init */,
@@ -2878,7 +2908,7 @@ const int SFT_parser_prod[259] = {
   69 /* Property init_adoc */,
   67 /* Property init */,
 };
-const int SFT_lexer[124] = {
+const int SFT_lexer[125] = {
   3 /* Property _text */,
   4 /* Property _filename */,
   5 /* Property _line */,
@@ -2972,6 +3002,7 @@ const int SFT_lexer[124] = {
   69 /* Property init */,
   69 /* Property init */,
   69 /* Property init */,
+  69 /* Property init */,
   7 /* Property _message */,
   71 /* Property message */,
   72 /* Property message= */,
@@ -3004,311 +3035,314 @@ const int SFT_lexer[124] = {
   50 /* Property nil_array */,
   51 /* Property build_accept_table */,
 };
-const int SFT_parser_nodes[1242] = {
+const int SFT_parser_nodes[1257] = {
   63 /* Id of PNode */,
   2 /* Color of PNode */,
   57 /* Color of PNode */,
   183 /* Id of Token */,
   3 /* Color of Token */,
   68 /* Color of Token */,
-  2495 /* Id of Prod */,
+  2511 /* Id of Prod */,
   3 /* Color of Prod */,
   66 /* Color of Prod */,
-  2959 /* Id of TEol */,
+  2975 /* Id of TEol */,
   4 /* Color of TEol */,
   70 /* Color of TEol */,
-  2983 /* Id of TComment */,
+  2999 /* Id of TComment */,
   4 /* Color of TComment */,
   70 /* Color of TComment */,
-  2819 /* Id of TKwpackage */,
+  2831 /* Id of TKwpackage */,
   4 /* Color of TKwpackage */,
   70 /* Color of TKwpackage */,
-  2875 /* Id of TKwimport */,
+  2887 /* Id of TKwimport */,
   4 /* Color of TKwimport */,
   70 /* Color of TKwimport */,
-  2911 /* Id of TKwclass */,
+  2923 /* Id of TKwclass */,
   4 /* Color of TKwclass */,
   70 /* Color of TKwclass */,
-  2931 /* Id of TKwabstract */,
+  2947 /* Id of TKwabstract */,
   4 /* Color of TKwabstract */,
   70 /* Color of TKwabstract */,
-  2863 /* Id of TKwinterface */,
+  2875 /* Id of TKwinterface */,
   4 /* Color of TKwinterface */,
   70 /* Color of TKwinterface */,
-  2771 /* Id of TKwuniversal */,
+  2783 /* Id of TKwuniversal */,
   4 /* Color of TKwuniversal */,
   70 /* Color of TKwuniversal */,
-  2791 /* Id of TKwspecial */,
+  2803 /* Id of TKwspecial */,
   4 /* Color of TKwspecial */,
   70 /* Color of TKwspecial */,
-  2895 /* Id of TKwend */,
+  2907 /* Id of TKwend */,
   4 /* Color of TKwend */,
   70 /* Color of TKwend */,
-  2843 /* Id of TKwmeth */,
+  2855 /* Id of TKwmeth */,
   4 /* Color of TKwmeth */,
   70 /* Color of TKwmeth */,
-  2775 /* Id of TKwtype */,
+  2787 /* Id of TKwtype */,
   4 /* Color of TKwtype */,
   70 /* Color of TKwtype */,
-  2919 /* Id of TKwattr */,
+  2931 /* Id of TKwattr */,
   4 /* Color of TKwattr */,
   70 /* Color of TKwattr */,
-  2867 /* Id of TKwinit */,
+  2879 /* Id of TKwinit */,
   4 /* Color of TKwinit */,
   70 /* Color of TKwinit */,
-  2803 /* Id of TKwredef */,
+  2815 /* Id of TKwredef */,
   4 /* Color of TKwredef */,
   70 /* Color of TKwredef */,
-  2851 /* Id of TKwis */,
+  2863 /* Id of TKwis */,
   4 /* Color of TKwis */,
   70 /* Color of TKwis */,
-  2903 /* Id of TKwdo */,
+  2915 /* Id of TKwdo */,
   4 /* Color of TKwdo */,
   70 /* Color of TKwdo */,
-  2807 /* Id of TKwreadable */,
+  2819 /* Id of TKwreadable */,
   4 /* Color of TKwreadable */,
   70 /* Color of TKwreadable */,
-  2759 /* Id of TKwwritable */,
+  2771 /* Id of TKwwritable */,
   4 /* Color of TKwwritable */,
   70 /* Color of TKwwritable */,
-  2767 /* Id of TKwvar */,
+  2779 /* Id of TKwvar */,
   4 /* Color of TKwvar */,
   70 /* Color of TKwvar */,
-  2859 /* Id of TKwintern */,
+  2871 /* Id of TKwintern */,
   4 /* Color of TKwintern */,
   70 /* Color of TKwintern */,
-  2891 /* Id of TKwextern */,
+  2903 /* Id of TKwextern */,
   4 /* Color of TKwextern */,
   70 /* Color of TKwextern */,
-  2811 /* Id of TKwprotected */,
+  2823 /* Id of TKwprotected */,
   4 /* Color of TKwprotected */,
   70 /* Color of TKwprotected */,
-  2815 /* Id of TKwprivate */,
+  2827 /* Id of TKwprivate */,
   4 /* Color of TKwprivate */,
   70 /* Color of TKwprivate */,
-  2855 /* Id of TKwintrude */,
+  2867 /* Id of TKwintrude */,
   4 /* Color of TKwintrude */,
   70 /* Color of TKwintrude */,
-  2879 /* Id of TKwif */,
+  2891 /* Id of TKwif */,
   4 /* Color of TKwif */,
   70 /* Color of TKwif */,
-  2783 /* Id of TKwthen */,
+  2795 /* Id of TKwthen */,
   4 /* Color of TKwthen */,
   70 /* Color of TKwthen */,
-  2899 /* Id of TKwelse */,
+  2911 /* Id of TKwelse */,
   4 /* Color of TKwelse */,
   70 /* Color of TKwelse */,
-  2763 /* Id of TKwwhile */,
+  2775 /* Id of TKwwhile */,
   4 /* Color of TKwwhile */,
   70 /* Color of TKwwhile */,
-  2883 /* Id of TKwfor */,
+  2895 /* Id of TKwfor */,
   4 /* Color of TKwfor */,
   70 /* Color of TKwfor */,
-  2871 /* Id of TKwin */,
+  2883 /* Id of TKwin */,
   4 /* Color of TKwin */,
   70 /* Color of TKwin */,
-  2927 /* Id of TKwand */,
+  2943 /* Id of TKwand */,
   4 /* Color of TKwand */,
   70 /* Color of TKwand */,
-  2823 /* Id of TKwor */,
+  2835 /* Id of TKwor */,
   4 /* Color of TKwor */,
   70 /* Color of TKwor */,
-  2835 /* Id of TKwnot */,
+  2847 /* Id of TKwnot */,
   4 /* Color of TKwnot */,
   70 /* Color of TKwnot */,
-  2799 /* Id of TKwreturn */,
+  2811 /* Id of TKwreturn */,
   4 /* Color of TKwreturn */,
   70 /* Color of TKwreturn */,
-  2907 /* Id of TKwcontinue */,
+  2919 /* Id of TKwcontinue */,
   4 /* Color of TKwcontinue */,
   70 /* Color of TKwcontinue */,
-  2915 /* Id of TKwbreak */,
+  2927 /* Id of TKwbreak */,
   4 /* Color of TKwbreak */,
   70 /* Color of TKwbreak */,
-  2935 /* Id of TKwabort */,
+  2951 /* Id of TKwabort */,
   4 /* Color of TKwabort */,
   70 /* Color of TKwabort */,
-  2923 /* Id of TKwassert */,
+  2935 /* Id of TKwassert */,
   4 /* Color of TKwassert */,
   70 /* Color of TKwassert */,
-  2839 /* Id of TKwnew */,
+  2851 /* Id of TKwnew */,
   4 /* Color of TKwnew */,
   70 /* Color of TKwnew */,
-  2847 /* Id of TKwisa */,
+  2859 /* Id of TKwisa */,
   4 /* Color of TKwisa */,
   70 /* Color of TKwisa */,
-  2827 /* Id of TKwonce */,
+  2839 /* Id of TKwonce */,
   4 /* Color of TKwonce */,
   70 /* Color of TKwonce */,
-  2787 /* Id of TKwsuper */,
+  2799 /* Id of TKwsuper */,
   4 /* Color of TKwsuper */,
   70 /* Color of TKwsuper */,
-  2795 /* Id of TKwself */,
+  2807 /* Id of TKwself */,
   4 /* Color of TKwself */,
   70 /* Color of TKwself */,
-  2779 /* Id of TKwtrue */,
+  2791 /* Id of TKwtrue */,
   4 /* Color of TKwtrue */,
   70 /* Color of TKwtrue */,
-  2887 /* Id of TKwfalse */,
+  2899 /* Id of TKwfalse */,
   4 /* Color of TKwfalse */,
   70 /* Color of TKwfalse */,
-  2831 /* Id of TKwnull */,
+  2843 /* Id of TKwnull */,
   4 /* Color of TKwnull */,
   70 /* Color of TKwnull */,
-  2723 /* Id of TOpar */,
+  2939 /* Id of TKwas */,
+  4 /* Color of TKwas */,
+  70 /* Color of TKwas */,
+  2735 /* Id of TOpar */,
   4 /* Color of TOpar */,
   70 /* Color of TOpar */,
-  2979 /* Id of TCpar */,
+  2995 /* Id of TCpar */,
   4 /* Color of TCpar */,
   70 /* Color of TCpar */,
-  2727 /* Id of TObra */,
+  2739 /* Id of TObra */,
   4 /* Color of TObra */,
   70 /* Color of TObra */,
-  3003 /* Id of TCbra */,
+  3019 /* Id of TCbra */,
   4 /* Color of TCbra */,
   70 /* Color of TCbra */,
-  2987 /* Id of TComma */,
+  3003 /* Id of TComma */,
   4 /* Color of TComma */,
   70 /* Color of TComma */,
-  2991 /* Id of TColumn */,
+  3007 /* Id of TColumn */,
   4 /* Color of TColumn */,
   70 /* Color of TColumn */,
-  2707 /* Id of TQuad */,
+  2719 /* Id of TQuad */,
   4 /* Color of TQuad */,
   70 /* Color of TQuad */,
-  3011 /* Id of TAssign */,
+  3027 /* Id of TAssign */,
   4 /* Color of TAssign */,
   70 /* Color of TAssign */,
-  2711 /* Id of TPluseq */,
+  2723 /* Id of TPluseq */,
   4 /* Color of TPluseq */,
   70 /* Color of TPluseq */,
-  2739 /* Id of TMinuseq */,
+  2751 /* Id of TMinuseq */,
   4 /* Color of TMinuseq */,
   70 /* Color of TMinuseq */,
-  2967 /* Id of TDotdotdot */,
+  2983 /* Id of TDotdotdot */,
   4 /* Color of TDotdotdot */,
   70 /* Color of TDotdotdot */,
-  2971 /* Id of TDotdot */,
+  2987 /* Id of TDotdot */,
   4 /* Color of TDotdot */,
   70 /* Color of TDotdot */,
-  2975 /* Id of TDot */,
+  2991 /* Id of TDot */,
   4 /* Color of TDot */,
   70 /* Color of TDot */,
-  2715 /* Id of TPlus */,
+  2727 /* Id of TPlus */,
   4 /* Color of TPlus */,
   70 /* Color of TPlus */,
-  2743 /* Id of TMinus */,
+  2755 /* Id of TMinus */,
   4 /* Color of TMinus */,
   70 /* Color of TMinus */,
-  2699 /* Id of TStar */,
+  2711 /* Id of TStar */,
   4 /* Color of TStar */,
   70 /* Color of TStar */,
-  2703 /* Id of TSlash */,
+  2715 /* Id of TSlash */,
   4 /* Color of TSlash */,
   70 /* Color of TSlash */,
-  2719 /* Id of TPercent */,
+  2731 /* Id of TPercent */,
   4 /* Color of TPercent */,
   70 /* Color of TPercent */,
-  2955 /* Id of TEq */,
+  2971 /* Id of TEq */,
   4 /* Color of TEq */,
   70 /* Color of TEq */,
-  2735 /* Id of TNe */,
+  2747 /* Id of TNe */,
   4 /* Color of TNe */,
   70 /* Color of TNe */,
-  2751 /* Id of TLt */,
+  2763 /* Id of TLt */,
   4 /* Color of TLt */,
   70 /* Color of TLt */,
-  2755 /* Id of TLe */,
+  2767 /* Id of TLe */,
   4 /* Color of TLe */,
   70 /* Color of TLe */,
-  2943 /* Id of TGt */,
+  2959 /* Id of TGt */,
   4 /* Color of TGt */,
   70 /* Color of TGt */,
-  2947 /* Id of TGe */,
+  2963 /* Id of TGe */,
   4 /* Color of TGe */,
   70 /* Color of TGe */,
-  2695 /* Id of TStarship */,
+  2707 /* Id of TStarship */,
   4 /* Color of TStarship */,
   70 /* Color of TStarship */,
-  2995 /* Id of TClassid */,
+  3011 /* Id of TClassid */,
   4 /* Color of TClassid */,
   70 /* Color of TClassid */,
-  2939 /* Id of TId */,
+  2955 /* Id of TId */,
   4 /* Color of TId */,
   70 /* Color of TId */,
-  3007 /* Id of TAttrid */,
+  3023 /* Id of TAttrid */,
   4 /* Color of TAttrid */,
   70 /* Color of TAttrid */,
-  2731 /* Id of TNumber */,
+  2743 /* Id of TNumber */,
   4 /* Color of TNumber */,
   70 /* Color of TNumber */,
-  2951 /* Id of TFloat */,
+  2967 /* Id of TFloat */,
   4 /* Color of TFloat */,
   70 /* Color of TFloat */,
-  2999 /* Id of TChar */,
+  3015 /* Id of TChar */,
   4 /* Color of TChar */,
   70 /* Color of TChar */,
-  2687 /* Id of TString */,
+  2699 /* Id of TString */,
   4 /* Color of TString */,
   70 /* Color of TString */,
-  2691 /* Id of TStartString */,
+  2703 /* Id of TStartString */,
   4 /* Color of TStartString */,
   70 /* Color of TStartString */,
-  2747 /* Id of TMidString */,
+  2759 /* Id of TMidString */,
   4 /* Color of TMidString */,
   70 /* Color of TMidString */,
-  2963 /* Id of TEndString */,
+  2979 /* Id of TEndString */,
   4 /* Color of TEndString */,
   70 /* Color of TEndString */,
-  3195 /* Id of EOF */,
+  3207 /* Id of EOF */,
   4 /* Color of EOF */,
   70 /* Color of EOF */,
-  3267 /* Id of PError */,
+  3279 /* Id of PError */,
   5 /* Color of PError */,
   74 /* Color of PError */,
-  3063 /* Id of PModule */,
+  3079 /* Id of PModule */,
   4 /* Color of PModule */,
   67 /* Color of PModule */,
-  3059 /* Id of PPackagedecl */,
+  3075 /* Id of PPackagedecl */,
   4 /* Color of PPackagedecl */,
   67 /* Color of PPackagedecl */,
-  3071 /* Id of PImport */,
+  3087 /* Id of PImport */,
   4 /* Color of PImport */,
   69 /* Color of PImport */,
-  3031 /* Id of PVisibility */,
+  3047 /* Id of PVisibility */,
   4 /* Color of PVisibility */,
   68 /* Color of PVisibility */,
-  3091 /* Id of PClassdef */,
+  3107 /* Id of PClassdef */,
   4 /* Color of PClassdef */,
   73 /* Color of PClassdef */,
-  3087 /* Id of PClasskind */,
+  3103 /* Id of PClasskind */,
   4 /* Color of PClasskind */,
   70 /* Color of PClasskind */,
-  3075 /* Id of PFormaldef */,
+  3091 /* Id of PFormaldef */,
   4 /* Color of PFormaldef */,
   67 /* Color of PFormaldef */,
-  3039 /* Id of PSuperclass */,
+  3055 /* Id of PSuperclass */,
   4 /* Color of PSuperclass */,
   67 /* Color of PSuperclass */,
-  3051 /* Id of PPropdef */,
+  3067 /* Id of PPropdef */,
   4 /* Color of PPropdef */,
   4 /* Property _n_doc */,
   71 /* Color of PPropdef */,
   72 /* Property n_doc */,
   73 /* Property n_doc= */,
-  3099 /* Id of PAble */,
+  3115 /* Id of PAble */,
   4 /* Color of PAble */,
   4 /* Property _n_kwredef */,
   67 /* Color of PAble */,
   68 /* Property n_kwredef */,
   69 /* Property n_kwredef= */,
-  3067 /* Id of PMethid */,
+  3083 /* Id of PMethid */,
   4 /* Color of PMethid */,
   69 /* Color of PMethid */,
-  3043 /* Id of PSignature */,
+  3059 /* Id of PSignature */,
   4 /* Color of PSignature */,
   68 /* Color of PSignature */,
-  3055 /* Id of PParam */,
+  3071 /* Id of PParam */,
   4 /* Color of PParam */,
   7 /* Property _n_id */,
   8 /* Property _n_type */,
@@ -3317,22 +3351,22 @@ const int SFT_parser_nodes[1242] = {
   75 /* Property n_id= */,
   76 /* Property n_type */,
   77 /* Property n_type= */,
-  3035 /* Id of PType */,
+  3051 /* Id of PType */,
   4 /* Color of PType */,
   72 /* Color of PType */,
-  3079 /* Id of PExpr */,
+  3095 /* Id of PExpr */,
   4 /* Color of PExpr */,
   71 /* Color of PExpr */,
-  3095 /* Id of PAssignOp */,
+  3111 /* Id of PAssignOp */,
   4 /* Color of PAssignOp */,
   68 /* Color of PAssignOp */,
-  3047 /* Id of PQualified */,
+  3063 /* Id of PQualified */,
   4 /* Color of PQualified */,
   67 /* Color of PQualified */,
-  3083 /* Id of PDoc */,
+  3099 /* Id of PDoc */,
   4 /* Color of PDoc */,
   67 /* Color of PDoc */,
-  3447 /* Id of AModule */,
+  3455 /* Id of AModule */,
   5 /* Color of AModule */,
   4 /* Property _n_packagedecl */,
   5 /* Property _n_imports */,
@@ -3344,7 +3378,7 @@ const int SFT_parser_nodes[1242] = {
   75 /* Property n_imports= */,
   76 /* Property n_classdefs */,
   77 /* Property n_classdefs= */,
-  3431 /* Id of APackagedecl */,
+  3439 /* Id of APackagedecl */,
   5 /* Color of APackagedecl */,
   4 /* Property _n_doc */,
   5 /* Property _n_kwpackage */,
@@ -3356,7 +3390,7 @@ const int SFT_parser_nodes[1242] = {
   74 /* Property n_kwpackage= */,
   75 /* Property n_id */,
   76 /* Property n_id= */,
-  3487 /* Id of AImport */,
+  3495 /* Id of AImport */,
   5 /* Color of AImport */,
   4 /* Property _n_visibility */,
   5 /* Property _n_kwimport */,
@@ -3368,7 +3402,7 @@ const int SFT_parser_nodes[1242] = {
   76 /* Property n_kwimport= */,
   77 /* Property n_id */,
   78 /* Property n_id= */,
-  3439 /* Id of ANoImport */,
+  3447 /* Id of ANoImport */,
   5 /* Color of ANoImport */,
   4 /* Property _n_visibility */,
   5 /* Property _n_kwimport */,
@@ -3380,28 +3414,28 @@ const int SFT_parser_nodes[1242] = {
   76 /* Property n_kwimport= */,
   77 /* Property n_kwend */,
   78 /* Property n_kwend= */,
-  3399 /* Id of APublicVisibility */,
+  3407 /* Id of APublicVisibility */,
   5 /* Color of APublicVisibility */,
   71 /* Color of APublicVisibility */,
-  3411 /* Id of APrivateVisibility */,
+  3419 /* Id of APrivateVisibility */,
   5 /* Color of APrivateVisibility */,
   4 /* Property _n_kwprivate */,
   71 /* Color of APrivateVisibility */,
   72 /* Property n_kwprivate */,
   73 /* Property n_kwprivate= */,
-  3407 /* Id of AProtectedVisibility */,
+  3415 /* Id of AProtectedVisibility */,
   5 /* Color of AProtectedVisibility */,
   4 /* Property _n_kwprotected */,
   71 /* Color of AProtectedVisibility */,
   72 /* Property n_kwprotected */,
   73 /* Property n_kwprotected= */,
-  3475 /* Id of AIntrudeVisibility */,
+  3483 /* Id of AIntrudeVisibility */,
   5 /* Color of AIntrudeVisibility */,
   4 /* Property _n_kwintrude */,
   71 /* Color of AIntrudeVisibility */,
   72 /* Property n_kwintrude */,
   73 /* Property n_kwintrude= */,
-  3543 /* Id of AClassdef */,
+  3551 /* Id of AClassdef */,
   5 /* Color of AClassdef */,
   5 /* Property _n_doc */,
   6 /* Property _n_kwredef */,
@@ -3428,25 +3462,25 @@ const int SFT_parser_nodes[1242] = {
   92 /* Property n_superclasses= */,
   93 /* Property n_propdefs */,
   94 /* Property n_propdefs= */,
-  3343 /* Id of ATopClassdef */,
+  3351 /* Id of ATopClassdef */,
   5 /* Color of ATopClassdef */,
   5 /* Property _n_propdefs */,
   77 /* Color of ATopClassdef */,
   78 /* Property n_propdefs */,
   79 /* Property n_propdefs= */,
-  3463 /* Id of AMainClassdef */,
+  3471 /* Id of AMainClassdef */,
   5 /* Color of AMainClassdef */,
   5 /* Property _n_propdefs */,
   77 /* Color of AMainClassdef */,
   78 /* Property n_propdefs */,
   79 /* Property n_propdefs= */,
-  3539 /* Id of AConcreteClasskind */,
+  3547 /* Id of AConcreteClasskind */,
   5 /* Color of AConcreteClasskind */,
   4 /* Property _n_kwclass */,
   73 /* Color of AConcreteClasskind */,
   74 /* Property n_kwclass */,
   75 /* Property n_kwclass= */,
-  3595 /* Id of AAbstractClasskind */,
+  3607 /* Id of AAbstractClasskind */,
   5 /* Color of AAbstractClasskind */,
   4 /* Property _n_kwabstract */,
   5 /* Property _n_kwclass */,
@@ -3455,19 +3489,19 @@ const int SFT_parser_nodes[1242] = {
   75 /* Property n_kwabstract= */,
   76 /* Property n_kwclass */,
   77 /* Property n_kwclass= */,
-  3479 /* Id of AInterfaceClasskind */,
+  3487 /* Id of AInterfaceClasskind */,
   5 /* Color of AInterfaceClasskind */,
   4 /* Property _n_kwinterface */,
   73 /* Color of AInterfaceClasskind */,
   74 /* Property n_kwinterface */,
   75 /* Property n_kwinterface= */,
-  3331 /* Id of AUniversalClasskind */,
+  3339 /* Id of AUniversalClasskind */,
   5 /* Color of AUniversalClasskind */,
   4 /* Property _n_kwuniversal */,
   73 /* Color of AUniversalClasskind */,
   74 /* Property n_kwuniversal */,
   75 /* Property n_kwuniversal= */,
-  3511 /* Id of AFormaldef */,
+  3519 /* Id of AFormaldef */,
   5 /* Color of AFormaldef */,
   5 /* Property _n_id */,
   6 /* Property _n_type */,
@@ -3476,7 +3510,7 @@ const int SFT_parser_nodes[1242] = {
   74 /* Property n_id= */,
   75 /* Property n_type */,
   76 /* Property n_type= */,
-  3351 /* Id of ASuperclass */,
+  3359 /* Id of ASuperclass */,
   5 /* Color of ASuperclass */,
   5 /* Property _n_kwspecial */,
   6 /* Property _n_type */,
@@ -3485,7 +3519,7 @@ const int SFT_parser_nodes[1242] = {
   76 /* Property n_kwspecial= */,
   77 /* Property n_type */,
   78 /* Property n_type= */,
-  3571 /* Id of AAttrPropdef */,
+  3579 /* Id of AAttrPropdef */,
   5 /* Color of AAttrPropdef */,
   8 /* Property _n_kwredef */,
   9 /* Property _n_visibility */,
@@ -3512,7 +3546,7 @@ const int SFT_parser_nodes[1242] = {
   96 /* Property n_writable= */,
   97 /* Property n_expr */,
   98 /* Property n_expr= */,
-  3459 /* Id of AMethPropdef */,
+  3467 /* Id of AMethPropdef */,
   5 /* Color of AMethPropdef */,
   7 /* Property _n_kwredef */,
   8 /* Property _n_visibility */,
@@ -3527,19 +3561,19 @@ const int SFT_parser_nodes[1242] = {
   88 /* Property n_methid= */,
   89 /* Property n_signature */,
   90 /* Property n_signature= */,
-  3735 /* Id of ADeferredMethPropdef */,
+  3747 /* Id of ADeferredMethPropdef */,
   6 /* Color of ADeferredMethPropdef */,
   11 /* Property _n_kwmeth */,
   95 /* Color of ADeferredMethPropdef */,
   96 /* Property n_kwmeth */,
   97 /* Property n_kwmeth= */,
-  3707 /* Id of AInternMethPropdef */,
+  3719 /* Id of AInternMethPropdef */,
   6 /* Color of AInternMethPropdef */,
   11 /* Property _n_kwmeth */,
   95 /* Color of AInternMethPropdef */,
   96 /* Property n_kwmeth */,
   97 /* Property n_kwmeth= */,
-  3723 /* Id of AExternMethPropdef */,
+  3735 /* Id of AExternMethPropdef */,
   6 /* Color of AExternMethPropdef */,
   11 /* Property _n_kwmeth */,
   12 /* Property _n_extern */,
@@ -3548,7 +3582,7 @@ const int SFT_parser_nodes[1242] = {
   97 /* Property n_kwmeth= */,
   98 /* Property n_extern */,
   99 /* Property n_extern= */,
-  3747 /* Id of AConcreteMethPropdef */,
+  3759 /* Id of AConcreteMethPropdef */,
   6 /* Color of AConcreteMethPropdef */,
   11 /* Property _n_kwmeth */,
   12 /* Property _n_block */,
@@ -3557,16 +3591,16 @@ const int SFT_parser_nodes[1242] = {
   98 /* Property n_kwmeth= */,
   99 /* Property n_block */,
   100 /* Property n_block= */,
-  3799 /* Id of AConcreteInitPropdef */,
+  3803 /* Id of AConcreteInitPropdef */,
   7 /* Color of AConcreteInitPropdef */,
   15 /* Property _n_kwinit */,
   106 /* Color of AConcreteInitPropdef */,
   107 /* Property n_kwinit */,
   108 /* Property n_kwinit= */,
-  3795 /* Id of AMainMethPropdef */,
+  3799 /* Id of AMainMethPropdef */,
   7 /* Color of AMainMethPropdef */,
   103 /* Color of AMainMethPropdef */,
-  3335 /* Id of ATypePropdef */,
+  3343 /* Id of ATypePropdef */,
   5 /* Color of ATypePropdef */,
   6 /* Property _n_kwredef */,
   7 /* Property _n_visibility */,
@@ -3584,91 +3618,91 @@ const int SFT_parser_nodes[1242] = {
   88 /* Property n_id= */,
   89 /* Property n_type */,
   90 /* Property n_type= */,
-  3387 /* Id of AReadAble */,
+  3395 /* Id of AReadAble */,
   5 /* Color of AReadAble */,
   5 /* Property _n_kwreadable */,
   72 /* Color of AReadAble */,
   73 /* Property n_kwreadable */,
   74 /* Property n_kwreadable= */,
-  3319 /* Id of AWriteAble */,
+  3327 /* Id of AWriteAble */,
   5 /* Color of AWriteAble */,
   5 /* Property _n_kwwritable */,
   72 /* Color of AWriteAble */,
   73 /* Property n_kwwritable */,
   74 /* Property n_kwwritable= */,
-  3499 /* Id of AIdMethid */,
+  3507 /* Id of AIdMethid */,
   5 /* Color of AIdMethid */,
   5 /* Property _n_id */,
   72 /* Color of AIdMethid */,
   73 /* Property n_id */,
   74 /* Property n_id= */,
-  3415 /* Id of APlusMethid */,
+  3423 /* Id of APlusMethid */,
   5 /* Color of APlusMethid */,
   5 /* Property _n_plus */,
   72 /* Color of APlusMethid */,
   73 /* Property n_plus */,
   74 /* Property n_plus= */,
-  3451 /* Id of AMinusMethid */,
+  3459 /* Id of AMinusMethid */,
   5 /* Color of AMinusMethid */,
   5 /* Property _n_minus */,
   72 /* Color of AMinusMethid */,
   73 /* Property n_minus */,
   74 /* Property n_minus= */,
-  3363 /* Id of AStarMethid */,
+  3371 /* Id of AStarMethid */,
   5 /* Color of AStarMethid */,
   5 /* Property _n_star */,
   72 /* Color of AStarMethid */,
   73 /* Property n_star */,
   74 /* Property n_star= */,
-  3367 /* Id of ASlashMethid */,
+  3375 /* Id of ASlashMethid */,
   5 /* Color of ASlashMethid */,
   5 /* Property _n_slash */,
   72 /* Color of ASlashMethid */,
   73 /* Property n_slash */,
   74 /* Property n_slash= */,
-  3423 /* Id of APercentMethid */,
+  3431 /* Id of APercentMethid */,
   5 /* Color of APercentMethid */,
   5 /* Property _n_percent */,
   72 /* Color of APercentMethid */,
   73 /* Property n_percent */,
   74 /* Property n_percent= */,
-  3523 /* Id of AEqMethid */,
+  3531 /* Id of AEqMethid */,
   5 /* Color of AEqMethid */,
   5 /* Property _n_eq */,
   72 /* Color of AEqMethid */,
   73 /* Property n_eq */,
   74 /* Property n_eq= */,
-  3443 /* Id of ANeMethid */,
+  3451 /* Id of ANeMethid */,
   5 /* Color of ANeMethid */,
   5 /* Property _n_ne */,
   72 /* Color of ANeMethid */,
   73 /* Property n_ne */,
   74 /* Property n_ne= */,
-  3471 /* Id of ALeMethid */,
+  3479 /* Id of ALeMethid */,
   5 /* Color of ALeMethid */,
   5 /* Property _n_le */,
   72 /* Color of ALeMethid */,
   73 /* Property n_le */,
   74 /* Property n_le= */,
-  3507 /* Id of AGeMethid */,
+  3515 /* Id of AGeMethid */,
   5 /* Color of AGeMethid */,
   5 /* Property _n_ge */,
   72 /* Color of AGeMethid */,
   73 /* Property n_ge */,
   74 /* Property n_ge= */,
-  3467 /* Id of ALtMethid */,
+  3475 /* Id of ALtMethid */,
   5 /* Color of ALtMethid */,
   5 /* Property _n_lt */,
   72 /* Color of ALtMethid */,
   73 /* Property n_lt */,
   74 /* Property n_lt= */,
-  3503 /* Id of AGtMethid */,
+  3511 /* Id of AGtMethid */,
   5 /* Color of AGtMethid */,
   5 /* Property _n_gt */,
   72 /* Color of AGtMethid */,
   73 /* Property n_gt */,
   74 /* Property n_gt= */,
-  3555 /* Id of ABraMethid */,
+  3563 /* Id of ABraMethid */,
   5 /* Color of ABraMethid */,
   5 /* Property _n_obra */,
   6 /* Property _n_cbra */,
@@ -3677,13 +3711,13 @@ const int SFT_parser_nodes[1242] = {
   74 /* Property n_obra= */,
   75 /* Property n_cbra */,
   76 /* Property n_cbra= */,
-  3359 /* Id of AStarshipMethid */,
+  3367 /* Id of AStarshipMethid */,
   5 /* Color of AStarshipMethid */,
   5 /* Property _n_starship */,
   72 /* Color of AStarshipMethid */,
   73 /* Property n_starship */,
   74 /* Property n_starship= */,
-  3579 /* Id of AAssignMethid */,
+  3587 /* Id of AAssignMethid */,
   5 /* Color of AAssignMethid */,
   5 /* Property _n_id */,
   6 /* Property _n_assign */,
@@ -3692,7 +3726,7 @@ const int SFT_parser_nodes[1242] = {
   74 /* Property n_id= */,
   75 /* Property n_assign */,
   76 /* Property n_assign= */,
-  3551 /* Id of ABraassignMethid */,
+  3559 /* Id of ABraassignMethid */,
   5 /* Color of ABraassignMethid */,
   5 /* Property _n_obra */,
   6 /* Property _n_cbra */,
@@ -3704,7 +3738,7 @@ const int SFT_parser_nodes[1242] = {
   76 /* Property n_cbra= */,
   77 /* Property n_assign */,
   78 /* Property n_assign= */,
-  3371 /* Id of ASignature */,
+  3379 /* Id of ASignature */,
   5 /* Color of ASignature */,
   4 /* Property _n_params */,
   5 /* Property _n_type */,
@@ -3713,13 +3747,13 @@ const int SFT_parser_nodes[1242] = {
   74 /* Property n_params= */,
   75 /* Property n_type */,
   76 /* Property n_type= */,
-  3427 /* Id of AParam */,
+  3435 /* Id of AParam */,
   5 /* Color of AParam */,
   9 /* Property _n_dotdotdot */,
-  80 /* Color of AParam */,
-  81 /* Property n_dotdotdot */,
-  82 /* Property n_dotdotdot= */,
-  3339 /* Id of AType */,
+  81 /* Color of AParam */,
+  82 /* Property n_dotdotdot */,
+  83 /* Property n_dotdotdot= */,
+  3347 /* Id of AType */,
   5 /* Color of AType */,
   7 /* Property _n_id */,
   8 /* Property _n_types */,
@@ -3728,31 +3762,31 @@ const int SFT_parser_nodes[1242] = {
   78 /* Property n_id= */,
   79 /* Property n_types */,
   80 /* Property n_types= */,
-  3563 /* Id of ABlockExpr */,
+  3571 /* Id of ABlockExpr */,
   5 /* Color of ABlockExpr */,
   6 /* Property _n_expr */,
   78 /* Color of ABlockExpr */,
   79 /* Property n_expr */,
   80 /* Property n_expr= */,
-  3323 /* Id of AVardeclExpr */,
+  3331 /* Id of AVardeclExpr */,
   5 /* Color of AVardeclExpr */,
   7 /* Property _n_kwvar */,
   8 /* Property _n_id */,
   9 /* Property _n_type */,
   10 /* Property _n_assign */,
   11 /* Property _n_expr */,
-  79 /* Color of AVardeclExpr */,
-  80 /* Property n_kwvar */,
-  81 /* Property n_kwvar= */,
-  82 /* Property n_id */,
-  83 /* Property n_id= */,
-  84 /* Property n_type */,
-  85 /* Property n_type= */,
-  86 /* Property n_assign */,
-  87 /* Property n_assign= */,
-  88 /* Property n_expr */,
-  89 /* Property n_expr= */,
-  3379 /* Id of AReturnExpr */,
+  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= */,
+  3387 /* Id of AReturnExpr */,
   5 /* Color of AReturnExpr */,
   6 /* Property _n_kwreturn */,
   7 /* Property _n_expr */,
@@ -3761,25 +3795,25 @@ const int SFT_parser_nodes[1242] = {
   81 /* Property n_kwreturn= */,
   82 /* Property n_expr */,
   83 /* Property n_expr= */,
-  3751 /* Id of ABreakExpr */,
+  3763 /* Id of ABreakExpr */,
   6 /* Color of ABreakExpr */,
   7 /* Property _n_kwbreak */,
   81 /* Color of ABreakExpr */,
   82 /* Property n_kwbreak */,
   83 /* Property n_kwbreak= */,
-  3603 /* Id of AAbortExpr */,
+  3615 /* Id of AAbortExpr */,
   5 /* Color of AAbortExpr */,
   6 /* Property _n_kwabort */,
   79 /* Color of AAbortExpr */,
   80 /* Property n_kwabort */,
   81 /* Property n_kwabort= */,
-  3743 /* Id of AContinueExpr */,
+  3755 /* Id of AContinueExpr */,
   6 /* Color of AContinueExpr */,
   7 /* Property _n_kwcontinue */,
   81 /* Color of AContinueExpr */,
   82 /* Property n_kwcontinue */,
   83 /* Property n_kwcontinue= */,
-  3531 /* Id of ADoExpr */,
+  3539 /* Id of ADoExpr */,
   5 /* Color of ADoExpr */,
   6 /* Property _n_kwdo */,
   7 /* Property _n_block */,
@@ -3788,7 +3822,7 @@ const int SFT_parser_nodes[1242] = {
   80 /* Property n_kwdo= */,
   81 /* Property n_block */,
   82 /* Property n_block= */,
-  3495 /* Id of AIfExpr */,
+  3503 /* Id of AIfExpr */,
   5 /* Color of AIfExpr */,
   6 /* Property _n_kwif */,
   7 /* Property _n_expr */,
@@ -3803,7 +3837,7 @@ const int SFT_parser_nodes[1242] = {
   84 /* Property n_then= */,
   85 /* Property n_else */,
   86 /* Property n_else= */,
-  3491 /* Id of AIfexprExpr */,
+  3499 /* Id of AIfexprExpr */,
   5 /* Color of AIfexprExpr */,
   6 /* Property _n_kwif */,
   7 /* Property _n_expr */,
@@ -3824,7 +3858,7 @@ const int SFT_parser_nodes[1242] = {
   88 /* Property n_kwelse= */,
   89 /* Property n_else */,
   90 /* Property n_else= */,
-  3643 /* Id of AWhileExpr */,
+  3655 /* Id of AWhileExpr */,
   6 /* Color of AWhileExpr */,
   6 /* Property _n_kwwhile */,
   7 /* Property _n_expr */,
@@ -3839,7 +3873,7 @@ const int SFT_parser_nodes[1242] = {
   87 /* Property n_kwdo= */,
   88 /* Property n_block */,
   89 /* Property n_block= */,
-  3715 /* Id of AForExpr */,
+  3727 /* Id of AForExpr */,
   6 /* Color of AForExpr */,
   6 /* Property _n_vardecl */,
   7 /* Property _n_kwdo */,
@@ -3851,19 +3885,19 @@ const int SFT_parser_nodes[1242] = {
   85 /* Property n_kwdo= */,
   86 /* Property n_block */,
   87 /* Property n_block= */,
-  3515 /* Id of AForVardeclExpr */,
+  3523 /* Id of AForVardeclExpr */,
   5 /* Color of AForVardeclExpr */,
   7 /* Property _n_kwfor */,
   8 /* Property _n_id */,
   9 /* Property _n_expr */,
-  79 /* Color of AForVardeclExpr */,
-  80 /* Property n_kwfor */,
-  81 /* Property n_kwfor= */,
-  82 /* Property n_id */,
-  83 /* Property n_id= */,
-  84 /* Property n_expr */,
-  85 /* Property n_expr= */,
-  3587 /* Id of AAssertExpr */,
+  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= */,
+  3595 /* Id of AAssertExpr */,
   5 /* Color of AAssertExpr */,
   6 /* Property _n_kwassert */,
   7 /* Property _n_id */,
@@ -3875,7 +3909,7 @@ const int SFT_parser_nodes[1242] = {
   82 /* Property n_id= */,
   83 /* Property n_expr */,
   84 /* Property n_expr= */,
-  3583 /* Id of AAssignFormExpr */,
+  3591 /* Id of AAssignFormExpr */,
   6 /* Color of AAssignFormExpr */,
   8 /* Property _n_assign */,
   9 /* Property _n_value */,
@@ -3884,7 +3918,7 @@ const int SFT_parser_nodes[1242] = {
   83 /* Property n_assign= */,
   84 /* Property n_value */,
   85 /* Property n_value= */,
-  3383 /* Id of AReassignFormExpr */,
+  3391 /* Id of AReassignFormExpr */,
   6 /* Color of AReassignFormExpr */,
   9 /* Property _n_assign_op */,
   10 /* Property _n_value */,
@@ -3893,28 +3927,28 @@ const int SFT_parser_nodes[1242] = {
   85 /* Property n_assign_op= */,
   86 /* Property n_value */,
   87 /* Property n_value= */,
-  3687 /* Id of AOnceExpr */,
+  3699 /* Id of AOnceExpr */,
   6 /* Color of AOnceExpr */,
   7 /* Property _n_kwonce */,
   82 /* Color of AOnceExpr */,
   83 /* Property n_kwonce */,
   84 /* Property n_kwonce= */,
-  3791 /* Id of ASendExpr */,
+  3795 /* Id of ASendExpr */,
   8 /* Color of ASendExpr */,
   11 /* Property _n_expr */,
   99 /* Color of ASendExpr */,
   100 /* Property n_expr */,
   101 /* Property n_expr= */,
-  3823 /* Id of ABinopExpr */,
+  3827 /* Id of ABinopExpr */,
   9 /* Color of ABinopExpr */,
   12 /* Property _n_expr2 */,
   104 /* Color of ABinopExpr */,
   105 /* Property n_expr2 */,
   106 /* Property n_expr2= */,
-  3559 /* Id of ABoolExpr */,
+  3567 /* Id of ABoolExpr */,
   5 /* Color of ABoolExpr */,
   76 /* Color of ABoolExpr */,
-  3683 /* Id of AOrExpr */,
+  3695 /* Id of AOrExpr */,
   6 /* Color of AOrExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
@@ -3923,7 +3957,7 @@ const int SFT_parser_nodes[1242] = {
   81 /* Property n_expr= */,
   82 /* Property n_expr2 */,
   83 /* Property n_expr2= */,
-  3767 /* Id of AAndExpr */,
+  3779 /* Id of AAndExpr */,
   6 /* Color of AAndExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
@@ -3932,7 +3966,7 @@ const int SFT_parser_nodes[1242] = {
   81 /* Property n_expr= */,
   82 /* Property n_expr2 */,
   83 /* Property n_expr2= */,
-  3691 /* Id of ANotExpr */,
+  3703 /* Id of ANotExpr */,
   6 /* Color of ANotExpr */,
   6 /* Property _n_kwnot */,
   7 /* Property _n_expr */,
@@ -3941,10 +3975,10 @@ const int SFT_parser_nodes[1242] = {
   81 /* Property n_kwnot= */,
   82 /* Property n_expr */,
   83 /* Property n_expr= */,
-  3871 /* Id of AEqExpr */,
+  3875 /* Id of AEqExpr */,
   10 /* Color of AEqExpr */,
   109 /* Color of AEqExpr */,
-  3731 /* Id of AEeExpr */,
+  3743 /* Id of AEeExpr */,
   6 /* Color of AEeExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
@@ -3953,22 +3987,22 @@ const int SFT_parser_nodes[1242] = {
   81 /* Property n_expr= */,
   82 /* Property n_expr2 */,
   83 /* Property n_expr2= */,
-  3847 /* Id of ANeExpr */,
+  3851 /* Id of ANeExpr */,
   10 /* Color of ANeExpr */,
   109 /* Color of ANeExpr */,
-  3855 /* Id of ALtExpr */,
+  3859 /* Id of ALtExpr */,
   10 /* Color of ALtExpr */,
   109 /* Color of ALtExpr */,
-  3859 /* Id of ALeExpr */,
+  3863 /* Id of ALeExpr */,
   10 /* Color of ALeExpr */,
   109 /* Color of ALeExpr */,
-  3863 /* Id of AGtExpr */,
+  3867 /* Id of AGtExpr */,
   10 /* Color of AGtExpr */,
   109 /* Color of AGtExpr */,
-  3867 /* Id of AGeExpr */,
+  3871 /* Id of AGeExpr */,
   10 /* Color of AGeExpr */,
   109 /* Color of AGeExpr */,
-  3703 /* Id of AIsaExpr */,
+  3715 /* Id of AIsaExpr */,
   6 /* Color of AIsaExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_type */,
@@ -3977,31 +4011,31 @@ const int SFT_parser_nodes[1242] = {
   81 /* Property n_expr= */,
   82 /* Property n_type */,
   83 /* Property n_type= */,
-  3839 /* Id of APlusExpr */,
+  3843 /* Id of APlusExpr */,
   10 /* Color of APlusExpr */,
   109 /* Color of APlusExpr */,
-  3851 /* Id of AMinusExpr */,
+  3855 /* Id of AMinusExpr */,
   10 /* Color of AMinusExpr */,
   109 /* Color of AMinusExpr */,
-  3827 /* Id of AStarshipExpr */,
+  3831 /* Id of AStarshipExpr */,
   10 /* Color of AStarshipExpr */,
   109 /* Color of AStarshipExpr */,
-  3831 /* Id of AStarExpr */,
+  3835 /* Id of AStarExpr */,
   10 /* Color of AStarExpr */,
   109 /* Color of AStarExpr */,
-  3835 /* Id of ASlashExpr */,
+  3839 /* Id of ASlashExpr */,
   10 /* Color of ASlashExpr */,
   109 /* Color of ASlashExpr */,
-  3843 /* Id of APercentExpr */,
+  3847 /* Id of APercentExpr */,
   10 /* Color of APercentExpr */,
   109 /* Color of APercentExpr */,
-  3803 /* Id of AUminusExpr */,
+  3807 /* Id of AUminusExpr */,
   9 /* Color of AUminusExpr */,
   12 /* Property _n_minus */,
   104 /* Color of AUminusExpr */,
   105 /* Property n_minus */,
   106 /* Property n_minus= */,
-  3695 /* Id of ANewExpr */,
+  3707 /* Id of ANewExpr */,
   6 /* Color of ANewExpr */,
   8 /* Property _n_kwnew */,
   9 /* Property _n_type */,
@@ -4016,22 +4050,22 @@ const int SFT_parser_nodes[1242] = {
   102 /* Property n_id= */,
   103 /* Property n_args */,
   104 /* Property n_args= */,
-  3575 /* Id of AAttrFormExpr */,
+  3583 /* Id of AAttrFormExpr */,
   5 /* Color of AAttrFormExpr */,
-  12 /* Property _n_expr */,
-  13 /* Property _n_id */,
-  90 /* Color of AAttrFormExpr */,
-  91 /* Property n_expr */,
-  92 /* Property n_expr= */,
-  93 /* Property n_id */,
-  94 /* Property n_id= */,
-  3759 /* Id of AAttrExpr */,
+  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 */,
   6 /* Color of AAttrExpr */,
-  97 /* Color of AAttrExpr */,
-  3763 /* Id of AAttrAssignExpr */,
+  98 /* Color of AAttrExpr */,
+  3775 /* Id of AAttrAssignExpr */,
   7 /* Color of AAttrAssignExpr */,
   78 /* Color of AAttrAssignExpr */,
-  3815 /* Id of ACallFormExpr */,
+  3819 /* Id of ACallFormExpr */,
   10 /* Color of ACallFormExpr */,
   13 /* Property _n_id */,
   14 /* Property _n_args */,
@@ -4040,19 +4074,19 @@ const int SFT_parser_nodes[1242] = {
   106 /* Property n_id= */,
   107 /* Property n_args */,
   108 /* Property n_args= */,
-  3755 /* Id of AAttrReassignExpr */,
+  3767 /* Id of AAttrReassignExpr */,
   7 /* Color of AAttrReassignExpr */,
   78 /* Color of AAttrReassignExpr */,
-  3879 /* Id of ACallExpr */,
+  3883 /* Id of ACallExpr */,
   11 /* Color of ACallExpr */,
   111 /* Color of ACallExpr */,
-  3883 /* Id of ACallAssignExpr */,
+  3887 /* Id of ACallAssignExpr */,
   9 /* Color of ACallAssignExpr */,
   80 /* Color of ACallAssignExpr */,
-  3875 /* Id of ACallReassignExpr */,
+  3879 /* Id of ACallReassignExpr */,
   11 /* Color of ACallReassignExpr */,
   111 /* Color of ACallReassignExpr */,
-  3787 /* Id of ASuperExpr */,
+  3791 /* Id of ASuperExpr */,
   8 /* Color of ASuperExpr */,
   9 /* Property _n_qualified */,
   10 /* Property _n_kwsuper */,
@@ -4064,7 +4098,7 @@ const int SFT_parser_nodes[1242] = {
   101 /* Property n_kwsuper= */,
   102 /* Property n_args */,
   103 /* Property n_args= */,
-  3811 /* Id of AInitExpr */,
+  3815 /* Id of AInitExpr */,
   9 /* Color of AInitExpr */,
   12 /* Property _n_kwinit */,
   13 /* Property _n_args */,
@@ -4073,37 +4107,37 @@ const int SFT_parser_nodes[1242] = {
   106 /* Property n_kwinit= */,
   107 /* Property n_args */,
   108 /* Property n_args= */,
-  3819 /* Id of ABraFormExpr */,
+  3823 /* Id of ABraFormExpr */,
   10 /* Color of ABraFormExpr */,
   13 /* Property _n_args */,
   102 /* Color of ABraFormExpr */,
   103 /* Property n_args */,
   104 /* Property n_args= */,
-  3891 /* Id of ABraExpr */,
+  3895 /* Id of ABraExpr */,
   11 /* Color of ABraExpr */,
   107 /* Color of ABraExpr */,
-  3895 /* Id of ABraAssignExpr */,
+  3899 /* Id of ABraAssignExpr */,
   9 /* Color of ABraAssignExpr */,
   80 /* Color of ABraAssignExpr */,
-  3327 /* Id of AVarFormExpr */,
+  3335 /* Id of AVarFormExpr */,
   5 /* Color of AVarFormExpr */,
   7 /* Property _n_id */,
   78 /* Color of AVarFormExpr */,
   79 /* Property n_id */,
   80 /* Property n_id= */,
-  3887 /* Id of ABraReassignExpr */,
+  3891 /* Id of ABraReassignExpr */,
   11 /* Color of ABraReassignExpr */,
   107 /* Color of ABraReassignExpr */,
-  3651 /* Id of AVarExpr */,
+  3663 /* Id of AVarExpr */,
   6 /* Color of AVarExpr */,
-  83 /* Color of AVarExpr */,
-  3655 /* Id of AVarAssignExpr */,
+  84 /* Color of AVarExpr */,
+  3667 /* Id of AVarAssignExpr */,
   7 /* Color of AVarAssignExpr */,
-  88 /* Color of AVarAssignExpr */,
-  3647 /* Id of AVarReassignExpr */,
+  89 /* Color of AVarAssignExpr */,
+  3659 /* Id of AVarReassignExpr */,
   7 /* Color of AVarReassignExpr */,
-  90 /* Color of AVarReassignExpr */,
-  3391 /* Id of ARangeExpr */,
+  91 /* Color of AVarReassignExpr */,
+  3399 /* Id of ARangeExpr */,
   5 /* Color of ARangeExpr */,
   6 /* Property _n_expr */,
   7 /* Property _n_expr2 */,
@@ -4112,118 +4146,130 @@ const int SFT_parser_nodes[1242] = {
   81 /* Property n_expr= */,
   82 /* Property n_expr2 */,
   83 /* Property n_expr2= */,
-  3739 /* Id of ACrangeExpr */,
+  3751 /* Id of ACrangeExpr */,
   6 /* Color of ACrangeExpr */,
   86 /* Color of ACrangeExpr */,
-  3679 /* Id of AOrangeExpr */,
+  3691 /* Id of AOrangeExpr */,
   6 /* Color of AOrangeExpr */,
   86 /* Color of AOrangeExpr */,
-  3591 /* Id of AArrayExpr */,
+  3603 /* Id of AArrayExpr */,
   5 /* Color of AArrayExpr */,
   6 /* Property _n_exprs */,
   79 /* Color of AArrayExpr */,
   80 /* Property n_exprs */,
   81 /* Property n_exprs= */,
-  3375 /* Id of ASelfExpr */,
+  3383 /* Id of ASelfExpr */,
   5 /* Color of ASelfExpr */,
   6 /* Property _n_kwself */,
   78 /* Color of ASelfExpr */,
   79 /* Property n_kwself */,
   80 /* Property n_kwself= */,
-  3711 /* Id of AImplicitSelfExpr */,
+  3723 /* Id of AImplicitSelfExpr */,
   6 /* Color of AImplicitSelfExpr */,
   83 /* Color of AImplicitSelfExpr */,
-  3659 /* Id of ATrueExpr */,
+  3671 /* Id of ATrueExpr */,
   6 /* Color of ATrueExpr */,
   6 /* Property _n_kwtrue */,
   79 /* Color of ATrueExpr */,
   80 /* Property n_kwtrue */,
   81 /* Property n_kwtrue= */,
-  3719 /* Id of AFalseExpr */,
+  3731 /* Id of AFalseExpr */,
   6 /* Color of AFalseExpr */,
   6 /* Property _n_kwfalse */,
   79 /* Color of AFalseExpr */,
   80 /* Property n_kwfalse */,
   81 /* Property n_kwfalse= */,
-  3435 /* Id of ANullExpr */,
+  3443 /* Id of ANullExpr */,
   5 /* Color of ANullExpr */,
   6 /* Property _n_kwnull */,
   78 /* Color of ANullExpr */,
   79 /* Property n_kwnull */,
   80 /* Property n_kwnull= */,
-  3483 /* Id of AIntExpr */,
+  3491 /* Id of AIntExpr */,
   5 /* Color of AIntExpr */,
   6 /* Property _n_number */,
   78 /* Color of AIntExpr */,
   79 /* Property n_number */,
   80 /* Property n_number= */,
-  3519 /* Id of AFloatExpr */,
+  3527 /* Id of AFloatExpr */,
   5 /* Color of AFloatExpr */,
   6 /* Property _n_float */,
   78 /* Color of AFloatExpr */,
   79 /* Property n_float */,
   80 /* Property n_float= */,
-  3547 /* Id of ACharExpr */,
+  3555 /* Id of ACharExpr */,
   5 /* Color of ACharExpr */,
   6 /* Property _n_char */,
   78 /* Color of ACharExpr */,
   79 /* Property n_char */,
   80 /* Property n_char= */,
-  3355 /* Id of AStringFormExpr */,
+  3363 /* Id of AStringFormExpr */,
   5 /* Color of AStringFormExpr */,
   78 /* Color of AStringFormExpr */,
-  3667 /* Id of AStringExpr */,
+  3679 /* Id of AStringExpr */,
   6 /* Color of AStringExpr */,
   8 /* Property _n_string */,
   81 /* Color of AStringExpr */,
   82 /* Property n_string */,
   83 /* Property n_string= */,
-  3671 /* Id of AStartStringExpr */,
+  3683 /* Id of AStartStringExpr */,
   6 /* Color of AStartStringExpr */,
   8 /* Property _n_string */,
   81 /* Color of AStartStringExpr */,
   82 /* Property n_string */,
   83 /* Property n_string= */,
-  3699 /* Id of AMidStringExpr */,
+  3711 /* Id of AMidStringExpr */,
   6 /* Color of AMidStringExpr */,
   8 /* Property _n_string */,
   81 /* Color of AMidStringExpr */,
   82 /* Property n_string */,
   83 /* Property n_string= */,
-  3727 /* Id of AEndStringExpr */,
+  3739 /* Id of AEndStringExpr */,
   6 /* Color of AEndStringExpr */,
   8 /* Property _n_string */,
   81 /* Color of AEndStringExpr */,
   82 /* Property n_string */,
   83 /* Property n_string= */,
-  3347 /* Id of ASuperstringExpr */,
+  3355 /* Id of ASuperstringExpr */,
   5 /* Color of ASuperstringExpr */,
   6 /* Property _n_exprs */,
   78 /* Color of ASuperstringExpr */,
   79 /* Property n_exprs */,
   80 /* Property n_exprs= */,
-  3675 /* Id of AParExpr */,
+  3687 /* Id of AParExpr */,
   6 /* Color of AParExpr */,
   81 /* Color of AParExpr */,
-  3403 /* Id of AProxyExpr */,
+  3411 /* Id of AProxyExpr */,
   5 /* Color of AProxyExpr */,
   6 /* Property _n_expr */,
   76 /* Color of AProxyExpr */,
   77 /* Property n_expr */,
   78 /* Property n_expr= */,
-  3419 /* Id of APlusAssignOp */,
+  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= */,
+  3427 /* Id of APlusAssignOp */,
   5 /* Color of APlusAssignOp */,
   4 /* Property _n_pluseq */,
   71 /* Color of APlusAssignOp */,
   72 /* Property n_pluseq */,
   73 /* Property n_pluseq= */,
-  3455 /* Id of AMinusAssignOp */,
+  3463 /* Id of AMinusAssignOp */,
   5 /* Color of AMinusAssignOp */,
   4 /* Property _n_minuseq */,
   71 /* Color of AMinusAssignOp */,
   72 /* Property n_minuseq */,
   73 /* Property n_minuseq= */,
-  3395 /* Id of AQualified */,
+  3403 /* Id of AQualified */,
   5 /* Color of AQualified */,
   4 /* Property _n_id */,
   5 /* Property _n_classid */,
@@ -4232,13 +4278,13 @@ const int SFT_parser_nodes[1242] = {
   72 /* Property n_id= */,
   73 /* Property n_classid */,
   74 /* Property n_classid= */,
-  3527 /* Id of ADoc */,
+  3535 /* Id of ADoc */,
   5 /* Color of ADoc */,
   4 /* Property _n_comment */,
   70 /* Color of ADoc */,
   71 /* Property n_comment */,
   72 /* Property n_comment= */,
-  3015 /* Id of Start */,
+  3031 /* Id of Start */,
   4 /* Color of Start */,
   4 /* Property _n_base */,
   5 /* Property _n_eof */,
@@ -4248,27 +4294,21 @@ const int SFT_parser_nodes[1242] = {
   71 /* Property n_eof */,
   72 /* Property n_eof= */,
 };
-const int SFT_environ[8] = {
+const int SFT_environ[2] = {
   40 /* Property environ */,
-  41 /* Property environ= */,
-  42 /* Property environ_default= */,
-  43 /* Property unset */,
   40 /* Property get_environ */,
-  41 /* Property put_environ */,
-  42 /* Property unset_environ */,
-  43 /* Property set_environ */,
 };
 const int SFT_symbol[6] = {
   98 /* Property to_symbol */,
   27 /* Id of Symbol */,
   2 /* Color of Symbol */,
   1 /* Property _string */,
-  44 /* Color of Symbol */,
-  45 /* Property init */,
+  41 /* Color of Symbol */,
+  42 /* Property init */,
 };
 const int SFT_hash[57] = {
   15 /* Property hash */,
-  2615 /* Id of HashCollection */,
+  2627 /* Id of HashCollection */,
   3 /* Color of HashCollection */,
   1 /* Property _array */,
   2 /* Property _capacity */,
@@ -4294,31 +4334,31 @@ const int SFT_hash[57] = {
   43 /* Property next_item= */,
   44 /* Property prev_item */,
   45 /* Property prev_item= */,
-  3627 /* Id of HashMap */,
+  3639 /* Id of HashMap */,
   7 /* Color of HashMap */,
   51 /* Color of HashMap */,
   52 /* Property init */,
-  2611 /* Id of HashMapNode */,
+  2623 /* Id of HashMapNode */,
   4 /* Color of HashMapNode */,
   52 /* Color of HashMapNode */,
   53 /* Property init */,
-  3183 /* Id of HashMapIterator */,
+  3195 /* Id of HashMapIterator */,
   4 /* Color of HashMapIterator */,
   1 /* Property _map */,
   2 /* Property _node */,
   48 /* Color of HashMapIterator */,
   49 /* Property init */,
-  3623 /* Id of HashSet */,
+  3635 /* Id of HashSet */,
   8 /* Color of HashSet */,
   50 /* Color of HashSet */,
   51 /* Property init */,
-  2603 /* Id of HashSetNode */,
+  2615 /* Id of HashSetNode */,
   3 /* Color of HashSetNode */,
   3 /* Property _key */,
   46 /* Color of HashSetNode */,
   47 /* Property key= */,
   48 /* Property init */,
-  2607 /* Id of HashSetIterator */,
+  2619 /* Id of HashSetIterator */,
   3 /* Color of HashSetIterator */,
   1 /* Property _set */,
   2 /* Property _node */,
@@ -4326,7 +4366,7 @@ const int SFT_hash[57] = {
   46 /* Property init */,
 };
 const int SFT_string[54] = {
-  3771 /* Id of String */,
+  3783 /* Id of String */,
   11 /* Color of String */,
   2 /* Property _items */,
   3 /* Property _capacity */,
@@ -4365,12 +4405,12 @@ const int SFT_string[54] = {
   73 /* Property map_join */,
   -5 /* Id of NativeString */,
   2 /* Color of NativeString */,
-  44 /* Color of NativeString */,
-  45 /* Property [] */,
-  46 /* Property []= */,
-  47 /* Property copy_to */,
-  48 /* Property cstring_length */,
-  49 /* Property atoi */,
+  41 /* Color of NativeString */,
+  42 /* Property [] */,
+  43 /* Property []= */,
+  44 /* Property copy_to */,
+  45 /* Property cstring_length */,
+  46 /* Property atoi */,
   31 /* Id of StringCapable */,
   2 /* Color of StringCapable */,
   40 /* Color of StringCapable */,
@@ -4382,7 +4422,7 @@ const int SFT_string[54] = {
   44 /* Property native_argv */,
 };
 const int SFT_array[61] = {
-  3639 /* Id of AbstractArray */,
+  3651 /* Id of AbstractArray */,
   10 /* Color of AbstractArray */,
   1 /* Property _length */,
   90 /* Color of AbstractArray */,
@@ -4393,7 +4433,7 @@ const int SFT_array[61] = {
   95 /* Property last_index_of_from */,
   96 /* Property reversed */,
   97 /* Property copy_to */,
-  3783 /* Id of Array */,
+  3787 /* Id of Array */,
   3 /* Color of Array */,
   2 /* Property _items */,
   3 /* Property _capacity */,
@@ -4403,13 +4443,13 @@ const int SFT_array[61] = {
   45 /* Property with_capacity */,
   46 /* Property filled_with */,
   47 /* Property with_native */,
-  3315 /* Id of ArrayIterator */,
+  3323 /* Id of ArrayIterator */,
   5 /* Color of ArrayIterator */,
   1 /* Property _index */,
   2 /* Property _array */,
   50 /* Color of ArrayIterator */,
   51 /* Property init */,
-  3631 /* Id of ArraySet */,
+  3643 /* Id of ArraySet */,
   8 /* Color of ArraySet */,
   1 /* Property _array */,
   73 /* Color of ArraySet */,
@@ -4417,12 +4457,12 @@ const int SFT_array[61] = {
   75 /* Property remove_at */,
   76 /* Property init */,
   77 /* Property with_capacity */,
-  2663 /* Id of ArraySetIterator */,
+  2675 /* Id of ArraySetIterator */,
   3 /* Color of ArraySetIterator */,
   1 /* Property _iter */,
   45 /* Color of ArraySetIterator */,
   46 /* Property init */,
-  3635 /* Id of ArrayMap */,
+  3647 /* Id of ArrayMap */,
   9 /* Color of ArrayMap */,
   1 /* Property _items */,
   2 /* Property _last_index */,
@@ -4455,7 +4495,7 @@ const int SFT_abstract_collection[94] = {
   63 /* Property has_only */,
   64 /* Property count */,
   65 /* Property first */,
-  2519 /* Id of NaiveCollection */,
+  2539 /* Id of NaiveCollection */,
   6 /* Color of NaiveCollection */,
   66 /* Color of NaiveCollection */,
   131 /* Id of Iterator */,
@@ -4464,14 +4504,14 @@ const int SFT_abstract_collection[94] = {
   42 /* Property item */,
   43 /* Property next */,
   44 /* Property is_ok */,
-  2639 /* Id of Container */,
+  2651 /* Id of Container */,
   6 /* Color of Container */,
   1 /* Property _item */,
   66 /* Color of Container */,
   67 /* Property init */,
   68 /* Property item */,
   69 /* Property item= */,
-  2635 /* Id of ContainerIterator */,
+  2647 /* Id of ContainerIterator */,
   3 /* Color of ContainerIterator */,
   1 /* Property _is_ok */,
   2 /* Property _container */,
@@ -4483,15 +4523,15 @@ const int SFT_abstract_collection[94] = {
   67 /* Property clear */,
   68 /* Property remove */,
   69 /* Property remove_all */,
-  3019 /* Id of SimpleCollection */,
+  3035 /* Id of SimpleCollection */,
   7 /* Color of SimpleCollection */,
   70 /* Color of SimpleCollection */,
   71 /* Property add */,
   72 /* Property add_all */,
-  3263 /* Id of Set */,
+  3275 /* Id of Set */,
   4 /* Color of Set */,
   49 /* Color of Set */,
-  3127 /* Id of Map */,
+  3143 /* Id of Map */,
   8 /* Color of Map */,
   74 /* Color of Map */,
   75 /* Property [] */,
@@ -4499,12 +4539,12 @@ const int SFT_abstract_collection[94] = {
   77 /* Property has_key */,
   78 /* Property remove_at */,
   79 /* Property recover_with */,
-  2527 /* Id of MapIterator */,
+  2547 /* Id of MapIterator */,
   3 /* Color of MapIterator */,
   45 /* Color of MapIterator */,
   46 /* Property key */,
   47 /* Property item= */,
-  3295 /* Id of IndexedCollection */,
+  3303 /* Id of IndexedCollection */,
   9 /* Color of IndexedCollection */,
   80 /* Color of IndexedCollection */,
   81 /* Property first= */,
@@ -4516,15 +4556,15 @@ const int SFT_abstract_collection[94] = {
   87 /* Property unshift */,
   88 /* Property shift */,
   89 /* Property index_of */,
-  3171 /* Id of IndexedIterator */,
+  3183 /* Id of IndexedIterator */,
   4 /* Color of IndexedIterator */,
   48 /* Color of IndexedIterator */,
   49 /* Property index */,
-  3311 /* Id of CoupleMap */,
+  3319 /* Id of CoupleMap */,
   4 /* Color of CoupleMap */,
   49 /* Color of CoupleMap */,
   50 /* Property couple_at */,
-  3199 /* Id of CoupleMapIterator */,
+  3211 /* Id of CoupleMapIterator */,
   4 /* Color of CoupleMapIterator */,
   1 /* Property _iter */,
   48 /* Color of CoupleMapIterator */,
@@ -4566,7 +4606,7 @@ const int SFT_kernel[72] = {
   53 /* Property is_between */,
   54 /* Property max */,
   55 /* Property min */,
-  2631 /* Id of Discrete */,
+  2643 /* Id of Discrete */,
   2 /* Color of Discrete */,
   56 /* Color of Discrete */,
   57 /* Property succ */,
@@ -4626,7 +4666,7 @@ const int SFT_sorter[12] = {
   43 /* Property sub_sort */,
   44 /* Property quick_sort */,
   45 /* Property bubble_sort */,
-  2647 /* Id of ComparableSorter */,
+  2659 /* Id of ComparableSorter */,
   3 /* Color of ComparableSorter */,
   46 /* Color of ComparableSorter */,
   47 /* Property init */,
@@ -4639,36 +4679,36 @@ const int SFT_file[73] = {
   33 /* Property stdin */,
   34 /* Property stdout */,
   35 /* Property stderr */,
-  2623 /* Id of FStream */,
+  2635 /* Id of FStream */,
   6 /* Color of FStream */,
   1 /* Property _path */,
   2 /* Property _file */,
   46 /* Color of FStream */,
   47 /* Property path */,
   48 /* Property file_stat */,
-  3303 /* Id of IFStream */,
+  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 */,
-  3123 /* Id of OFStream */,
+  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 */,
-  3607 /* Id of Stdin */,
+  3619 /* Id of Stdin */,
   8 /* Color of Stdin */,
   71 /* Color of Stdin */,
   72 /* Property init */,
-  3255 /* Id of Stdout */,
+  3267 /* Id of Stdout */,
   7 /* Color of Stdout */,
   60 /* Color of Stdout */,
   61 /* Property init */,
-  3259 /* Id of Stderr */,
+  3271 /* Id of Stderr */,
   7 /* Color of Stderr */,
   60 /* Color of Stderr */,
   61 /* Property init */,
@@ -4679,9 +4719,9 @@ const int SFT_file[73] = {
   126 /* Property dirname */,
   127 /* Property file_path */,
   128 /* Property mkdir */,
-  50 /* Property file_exists */,
-  51 /* Property file_stat */,
-  52 /* Property file_mkdir */,
+  47 /* Property file_exists */,
+  48 /* Property file_stat */,
+  49 /* Property file_mkdir */,
   -29 /* Id of FileStat */,
   3 /* Color of FileStat */,
   41 /* Color of FileStat */,
@@ -4711,7 +4751,7 @@ const int SFT_stream[52] = {
   3 /* Color of IOS */,
   51 /* Color of IOS */,
   52 /* Property close */,
-  2599 /* Id of IStream */,
+  2611 /* Id of IStream */,
   5 /* Color of IStream */,
   56 /* Color of IStream */,
   57 /* Property read_char */,
@@ -4720,12 +4760,12 @@ const int SFT_stream[52] = {
   60 /* Property read_all */,
   61 /* Property append_line_to */,
   62 /* Property eof */,
-  2515 /* Id of OStream */,
+  2535 /* Id of OStream */,
   4 /* Color of OStream */,
   53 /* Color of OStream */,
   54 /* Property write */,
   55 /* Property is_writable */,
-  3223 /* Id of BufferedIStream */,
+  3235 /* Id of BufferedIStream */,
   4 /* Color of BufferedIStream */,
   3 /* Property _buffer */,
   4 /* Property _buffer_pos */,
@@ -4733,10 +4773,10 @@ const int SFT_stream[52] = {
   64 /* Property fill_buffer */,
   65 /* Property end_reached */,
   66 /* Property prepare_buffer */,
-  3179 /* Id of IOStream */,
+  3191 /* Id of IOStream */,
   8 /* Color of IOStream */,
   69 /* Color of IOStream */,
-  2627 /* Id of FDStream */,
+  2639 /* Id of FDStream */,
   2 /* Color of FDStream */,
   1 /* Property _fd */,
   40 /* Color of FDStream */,
@@ -4745,17 +4785,17 @@ const int SFT_stream[52] = {
   43 /* Property native_read */,
   44 /* Property native_write */,
   45 /* Property init */,
-  3191 /* Id of FDIStream */,
+  3203 /* Id of FDIStream */,
   7 /* Color of FDIStream */,
   3 /* Property _eof */,
   48 /* Color of FDIStream */,
   49 /* Property init */,
-  3187 /* Id of FDOStream */,
+  3199 /* Id of FDOStream */,
   6 /* Color of FDOStream */,
   2 /* Property _is_writable */,
   46 /* Color of FDOStream */,
   47 /* Property init */,
-  3307 /* Id of FDIOStream */,
+  3315 /* Id of FDIOStream */,
   9 /* Color of FDIOStream */,
   63 /* Color of FDIOStream */,
   64 /* Property init */,
@@ -4768,7 +4808,7 @@ const int SFT_string_search[35] = {
   44 /* Property search_in */,
   45 /* Property search_all_in */,
   46 /* Property split_in */,
-  2659 /* Id of BM_Pattern */,
+  2671 /* Id of BM_Pattern */,
   4 /* Color of BM_Pattern */,
   1 /* Property _motif */,
   2 /* Property _length */,
@@ -4812,25 +4852,25 @@ const int SFT_exec[44] = {
   48 /* Property init_ */,
   49 /* Property execute */,
   50 /* Property basic_exec_execute */,
-  3175 /* Id of IProcess */,
+  3187 /* Id of IProcess */,
   7 /* Color of IProcess */,
   3 /* Property _in */,
   66 /* Color of IProcess */,
   67 /* Property init */,
   68 /* Property init_ */,
-  3119 /* Id of OProcess */,
+  3135 /* Id of OProcess */,
   6 /* Color of OProcess */,
   2 /* Property _out */,
   63 /* Color of OProcess */,
   64 /* Property init */,
   65 /* Property init_ */,
-  3299 /* Id of IOProcess */,
+  3307 /* Id of IOProcess */,
   9 /* Color of IOProcess */,
   70 /* Color of IOProcess */,
   71 /* Property init */,
   72 /* Property init_ */,
   40 /* Property system */,
-  53 /* Property system */,
+  50 /* Property system */,
   -21 /* Id of NativeProcess */,
   3 /* Color of NativeProcess */,
   41 /* Color of NativeProcess */,
@@ -4844,7 +4884,7 @@ const int SFT_exec[44] = {
   49 /* Property err_fd */,
 };
 const int SFT_list[28] = {
-  3619 /* Id of List */,
+  3631 /* Id of List */,
   10 /* Color of List */,
   1 /* Property _head */,
   2 /* Property _tail */,
@@ -4856,13 +4896,13 @@ const int SFT_list[28] = {
   95 /* Property search_node_after */,
   96 /* Property remove_node */,
   97 /* Property insert_before */,
-  3291 /* Id of ListIterator */,
+  3299 /* Id of ListIterator */,
   5 /* Color of ListIterator */,
   1 /* Property _node */,
   2 /* Property _index */,
   50 /* Color of ListIterator */,
   51 /* Property init */,
-  3167 /* Id of ListNode */,
+  3179 /* Id of ListNode */,
   7 /* Color of ListNode */,
   2 /* Property _next */,
   3 /* Property _prev */,
@@ -4874,7 +4914,7 @@ const int SFT_list[28] = {
   75 /* Property prev= */,
 };
 const int SFT_range[16] = {
-  2491 /* Id of Range */,
+  2507 /* Id of Range */,
   6 /* Color of Range */,
   1 /* Property _first */,
   2 /* Property _last */,
@@ -4884,7 +4924,7 @@ const int SFT_range[16] = {
   68 /* Property after */,
   69 /* Property init */,
   70 /* Property without_last */,
-  2595 /* Id of IteratorRange */,
+  2607 /* Id of IteratorRange */,
   3 /* Color of IteratorRange */,
   1 /* Property _range */,
   2 /* Property _item */,
@@ -4909,1197 +4949,1218 @@ const int SFT_math[16] = {
   38 /* Property srand_from */,
   39 /* Property srand */,
 };
-const int SFT_parser_tables[1153] = {
-  59 /* Id of Parser */,
-  2 /* Color of Parser */,
-  5 /* Property _action_table */,
-  6 /* Property _goto_table */,
-  47 /* Color of Parser */,
-  48 /* Property build_action_table */,
-  49 /* Property action_table_row1 */,
-  50 /* Property action_table_row2 */,
-  51 /* Property action_table_row3 */,
-  52 /* Property action_table_row4 */,
-  53 /* Property action_table_row5 */,
-  54 /* Property action_table_row6 */,
-  55 /* Property action_table_row7 */,
-  56 /* Property action_table_row8 */,
-  57 /* Property action_table_row9 */,
-  58 /* Property action_table_row10 */,
-  59 /* Property action_table_row11 */,
-  60 /* Property action_table_row12 */,
-  61 /* Property action_table_row13 */,
-  62 /* Property action_table_row14 */,
-  63 /* Property action_table_row15 */,
-  64 /* Property action_table_row16 */,
-  65 /* Property action_table_row17 */,
-  66 /* Property action_table_row18 */,
-  67 /* Property action_table_row19 */,
-  68 /* Property action_table_row20 */,
-  69 /* Property action_table_row21 */,
-  70 /* Property action_table_row22 */,
-  71 /* Property action_table_row23 */,
-  72 /* Property action_table_row24 */,
-  73 /* Property action_table_row25 */,
-  74 /* Property action_table_row26 */,
-  75 /* Property action_table_row27 */,
-  76 /* Property action_table_row28 */,
-  77 /* Property action_table_row29 */,
-  78 /* Property action_table_row30 */,
-  79 /* Property action_table_row31 */,
-  80 /* Property action_table_row32 */,
-  81 /* Property action_table_row33 */,
-  82 /* Property action_table_row34 */,
-  83 /* Property action_table_row35 */,
-  84 /* Property action_table_row36 */,
-  85 /* Property action_table_row37 */,
-  86 /* Property action_table_row38 */,
-  87 /* Property action_table_row39 */,
-  88 /* Property action_table_row40 */,
-  89 /* Property action_table_row41 */,
-  90 /* Property action_table_row42 */,
-  91 /* Property action_table_row43 */,
-  92 /* Property action_table_row44 */,
-  93 /* Property action_table_row45 */,
-  94 /* Property action_table_row46 */,
-  95 /* Property action_table_row47 */,
-  96 /* Property action_table_row48 */,
-  97 /* Property action_table_row49 */,
-  98 /* Property action_table_row50 */,
-  99 /* Property action_table_row51 */,
-  100 /* Property action_table_row52 */,
-  101 /* Property action_table_row53 */,
-  102 /* Property action_table_row54 */,
-  103 /* Property action_table_row55 */,
-  104 /* Property action_table_row56 */,
-  105 /* Property action_table_row57 */,
-  106 /* Property action_table_row58 */,
-  107 /* Property action_table_row59 */,
-  108 /* Property action_table_row60 */,
-  109 /* Property action_table_row61 */,
-  110 /* Property action_table_row62 */,
-  111 /* Property action_table_row63 */,
-  112 /* Property action_table_row64 */,
-  113 /* Property action_table_row65 */,
-  114 /* Property action_table_row66 */,
-  115 /* Property action_table_row67 */,
-  116 /* Property action_table_row68 */,
-  117 /* Property action_table_row69 */,
-  118 /* Property action_table_row70 */,
-  119 /* Property action_table_row71 */,
-  120 /* Property action_table_row72 */,
-  121 /* Property action_table_row73 */,
-  122 /* Property action_table_row74 */,
-  123 /* Property action_table_row75 */,
-  124 /* Property action_table_row76 */,
-  125 /* Property action_table_row77 */,
-  126 /* Property action_table_row78 */,
-  127 /* Property action_table_row79 */,
-  128 /* Property action_table_row80 */,
-  129 /* Property action_table_row81 */,
-  130 /* Property action_table_row82 */,
-  131 /* Property action_table_row83 */,
-  132 /* Property action_table_row84 */,
-  133 /* Property action_table_row85 */,
-  134 /* Property action_table_row86 */,
-  135 /* Property action_table_row87 */,
-  136 /* Property action_table_row88 */,
-  137 /* Property action_table_row89 */,
-  138 /* Property action_table_row90 */,
-  139 /* Property action_table_row91 */,
-  140 /* Property action_table_row92 */,
-  141 /* Property action_table_row93 */,
-  142 /* Property action_table_row94 */,
-  143 /* Property action_table_row95 */,
-  144 /* Property action_table_row96 */,
-  145 /* Property action_table_row97 */,
-  146 /* Property action_table_row98 */,
-  147 /* Property action_table_row99 */,
-  148 /* Property action_table_row100 */,
-  149 /* Property action_table_row101 */,
-  150 /* Property action_table_row102 */,
-  151 /* Property action_table_row103 */,
-  152 /* Property action_table_row104 */,
-  153 /* Property action_table_row105 */,
-  154 /* Property action_table_row106 */,
-  155 /* Property action_table_row107 */,
-  156 /* Property action_table_row108 */,
-  157 /* Property action_table_row109 */,
-  158 /* Property action_table_row110 */,
-  159 /* Property action_table_row111 */,
-  160 /* Property action_table_row112 */,
-  161 /* Property action_table_row113 */,
-  162 /* Property action_table_row114 */,
-  163 /* Property action_table_row115 */,
-  164 /* Property action_table_row116 */,
-  165 /* Property action_table_row117 */,
-  166 /* Property action_table_row118 */,
-  167 /* Property action_table_row119 */,
-  168 /* Property action_table_row120 */,
-  169 /* Property action_table_row121 */,
-  170 /* Property action_table_row122 */,
-  171 /* Property action_table_row123 */,
-  172 /* Property action_table_row124 */,
-  173 /* Property action_table_row125 */,
-  174 /* Property action_table_row126 */,
-  175 /* Property action_table_row127 */,
-  176 /* Property action_table_row128 */,
-  177 /* Property action_table_row129 */,
-  178 /* Property action_table_row130 */,
-  179 /* Property action_table_row131 */,
-  180 /* Property action_table_row132 */,
-  181 /* Property action_table_row133 */,
-  182 /* Property action_table_row134 */,
-  183 /* Property action_table_row135 */,
-  184 /* Property action_table_row136 */,
-  185 /* Property action_table_row137 */,
-  186 /* Property action_table_row138 */,
-  187 /* Property action_table_row139 */,
-  188 /* Property action_table_row140 */,
-  189 /* Property action_table_row141 */,
-  190 /* Property action_table_row142 */,
-  191 /* Property action_table_row143 */,
-  192 /* Property action_table_row144 */,
-  193 /* Property action_table_row145 */,
-  194 /* Property action_table_row146 */,
-  195 /* Property action_table_row147 */,
-  196 /* Property action_table_row148 */,
-  197 /* Property action_table_row149 */,
-  198 /* Property action_table_row150 */,
-  199 /* Property action_table_row151 */,
-  200 /* Property action_table_row152 */,
-  201 /* Property action_table_row153 */,
-  202 /* Property action_table_row154 */,
-  203 /* Property action_table_row155 */,
-  204 /* Property action_table_row156 */,
-  205 /* Property action_table_row157 */,
-  206 /* Property action_table_row158 */,
-  207 /* Property action_table_row159 */,
-  208 /* Property action_table_row160 */,
-  209 /* Property action_table_row161 */,
-  210 /* Property action_table_row162 */,
-  211 /* Property action_table_row163 */,
-  212 /* Property action_table_row164 */,
-  213 /* Property action_table_row165 */,
-  214 /* Property action_table_row166 */,
-  215 /* Property action_table_row167 */,
-  216 /* Property action_table_row168 */,
-  217 /* Property action_table_row169 */,
-  218 /* Property action_table_row170 */,
-  219 /* Property action_table_row171 */,
-  220 /* Property action_table_row172 */,
-  221 /* Property action_table_row173 */,
-  222 /* Property action_table_row174 */,
-  223 /* Property action_table_row175 */,
-  224 /* Property action_table_row176 */,
-  225 /* Property action_table_row177 */,
-  226 /* Property action_table_row178 */,
-  227 /* Property action_table_row179 */,
-  228 /* Property action_table_row180 */,
-  229 /* Property action_table_row181 */,
-  230 /* Property action_table_row182 */,
-  231 /* Property action_table_row183 */,
-  232 /* Property action_table_row184 */,
-  233 /* Property action_table_row185 */,
-  234 /* Property action_table_row186 */,
-  235 /* Property action_table_row187 */,
-  236 /* Property action_table_row188 */,
-  237 /* Property action_table_row189 */,
-  238 /* Property action_table_row190 */,
-  239 /* Property action_table_row191 */,
-  240 /* Property action_table_row192 */,
-  241 /* Property action_table_row193 */,
-  242 /* Property action_table_row194 */,
-  243 /* Property action_table_row195 */,
-  244 /* Property action_table_row196 */,
-  245 /* Property action_table_row197 */,
-  246 /* Property action_table_row198 */,
-  247 /* Property action_table_row199 */,
-  248 /* Property action_table_row200 */,
-  249 /* Property action_table_row201 */,
-  250 /* Property action_table_row202 */,
-  251 /* Property action_table_row203 */,
-  252 /* Property action_table_row204 */,
-  253 /* Property action_table_row205 */,
-  254 /* Property action_table_row206 */,
-  255 /* Property action_table_row207 */,
-  256 /* Property action_table_row208 */,
-  257 /* Property action_table_row209 */,
-  258 /* Property action_table_row210 */,
-  259 /* Property action_table_row211 */,
-  260 /* Property action_table_row212 */,
-  261 /* Property action_table_row213 */,
-  262 /* Property action_table_row214 */,
-  263 /* Property action_table_row215 */,
-  264 /* Property action_table_row216 */,
-  265 /* Property action_table_row217 */,
-  266 /* Property action_table_row218 */,
-  267 /* Property action_table_row219 */,
-  268 /* Property action_table_row220 */,
-  269 /* Property action_table_row221 */,
-  270 /* Property action_table_row222 */,
-  271 /* Property action_table_row223 */,
-  272 /* Property action_table_row224 */,
-  273 /* Property action_table_row225 */,
-  274 /* Property action_table_row226 */,
-  275 /* Property action_table_row227 */,
-  276 /* Property action_table_row228 */,
-  277 /* Property action_table_row229 */,
-  278 /* Property action_table_row230 */,
-  279 /* Property action_table_row231 */,
-  280 /* Property action_table_row232 */,
-  281 /* Property action_table_row233 */,
-  282 /* Property action_table_row234 */,
-  283 /* Property action_table_row235 */,
-  284 /* Property action_table_row236 */,
-  285 /* Property action_table_row237 */,
-  286 /* Property action_table_row238 */,
-  287 /* Property action_table_row239 */,
-  288 /* Property action_table_row240 */,
-  289 /* Property action_table_row241 */,
-  290 /* Property action_table_row242 */,
-  291 /* Property action_table_row243 */,
-  292 /* Property action_table_row244 */,
-  293 /* Property action_table_row245 */,
-  294 /* Property action_table_row246 */,
-  295 /* Property action_table_row247 */,
-  296 /* Property action_table_row248 */,
-  297 /* Property action_table_row249 */,
-  298 /* Property action_table_row250 */,
-  299 /* Property action_table_row251 */,
-  300 /* Property action_table_row252 */,
-  301 /* Property action_table_row253 */,
-  302 /* Property action_table_row254 */,
-  303 /* Property action_table_row255 */,
-  304 /* Property action_table_row256 */,
-  305 /* Property action_table_row257 */,
-  306 /* Property action_table_row258 */,
-  307 /* Property action_table_row259 */,
-  308 /* Property action_table_row260 */,
-  309 /* Property action_table_row261 */,
-  310 /* Property action_table_row262 */,
-  311 /* Property action_table_row263 */,
-  312 /* Property action_table_row264 */,
-  313 /* Property action_table_row265 */,
-  314 /* Property action_table_row266 */,
-  315 /* Property action_table_row267 */,
-  316 /* Property action_table_row268 */,
-  317 /* Property action_table_row269 */,
-  318 /* Property action_table_row270 */,
-  319 /* Property action_table_row271 */,
-  320 /* Property action_table_row272 */,
-  321 /* Property action_table_row273 */,
-  322 /* Property action_table_row274 */,
-  323 /* Property action_table_row275 */,
-  324 /* Property action_table_row276 */,
-  325 /* Property action_table_row277 */,
-  326 /* Property action_table_row278 */,
-  327 /* Property action_table_row279 */,
-  328 /* Property action_table_row280 */,
-  329 /* Property action_table_row281 */,
-  330 /* Property action_table_row282 */,
-  331 /* Property action_table_row283 */,
-  332 /* Property action_table_row284 */,
-  333 /* Property action_table_row285 */,
-  334 /* Property action_table_row286 */,
-  335 /* Property action_table_row287 */,
-  336 /* Property action_table_row288 */,
-  337 /* Property action_table_row289 */,
-  338 /* Property action_table_row290 */,
-  339 /* Property action_table_row291 */,
-  340 /* Property action_table_row292 */,
-  341 /* Property action_table_row293 */,
-  342 /* Property action_table_row294 */,
-  343 /* Property action_table_row295 */,
-  344 /* Property action_table_row296 */,
-  345 /* Property action_table_row297 */,
-  346 /* Property action_table_row298 */,
-  347 /* Property action_table_row299 */,
-  348 /* Property action_table_row300 */,
-  349 /* Property action_table_row301 */,
-  350 /* Property action_table_row302 */,
-  351 /* Property action_table_row303 */,
-  352 /* Property action_table_row304 */,
-  353 /* Property action_table_row305 */,
-  354 /* Property action_table_row306 */,
-  355 /* Property action_table_row307 */,
-  356 /* Property action_table_row308 */,
-  357 /* Property action_table_row309 */,
-  358 /* Property action_table_row310 */,
-  359 /* Property action_table_row311 */,
-  360 /* Property action_table_row312 */,
-  361 /* Property action_table_row313 */,
-  362 /* Property action_table_row314 */,
-  363 /* Property action_table_row315 */,
-  364 /* Property action_table_row316 */,
-  365 /* Property action_table_row317 */,
-  366 /* Property action_table_row318 */,
-  367 /* Property action_table_row319 */,
-  368 /* Property action_table_row320 */,
-  369 /* Property action_table_row321 */,
-  370 /* Property action_table_row322 */,
-  371 /* Property action_table_row323 */,
-  372 /* Property action_table_row324 */,
-  373 /* Property action_table_row325 */,
-  374 /* Property action_table_row326 */,
-  375 /* Property action_table_row327 */,
-  376 /* Property action_table_row328 */,
-  377 /* Property action_table_row329 */,
-  378 /* Property action_table_row330 */,
-  379 /* Property action_table_row331 */,
-  380 /* Property action_table_row332 */,
-  381 /* Property action_table_row333 */,
-  382 /* Property action_table_row334 */,
-  383 /* Property action_table_row335 */,
-  384 /* Property action_table_row336 */,
-  385 /* Property action_table_row337 */,
-  386 /* Property action_table_row338 */,
-  387 /* Property action_table_row339 */,
-  388 /* Property action_table_row340 */,
-  389 /* Property action_table_row341 */,
-  390 /* Property action_table_row342 */,
-  391 /* Property action_table_row343 */,
-  392 /* Property action_table_row344 */,
-  393 /* Property action_table_row345 */,
-  394 /* Property action_table_row346 */,
-  395 /* Property action_table_row347 */,
-  396 /* Property action_table_row348 */,
-  397 /* Property action_table_row349 */,
-  398 /* Property action_table_row350 */,
-  399 /* Property action_table_row351 */,
-  400 /* Property action_table_row352 */,
-  401 /* Property action_table_row353 */,
-  402 /* Property action_table_row354 */,
-  403 /* Property action_table_row355 */,
-  404 /* Property action_table_row356 */,
-  405 /* Property action_table_row357 */,
-  406 /* Property action_table_row358 */,
-  407 /* Property action_table_row359 */,
-  408 /* Property action_table_row360 */,
-  409 /* Property action_table_row361 */,
-  410 /* Property action_table_row362 */,
-  411 /* Property action_table_row363 */,
-  412 /* Property action_table_row364 */,
-  413 /* Property action_table_row365 */,
-  414 /* Property action_table_row366 */,
-  415 /* Property action_table_row367 */,
-  416 /* Property action_table_row368 */,
-  417 /* Property action_table_row369 */,
-  418 /* Property action_table_row370 */,
-  419 /* Property action_table_row371 */,
-  420 /* Property action_table_row372 */,
-  421 /* Property action_table_row373 */,
-  422 /* Property action_table_row374 */,
-  423 /* Property action_table_row375 */,
-  424 /* Property action_table_row376 */,
-  425 /* Property action_table_row377 */,
-  426 /* Property action_table_row378 */,
-  427 /* Property action_table_row379 */,
-  428 /* Property action_table_row380 */,
-  429 /* Property action_table_row381 */,
-  430 /* Property action_table_row382 */,
-  431 /* Property action_table_row383 */,
-  432 /* Property action_table_row384 */,
-  433 /* Property action_table_row385 */,
-  434 /* Property action_table_row386 */,
-  435 /* Property action_table_row387 */,
-  436 /* Property action_table_row388 */,
-  437 /* Property action_table_row389 */,
-  438 /* Property action_table_row390 */,
-  439 /* Property action_table_row391 */,
-  440 /* Property action_table_row392 */,
-  441 /* Property action_table_row393 */,
-  442 /* Property action_table_row394 */,
-  443 /* Property action_table_row395 */,
-  444 /* Property action_table_row396 */,
-  445 /* Property action_table_row397 */,
-  446 /* Property action_table_row398 */,
-  447 /* Property action_table_row399 */,
-  448 /* Property action_table_row400 */,
-  449 /* Property action_table_row401 */,
-  450 /* Property action_table_row402 */,
-  451 /* Property action_table_row403 */,
-  452 /* Property action_table_row404 */,
-  453 /* Property action_table_row405 */,
-  454 /* Property action_table_row406 */,
-  455 /* Property action_table_row407 */,
-  456 /* Property action_table_row408 */,
-  457 /* Property action_table_row409 */,
-  458 /* Property action_table_row410 */,
-  459 /* Property action_table_row411 */,
-  460 /* Property action_table_row412 */,
-  461 /* Property action_table_row413 */,
-  462 /* Property action_table_row414 */,
-  463 /* Property action_table_row415 */,
-  464 /* Property action_table_row416 */,
-  465 /* Property action_table_row417 */,
-  466 /* Property action_table_row418 */,
-  467 /* Property action_table_row419 */,
-  468 /* Property action_table_row420 */,
-  469 /* Property action_table_row421 */,
-  470 /* Property action_table_row422 */,
-  471 /* Property action_table_row423 */,
-  472 /* Property action_table_row424 */,
-  473 /* Property action_table_row425 */,
-  474 /* Property action_table_row426 */,
-  475 /* Property action_table_row427 */,
-  476 /* Property action_table_row428 */,
-  477 /* Property action_table_row429 */,
-  478 /* Property action_table_row430 */,
-  479 /* Property action_table_row431 */,
-  480 /* Property action_table_row432 */,
-  481 /* Property action_table_row433 */,
-  482 /* Property action_table_row434 */,
-  483 /* Property action_table_row435 */,
-  484 /* Property action_table_row436 */,
-  485 /* Property action_table_row437 */,
-  486 /* Property action_table_row438 */,
-  487 /* Property action_table_row439 */,
-  488 /* Property action_table_row440 */,
-  489 /* Property action_table_row441 */,
-  490 /* Property action_table_row442 */,
-  491 /* Property action_table_row443 */,
-  492 /* Property action_table_row444 */,
-  493 /* Property action_table_row445 */,
-  494 /* Property action_table_row446 */,
-  495 /* Property action_table_row447 */,
-  496 /* Property action_table_row448 */,
-  497 /* Property action_table_row449 */,
-  498 /* Property action_table_row450 */,
-  499 /* Property action_table_row451 */,
-  500 /* Property action_table_row452 */,
-  501 /* Property action_table_row453 */,
-  502 /* Property action_table_row454 */,
-  503 /* Property action_table_row455 */,
-  504 /* Property action_table_row456 */,
-  505 /* Property action_table_row457 */,
-  506 /* Property action_table_row458 */,
-  507 /* Property action_table_row459 */,
-  508 /* Property action_table_row460 */,
-  509 /* Property action_table_row461 */,
-  510 /* Property action_table_row462 */,
-  511 /* Property action_table_row463 */,
-  512 /* Property action_table_row464 */,
-  513 /* Property action_table_row465 */,
-  514 /* Property action_table_row466 */,
-  515 /* Property action_table_row467 */,
-  516 /* Property action_table_row468 */,
-  517 /* Property action_table_row469 */,
-  518 /* Property action_table_row470 */,
-  519 /* Property action_table_row471 */,
-  520 /* Property action_table_row472 */,
-  521 /* Property action_table_row473 */,
-  522 /* Property action_table_row474 */,
-  523 /* Property action_table_row475 */,
-  524 /* Property action_table_row476 */,
-  525 /* Property action_table_row477 */,
-  526 /* Property action_table_row478 */,
-  527 /* Property action_table_row479 */,
-  528 /* Property action_table_row480 */,
-  529 /* Property action_table_row481 */,
-  530 /* Property action_table_row482 */,
-  531 /* Property action_table_row483 */,
-  532 /* Property action_table_row484 */,
-  533 /* Property action_table_row485 */,
-  534 /* Property action_table_row486 */,
-  535 /* Property action_table_row487 */,
-  536 /* Property action_table_row488 */,
-  537 /* Property action_table_row489 */,
-  538 /* Property action_table_row490 */,
-  539 /* Property action_table_row491 */,
-  540 /* Property action_table_row492 */,
-  541 /* Property action_table_row493 */,
-  542 /* Property action_table_row494 */,
-  543 /* Property action_table_row495 */,
-  544 /* Property action_table_row496 */,
-  545 /* Property action_table_row497 */,
-  546 /* Property action_table_row498 */,
-  547 /* Property action_table_row499 */,
-  548 /* Property action_table_row500 */,
-  549 /* Property action_table_row501 */,
-  550 /* Property action_table_row502 */,
-  551 /* Property action_table_row503 */,
-  552 /* Property action_table_row504 */,
-  553 /* Property action_table_row505 */,
-  554 /* Property action_table_row506 */,
-  555 /* Property action_table_row507 */,
-  556 /* Property action_table_row508 */,
-  557 /* Property action_table_row509 */,
-  558 /* Property action_table_row510 */,
-  559 /* Property action_table_row511 */,
-  560 /* Property action_table_row512 */,
-  561 /* Property action_table_row513 */,
-  562 /* Property action_table_row514 */,
-  563 /* Property action_table_row515 */,
-  564 /* Property action_table_row516 */,
-  565 /* Property action_table_row517 */,
-  566 /* Property action_table_row518 */,
-  567 /* Property action_table_row519 */,
-  568 /* Property action_table_row520 */,
-  569 /* Property action_table_row521 */,
-  570 /* Property action_table_row522 */,
-  571 /* Property action_table_row523 */,
-  572 /* Property action_table_row524 */,
-  573 /* Property action_table_row525 */,
-  574 /* Property action_table_row526 */,
-  575 /* Property action_table_row527 */,
-  576 /* Property action_table_row528 */,
-  577 /* Property action_table_row529 */,
-  578 /* Property action_table_row530 */,
-  579 /* Property action_table_row531 */,
-  580 /* Property action_table_row532 */,
-  581 /* Property action_table_row533 */,
-  582 /* Property action_table_row534 */,
-  583 /* Property action_table_row535 */,
-  584 /* Property action_table_row536 */,
-  585 /* Property action_table_row537 */,
-  586 /* Property action_table_row538 */,
-  587 /* Property action_table_row539 */,
-  588 /* Property action_table_row540 */,
-  589 /* Property action_table_row541 */,
-  590 /* Property action_table_row542 */,
-  591 /* Property action_table_row543 */,
-  592 /* Property action_table_row544 */,
-  593 /* Property action_table_row545 */,
-  594 /* Property action_table_row546 */,
-  595 /* Property action_table_row547 */,
-  596 /* Property action_table_row548 */,
-  597 /* Property action_table_row549 */,
-  598 /* Property action_table_row550 */,
-  599 /* Property action_table_row551 */,
-  600 /* Property action_table_row552 */,
-  601 /* Property action_table_row553 */,
-  602 /* Property action_table_row554 */,
-  603 /* Property action_table_row555 */,
-  604 /* Property action_table_row556 */,
-  605 /* Property action_table_row557 */,
-  606 /* Property action_table_row558 */,
-  607 /* Property action_table_row559 */,
-  608 /* Property action_table_row560 */,
-  609 /* Property action_table_row561 */,
-  610 /* Property action_table_row562 */,
-  611 /* Property action_table_row563 */,
-  612 /* Property action_table_row564 */,
-  613 /* Property action_table_row565 */,
-  614 /* Property action_table_row566 */,
-  615 /* Property action_table_row567 */,
-  616 /* Property action_table_row568 */,
-  617 /* Property action_table_row569 */,
-  618 /* Property action_table_row570 */,
-  619 /* Property action_table_row571 */,
-  620 /* Property action_table_row572 */,
-  621 /* Property action_table_row573 */,
-  622 /* Property action_table_row574 */,
-  623 /* Property action_table_row575 */,
-  624 /* Property action_table_row576 */,
-  625 /* Property action_table_row577 */,
-  626 /* Property action_table_row578 */,
-  627 /* Property action_table_row579 */,
-  628 /* Property action_table_row580 */,
-  629 /* Property action_table_row581 */,
-  630 /* Property action_table_row582 */,
-  631 /* Property action_table_row583 */,
-  632 /* Property action_table_row584 */,
-  633 /* Property action_table_row585 */,
-  634 /* Property action_table_row586 */,
-  635 /* Property action_table_row587 */,
-  636 /* Property action_table_row588 */,
-  637 /* Property action_table_row589 */,
-  638 /* Property action_table_row590 */,
-  639 /* Property action_table_row591 */,
-  640 /* Property action_table_row592 */,
-  641 /* Property action_table_row593 */,
-  642 /* Property action_table_row594 */,
-  643 /* Property action_table_row595 */,
-  644 /* Property action_table_row596 */,
-  645 /* Property action_table_row597 */,
-  646 /* Property action_table_row598 */,
-  647 /* Property action_table_row599 */,
-  648 /* Property action_table_row600 */,
-  649 /* Property action_table_row601 */,
-  650 /* Property action_table_row602 */,
-  651 /* Property action_table_row603 */,
-  652 /* Property action_table_row604 */,
-  653 /* Property action_table_row605 */,
-  654 /* Property action_table_row606 */,
-  655 /* Property action_table_row607 */,
-  656 /* Property action_table_row608 */,
-  657 /* Property action_table_row609 */,
-  658 /* Property action_table_row610 */,
-  659 /* Property action_table_row611 */,
-  660 /* Property action_table_row612 */,
-  661 /* Property action_table_row613 */,
-  662 /* Property action_table_row614 */,
-  663 /* Property action_table_row615 */,
-  664 /* Property action_table_row616 */,
-  665 /* Property action_table_row617 */,
-  666 /* Property action_table_row618 */,
-  667 /* Property action_table_row619 */,
-  668 /* Property action_table_row620 */,
-  669 /* Property action_table_row621 */,
-  670 /* Property action_table_row622 */,
-  671 /* Property action_table_row623 */,
-  672 /* Property action_table_row624 */,
-  673 /* Property action_table_row625 */,
-  674 /* Property action_table_row626 */,
-  675 /* Property action_table_row627 */,
-  676 /* Property action_table_row628 */,
-  677 /* Property action_table_row629 */,
-  678 /* Property action_table_row630 */,
-  679 /* Property action_table_row631 */,
-  680 /* Property action_table_row632 */,
-  681 /* Property action_table_row633 */,
-  682 /* Property action_table_row634 */,
-  683 /* Property action_table_row635 */,
-  684 /* Property action_table_row636 */,
-  685 /* Property action_table_row637 */,
-  686 /* Property action_table_row638 */,
-  687 /* Property action_table_row639 */,
-  688 /* Property action_table_row640 */,
-  689 /* Property action_table_row641 */,
-  690 /* Property action_table_row642 */,
-  691 /* Property action_table_row643 */,
-  692 /* Property action_table_row644 */,
-  693 /* Property action_table_row645 */,
-  694 /* Property action_table_row646 */,
-  695 /* Property action_table_row647 */,
-  696 /* Property action_table_row648 */,
-  697 /* Property action_table_row649 */,
-  698 /* Property action_table_row650 */,
-  699 /* Property action_table_row651 */,
-  700 /* Property action_table_row652 */,
-  701 /* Property action_table_row653 */,
-  702 /* Property action_table_row654 */,
-  703 /* Property action_table_row655 */,
-  704 /* Property action_table_row656 */,
-  705 /* Property action_table_row657 */,
-  706 /* Property action_table_row658 */,
-  707 /* Property action_table_row659 */,
-  708 /* Property action_table_row660 */,
-  709 /* Property action_table_row661 */,
-  710 /* Property action_table_row662 */,
-  711 /* Property action_table_row663 */,
-  712 /* Property action_table_row664 */,
-  713 /* Property action_table_row665 */,
-  714 /* Property action_table_row666 */,
-  715 /* Property action_table_row667 */,
-  716 /* Property action_table_row668 */,
-  717 /* Property action_table_row669 */,
-  718 /* Property action_table_row670 */,
-  719 /* Property action_table_row671 */,
-  720 /* Property action_table_row672 */,
-  721 /* Property action_table_row673 */,
-  722 /* Property action_table_row674 */,
-  723 /* Property action_table_row675 */,
-  724 /* Property action_table_row676 */,
-  725 /* Property action_table_row677 */,
-  726 /* Property action_table_row678 */,
-  727 /* Property action_table_row679 */,
-  728 /* Property action_table_row680 */,
-  729 /* Property action_table_row681 */,
-  730 /* Property action_table_row682 */,
-  731 /* Property action_table_row683 */,
-  732 /* Property action_table_row684 */,
-  733 /* Property action_table_row685 */,
-  734 /* Property action_table_row686 */,
-  735 /* Property action_table_row687 */,
-  736 /* Property action_table_row688 */,
-  737 /* Property action_table_row689 */,
-  738 /* Property action_table_row690 */,
-  739 /* Property action_table_row691 */,
-  740 /* Property action_table_row692 */,
-  741 /* Property action_table_row693 */,
-  742 /* Property action_table_row694 */,
-  743 /* Property action_table_row695 */,
-  744 /* Property action_table_row696 */,
-  745 /* Property action_table_row697 */,
-  746 /* Property action_table_row698 */,
-  747 /* Property action_table_row699 */,
-  748 /* Property action_table_row700 */,
-  749 /* Property action_table_row701 */,
-  750 /* Property action_table_row702 */,
-  751 /* Property action_table_row703 */,
-  752 /* Property action_table_row704 */,
-  753 /* Property action_table_row705 */,
-  754 /* Property action_table_row706 */,
-  755 /* Property action_table_row707 */,
-  756 /* Property action_table_row708 */,
-  757 /* Property action_table_row709 */,
-  758 /* Property action_table_row710 */,
-  759 /* Property action_table_row711 */,
-  760 /* Property action_table_row712 */,
-  761 /* Property action_table_row713 */,
-  762 /* Property action_table_row714 */,
-  763 /* Property action_table_row715 */,
-  764 /* Property action_table_row716 */,
-  765 /* Property action_table_row717 */,
-  766 /* Property action_table_row718 */,
-  767 /* Property action_table_row719 */,
-  768 /* Property action_table_row720 */,
-  769 /* Property action_table_row721 */,
-  770 /* Property action_table_row722 */,
-  771 /* Property action_table_row723 */,
-  772 /* Property action_table_row724 */,
-  773 /* Property action_table_row725 */,
-  774 /* Property action_table_row726 */,
-  775 /* Property action_table_row727 */,
-  776 /* Property action_table_row728 */,
-  777 /* Property action_table_row729 */,
-  778 /* Property action_table_row730 */,
-  779 /* Property action_table_row731 */,
-  780 /* Property action_table_row732 */,
-  781 /* Property action_table_row733 */,
-  782 /* Property action_table_row734 */,
-  783 /* Property action_table_row735 */,
-  784 /* Property action_table_row736 */,
-  785 /* Property action_table_row737 */,
-  786 /* Property action_table_row738 */,
-  787 /* Property action_table_row739 */,
-  788 /* Property action_table_row740 */,
-  789 /* Property action_table_row741 */,
-  790 /* Property action_table_row742 */,
-  791 /* Property action_table_row743 */,
-  792 /* Property action_table_row744 */,
-  793 /* Property action_table_row745 */,
-  794 /* Property action_table_row746 */,
-  795 /* Property action_table_row747 */,
-  796 /* Property action_table_row748 */,
-  797 /* Property action_table_row749 */,
-  798 /* Property action_table_row750 */,
-  799 /* Property action_table_row751 */,
-  800 /* Property action_table_row752 */,
-  801 /* Property action_table_row753 */,
-  802 /* Property action_table_row754 */,
-  803 /* Property action_table_row755 */,
-  804 /* Property action_table_row756 */,
-  805 /* Property action_table_row757 */,
-  806 /* Property action_table_row758 */,
-  807 /* Property action_table_row759 */,
-  808 /* Property action_table_row760 */,
-  809 /* Property action_table_row761 */,
-  810 /* Property action_table_row762 */,
-  811 /* Property action_table_row763 */,
-  812 /* Property action_table_row764 */,
-  813 /* Property action_table_row765 */,
-  814 /* Property action_table_row766 */,
-  815 /* Property action_table_row767 */,
-  816 /* Property action_table_row768 */,
-  817 /* Property action_table_row769 */,
-  818 /* Property action_table_row770 */,
-  819 /* Property action_table_row771 */,
-  820 /* Property action_table_row772 */,
-  821 /* Property action_table_row773 */,
-  822 /* Property action_table_row774 */,
-  823 /* Property action_table_row775 */,
-  824 /* Property action_table_row776 */,
-  825 /* Property action_table_row777 */,
-  826 /* Property action_table_row778 */,
-  827 /* Property action_table_row779 */,
-  828 /* Property action_table_row780 */,
-  829 /* Property action_table_row781 */,
-  830 /* Property action_table_row782 */,
-  831 /* Property action_table_row783 */,
-  832 /* Property action_table_row784 */,
-  833 /* Property action_table_row785 */,
-  834 /* Property action_table_row786 */,
-  835 /* Property action_table_row787 */,
-  836 /* Property action_table_row788 */,
-  837 /* Property action_table_row789 */,
-  838 /* Property action_table_row790 */,
-  839 /* Property action_table_row791 */,
-  840 /* Property action_table_row792 */,
-  841 /* Property action_table_row793 */,
-  842 /* Property action_table_row794 */,
-  843 /* Property action_table_row795 */,
-  844 /* Property action_table_row796 */,
-  845 /* Property action_table_row797 */,
-  846 /* Property action_table_row798 */,
-  847 /* Property action_table_row799 */,
-  848 /* Property action_table_row800 */,
-  849 /* Property action_table_row801 */,
-  850 /* Property action_table_row802 */,
-  851 /* Property action_table_row803 */,
-  852 /* Property action_table_row804 */,
-  853 /* Property action_table_row805 */,
-  854 /* Property action_table_row806 */,
-  855 /* Property action_table_row807 */,
-  856 /* Property action_table_row808 */,
-  857 /* Property action_table_row809 */,
-  858 /* Property action_table_row810 */,
-  859 /* Property action_table_row811 */,
-  860 /* Property action_table_row812 */,
-  861 /* Property action_table_row813 */,
-  862 /* Property action_table_row814 */,
-  863 /* Property action_table_row815 */,
-  864 /* Property action_table_row816 */,
-  865 /* Property action_table_row817 */,
-  866 /* Property action_table_row818 */,
-  867 /* Property action_table_row819 */,
-  868 /* Property action_table_row820 */,
-  869 /* Property action_table_row821 */,
-  870 /* Property action_table_row822 */,
-  871 /* Property action_table_row823 */,
-  872 /* Property action_table_row824 */,
-  873 /* Property action_table_row825 */,
-  874 /* Property action_table_row826 */,
-  875 /* Property action_table_row827 */,
-  876 /* Property action_table_row828 */,
-  877 /* Property action_table_row829 */,
-  878 /* Property action_table_row830 */,
-  879 /* Property action_table_row831 */,
-  880 /* Property action_table_row832 */,
-  881 /* Property action_table_row833 */,
-  882 /* Property action_table_row834 */,
-  883 /* Property action_table_row835 */,
-  884 /* Property action_table_row836 */,
-  885 /* Property action_table_row837 */,
-  886 /* Property action_table_row838 */,
-  887 /* Property action_table_row839 */,
-  888 /* Property action_table_row840 */,
-  889 /* Property action_table_row841 */,
-  890 /* Property action_table_row842 */,
-  891 /* Property action_table_row843 */,
-  892 /* Property action_table_row844 */,
-  893 /* Property action_table_row845 */,
-  894 /* Property action_table_row846 */,
-  895 /* Property action_table_row847 */,
-  896 /* Property action_table_row848 */,
-  897 /* Property action_table_row849 */,
-  898 /* Property action_table_row850 */,
-  899 /* Property action_table_row851 */,
-  900 /* Property action_table_row852 */,
-  901 /* Property action_table_row853 */,
-  902 /* Property action_table_row854 */,
-  903 /* Property action_table_row855 */,
-  904 /* Property action_table_row856 */,
-  905 /* Property action_table_row857 */,
-  906 /* Property action_table_row858 */,
-  907 /* Property action_table_row859 */,
-  908 /* Property action_table_row860 */,
-  909 /* Property action_table_row861 */,
-  910 /* Property action_table_row862 */,
-  911 /* Property action_table_row863 */,
-  912 /* Property action_table_row864 */,
-  913 /* Property action_table_row865 */,
-  914 /* Property action_table_row866 */,
-  915 /* Property action_table_row867 */,
-  916 /* Property action_table_row868 */,
-  917 /* Property action_table_row869 */,
-  918 /* Property action_table_row870 */,
-  919 /* Property action_table_row871 */,
-  920 /* Property action_table_row872 */,
-  921 /* Property action_table_row873 */,
-  922 /* Property action_table_row874 */,
-  923 /* Property action_table_row875 */,
-  924 /* Property action_table_row876 */,
-  925 /* Property action_table_row877 */,
-  926 /* Property action_table_row878 */,
-  927 /* Property action_table_row879 */,
-  928 /* Property action_table_row880 */,
-  929 /* Property action_table_row881 */,
-  930 /* Property action_table_row882 */,
-  931 /* Property action_table_row883 */,
-  932 /* Property action_table_row884 */,
-  933 /* Property action_table_row885 */,
-  934 /* Property action_table_row886 */,
-  935 /* Property action_table_row887 */,
-  936 /* Property action_table_row888 */,
-  937 /* Property action_table_row889 */,
-  938 /* Property action_table_row890 */,
-  939 /* Property action_table_row891 */,
-  940 /* Property action_table_row892 */,
-  941 /* Property action_table_row893 */,
-  942 /* Property action_table_row894 */,
-  943 /* Property action_table_row895 */,
-  944 /* Property action_table_row896 */,
-  945 /* Property action_table_row897 */,
-  946 /* Property action_table_row898 */,
-  947 /* Property action_table_row899 */,
-  948 /* Property action_table_row900 */,
-  949 /* Property action_table_row901 */,
-  950 /* Property action_table_row902 */,
-  951 /* Property action_table_row903 */,
-  952 /* Property action_table_row904 */,
-  953 /* Property action_table_row905 */,
-  954 /* Property action_table_row906 */,
-  955 /* Property action_table_row907 */,
-  956 /* Property action_table_row908 */,
-  957 /* Property action_table_row909 */,
-  958 /* Property action_table_row910 */,
-  959 /* Property action_table_row911 */,
-  960 /* Property action_table_row912 */,
-  961 /* Property action_table_row913 */,
-  962 /* Property action_table_row914 */,
-  963 /* Property action_table_row915 */,
-  964 /* Property action_table_row916 */,
-  965 /* Property action_table_row917 */,
-  966 /* Property action_table_row918 */,
-  967 /* Property action_table_row919 */,
-  968 /* Property action_table_row920 */,
-  969 /* Property action_table_row921 */,
-  970 /* Property action_table_row922 */,
-  971 /* Property action_table_row923 */,
-  972 /* Property action_table_row924 */,
-  973 /* Property action_table_row925 */,
-  974 /* Property action_table_row926 */,
-  975 /* Property action_table_row927 */,
-  976 /* Property action_table_row928 */,
-  977 /* Property action_table_row929 */,
-  978 /* Property action_table_row930 */,
-  979 /* Property action_table_row931 */,
-  980 /* Property action_table_row932 */,
-  981 /* Property action_table_row933 */,
-  982 /* Property action_table_row934 */,
-  983 /* Property action_table_row935 */,
-  984 /* Property action_table_row936 */,
-  985 /* Property action_table_row937 */,
-  986 /* Property action_table_row938 */,
-  987 /* Property action_table_row939 */,
-  988 /* Property action_table_row940 */,
-  989 /* Property action_table_row941 */,
-  990 /* Property action_table_row942 */,
-  991 /* Property action_table_row943 */,
-  992 /* Property action_table_row944 */,
-  993 /* Property action_table_row945 */,
-  994 /* Property action_table_row946 */,
-  995 /* Property action_table_row947 */,
-  996 /* Property action_table_row948 */,
-  997 /* Property action_table_row949 */,
-  998 /* Property action_table_row950 */,
-  999 /* Property action_table_row951 */,
-  1000 /* Property action_table_row952 */,
-  1001 /* Property action_table_row953 */,
-  1002 /* Property action_table_row954 */,
-  1003 /* Property action_table_row955 */,
-  1004 /* Property action_table_row956 */,
-  1005 /* Property action_table_row957 */,
-  1006 /* Property action_table_row958 */,
-  1007 /* Property action_table_row959 */,
-  1008 /* Property action_table_row960 */,
-  1009 /* Property action_table_row961 */,
-  1010 /* Property action_table_row962 */,
-  1011 /* Property action_table_row963 */,
-  1012 /* Property action_table_row964 */,
-  1013 /* Property action_table_row965 */,
-  1014 /* Property action_table_row966 */,
-  1015 /* Property action_table_row967 */,
-  1016 /* Property action_table_row968 */,
-  1017 /* Property action_table_row969 */,
-  1018 /* Property action_table_row970 */,
-  1019 /* Property action_table_row971 */,
-  1020 /* Property action_table_row972 */,
-  1021 /* Property action_table_row973 */,
-  1022 /* Property action_table_row974 */,
-  1023 /* Property action_table_row975 */,
-  1024 /* Property action_table_row976 */,
-  1025 /* Property action_table_row977 */,
-  1026 /* Property action_table_row978 */,
-  1027 /* Property action_table_row979 */,
-  1028 /* Property action_table_row980 */,
-  1029 /* Property action_table_row981 */,
-  1030 /* Property action_table_row982 */,
-  1031 /* Property action_table_row983 */,
-  1032 /* Property action_table_row984 */,
-  1033 /* Property action_table_row985 */,
-  1034 /* Property action_table_row986 */,
-  1035 /* Property action_table_row987 */,
-  1036 /* Property action_table_row988 */,
-  1037 /* Property action_table_row989 */,
-  1038 /* Property action_table_row990 */,
-  1039 /* Property action_table_row991 */,
-  1040 /* Property action_table_row992 */,
-  1041 /* Property action_table_row993 */,
-  1042 /* Property action_table_row994 */,
-  1043 /* Property action_table_row995 */,
-  1044 /* Property action_table_row996 */,
-  1045 /* Property action_table_row997 */,
-  1046 /* Property action_table_row998 */,
-  1047 /* Property action_table_row999 */,
-  1048 /* Property action_table_row1000 */,
-  1049 /* Property action_table_row1001 */,
-  1050 /* Property action_table_row1002 */,
-  1051 /* Property action_table_row1003 */,
-  1052 /* Property action_table_row1004 */,
-  1053 /* Property action_table_row1005 */,
-  1054 /* Property action_table_row1006 */,
-  1055 /* Property action_table_row1007 */,
-  1056 /* Property action_table_row1008 */,
-  1057 /* Property action_table_row1009 */,
-  1058 /* Property action_table_row1010 */,
-  1059 /* Property action_table_row1011 */,
-  1060 /* Property action_table_row1012 */,
-  1061 /* Property action_table_row1013 */,
-  1062 /* Property action_table_row1014 */,
-  1063 /* Property action_table_row1015 */,
-  1064 /* Property action_table_row1016 */,
-  1065 /* Property action_table_row1017 */,
-  1066 /* Property action_table_row1018 */,
-  1067 /* Property action_table_row1019 */,
-  1068 /* Property action_table_row1020 */,
-  1069 /* Property action_table_row1021 */,
-  1070 /* Property action_table_row1022 */,
-  1071 /* Property action_table_row1023 */,
-  1072 /* Property action_table_row1024 */,
-  1073 /* Property action_table_row1025 */,
-  1074 /* Property action_table_row1026 */,
-  1075 /* Property action_table_row1027 */,
-  1076 /* Property action_table_row1028 */,
-  1077 /* Property action_table_row1029 */,
-  1078 /* Property action_table_row1030 */,
-  1079 /* Property action_table_row1031 */,
-  1080 /* Property action_table_row1032 */,
-  1081 /* Property action_table_row1033 */,
-  1082 /* Property action_table_row1034 */,
-  1083 /* Property action_table_row1035 */,
-  1084 /* Property action_table_row1036 */,
-  1085 /* Property action_table_row1037 */,
-  1086 /* Property action_table_row1038 */,
-  1087 /* Property action_table_row1039 */,
-  1088 /* Property action_table_row1040 */,
-  1089 /* Property action_table_row1041 */,
-  1090 /* Property action_table_row1042 */,
-  1091 /* Property action_table_row1043 */,
-  1092 /* Property action_table_row1044 */,
-  1093 /* Property action_table_row1045 */,
-  1094 /* Property action_table_row1046 */,
-  1095 /* Property action_table_row1047 */,
-  1096 /* Property action_table_row1048 */,
-  1097 /* Property action_table_row1049 */,
-  1098 /* Property action_table_row1050 */,
-  1099 /* Property action_table_row1051 */,
-  1100 /* Property action_table_row1052 */,
-  1101 /* Property action_table_row1053 */,
-  1102 /* Property action_table_row1054 */,
-  1103 /* Property action_table_row1055 */,
-  1104 /* Property action_table_row1056 */,
-  1105 /* Property action_table_row1057 */,
-  1106 /* Property action_table_row1058 */,
-  1107 /* Property action_table_row1059 */,
-  1108 /* Property action_table_row1060 */,
-  1109 /* Property action_table_row1061 */,
-  1110 /* Property action_table_row1062 */,
-  1111 /* Property action_table_row1063 */,
-  1112 /* Property action_table_row1064 */,
-  1113 /* Property action_table_row1065 */,
-  1114 /* Property action_table_row1066 */,
-  1115 /* Property action_table_row1067 */,
-  1116 /* Property action_table_row1068 */,
-  1117 /* Property action_table_row1069 */,
-  1118 /* Property action_table_row1070 */,
-  1119 /* Property action_table_row1071 */,
-  1120 /* Property action_table_row1072 */,
-  1121 /* Property action_table_row1073 */,
-  1122 /* Property action_table_row1074 */,
-  1123 /* Property action_table_row1075 */,
-  1124 /* Property action_table_row1076 */,
-  1125 /* Property action_table_row1077 */,
-  1126 /* Property action_table_row1078 */,
-  1127 /* Property action_table_row1079 */,
-  1128 /* Property action_table_row1080 */,
-  1129 /* Property action_table_row1081 */,
-  1130 /* Property action_table_row1082 */,
-  1131 /* Property action_table_row1083 */,
-  1132 /* Property action_table_row1084 */,
-  1133 /* Property action_table_row1085 */,
-  1134 /* Property action_table_row1086 */,
-  1135 /* Property action_table_row1087 */,
-  1136 /* Property action_table_row1088 */,
-  1137 /* Property action_table_row1089 */,
-  1138 /* Property action_table_row1090 */,
-  1139 /* Property action_table_row1091 */,
-  1140 /* Property action_table_row1092 */,
-  1141 /* Property action_table_row1093 */,
-  1142 /* Property action_table_row1094 */,
-  1143 /* Property action_table_row1095 */,
-  1144 /* Property action_table_row1096 */,
-  1145 /* Property action_table_row1097 */,
-  1146 /* Property action_table_row1098 */,
-  1147 /* Property action_table_row1099 */,
-  1148 /* Property action_table_row1100 */,
-  1149 /* Property action_table_row1101 */,
-  1150 /* Property action_table_row1102 */,
-  1151 /* Property action_table_row1103 */,
-  1152 /* Property action_table_row1104 */,
-  1153 /* Property action_table_row1105 */,
-  1154 /* Property action_table_row1106 */,
-  1155 /* Property action_table_row1107 */,
-  1156 /* Property action_table_row1108 */,
-  1157 /* Property action_table_row1109 */,
-  1158 /* Property action_table_row1110 */,
-  1159 /* Property action_table_row1111 */,
-  1160 /* Property action_table_row1112 */,
-  1161 /* Property action_table_row1113 */,
-  1162 /* Property action_table_row1114 */,
-  1163 /* Property action_table_row1115 */,
-  1164 /* Property action_table_row1116 */,
-  1165 /* Property action_table_row1117 */,
-  1166 /* Property action_table_row1118 */,
-  1167 /* Property action_table_row1119 */,
-  1168 /* Property action_table_row1120 */,
-  1169 /* Property action_table_row1121 */,
-  1170 /* Property action_table_row1122 */,
-  1171 /* Property action_table_row1123 */,
-  1172 /* Property action_table_row1124 */,
-  1173 /* Property action_table_row1125 */,
-  1174 /* Property action_table_row1126 */,
-  1175 /* Property action_table_row1127 */,
-  1176 /* Property action_table_row1128 */,
-  1177 /* Property action_table_row1129 */,
-  1178 /* Property action_table_row1130 */,
-  1179 /* Property action_table_row1131 */,
-  1180 /* Property action_table_row1132 */,
-  1181 /* Property action_table_row1133 */,
-  1182 /* Property action_table_row1134 */,
-  1183 /* Property action_table_row1135 */,
-  1184 /* Property action_table_row1136 */,
-  1185 /* Property action_table_row1137 */,
-  1186 /* Property action_table_row1138 */,
-  1187 /* Property action_table_row1139 */,
-  1188 /* Property action_table_row1140 */,
-  1189 /* Property action_table_row1141 */,
-  1190 /* Property action_table_row1142 */,
-  1191 /* Property action_table_row1143 */,
-  1192 /* Property action_table_row1144 */,
-  1193 /* Property build_goto_table */,
-  1194 /* Property error_messages */,
-  1195 /* Property errors */,
+const int SFT_parser_tables[1174] = {
+  59 /* Id of ParserTable */,
+  2 /* Color of ParserTable */,
+  1 /* Property _action_table */,
+  2 /* Property _goto_table */,
+  40 /* Color of ParserTable */,
+  41 /* Property build_action_table */,
+  42 /* Property action_table_row1 */,
+  43 /* Property action_table_row2 */,
+  44 /* Property action_table_row3 */,
+  45 /* Property action_table_row4 */,
+  46 /* Property action_table_row5 */,
+  47 /* Property action_table_row6 */,
+  48 /* Property action_table_row7 */,
+  49 /* Property action_table_row8 */,
+  50 /* Property action_table_row9 */,
+  51 /* Property action_table_row10 */,
+  52 /* Property action_table_row11 */,
+  53 /* Property action_table_row12 */,
+  54 /* Property action_table_row13 */,
+  55 /* Property action_table_row14 */,
+  56 /* Property action_table_row15 */,
+  57 /* Property action_table_row16 */,
+  58 /* Property action_table_row17 */,
+  59 /* Property action_table_row18 */,
+  60 /* Property action_table_row19 */,
+  61 /* Property action_table_row20 */,
+  62 /* Property action_table_row21 */,
+  63 /* Property action_table_row22 */,
+  64 /* Property action_table_row23 */,
+  65 /* Property action_table_row24 */,
+  66 /* Property action_table_row25 */,
+  67 /* Property action_table_row26 */,
+  68 /* Property action_table_row27 */,
+  69 /* Property action_table_row28 */,
+  70 /* Property action_table_row29 */,
+  71 /* Property action_table_row30 */,
+  72 /* Property action_table_row31 */,
+  73 /* Property action_table_row32 */,
+  74 /* Property action_table_row33 */,
+  75 /* Property action_table_row34 */,
+  76 /* Property action_table_row35 */,
+  77 /* Property action_table_row36 */,
+  78 /* Property action_table_row37 */,
+  79 /* Property action_table_row38 */,
+  80 /* Property action_table_row39 */,
+  81 /* Property action_table_row40 */,
+  82 /* Property action_table_row41 */,
+  83 /* Property action_table_row42 */,
+  84 /* Property action_table_row43 */,
+  85 /* Property action_table_row44 */,
+  86 /* Property action_table_row45 */,
+  87 /* Property action_table_row46 */,
+  88 /* Property action_table_row47 */,
+  89 /* Property action_table_row48 */,
+  90 /* Property action_table_row49 */,
+  91 /* Property action_table_row50 */,
+  92 /* Property action_table_row51 */,
+  93 /* Property action_table_row52 */,
+  94 /* Property action_table_row53 */,
+  95 /* Property action_table_row54 */,
+  96 /* Property action_table_row55 */,
+  97 /* Property action_table_row56 */,
+  98 /* Property action_table_row57 */,
+  99 /* Property action_table_row58 */,
+  100 /* Property action_table_row59 */,
+  101 /* Property action_table_row60 */,
+  102 /* Property action_table_row61 */,
+  103 /* Property action_table_row62 */,
+  104 /* Property action_table_row63 */,
+  105 /* Property action_table_row64 */,
+  106 /* Property action_table_row65 */,
+  107 /* Property action_table_row66 */,
+  108 /* Property action_table_row67 */,
+  109 /* Property action_table_row68 */,
+  110 /* Property action_table_row69 */,
+  111 /* Property action_table_row70 */,
+  112 /* Property action_table_row71 */,
+  113 /* Property action_table_row72 */,
+  114 /* Property action_table_row73 */,
+  115 /* Property action_table_row74 */,
+  116 /* Property action_table_row75 */,
+  117 /* Property action_table_row76 */,
+  118 /* Property action_table_row77 */,
+  119 /* Property action_table_row78 */,
+  120 /* Property action_table_row79 */,
+  121 /* Property action_table_row80 */,
+  122 /* Property action_table_row81 */,
+  123 /* Property action_table_row82 */,
+  124 /* Property action_table_row83 */,
+  125 /* Property action_table_row84 */,
+  126 /* Property action_table_row85 */,
+  127 /* Property action_table_row86 */,
+  128 /* Property action_table_row87 */,
+  129 /* Property action_table_row88 */,
+  130 /* Property action_table_row89 */,
+  131 /* Property action_table_row90 */,
+  132 /* Property action_table_row91 */,
+  133 /* Property action_table_row92 */,
+  134 /* Property action_table_row93 */,
+  135 /* Property action_table_row94 */,
+  136 /* Property action_table_row95 */,
+  137 /* Property action_table_row96 */,
+  138 /* Property action_table_row97 */,
+  139 /* Property action_table_row98 */,
+  140 /* Property action_table_row99 */,
+  141 /* Property action_table_row100 */,
+  142 /* Property action_table_row101 */,
+  143 /* Property action_table_row102 */,
+  144 /* Property action_table_row103 */,
+  145 /* Property action_table_row104 */,
+  146 /* Property action_table_row105 */,
+  147 /* Property action_table_row106 */,
+  148 /* Property action_table_row107 */,
+  149 /* Property action_table_row108 */,
+  150 /* Property action_table_row109 */,
+  151 /* Property action_table_row110 */,
+  152 /* Property action_table_row111 */,
+  153 /* Property action_table_row112 */,
+  154 /* Property action_table_row113 */,
+  155 /* Property action_table_row114 */,
+  156 /* Property action_table_row115 */,
+  157 /* Property action_table_row116 */,
+  158 /* Property action_table_row117 */,
+  159 /* Property action_table_row118 */,
+  160 /* Property action_table_row119 */,
+  161 /* Property action_table_row120 */,
+  162 /* Property action_table_row121 */,
+  163 /* Property action_table_row122 */,
+  164 /* Property action_table_row123 */,
+  165 /* Property action_table_row124 */,
+  166 /* Property action_table_row125 */,
+  167 /* Property action_table_row126 */,
+  168 /* Property action_table_row127 */,
+  169 /* Property action_table_row128 */,
+  170 /* Property action_table_row129 */,
+  171 /* Property action_table_row130 */,
+  172 /* Property action_table_row131 */,
+  173 /* Property action_table_row132 */,
+  174 /* Property action_table_row133 */,
+  175 /* Property action_table_row134 */,
+  176 /* Property action_table_row135 */,
+  177 /* Property action_table_row136 */,
+  178 /* Property action_table_row137 */,
+  179 /* Property action_table_row138 */,
+  180 /* Property action_table_row139 */,
+  181 /* Property action_table_row140 */,
+  182 /* Property action_table_row141 */,
+  183 /* Property action_table_row142 */,
+  184 /* Property action_table_row143 */,
+  185 /* Property action_table_row144 */,
+  186 /* Property action_table_row145 */,
+  187 /* Property action_table_row146 */,
+  188 /* Property action_table_row147 */,
+  189 /* Property action_table_row148 */,
+  190 /* Property action_table_row149 */,
+  191 /* Property action_table_row150 */,
+  192 /* Property action_table_row151 */,
+  193 /* Property action_table_row152 */,
+  194 /* Property action_table_row153 */,
+  195 /* Property action_table_row154 */,
+  196 /* Property action_table_row155 */,
+  197 /* Property action_table_row156 */,
+  198 /* Property action_table_row157 */,
+  199 /* Property action_table_row158 */,
+  200 /* Property action_table_row159 */,
+  201 /* Property action_table_row160 */,
+  202 /* Property action_table_row161 */,
+  203 /* Property action_table_row162 */,
+  204 /* Property action_table_row163 */,
+  205 /* Property action_table_row164 */,
+  206 /* Property action_table_row165 */,
+  207 /* Property action_table_row166 */,
+  208 /* Property action_table_row167 */,
+  209 /* Property action_table_row168 */,
+  210 /* Property action_table_row169 */,
+  211 /* Property action_table_row170 */,
+  212 /* Property action_table_row171 */,
+  213 /* Property action_table_row172 */,
+  214 /* Property action_table_row173 */,
+  215 /* Property action_table_row174 */,
+  216 /* Property action_table_row175 */,
+  217 /* Property action_table_row176 */,
+  218 /* Property action_table_row177 */,
+  219 /* Property action_table_row178 */,
+  220 /* Property action_table_row179 */,
+  221 /* Property action_table_row180 */,
+  222 /* Property action_table_row181 */,
+  223 /* Property action_table_row182 */,
+  224 /* Property action_table_row183 */,
+  225 /* Property action_table_row184 */,
+  226 /* Property action_table_row185 */,
+  227 /* Property action_table_row186 */,
+  228 /* Property action_table_row187 */,
+  229 /* Property action_table_row188 */,
+  230 /* Property action_table_row189 */,
+  231 /* Property action_table_row190 */,
+  232 /* Property action_table_row191 */,
+  233 /* Property action_table_row192 */,
+  234 /* Property action_table_row193 */,
+  235 /* Property action_table_row194 */,
+  236 /* Property action_table_row195 */,
+  237 /* Property action_table_row196 */,
+  238 /* Property action_table_row197 */,
+  239 /* Property action_table_row198 */,
+  240 /* Property action_table_row199 */,
+  241 /* Property action_table_row200 */,
+  242 /* Property action_table_row201 */,
+  243 /* Property action_table_row202 */,
+  244 /* Property action_table_row203 */,
+  245 /* Property action_table_row204 */,
+  246 /* Property action_table_row205 */,
+  247 /* Property action_table_row206 */,
+  248 /* Property action_table_row207 */,
+  249 /* Property action_table_row208 */,
+  250 /* Property action_table_row209 */,
+  251 /* Property action_table_row210 */,
+  252 /* Property action_table_row211 */,
+  253 /* Property action_table_row212 */,
+  254 /* Property action_table_row213 */,
+  255 /* Property action_table_row214 */,
+  256 /* Property action_table_row215 */,
+  257 /* Property action_table_row216 */,
+  258 /* Property action_table_row217 */,
+  259 /* Property action_table_row218 */,
+  260 /* Property action_table_row219 */,
+  261 /* Property action_table_row220 */,
+  262 /* Property action_table_row221 */,
+  263 /* Property action_table_row222 */,
+  264 /* Property action_table_row223 */,
+  265 /* Property action_table_row224 */,
+  266 /* Property action_table_row225 */,
+  267 /* Property action_table_row226 */,
+  268 /* Property action_table_row227 */,
+  269 /* Property action_table_row228 */,
+  270 /* Property action_table_row229 */,
+  271 /* Property action_table_row230 */,
+  272 /* Property action_table_row231 */,
+  273 /* Property action_table_row232 */,
+  274 /* Property action_table_row233 */,
+  275 /* Property action_table_row234 */,
+  276 /* Property action_table_row235 */,
+  277 /* Property action_table_row236 */,
+  278 /* Property action_table_row237 */,
+  279 /* Property action_table_row238 */,
+  280 /* Property action_table_row239 */,
+  281 /* Property action_table_row240 */,
+  282 /* Property action_table_row241 */,
+  283 /* Property action_table_row242 */,
+  284 /* Property action_table_row243 */,
+  285 /* Property action_table_row244 */,
+  286 /* Property action_table_row245 */,
+  287 /* Property action_table_row246 */,
+  288 /* Property action_table_row247 */,
+  289 /* Property action_table_row248 */,
+  290 /* Property action_table_row249 */,
+  291 /* Property action_table_row250 */,
+  292 /* Property action_table_row251 */,
+  293 /* Property action_table_row252 */,
+  294 /* Property action_table_row253 */,
+  295 /* Property action_table_row254 */,
+  296 /* Property action_table_row255 */,
+  297 /* Property action_table_row256 */,
+  298 /* Property action_table_row257 */,
+  299 /* Property action_table_row258 */,
+  300 /* Property action_table_row259 */,
+  301 /* Property action_table_row260 */,
+  302 /* Property action_table_row261 */,
+  303 /* Property action_table_row262 */,
+  304 /* Property action_table_row263 */,
+  305 /* Property action_table_row264 */,
+  306 /* Property action_table_row265 */,
+  307 /* Property action_table_row266 */,
+  308 /* Property action_table_row267 */,
+  309 /* Property action_table_row268 */,
+  310 /* Property action_table_row269 */,
+  311 /* Property action_table_row270 */,
+  312 /* Property action_table_row271 */,
+  313 /* Property action_table_row272 */,
+  314 /* Property action_table_row273 */,
+  315 /* Property action_table_row274 */,
+  316 /* Property action_table_row275 */,
+  317 /* Property action_table_row276 */,
+  318 /* Property action_table_row277 */,
+  319 /* Property action_table_row278 */,
+  320 /* Property action_table_row279 */,
+  321 /* Property action_table_row280 */,
+  322 /* Property action_table_row281 */,
+  323 /* Property action_table_row282 */,
+  324 /* Property action_table_row283 */,
+  325 /* Property action_table_row284 */,
+  326 /* Property action_table_row285 */,
+  327 /* Property action_table_row286 */,
+  328 /* Property action_table_row287 */,
+  329 /* Property action_table_row288 */,
+  330 /* Property action_table_row289 */,
+  331 /* Property action_table_row290 */,
+  332 /* Property action_table_row291 */,
+  333 /* Property action_table_row292 */,
+  334 /* Property action_table_row293 */,
+  335 /* Property action_table_row294 */,
+  336 /* Property action_table_row295 */,
+  337 /* Property action_table_row296 */,
+  338 /* Property action_table_row297 */,
+  339 /* Property action_table_row298 */,
+  340 /* Property action_table_row299 */,
+  341 /* Property action_table_row300 */,
+  342 /* Property action_table_row301 */,
+  343 /* Property action_table_row302 */,
+  344 /* Property action_table_row303 */,
+  345 /* Property action_table_row304 */,
+  346 /* Property action_table_row305 */,
+  347 /* Property action_table_row306 */,
+  348 /* Property action_table_row307 */,
+  349 /* Property action_table_row308 */,
+  350 /* Property action_table_row309 */,
+  351 /* Property action_table_row310 */,
+  352 /* Property action_table_row311 */,
+  353 /* Property action_table_row312 */,
+  354 /* Property action_table_row313 */,
+  355 /* Property action_table_row314 */,
+  356 /* Property action_table_row315 */,
+  357 /* Property action_table_row316 */,
+  358 /* Property action_table_row317 */,
+  359 /* Property action_table_row318 */,
+  360 /* Property action_table_row319 */,
+  361 /* Property action_table_row320 */,
+  362 /* Property action_table_row321 */,
+  363 /* Property action_table_row322 */,
+  364 /* Property action_table_row323 */,
+  365 /* Property action_table_row324 */,
+  366 /* Property action_table_row325 */,
+  367 /* Property action_table_row326 */,
+  368 /* Property action_table_row327 */,
+  369 /* Property action_table_row328 */,
+  370 /* Property action_table_row329 */,
+  371 /* Property action_table_row330 */,
+  372 /* Property action_table_row331 */,
+  373 /* Property action_table_row332 */,
+  374 /* Property action_table_row333 */,
+  375 /* Property action_table_row334 */,
+  376 /* Property action_table_row335 */,
+  377 /* Property action_table_row336 */,
+  378 /* Property action_table_row337 */,
+  379 /* Property action_table_row338 */,
+  380 /* Property action_table_row339 */,
+  381 /* Property action_table_row340 */,
+  382 /* Property action_table_row341 */,
+  383 /* Property action_table_row342 */,
+  384 /* Property action_table_row343 */,
+  385 /* Property action_table_row344 */,
+  386 /* Property action_table_row345 */,
+  387 /* Property action_table_row346 */,
+  388 /* Property action_table_row347 */,
+  389 /* Property action_table_row348 */,
+  390 /* Property action_table_row349 */,
+  391 /* Property action_table_row350 */,
+  392 /* Property action_table_row351 */,
+  393 /* Property action_table_row352 */,
+  394 /* Property action_table_row353 */,
+  395 /* Property action_table_row354 */,
+  396 /* Property action_table_row355 */,
+  397 /* Property action_table_row356 */,
+  398 /* Property action_table_row357 */,
+  399 /* Property action_table_row358 */,
+  400 /* Property action_table_row359 */,
+  401 /* Property action_table_row360 */,
+  402 /* Property action_table_row361 */,
+  403 /* Property action_table_row362 */,
+  404 /* Property action_table_row363 */,
+  405 /* Property action_table_row364 */,
+  406 /* Property action_table_row365 */,
+  407 /* Property action_table_row366 */,
+  408 /* Property action_table_row367 */,
+  409 /* Property action_table_row368 */,
+  410 /* Property action_table_row369 */,
+  411 /* Property action_table_row370 */,
+  412 /* Property action_table_row371 */,
+  413 /* Property action_table_row372 */,
+  414 /* Property action_table_row373 */,
+  415 /* Property action_table_row374 */,
+  416 /* Property action_table_row375 */,
+  417 /* Property action_table_row376 */,
+  418 /* Property action_table_row377 */,
+  419 /* Property action_table_row378 */,
+  420 /* Property action_table_row379 */,
+  421 /* Property action_table_row380 */,
+  422 /* Property action_table_row381 */,
+  423 /* Property action_table_row382 */,
+  424 /* Property action_table_row383 */,
+  425 /* Property action_table_row384 */,
+  426 /* Property action_table_row385 */,
+  427 /* Property action_table_row386 */,
+  428 /* Property action_table_row387 */,
+  429 /* Property action_table_row388 */,
+  430 /* Property action_table_row389 */,
+  431 /* Property action_table_row390 */,
+  432 /* Property action_table_row391 */,
+  433 /* Property action_table_row392 */,
+  434 /* Property action_table_row393 */,
+  435 /* Property action_table_row394 */,
+  436 /* Property action_table_row395 */,
+  437 /* Property action_table_row396 */,
+  438 /* Property action_table_row397 */,
+  439 /* Property action_table_row398 */,
+  440 /* Property action_table_row399 */,
+  441 /* Property action_table_row400 */,
+  442 /* Property action_table_row401 */,
+  443 /* Property action_table_row402 */,
+  444 /* Property action_table_row403 */,
+  445 /* Property action_table_row404 */,
+  446 /* Property action_table_row405 */,
+  447 /* Property action_table_row406 */,
+  448 /* Property action_table_row407 */,
+  449 /* Property action_table_row408 */,
+  450 /* Property action_table_row409 */,
+  451 /* Property action_table_row410 */,
+  452 /* Property action_table_row411 */,
+  453 /* Property action_table_row412 */,
+  454 /* Property action_table_row413 */,
+  455 /* Property action_table_row414 */,
+  456 /* Property action_table_row415 */,
+  457 /* Property action_table_row416 */,
+  458 /* Property action_table_row417 */,
+  459 /* Property action_table_row418 */,
+  460 /* Property action_table_row419 */,
+  461 /* Property action_table_row420 */,
+  462 /* Property action_table_row421 */,
+  463 /* Property action_table_row422 */,
+  464 /* Property action_table_row423 */,
+  465 /* Property action_table_row424 */,
+  466 /* Property action_table_row425 */,
+  467 /* Property action_table_row426 */,
+  468 /* Property action_table_row427 */,
+  469 /* Property action_table_row428 */,
+  470 /* Property action_table_row429 */,
+  471 /* Property action_table_row430 */,
+  472 /* Property action_table_row431 */,
+  473 /* Property action_table_row432 */,
+  474 /* Property action_table_row433 */,
+  475 /* Property action_table_row434 */,
+  476 /* Property action_table_row435 */,
+  477 /* Property action_table_row436 */,
+  478 /* Property action_table_row437 */,
+  479 /* Property action_table_row438 */,
+  480 /* Property action_table_row439 */,
+  481 /* Property action_table_row440 */,
+  482 /* Property action_table_row441 */,
+  483 /* Property action_table_row442 */,
+  484 /* Property action_table_row443 */,
+  485 /* Property action_table_row444 */,
+  486 /* Property action_table_row445 */,
+  487 /* Property action_table_row446 */,
+  488 /* Property action_table_row447 */,
+  489 /* Property action_table_row448 */,
+  490 /* Property action_table_row449 */,
+  491 /* Property action_table_row450 */,
+  492 /* Property action_table_row451 */,
+  493 /* Property action_table_row452 */,
+  494 /* Property action_table_row453 */,
+  495 /* Property action_table_row454 */,
+  496 /* Property action_table_row455 */,
+  497 /* Property action_table_row456 */,
+  498 /* Property action_table_row457 */,
+  499 /* Property action_table_row458 */,
+  500 /* Property action_table_row459 */,
+  501 /* Property action_table_row460 */,
+  502 /* Property action_table_row461 */,
+  503 /* Property action_table_row462 */,
+  504 /* Property action_table_row463 */,
+  505 /* Property action_table_row464 */,
+  506 /* Property action_table_row465 */,
+  507 /* Property action_table_row466 */,
+  508 /* Property action_table_row467 */,
+  509 /* Property action_table_row468 */,
+  510 /* Property action_table_row469 */,
+  511 /* Property action_table_row470 */,
+  512 /* Property action_table_row471 */,
+  513 /* Property action_table_row472 */,
+  514 /* Property action_table_row473 */,
+  515 /* Property action_table_row474 */,
+  516 /* Property action_table_row475 */,
+  517 /* Property action_table_row476 */,
+  518 /* Property action_table_row477 */,
+  519 /* Property action_table_row478 */,
+  520 /* Property action_table_row479 */,
+  521 /* Property action_table_row480 */,
+  522 /* Property action_table_row481 */,
+  523 /* Property action_table_row482 */,
+  524 /* Property action_table_row483 */,
+  525 /* Property action_table_row484 */,
+  526 /* Property action_table_row485 */,
+  527 /* Property action_table_row486 */,
+  528 /* Property action_table_row487 */,
+  529 /* Property action_table_row488 */,
+  530 /* Property action_table_row489 */,
+  531 /* Property action_table_row490 */,
+  532 /* Property action_table_row491 */,
+  533 /* Property action_table_row492 */,
+  534 /* Property action_table_row493 */,
+  535 /* Property action_table_row494 */,
+  536 /* Property action_table_row495 */,
+  537 /* Property action_table_row496 */,
+  538 /* Property action_table_row497 */,
+  539 /* Property action_table_row498 */,
+  540 /* Property action_table_row499 */,
+  541 /* Property action_table_row500 */,
+  542 /* Property action_table_row501 */,
+  543 /* Property action_table_row502 */,
+  544 /* Property action_table_row503 */,
+  545 /* Property action_table_row504 */,
+  546 /* Property action_table_row505 */,
+  547 /* Property action_table_row506 */,
+  548 /* Property action_table_row507 */,
+  549 /* Property action_table_row508 */,
+  550 /* Property action_table_row509 */,
+  551 /* Property action_table_row510 */,
+  552 /* Property action_table_row511 */,
+  553 /* Property action_table_row512 */,
+  554 /* Property action_table_row513 */,
+  555 /* Property action_table_row514 */,
+  556 /* Property action_table_row515 */,
+  557 /* Property action_table_row516 */,
+  558 /* Property action_table_row517 */,
+  559 /* Property action_table_row518 */,
+  560 /* Property action_table_row519 */,
+  561 /* Property action_table_row520 */,
+  562 /* Property action_table_row521 */,
+  563 /* Property action_table_row522 */,
+  564 /* Property action_table_row523 */,
+  565 /* Property action_table_row524 */,
+  566 /* Property action_table_row525 */,
+  567 /* Property action_table_row526 */,
+  568 /* Property action_table_row527 */,
+  569 /* Property action_table_row528 */,
+  570 /* Property action_table_row529 */,
+  571 /* Property action_table_row530 */,
+  572 /* Property action_table_row531 */,
+  573 /* Property action_table_row532 */,
+  574 /* Property action_table_row533 */,
+  575 /* Property action_table_row534 */,
+  576 /* Property action_table_row535 */,
+  577 /* Property action_table_row536 */,
+  578 /* Property action_table_row537 */,
+  579 /* Property action_table_row538 */,
+  580 /* Property action_table_row539 */,
+  581 /* Property action_table_row540 */,
+  582 /* Property action_table_row541 */,
+  583 /* Property action_table_row542 */,
+  584 /* Property action_table_row543 */,
+  585 /* Property action_table_row544 */,
+  586 /* Property action_table_row545 */,
+  587 /* Property action_table_row546 */,
+  588 /* Property action_table_row547 */,
+  589 /* Property action_table_row548 */,
+  590 /* Property action_table_row549 */,
+  591 /* Property action_table_row550 */,
+  592 /* Property action_table_row551 */,
+  593 /* Property action_table_row552 */,
+  594 /* Property action_table_row553 */,
+  595 /* Property action_table_row554 */,
+  596 /* Property action_table_row555 */,
+  597 /* Property action_table_row556 */,
+  598 /* Property action_table_row557 */,
+  599 /* Property action_table_row558 */,
+  600 /* Property action_table_row559 */,
+  601 /* Property action_table_row560 */,
+  602 /* Property action_table_row561 */,
+  603 /* Property action_table_row562 */,
+  604 /* Property action_table_row563 */,
+  605 /* Property action_table_row564 */,
+  606 /* Property action_table_row565 */,
+  607 /* Property action_table_row566 */,
+  608 /* Property action_table_row567 */,
+  609 /* Property action_table_row568 */,
+  610 /* Property action_table_row569 */,
+  611 /* Property action_table_row570 */,
+  612 /* Property action_table_row571 */,
+  613 /* Property action_table_row572 */,
+  614 /* Property action_table_row573 */,
+  615 /* Property action_table_row574 */,
+  616 /* Property action_table_row575 */,
+  617 /* Property action_table_row576 */,
+  618 /* Property action_table_row577 */,
+  619 /* Property action_table_row578 */,
+  620 /* Property action_table_row579 */,
+  621 /* Property action_table_row580 */,
+  622 /* Property action_table_row581 */,
+  623 /* Property action_table_row582 */,
+  624 /* Property action_table_row583 */,
+  625 /* Property action_table_row584 */,
+  626 /* Property action_table_row585 */,
+  627 /* Property action_table_row586 */,
+  628 /* Property action_table_row587 */,
+  629 /* Property action_table_row588 */,
+  630 /* Property action_table_row589 */,
+  631 /* Property action_table_row590 */,
+  632 /* Property action_table_row591 */,
+  633 /* Property action_table_row592 */,
+  634 /* Property action_table_row593 */,
+  635 /* Property action_table_row594 */,
+  636 /* Property action_table_row595 */,
+  637 /* Property action_table_row596 */,
+  638 /* Property action_table_row597 */,
+  639 /* Property action_table_row598 */,
+  640 /* Property action_table_row599 */,
+  641 /* Property action_table_row600 */,
+  642 /* Property action_table_row601 */,
+  643 /* Property action_table_row602 */,
+  644 /* Property action_table_row603 */,
+  645 /* Property action_table_row604 */,
+  646 /* Property action_table_row605 */,
+  647 /* Property action_table_row606 */,
+  648 /* Property action_table_row607 */,
+  649 /* Property action_table_row608 */,
+  650 /* Property action_table_row609 */,
+  651 /* Property action_table_row610 */,
+  652 /* Property action_table_row611 */,
+  653 /* Property action_table_row612 */,
+  654 /* Property action_table_row613 */,
+  655 /* Property action_table_row614 */,
+  656 /* Property action_table_row615 */,
+  657 /* Property action_table_row616 */,
+  658 /* Property action_table_row617 */,
+  659 /* Property action_table_row618 */,
+  660 /* Property action_table_row619 */,
+  661 /* Property action_table_row620 */,
+  662 /* Property action_table_row621 */,
+  663 /* Property action_table_row622 */,
+  664 /* Property action_table_row623 */,
+  665 /* Property action_table_row624 */,
+  666 /* Property action_table_row625 */,
+  667 /* Property action_table_row626 */,
+  668 /* Property action_table_row627 */,
+  669 /* Property action_table_row628 */,
+  670 /* Property action_table_row629 */,
+  671 /* Property action_table_row630 */,
+  672 /* Property action_table_row631 */,
+  673 /* Property action_table_row632 */,
+  674 /* Property action_table_row633 */,
+  675 /* Property action_table_row634 */,
+  676 /* Property action_table_row635 */,
+  677 /* Property action_table_row636 */,
+  678 /* Property action_table_row637 */,
+  679 /* Property action_table_row638 */,
+  680 /* Property action_table_row639 */,
+  681 /* Property action_table_row640 */,
+  682 /* Property action_table_row641 */,
+  683 /* Property action_table_row642 */,
+  684 /* Property action_table_row643 */,
+  685 /* Property action_table_row644 */,
+  686 /* Property action_table_row645 */,
+  687 /* Property action_table_row646 */,
+  688 /* Property action_table_row647 */,
+  689 /* Property action_table_row648 */,
+  690 /* Property action_table_row649 */,
+  691 /* Property action_table_row650 */,
+  692 /* Property action_table_row651 */,
+  693 /* Property action_table_row652 */,
+  694 /* Property action_table_row653 */,
+  695 /* Property action_table_row654 */,
+  696 /* Property action_table_row655 */,
+  697 /* Property action_table_row656 */,
+  698 /* Property action_table_row657 */,
+  699 /* Property action_table_row658 */,
+  700 /* Property action_table_row659 */,
+  701 /* Property action_table_row660 */,
+  702 /* Property action_table_row661 */,
+  703 /* Property action_table_row662 */,
+  704 /* Property action_table_row663 */,
+  705 /* Property action_table_row664 */,
+  706 /* Property action_table_row665 */,
+  707 /* Property action_table_row666 */,
+  708 /* Property action_table_row667 */,
+  709 /* Property action_table_row668 */,
+  710 /* Property action_table_row669 */,
+  711 /* Property action_table_row670 */,
+  712 /* Property action_table_row671 */,
+  713 /* Property action_table_row672 */,
+  714 /* Property action_table_row673 */,
+  715 /* Property action_table_row674 */,
+  716 /* Property action_table_row675 */,
+  717 /* Property action_table_row676 */,
+  718 /* Property action_table_row677 */,
+  719 /* Property action_table_row678 */,
+  720 /* Property action_table_row679 */,
+  721 /* Property action_table_row680 */,
+  722 /* Property action_table_row681 */,
+  723 /* Property action_table_row682 */,
+  724 /* Property action_table_row683 */,
+  725 /* Property action_table_row684 */,
+  726 /* Property action_table_row685 */,
+  727 /* Property action_table_row686 */,
+  728 /* Property action_table_row687 */,
+  729 /* Property action_table_row688 */,
+  730 /* Property action_table_row689 */,
+  731 /* Property action_table_row690 */,
+  732 /* Property action_table_row691 */,
+  733 /* Property action_table_row692 */,
+  734 /* Property action_table_row693 */,
+  735 /* Property action_table_row694 */,
+  736 /* Property action_table_row695 */,
+  737 /* Property action_table_row696 */,
+  738 /* Property action_table_row697 */,
+  739 /* Property action_table_row698 */,
+  740 /* Property action_table_row699 */,
+  741 /* Property action_table_row700 */,
+  742 /* Property action_table_row701 */,
+  743 /* Property action_table_row702 */,
+  744 /* Property action_table_row703 */,
+  745 /* Property action_table_row704 */,
+  746 /* Property action_table_row705 */,
+  747 /* Property action_table_row706 */,
+  748 /* Property action_table_row707 */,
+  749 /* Property action_table_row708 */,
+  750 /* Property action_table_row709 */,
+  751 /* Property action_table_row710 */,
+  752 /* Property action_table_row711 */,
+  753 /* Property action_table_row712 */,
+  754 /* Property action_table_row713 */,
+  755 /* Property action_table_row714 */,
+  756 /* Property action_table_row715 */,
+  757 /* Property action_table_row716 */,
+  758 /* Property action_table_row717 */,
+  759 /* Property action_table_row718 */,
+  760 /* Property action_table_row719 */,
+  761 /* Property action_table_row720 */,
+  762 /* Property action_table_row721 */,
+  763 /* Property action_table_row722 */,
+  764 /* Property action_table_row723 */,
+  765 /* Property action_table_row724 */,
+  766 /* Property action_table_row725 */,
+  767 /* Property action_table_row726 */,
+  768 /* Property action_table_row727 */,
+  769 /* Property action_table_row728 */,
+  770 /* Property action_table_row729 */,
+  771 /* Property action_table_row730 */,
+  772 /* Property action_table_row731 */,
+  773 /* Property action_table_row732 */,
+  774 /* Property action_table_row733 */,
+  775 /* Property action_table_row734 */,
+  776 /* Property action_table_row735 */,
+  777 /* Property action_table_row736 */,
+  778 /* Property action_table_row737 */,
+  779 /* Property action_table_row738 */,
+  780 /* Property action_table_row739 */,
+  781 /* Property action_table_row740 */,
+  782 /* Property action_table_row741 */,
+  783 /* Property action_table_row742 */,
+  784 /* Property action_table_row743 */,
+  785 /* Property action_table_row744 */,
+  786 /* Property action_table_row745 */,
+  787 /* Property action_table_row746 */,
+  788 /* Property action_table_row747 */,
+  789 /* Property action_table_row748 */,
+  790 /* Property action_table_row749 */,
+  791 /* Property action_table_row750 */,
+  792 /* Property action_table_row751 */,
+  793 /* Property action_table_row752 */,
+  794 /* Property action_table_row753 */,
+  795 /* Property action_table_row754 */,
+  796 /* Property action_table_row755 */,
+  797 /* Property action_table_row756 */,
+  798 /* Property action_table_row757 */,
+  799 /* Property action_table_row758 */,
+  800 /* Property action_table_row759 */,
+  801 /* Property action_table_row760 */,
+  802 /* Property action_table_row761 */,
+  803 /* Property action_table_row762 */,
+  804 /* Property action_table_row763 */,
+  805 /* Property action_table_row764 */,
+  806 /* Property action_table_row765 */,
+  807 /* Property action_table_row766 */,
+  808 /* Property action_table_row767 */,
+  809 /* Property action_table_row768 */,
+  810 /* Property action_table_row769 */,
+  811 /* Property action_table_row770 */,
+  812 /* Property action_table_row771 */,
+  813 /* Property action_table_row772 */,
+  814 /* Property action_table_row773 */,
+  815 /* Property action_table_row774 */,
+  816 /* Property action_table_row775 */,
+  817 /* Property action_table_row776 */,
+  818 /* Property action_table_row777 */,
+  819 /* Property action_table_row778 */,
+  820 /* Property action_table_row779 */,
+  821 /* Property action_table_row780 */,
+  822 /* Property action_table_row781 */,
+  823 /* Property action_table_row782 */,
+  824 /* Property action_table_row783 */,
+  825 /* Property action_table_row784 */,
+  826 /* Property action_table_row785 */,
+  827 /* Property action_table_row786 */,
+  828 /* Property action_table_row787 */,
+  829 /* Property action_table_row788 */,
+  830 /* Property action_table_row789 */,
+  831 /* Property action_table_row790 */,
+  832 /* Property action_table_row791 */,
+  833 /* Property action_table_row792 */,
+  834 /* Property action_table_row793 */,
+  835 /* Property action_table_row794 */,
+  836 /* Property action_table_row795 */,
+  837 /* Property action_table_row796 */,
+  838 /* Property action_table_row797 */,
+  839 /* Property action_table_row798 */,
+  840 /* Property action_table_row799 */,
+  841 /* Property action_table_row800 */,
+  842 /* Property action_table_row801 */,
+  843 /* Property action_table_row802 */,
+  844 /* Property action_table_row803 */,
+  845 /* Property action_table_row804 */,
+  846 /* Property action_table_row805 */,
+  847 /* Property action_table_row806 */,
+  848 /* Property action_table_row807 */,
+  849 /* Property action_table_row808 */,
+  850 /* Property action_table_row809 */,
+  851 /* Property action_table_row810 */,
+  852 /* Property action_table_row811 */,
+  853 /* Property action_table_row812 */,
+  854 /* Property action_table_row813 */,
+  855 /* Property action_table_row814 */,
+  856 /* Property action_table_row815 */,
+  857 /* Property action_table_row816 */,
+  858 /* Property action_table_row817 */,
+  859 /* Property action_table_row818 */,
+  860 /* Property action_table_row819 */,
+  861 /* Property action_table_row820 */,
+  862 /* Property action_table_row821 */,
+  863 /* Property action_table_row822 */,
+  864 /* Property action_table_row823 */,
+  865 /* Property action_table_row824 */,
+  866 /* Property action_table_row825 */,
+  867 /* Property action_table_row826 */,
+  868 /* Property action_table_row827 */,
+  869 /* Property action_table_row828 */,
+  870 /* Property action_table_row829 */,
+  871 /* Property action_table_row830 */,
+  872 /* Property action_table_row831 */,
+  873 /* Property action_table_row832 */,
+  874 /* Property action_table_row833 */,
+  875 /* Property action_table_row834 */,
+  876 /* Property action_table_row835 */,
+  877 /* Property action_table_row836 */,
+  878 /* Property action_table_row837 */,
+  879 /* Property action_table_row838 */,
+  880 /* Property action_table_row839 */,
+  881 /* Property action_table_row840 */,
+  882 /* Property action_table_row841 */,
+  883 /* Property action_table_row842 */,
+  884 /* Property action_table_row843 */,
+  885 /* Property action_table_row844 */,
+  886 /* Property action_table_row845 */,
+  887 /* Property action_table_row846 */,
+  888 /* Property action_table_row847 */,
+  889 /* Property action_table_row848 */,
+  890 /* Property action_table_row849 */,
+  891 /* Property action_table_row850 */,
+  892 /* Property action_table_row851 */,
+  893 /* Property action_table_row852 */,
+  894 /* Property action_table_row853 */,
+  895 /* Property action_table_row854 */,
+  896 /* Property action_table_row855 */,
+  897 /* Property action_table_row856 */,
+  898 /* Property action_table_row857 */,
+  899 /* Property action_table_row858 */,
+  900 /* Property action_table_row859 */,
+  901 /* Property action_table_row860 */,
+  902 /* Property action_table_row861 */,
+  903 /* Property action_table_row862 */,
+  904 /* Property action_table_row863 */,
+  905 /* Property action_table_row864 */,
+  906 /* Property action_table_row865 */,
+  907 /* Property action_table_row866 */,
+  908 /* Property action_table_row867 */,
+  909 /* Property action_table_row868 */,
+  910 /* Property action_table_row869 */,
+  911 /* Property action_table_row870 */,
+  912 /* Property action_table_row871 */,
+  913 /* Property action_table_row872 */,
+  914 /* Property action_table_row873 */,
+  915 /* Property action_table_row874 */,
+  916 /* Property action_table_row875 */,
+  917 /* Property action_table_row876 */,
+  918 /* Property action_table_row877 */,
+  919 /* Property action_table_row878 */,
+  920 /* Property action_table_row879 */,
+  921 /* Property action_table_row880 */,
+  922 /* Property action_table_row881 */,
+  923 /* Property action_table_row882 */,
+  924 /* Property action_table_row883 */,
+  925 /* Property action_table_row884 */,
+  926 /* Property action_table_row885 */,
+  927 /* Property action_table_row886 */,
+  928 /* Property action_table_row887 */,
+  929 /* Property action_table_row888 */,
+  930 /* Property action_table_row889 */,
+  931 /* Property action_table_row890 */,
+  932 /* Property action_table_row891 */,
+  933 /* Property action_table_row892 */,
+  934 /* Property action_table_row893 */,
+  935 /* Property action_table_row894 */,
+  936 /* Property action_table_row895 */,
+  937 /* Property action_table_row896 */,
+  938 /* Property action_table_row897 */,
+  939 /* Property action_table_row898 */,
+  940 /* Property action_table_row899 */,
+  941 /* Property action_table_row900 */,
+  942 /* Property action_table_row901 */,
+  943 /* Property action_table_row902 */,
+  944 /* Property action_table_row903 */,
+  945 /* Property action_table_row904 */,
+  946 /* Property action_table_row905 */,
+  947 /* Property action_table_row906 */,
+  948 /* Property action_table_row907 */,
+  949 /* Property action_table_row908 */,
+  950 /* Property action_table_row909 */,
+  951 /* Property action_table_row910 */,
+  952 /* Property action_table_row911 */,
+  953 /* Property action_table_row912 */,
+  954 /* Property action_table_row913 */,
+  955 /* Property action_table_row914 */,
+  956 /* Property action_table_row915 */,
+  957 /* Property action_table_row916 */,
+  958 /* Property action_table_row917 */,
+  959 /* Property action_table_row918 */,
+  960 /* Property action_table_row919 */,
+  961 /* Property action_table_row920 */,
+  962 /* Property action_table_row921 */,
+  963 /* Property action_table_row922 */,
+  964 /* Property action_table_row923 */,
+  965 /* Property action_table_row924 */,
+  966 /* Property action_table_row925 */,
+  967 /* Property action_table_row926 */,
+  968 /* Property action_table_row927 */,
+  969 /* Property action_table_row928 */,
+  970 /* Property action_table_row929 */,
+  971 /* Property action_table_row930 */,
+  972 /* Property action_table_row931 */,
+  973 /* Property action_table_row932 */,
+  974 /* Property action_table_row933 */,
+  975 /* Property action_table_row934 */,
+  976 /* Property action_table_row935 */,
+  977 /* Property action_table_row936 */,
+  978 /* Property action_table_row937 */,
+  979 /* Property action_table_row938 */,
+  980 /* Property action_table_row939 */,
+  981 /* Property action_table_row940 */,
+  982 /* Property action_table_row941 */,
+  983 /* Property action_table_row942 */,
+  984 /* Property action_table_row943 */,
+  985 /* Property action_table_row944 */,
+  986 /* Property action_table_row945 */,
+  987 /* Property action_table_row946 */,
+  988 /* Property action_table_row947 */,
+  989 /* Property action_table_row948 */,
+  990 /* Property action_table_row949 */,
+  991 /* Property action_table_row950 */,
+  992 /* Property action_table_row951 */,
+  993 /* Property action_table_row952 */,
+  994 /* Property action_table_row953 */,
+  995 /* Property action_table_row954 */,
+  996 /* Property action_table_row955 */,
+  997 /* Property action_table_row956 */,
+  998 /* Property action_table_row957 */,
+  999 /* Property action_table_row958 */,
+  1000 /* Property action_table_row959 */,
+  1001 /* Property action_table_row960 */,
+  1002 /* Property action_table_row961 */,
+  1003 /* Property action_table_row962 */,
+  1004 /* Property action_table_row963 */,
+  1005 /* Property action_table_row964 */,
+  1006 /* Property action_table_row965 */,
+  1007 /* Property action_table_row966 */,
+  1008 /* Property action_table_row967 */,
+  1009 /* Property action_table_row968 */,
+  1010 /* Property action_table_row969 */,
+  1011 /* Property action_table_row970 */,
+  1012 /* Property action_table_row971 */,
+  1013 /* Property action_table_row972 */,
+  1014 /* Property action_table_row973 */,
+  1015 /* Property action_table_row974 */,
+  1016 /* Property action_table_row975 */,
+  1017 /* Property action_table_row976 */,
+  1018 /* Property action_table_row977 */,
+  1019 /* Property action_table_row978 */,
+  1020 /* Property action_table_row979 */,
+  1021 /* Property action_table_row980 */,
+  1022 /* Property action_table_row981 */,
+  1023 /* Property action_table_row982 */,
+  1024 /* Property action_table_row983 */,
+  1025 /* Property action_table_row984 */,
+  1026 /* Property action_table_row985 */,
+  1027 /* Property action_table_row986 */,
+  1028 /* Property action_table_row987 */,
+  1029 /* Property action_table_row988 */,
+  1030 /* Property action_table_row989 */,
+  1031 /* Property action_table_row990 */,
+  1032 /* Property action_table_row991 */,
+  1033 /* Property action_table_row992 */,
+  1034 /* Property action_table_row993 */,
+  1035 /* Property action_table_row994 */,
+  1036 /* Property action_table_row995 */,
+  1037 /* Property action_table_row996 */,
+  1038 /* Property action_table_row997 */,
+  1039 /* Property action_table_row998 */,
+  1040 /* Property action_table_row999 */,
+  1041 /* Property action_table_row1000 */,
+  1042 /* Property action_table_row1001 */,
+  1043 /* Property action_table_row1002 */,
+  1044 /* Property action_table_row1003 */,
+  1045 /* Property action_table_row1004 */,
+  1046 /* Property action_table_row1005 */,
+  1047 /* Property action_table_row1006 */,
+  1048 /* Property action_table_row1007 */,
+  1049 /* Property action_table_row1008 */,
+  1050 /* Property action_table_row1009 */,
+  1051 /* Property action_table_row1010 */,
+  1052 /* Property action_table_row1011 */,
+  1053 /* Property action_table_row1012 */,
+  1054 /* Property action_table_row1013 */,
+  1055 /* Property action_table_row1014 */,
+  1056 /* Property action_table_row1015 */,
+  1057 /* Property action_table_row1016 */,
+  1058 /* Property action_table_row1017 */,
+  1059 /* Property action_table_row1018 */,
+  1060 /* Property action_table_row1019 */,
+  1061 /* Property action_table_row1020 */,
+  1062 /* Property action_table_row1021 */,
+  1063 /* Property action_table_row1022 */,
+  1064 /* Property action_table_row1023 */,
+  1065 /* Property action_table_row1024 */,
+  1066 /* Property action_table_row1025 */,
+  1067 /* Property action_table_row1026 */,
+  1068 /* Property action_table_row1027 */,
+  1069 /* Property action_table_row1028 */,
+  1070 /* Property action_table_row1029 */,
+  1071 /* Property action_table_row1030 */,
+  1072 /* Property action_table_row1031 */,
+  1073 /* Property action_table_row1032 */,
+  1074 /* Property action_table_row1033 */,
+  1075 /* Property action_table_row1034 */,
+  1076 /* Property action_table_row1035 */,
+  1077 /* Property action_table_row1036 */,
+  1078 /* Property action_table_row1037 */,
+  1079 /* Property action_table_row1038 */,
+  1080 /* Property action_table_row1039 */,
+  1081 /* Property action_table_row1040 */,
+  1082 /* Property action_table_row1041 */,
+  1083 /* Property action_table_row1042 */,
+  1084 /* Property action_table_row1043 */,
+  1085 /* Property action_table_row1044 */,
+  1086 /* Property action_table_row1045 */,
+  1087 /* Property action_table_row1046 */,
+  1088 /* Property action_table_row1047 */,
+  1089 /* Property action_table_row1048 */,
+  1090 /* Property action_table_row1049 */,
+  1091 /* Property action_table_row1050 */,
+  1092 /* Property action_table_row1051 */,
+  1093 /* Property action_table_row1052 */,
+  1094 /* Property action_table_row1053 */,
+  1095 /* Property action_table_row1054 */,
+  1096 /* Property action_table_row1055 */,
+  1097 /* Property action_table_row1056 */,
+  1098 /* Property action_table_row1057 */,
+  1099 /* Property action_table_row1058 */,
+  1100 /* Property action_table_row1059 */,
+  1101 /* Property action_table_row1060 */,
+  1102 /* Property action_table_row1061 */,
+  1103 /* Property action_table_row1062 */,
+  1104 /* Property action_table_row1063 */,
+  1105 /* Property action_table_row1064 */,
+  1106 /* Property action_table_row1065 */,
+  1107 /* Property action_table_row1066 */,
+  1108 /* Property action_table_row1067 */,
+  1109 /* Property action_table_row1068 */,
+  1110 /* Property action_table_row1069 */,
+  1111 /* Property action_table_row1070 */,
+  1112 /* Property action_table_row1071 */,
+  1113 /* Property action_table_row1072 */,
+  1114 /* Property action_table_row1073 */,
+  1115 /* Property action_table_row1074 */,
+  1116 /* Property action_table_row1075 */,
+  1117 /* Property action_table_row1076 */,
+  1118 /* Property action_table_row1077 */,
+  1119 /* Property action_table_row1078 */,
+  1120 /* Property action_table_row1079 */,
+  1121 /* Property action_table_row1080 */,
+  1122 /* Property action_table_row1081 */,
+  1123 /* Property action_table_row1082 */,
+  1124 /* Property action_table_row1083 */,
+  1125 /* Property action_table_row1084 */,
+  1126 /* Property action_table_row1085 */,
+  1127 /* Property action_table_row1086 */,
+  1128 /* Property action_table_row1087 */,
+  1129 /* Property action_table_row1088 */,
+  1130 /* Property action_table_row1089 */,
+  1131 /* Property action_table_row1090 */,
+  1132 /* Property action_table_row1091 */,
+  1133 /* Property action_table_row1092 */,
+  1134 /* Property action_table_row1093 */,
+  1135 /* Property action_table_row1094 */,
+  1136 /* Property action_table_row1095 */,
+  1137 /* Property action_table_row1096 */,
+  1138 /* Property action_table_row1097 */,
+  1139 /* Property action_table_row1098 */,
+  1140 /* Property action_table_row1099 */,
+  1141 /* Property action_table_row1100 */,
+  1142 /* Property action_table_row1101 */,
+  1143 /* Property action_table_row1102 */,
+  1144 /* Property action_table_row1103 */,
+  1145 /* Property action_table_row1104 */,
+  1146 /* Property action_table_row1105 */,
+  1147 /* Property action_table_row1106 */,
+  1148 /* Property action_table_row1107 */,
+  1149 /* Property action_table_row1108 */,
+  1150 /* Property action_table_row1109 */,
+  1151 /* Property action_table_row1110 */,
+  1152 /* Property action_table_row1111 */,
+  1153 /* Property action_table_row1112 */,
+  1154 /* Property action_table_row1113 */,
+  1155 /* Property action_table_row1114 */,
+  1156 /* Property action_table_row1115 */,
+  1157 /* Property action_table_row1116 */,
+  1158 /* Property action_table_row1117 */,
+  1159 /* Property action_table_row1118 */,
+  1160 /* Property action_table_row1119 */,
+  1161 /* Property action_table_row1120 */,
+  1162 /* Property action_table_row1121 */,
+  1163 /* Property action_table_row1122 */,
+  1164 /* Property action_table_row1123 */,
+  1165 /* Property action_table_row1124 */,
+  1166 /* Property action_table_row1125 */,
+  1167 /* Property action_table_row1126 */,
+  1168 /* Property action_table_row1127 */,
+  1169 /* Property action_table_row1128 */,
+  1170 /* Property action_table_row1129 */,
+  1171 /* Property action_table_row1130 */,
+  1172 /* Property action_table_row1131 */,
+  1173 /* Property action_table_row1132 */,
+  1174 /* Property action_table_row1133 */,
+  1175 /* Property action_table_row1134 */,
+  1176 /* Property action_table_row1135 */,
+  1177 /* Property action_table_row1136 */,
+  1178 /* Property action_table_row1137 */,
+  1179 /* Property action_table_row1138 */,
+  1180 /* Property action_table_row1139 */,
+  1181 /* Property action_table_row1140 */,
+  1182 /* Property action_table_row1141 */,
+  1183 /* Property action_table_row1142 */,
+  1184 /* Property action_table_row1143 */,
+  1185 /* Property action_table_row1144 */,
+  1186 /* Property action_table_row1145 */,
+  1187 /* Property action_table_row1146 */,
+  1188 /* Property action_table_row1147 */,
+  1189 /* Property action_table_row1148 */,
+  1190 /* Property action_table_row1149 */,
+  1191 /* Property action_table_row1150 */,
+  1192 /* Property action_table_row1151 */,
+  1193 /* Property action_table_row1152 */,
+  1194 /* Property action_table_row1153 */,
+  1195 /* Property action_table_row1154 */,
+  1196 /* Property action_table_row1155 */,
+  1197 /* Property action_table_row1156 */,
+  1198 /* Property action_table_row1157 */,
+  1199 /* Property action_table_row1158 */,
+  1200 /* Property action_table_row1159 */,
+  1201 /* Property action_table_row1160 */,
+  1202 /* Property action_table_row1161 */,
+  1203 /* Property action_table_row1162 */,
+  1204 /* Property action_table_row1163 */,
+  1205 /* Property action_table_row1164 */,
+  1206 /* Property action_table_row1165 */,
+  1207 /* Property build_goto_table */,
+  1208 /* Property error_messages */,
+  1209 /* Property errors */,
 };
 const int SFT_mmloader[52] = {
   179 /* Id of ToolContext */,
   3 /* Color of ToolContext */,
-  15 /* Property _error_count */,
-  16 /* Property _warning_count */,
-  17 /* Property _paths */,
-  18 /* Property _loaders */,
-  19 /* Property _option_context */,
-  20 /* Property _opt_warn */,
-  21 /* Property _opt_path */,
-  22 /* Property _opt_log */,
-  23 /* Property _opt_only_metamodel */,
-  24 /* Property _opt_only_parse */,
-  25 /* Property _opt_help */,
-  26 /* Property _processing_modules */,
-  27 /* Property _path_dirs */,
-  68 /* Color of ToolContext */,
-  69 /* Property error_count */,
-  70 /* Property warning_count */,
-  71 /* Property error */,
-  72 /* Property warning */,
-  73 /* Property paths */,
-  74 /* Property option_context */,
-  75 /* Property opt_warn */,
-  76 /* Property opt_path */,
-  77 /* Property opt_log */,
-  78 /* Property opt_only_metamodel */,
-  79 /* Property opt_only_parse */,
-  80 /* Property opt_help */,
-  81 /* Property init */,
-  82 /* Property process_options */,
-  83 /* Property try_to_load */,
-  84 /* Property get_module_from_filename */,
-  85 /* Property get_module */,
-  86 /* Property directory_for */,
-  87 /* Property register_loader */,
+  14 /* Property _error_count */,
+  15 /* Property _warning_count */,
+  16 /* Property _paths */,
+  17 /* Property _loaders */,
+  18 /* Property _option_context */,
+  19 /* Property _opt_warn */,
+  20 /* Property _opt_path */,
+  21 /* Property _opt_log */,
+  22 /* Property _opt_only_metamodel */,
+  23 /* Property _opt_only_parse */,
+  24 /* Property _opt_help */,
+  25 /* Property _processing_modules */,
+  26 /* Property _path_dirs */,
+  66 /* Color of ToolContext */,
+  67 /* Property error_count */,
+  68 /* Property warning_count */,
+  69 /* Property error */,
+  70 /* Property warning */,
+  71 /* Property paths */,
+  72 /* Property option_context */,
+  73 /* Property opt_warn */,
+  74 /* Property opt_path */,
+  75 /* Property opt_log */,
+  76 /* Property opt_only_metamodel */,
+  77 /* Property opt_only_parse */,
+  78 /* Property opt_help */,
+  79 /* Property init */,
+  80 /* Property process_options */,
+  81 /* Property try_to_load */,
+  82 /* Property get_module_from_filename */,
+  83 /* Property get_module */,
+  84 /* Property directory_for */,
+  85 /* Property register_loader */,
   79 /* Id of ModuleLoader */,
   2 /* Color of ModuleLoader */,
   40 /* Color of ModuleLoader */,
@@ -6126,109 +6187,86 @@ const int SFT_vararg[6] = {
   43 /* Property adaptation_to */,
   44 /* Property init */,
 };
-const int SFT_genericity[36] = {
+const int SFT_genericity[29] = {
   1 /* Property _types */,
   2 /* Property _formals_types */,
-  41 /* Property get_formal */,
-  42 /* Property register_formal */,
-  43 /* Property get_instantiate_type */,
-  44 /* Property formals_types */,
-  45 /* Property get_type */,
+  43 /* Property get_formal */,
+  44 /* Property register_formal */,
+  45 /* Property get_instantiate_type */,
+  46 /* Property formals_types */,
+  47 /* Property get_type */,
+  48 /* Property is_generic */,
   46 /* Property is_generic */,
-  45 /* Property adaptation_to */,
-  2 /* Property _recv_alone */,
-  42 /* Property recv */,
-  43 /* Property recv= */,
-  44 /* Property adapt_property */,
-  45 /* Property inherit_from */,
-  46 /* Property is_generic */,
-  3139 /* Id of MMTypeGeneric */,
+  3155 /* Id of MMTypeGeneric */,
   4 /* Color of MMTypeGeneric */,
   2 /* Property _params */,
-  3 /* Property _props */,
-  63 /* Color of MMTypeGeneric */,
-  64 /* Property params */,
-  65 /* Property upcast_for */,
-  66 /* Property params_equals */,
-  67 /* Property to_s */,
-  68 /* Property is_subtype */,
-  69 /* Property init */,
-  3143 /* Id of MMTypeFormalParameter */,
+  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 */,
+  3159 /* Id of MMTypeFormalParameter */,
   4 /* Color of MMTypeFormalParameter */,
   3 /* Property _def_class */,
   4 /* Property _position */,
-  65 /* Color of MMTypeFormalParameter */,
-  66 /* Property def_class */,
-  67 /* Property position */,
-  68 /* Property bound= */,
-  69 /* Property with_bound */,
-  70 /* Property init */,
+  61 /* Color of MMTypeFormalParameter */,
+  62 /* Property def_class */,
+  63 /* Property position */,
+  64 /* Property bound= */,
+  65 /* Property with_bound */,
+  66 /* Property init */,
 };
 const int SFT_type_formal[9] = {
   47 /* Property direct_type */,
-  2539 /* Id of MMTypeFormal */,
+  2559 /* Id of MMTypeFormal */,
   3 /* Color of MMTypeFormal */,
   1 /* Property _name */,
   2 /* Property _bound */,
-  61 /* Color of MMTypeFormal */,
-  62 /* Property name */,
-  63 /* Property bound */,
-  64 /* Property init */,
+  57 /* Color of MMTypeFormal */,
+  58 /* Property name */,
+  59 /* Property bound */,
+  60 /* Property init */,
 };
-const int SFT_inheritance[56] = {
+const int SFT_inheritance[40] = {
   46 /* Property type_any */,
   47 /* Property import_global_classes */,
   48 /* Property import_local_classes */,
   3 /* Property _direct_parents */,
   4 /* Property _computing_super */,
-  47 /* Property compute_super_classes */,
-  48 /* Property compute_ancestors */,
-  49 /* Property inherit_global_properties */,
-  50 /* Property add_direct_parent */,
-  51 /* Property computed_super_classes */,
-  52 /* Property computed_ancestors */,
-  53 /* Property ancestor_for */,
-  54 /* Property [] */,
-  55 /* Property add_default_any_class */,
-  56 /* Property add_super_classes */,
-  57 /* Property add_explicit_classes */,
-  58 /* Property compute_super_parents */,
-  59 /* Property build_ancestors */,
-  60 /* Property group_ancestors */,
-  61 /* Property merge_ancestors */,
-  62 /* Property inherit_local_property */,
-  65 /* Property is_deferred */,
-  47 /* Property get_compatible_concrete_properties_for */,
-  46 /* Property inherit_global */,
-  47 /* Property inherit_to */,
-  48 /* Property inherit_from */,
-  2567 /* Id of MMImplicitProperty */,
-  4 /* Color of MMImplicitProperty */,
-  65 /* Color of MMImplicitProperty */,
-  66 /* Property init */,
-  3159 /* Id of MMImplicitMethod */,
-  5 /* Color of MMImplicitMethod */,
-  67 /* Color of MMImplicitMethod */,
-  68 /* Property init */,
-  3163 /* Id of MMImplicitAttribute */,
-  5 /* Color of MMImplicitAttribute */,
-  63 /* Color of MMImplicitAttribute */,
-  64 /* Property init */,
+  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 */,
   40 /* Property add_in */,
-  2571 /* Id of MMImplicitLocalClass */,
+  2587 /* Id of MMImplicitLocalClass */,
   3 /* Color of MMImplicitLocalClass */,
-  99 /* Color of MMImplicitLocalClass */,
-  100 /* Property init */,
-  2559 /* Id of MMRefineAncestor */,
+  104 /* Color of MMImplicitLocalClass */,
+  105 /* Property init */,
+  2579 /* Id of MMRefineAncestor */,
   3 /* Color of MMRefineAncestor */,
   3 /* Property _local_class */,
   49 /* Color of MMRefineAncestor */,
   50 /* Property init */,
-  2555 /* Id of MMSpecAncestor */,
+  2575 /* Id of MMSpecAncestor */,
   3 /* Color of MMSpecAncestor */,
   49 /* Color of MMSpecAncestor */,
   50 /* Property init */,
-  2575 /* Id of MMDefaultAncestor */,
+  2591 /* Id of MMDefaultAncestor */,
   3 /* Color of MMDefaultAncestor */,
   49 /* Color of MMDefaultAncestor */,
   50 /* Property init */,
@@ -6236,24 +6274,27 @@ const int SFT_inheritance[56] = {
 const int SFT_static_type[63] = {
   5 /* Property _base_type_cache */,
   6 /* Property _ancestors */,
-  63 /* Property get_type */,
-  64 /* Property add_ancestor */,
-  65 /* Property ancestors */,
-  66 /* Property ancestor */,
-  3 /* Property _signature_cache */,
-  49 /* Property signature */,
-  50 /* Property signature= */,
+  65 /* Property get_type */,
+  66 /* Property add_ancestor */,
+  67 /* Property ancestors */,
+  68 /* Property ancestor */,
+  2 /* Property _signature */,
+  3 /* Property _signatures_cache */,
+  46 /* Property signature */,
+  47 /* Property signature= */,
+  48 /* Property signature_for */,
   91 /* Id of MMSignature */,
   2 /* Color of MMSignature */,
   2 /* Property _recv */,
   3 /* Property _params */,
   4 /* Property _return_type */,
-  46 /* Color of MMSignature */,
-  47 /* Property recv */,
-  48 /* Property return_type */,
-  49 /* Property arity */,
-  50 /* Property < */,
-  51 /* Property [] */,
+  45 /* Color of MMSignature */,
+  46 /* Property recv */,
+  47 /* Property return_type */,
+  48 /* Property arity */,
+  49 /* Property < */,
+  50 /* Property [] */,
+  51 /* Property adaptation_to */,
   52 /* Property init */,
   123 /* Id of MMAncestor */,
   2 /* Color of MMAncestor */,
@@ -6274,45 +6315,42 @@ const int SFT_static_type[63] = {
   50 /* Property local_class */,
   51 /* Property < */,
   52 /* Property is_supertype */,
-  53 /* Property select_method */,
-  54 /* Property select_attribute */,
-  55 /* Property select_property */,
-  56 /* Property for_module */,
-  57 /* Property adapt_to */,
-  58 /* Property upcast_for */,
-  59 /* Property not_for_self */,
-  2543 /* Id of MMTypeClass */,
+  53 /* Property for_module */,
+  54 /* Property adapt_to */,
+  55 /* Property upcast_for */,
+  56 /* Property not_for_self */,
+  2563 /* Id of MMTypeClass */,
   3 /* Color of MMTypeClass */,
   1 /* Property _local_class */,
-  61 /* Color of MMTypeClass */,
-  62 /* Property init */,
-  3135 /* Id of MMTypeSimpleClass */,
+  57 /* Color of MMTypeClass */,
+  58 /* Property init */,
+  3151 /* Id of MMTypeSimpleClass */,
   4 /* Color of MMTypeSimpleClass */,
-  63 /* Color of MMTypeSimpleClass */,
-  64 /* Property init */,
-  2535 /* Id of MMTypeNone */,
+  59 /* Color of MMTypeSimpleClass */,
+  60 /* Property init */,
+  2555 /* Id of MMTypeNone */,
   3 /* Color of MMTypeNone */,
   1 /* Property _module */,
-  61 /* Color of MMTypeNone */,
-  62 /* Property init */,
+  57 /* Color of MMTypeNone */,
+  58 /* Property init */,
   3 /* Property _type_none */,
   49 /* Property type_none */,
 };
-const int SFT_abstractmetamodel[184] = {
+const int SFT_abstractmetamodel[179] = {
   119 /* Id of MMContext */,
   2 /* Color of MMContext */,
-  2 /* Property _module_hierarchy */,
-  3 /* Property _class_hierarchy */,
-  4 /* Property _global_classes */,
-  5 /* Property _modules */,
-  42 /* Color of MMContext */,
-  43 /* Property init */,
-  44 /* Property module_hierarchy */,
-  45 /* Property class_hierarchy */,
-  46 /* Property modules */,
-  47 /* Property add_module */,
-  48 /* Property add_global_class */,
-  49 /* Property add_local_class */,
+  1 /* Property _module_hierarchy */,
+  2 /* Property _class_hierarchy */,
+  3 /* Property _global_classes */,
+  4 /* Property _modules */,
+  40 /* Color of MMContext */,
+  41 /* Property init */,
+  42 /* Property module_hierarchy */,
+  43 /* Property class_hierarchy */,
+  44 /* Property modules */,
+  45 /* Property add_module */,
+  46 /* Property add_global_class */,
+  47 /* Property add_local_class */,
   115 /* Id of MMDirectory */,
   2 /* Color of MMDirectory */,
   1 /* Property _name */,
@@ -6404,88 +6442,83 @@ const int SFT_abstractmetamodel[184] = {
   15 /* Property _local_property_by_global */,
   16 /* Property _global_properties */,
   17 /* Property _properties_by_name */,
-  67 /* Color of MMLocalClass */,
-  68 /* Property name */,
-  69 /* Property arity */,
-  70 /* Property module */,
-  71 /* Property abstract */,
-  72 /* Property abstract= */,
-  73 /* Property global */,
-  74 /* Property crhe */,
-  75 /* Property cshe */,
-  76 /* Property che */,
-  77 /* Property local_property_by_global */,
-  78 /* Property global_properties */,
-  79 /* Property properties_by_name */,
-  80 /* Property init */,
-  81 /* Property for_module */,
-  82 /* Property new_global */,
-  83 /* Property set_global */,
-  84 /* Property has_global_property_by_name */,
-  85 /* Property get_property_by_name */,
-  86 /* Property attribute */,
-  87 /* Property method */,
-  88 /* Property super_methods_named */,
-  89 /* Property register_local_property */,
-  90 /* Property register_global_property */,
-  91 /* Property [] */,
-  92 /* Property context */,
+  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 */,
   107 /* Id of MMGlobalProperty */,
   2 /* Color of MMGlobalProperty */,
   2 /* Property _intro */,
-  3 /* Property _concrete_property_hierarchy */,
+  3 /* Property _property_hierarchy */,
   4 /* Property _is_init */,
   5 /* Property _visibility_level */,
-  48 /* Color of MMGlobalProperty */,
-  49 /* Property intro */,
-  50 /* Property local_class */,
-  51 /* Property concrete_property_hierarchy */,
-  52 /* Property init */,
-  53 /* Property add_concrete_property */,
-  54 /* Property is_attribute */,
-  55 /* Property is_method */,
-  56 /* Property is_init */,
-  57 /* Property is_init= */,
-  58 /* Property visibility_level */,
-  59 /* Property visibility_level= */,
+  47 /* Color of MMGlobalProperty */,
+  48 /* Property intro */,
+  49 /* Property local_class */,
+  50 /* Property property_hierarchy */,
+  51 /* Property init */,
+  52 /* Property add_local_property */,
+  53 /* Property is_attribute */,
+  54 /* Property is_method */,
+  55 /* Property is_init */,
+  56 /* Property is_init= */,
+  57 /* Property visibility_level */,
+  58 /* Property visibility_level= */,
   99 /* Id of MMLocalProperty */,
   2 /* Color of MMLocalProperty */,
   4 /* Property _name */,
   5 /* Property _local_class */,
   6 /* Property _global */,
-  7 /* Property _super_prop */,
-  8 /* Property _concrete_property */,
-  51 /* Color of MMLocalProperty */,
-  52 /* Property name */,
-  53 /* Property local_class */,
-  54 /* Property global */,
-  55 /* Property super_prop */,
-  56 /* Property concrete_property */,
-  57 /* Property module */,
-  58 /* Property full_name */,
-  59 /* Property set_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 */,
-  2587 /* Id of MMAttribute */,
+  2599 /* Id of MMAttribute */,
   3 /* Color of MMAttribute */,
   62 /* Color of MMAttribute */,
-  2563 /* Id of MMMethod */,
+  2583 /* Id of MMMethod */,
   3 /* Color of MMMethod */,
   64 /* Color of MMMethod */,
-  2583 /* Id of MMConcreteClass */,
+  2595 /* Id of MMConcreteClass */,
   3 /* Color of MMConcreteClass */,
-  99 /* Color of MMConcreteClass */,
-  2579 /* Id of MMConcreteProperty */,
-  4 /* Color of MMConcreteProperty */,
-  10 /* Property _cprhe */,
-  11 /* Property _need_super */,
-  66 /* Color of MMConcreteProperty */,
-  67 /* Property cprhe */,
-  68 /* Property need_super */,
-  69 /* Property need_super= */,
-  70 /* Property new_global */,
+  104 /* Color of MMConcreteClass */,
 };
 const int SFT_partial_order[49] = {
-  2499 /* Id of PartialOrder */,
+  2515 /* Id of PartialOrder */,
   6 /* Color of PartialOrder */,
   1 /* Property _elements */,
   2 /* Property _elements_list */,
@@ -6535,25 +6568,24 @@ const int SFT_partial_order[49] = {
   55 /* Property register_direct_smallers */,
   56 /* Property init */,
 };
-const int SFT_virtualtype[18] = {
+const int SFT_virtualtype[17] = {
   46 /* Property is_virtual_type */,
-  2531 /* Id of MMTypeProperty */,
+  2551 /* Id of MMTypeProperty */,
   3 /* Color of MMTypeProperty */,
-  9 /* Property _stype_cache */,
+  9 /* Property _stypes_cache */,
   61 /* Color of MMTypeProperty */,
-  62 /* Property stype */,
-  60 /* Property select_virtual_type */,
-  3131 /* Id of MMVirtualType */,
+  62 /* Property stype_for */,
+  63 /* Property real_stype_for */,
+  3147 /* Id of MMVirtualType */,
   4 /* Color of MMVirtualType */,
   3 /* Property _property */,
-  65 /* Color of MMVirtualType */,
-  66 /* Property property */,
-  67 /* Property init */,
-  93 /* Property virtual_type */,
-  3155 /* Id of MMImplicitType */,
-  5 /* Color of MMImplicitType */,
-  63 /* Color of MMImplicitType */,
+  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 */,
 };
 const int SFT_opts[69] = {
   71 /* Id of Option */,
@@ -6580,33 +6612,33 @@ const int SFT_opts[69] = {
   53 /* Property pretty */,
   54 /* Property pretty_default */,
   55 /* Property read_param */,
-  2503 /* Id of OptionText */,
+  2523 /* Id of OptionText */,
   3 /* Color of OptionText */,
   56 /* Color of OptionText */,
   57 /* Property init */,
-  2511 /* Id of OptionBool */,
+  2531 /* Id of OptionBool */,
   3 /* Color of OptionBool */,
   56 /* Color of OptionBool */,
   57 /* Property init */,
-  2507 /* Id of OptionParameter */,
+  2527 /* Id of OptionParameter */,
   3 /* Color of OptionParameter */,
   56 /* Color of OptionParameter */,
   57 /* Property convert */,
   58 /* Property init_opt */,
-  3103 /* Id of OptionString */,
+  3119 /* Id of OptionString */,
   4 /* Color of OptionString */,
   59 /* Color of OptionString */,
   60 /* Property init */,
-  3111 /* Id of OptionEnum */,
+  3127 /* Id of OptionEnum */,
   4 /* Color of OptionEnum */,
   7 /* Property _enum */,
   59 /* Color of OptionEnum */,
   60 /* Property init */,
-  3107 /* Id of OptionInt */,
+  3123 /* Id of OptionInt */,
   4 /* Color of OptionInt */,
   59 /* Color of OptionInt */,
   60 /* Property init */,
-  3115 /* Id of OptionArray */,
+  3131 /* Id of OptionArray */,
   4 /* Color of OptionArray */,
   7 /* Property _values */,
   59 /* Color of OptionArray */,
@@ -6626,9 +6658,9 @@ const int SFT_opts[69] = {
   47 /* Property init */,
   48 /* Property build */,
 };
-const int SFT_control_flow[48] = {
+const int SFT_control_flow[59] = {
   91 /* Property do_control_flow */,
-  3203 /* Id of ControlFlowVisitor */,
+  3215 /* Id of ControlFlowVisitor */,
   4 /* Color of ControlFlowVisitor */,
   5 /* Property _once_count */,
   6 /* Property _control_flow_ctx */,
@@ -6637,7 +6669,9 @@ const int SFT_control_flow[48] = {
   66 /* Property once_count= */,
   67 /* Property control_flow_ctx */,
   68 /* Property control_flow_ctx= */,
-  69 /* Property init */,
+  69 /* Property check_is_set */,
+  70 /* Property mark_is_set */,
+  71 /* Property init */,
   147 /* Id of ControlFlowContext */,
   2 /* Color of ControlFlowContext */,
   1 /* Property _prev */,
@@ -6645,6 +6679,7 @@ const int SFT_control_flow[48] = {
   3 /* Property _unreash */,
   4 /* Property _already_unreash */,
   5 /* Property _base_block */,
+  6 /* Property _set_variables */,
   40 /* Color of ControlFlowContext */,
   41 /* Property prev */,
   42 /* Property has_return */,
@@ -6655,14 +6690,18 @@ const int SFT_control_flow[48] = {
   47 /* Property already_unreash= */,
   48 /* Property base_block */,
   49 /* Property base_block= */,
-  50 /* Property sub */,
-  51 /* Property init */,
-  52 /* Property with */,
+  50 /* Property set_variables */,
+  51 /* Property is_set */,
+  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 */,
-  3567 /* Id of ABlockControler */,
+  3575 /* Id of ABlockControler */,
   5 /* Color of ABlockControler */,
   6 /* Property _block */,
   76 /* Color of ABlockControler */,
@@ -6670,15 +6709,19 @@ const int SFT_control_flow[48] = {
   78 /* Property accept_control_flow */,
   78 /* Property accept_control_flow */,
   76 /* Property accept_control_flow */,
-  3535 /* Id of AControlableBlock */,
+  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 */,
   79 /* Property accept_control_flow */,
 };
-const int SFT_typing[99] = {
+const int SFT_typing[94] = {
   92 /* Property do_typing */,
-  2671 /* Id of TypingVisitor */,
+  2683 /* Id of TypingVisitor */,
   4 /* Color of TypingVisitor */,
   5 /* Property _variable_ctx */,
   6 /* Property _self_type */,
@@ -6734,14 +6777,7 @@ const int SFT_typing[99] = {
   73 /* Property is_self */,
   74 /* Property is_variable */,
   75 /* Property if_true_variable_ctx */,
-  6 /* Property _variable */,
-  76 /* Property variable */,
   81 /* Property accept_typing */,
-  6 /* Property _variable */,
-  76 /* Property variable */,
-  6 /* Property _variable */,
-  76 /* Property variable */,
-  77 /* Property variable= */,
   8 /* Property _assign_method */,
   81 /* Property do_lvalue_typing */,
   82 /* Property assign_method */,
@@ -6750,9 +6786,11 @@ const int SFT_typing[99] = {
   8 /* Property _init_in_superclass */,
   94 /* Property init_in_superclass */,
   11 /* Property _prop */,
+  12 /* Property _attr_type */,
   88 /* Property prop */,
-  89 /* Property do_typing */,
-  3599 /* Id of AAbsSendExpr */,
+  89 /* Property attr_type */,
+  90 /* Property do_typing */,
+  3611 /* Id of AAbsSendExpr */,
   5 /* Color of AAbsSendExpr */,
   6 /* Property _prop */,
   7 /* Property _arguments */,
@@ -6762,14 +6800,14 @@ const int SFT_typing[99] = {
   91 /* Property process_signature */,
   92 /* Property prop */,
   93 /* Property arguments */,
-  3663 /* Id of ASuperInitCall */,
+  3675 /* 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 */,
-  3807 /* Id of ASendReassignExpr */,
+  3811 /* Id of ASendReassignExpr */,
   9 /* Color of ASendReassignExpr */,
   12 /* Property _read_prop */,
   78 /* Color of ASendReassignExpr */,
@@ -6790,7 +6828,7 @@ const int SFT_compiling_global[140] = {
   41 /* Property color */,
   42 /* Property has_color */,
   43 /* Property color= */,
-  2619 /* Id of GlobalAnalysis */,
+  2631 /* Id of GlobalAnalysis */,
   3 /* Color of GlobalAnalysis */,
   2 /* Property _compiled_classes */,
   3 /* Property _module */,
@@ -6804,7 +6842,7 @@ const int SFT_compiling_global[140] = {
   1 /* Property _global_analysis */,
   40 /* Property global_analysis */,
   41 /* Property global_analysis= */,
-  2643 /* Id of CompiledClass */,
+  2655 /* Id of CompiledClass */,
   3 /* Color of CompiledClass */,
   2 /* Property _local_class */,
   3 /* Property _id */,
@@ -6832,11 +6870,11 @@ const int SFT_compiling_global[140] = {
   21 /* Property _class_color_pos */,
   22 /* Property _class_layout */,
   23 /* Property _instance_layout */,
-  100 /* Property base_attr_pos */,
-  101 /* Property class_color_pos */,
-  102 /* Property class_layout */,
-  103 /* Property instance_layout */,
-  104 /* Property build_layout_in */,
+  105 /* Property base_attr_pos */,
+  106 /* Property class_color_pos */,
+  107 /* Property class_layout */,
+  108 /* Property instance_layout */,
+  109 /* Property build_layout_in */,
   18 /* Property _local_table */,
   73 /* Property local_analysis */,
   74 /* Property global_analysis */,
@@ -6856,46 +6894,46 @@ const int SFT_compiling_global[140] = {
   42 /* Property length */,
   43 /* Property item */,
   44 /* Property compile_to_c */,
-  2591 /* Id of LocalTableElt */,
+  2603 /* Id of LocalTableElt */,
   3 /* Color of LocalTableElt */,
   45 /* Color of LocalTableElt */,
   46 /* Property symbol */,
   47 /* Property value */,
-  2675 /* Id of TableEltPropPos */,
+  2687 /* Id of TableEltPropPos */,
   4 /* Color of TableEltPropPos */,
   1 /* Property _property */,
   48 /* Color of TableEltPropPos */,
   49 /* Property init */,
-  3235 /* Id of TableEltMethPos */,
+  3247 /* Id of TableEltMethPos */,
   5 /* Color of TableEltMethPos */,
   50 /* Color of TableEltMethPos */,
   51 /* Property init */,
-  3231 /* Id of TableEltSuperPos */,
+  3243 /* Id of TableEltSuperPos */,
   5 /* Color of TableEltSuperPos */,
   50 /* Color of TableEltSuperPos */,
   51 /* Property init */,
-  3251 /* Id of TableEltAttrPos */,
+  3263 /* Id of TableEltAttrPos */,
   5 /* Color of TableEltAttrPos */,
   50 /* Color of TableEltAttrPos */,
   51 /* Property init */,
-  2679 /* Id of TableEltClassPos */,
+  2691 /* Id of TableEltClassPos */,
   4 /* Color of TableEltClassPos */,
   1 /* Property _local_class */,
   48 /* Color of TableEltClassPos */,
   49 /* Property init */,
-  3243 /* Id of TableEltClassIdPos */,
+  3255 /* Id of TableEltClassIdPos */,
   5 /* Color of TableEltClassIdPos */,
   50 /* Color of TableEltClassIdPos */,
   51 /* Property init */,
-  3239 /* Id of TableEltClassInitTablePos */,
+  3251 /* Id of TableEltClassInitTablePos */,
   5 /* Color of TableEltClassInitTablePos */,
   50 /* Color of TableEltClassInitTablePos */,
   51 /* Property init */,
-  3247 /* Id of TableEltClassColorPos */,
+  3259 /* Id of TableEltClassColorPos */,
   5 /* Color of TableEltClassColorPos */,
   50 /* Color of TableEltClassColorPos */,
   51 /* Property init */,
-  2683 /* Id of TableEltBaseAttrPos */,
+  2695 /* Id of TableEltBaseAttrPos */,
   4 /* Color of TableEltBaseAttrPos */,
   1 /* Property _local_class */,
   48 /* Color of TableEltBaseAttrPos */,
@@ -6916,13 +6954,13 @@ const int SFT_compiling_global[140] = {
   3 /* Color of TableEltVftPointer */,
   45 /* Color of TableEltVftPointer */,
   46 /* Property init */,
-  2651 /* Id of ClassSorter */,
+  2663 /* Id of ClassSorter */,
   3 /* Color of ClassSorter */,
   46 /* Color of ClassSorter */,
   47 /* Property init */,
-  94 /* Property compare */,
-  95 /* Property declare_tables_to_c */,
-  96 /* Property compile_tables_to_c */,
+  99 /* Property compare */,
+  100 /* Property declare_tables_to_c */,
+  101 /* Property compile_tables_to_c */,
 };
 const int SFT_compiling_methods[55] = {
   2 /* Property _variable_index */,
@@ -6958,16 +6996,16 @@ const int SFT_compiling_methods[55] = {
   62 /* Property continue_label= */,
   63 /* Property return_value */,
   64 /* Property return_value= */,
-  65 /* Property locate */,
+  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 */,
-  71 /* Property compile_property_to_c */,
-  74 /* Property decl_csignature */,
-  75 /* Property do_compile_inside */,
+  40 /* Property compile_property_to_c */,
+  65 /* Property decl_csignature */,
+  66 /* Property do_compile_inside */,
   40 /* Property compile_cast */,
   41 /* Property compile_type_check */,
   74 /* Property do_compile_inside */,
@@ -6982,33 +7020,33 @@ const int SFT_compiling_methods[55] = {
   76 /* Property propname */,
 };
 const int SFT_compiling_base[88] = {
-  6 /* Property _global */,
-  7 /* Property _attr_sim */,
-  8 /* Property _base_dir */,
-  9 /* Property _clibdir */,
-  10 /* Property _bindir */,
-  11 /* Property _output_file */,
-  12 /* Property _boost */,
-  13 /* Property _no_cc */,
-  14 /* Property _ext_prefix */,
-  50 /* Property global */,
-  51 /* Property global= */,
-  52 /* Property attr_sim */,
-  53 /* Property attr_sim= */,
-  54 /* Property base_dir */,
-  55 /* Property base_dir= */,
-  56 /* Property clibdir */,
-  57 /* Property clibdir= */,
-  58 /* Property bindir */,
-  59 /* Property bindir= */,
-  60 /* Property output_file */,
-  61 /* Property output_file= */,
-  62 /* Property boost */,
-  63 /* Property boost= */,
-  64 /* Property no_cc */,
-  65 /* Property no_cc= */,
-  66 /* Property ext_prefix */,
-  67 /* Property ext_prefix= */,
+  5 /* Property _global */,
+  6 /* Property _attr_sim */,
+  7 /* Property _base_dir */,
+  8 /* Property _clibdir */,
+  9 /* Property _bindir */,
+  10 /* Property _output_file */,
+  11 /* Property _boost */,
+  12 /* Property _no_cc */,
+  13 /* Property _ext_prefix */,
+  48 /* Property global */,
+  49 /* Property global= */,
+  50 /* Property attr_sim */,
+  51 /* Property attr_sim= */,
+  52 /* Property base_dir */,
+  53 /* Property base_dir= */,
+  54 /* Property clibdir */,
+  55 /* Property clibdir= */,
+  56 /* Property bindir */,
+  57 /* Property bindir= */,
+  58 /* Property output_file */,
+  59 /* Property output_file= */,
+  60 /* Property boost */,
+  61 /* Property boost= */,
+  62 /* Property no_cc */,
+  63 /* Property no_cc= */,
+  64 /* Property ext_prefix */,
+  65 /* Property ext_prefix= */,
   151 /* Id of CompilerVisitor */,
   2 /* Color of CompilerVisitor */,
   12 /* Property _number_cpt */,
@@ -7048,8 +7086,8 @@ const int SFT_compiling_base[88] = {
   42 /* Property init_table_pos_id */,
   18 /* Property _primitive_info_cache */,
   19 /* Property _primitive_info_b */,
-  97 /* Property primitive_info */,
-  98 /* Property primitive_ctypes */,
+  102 /* Property primitive_info */,
+  103 /* Property primitive_ctypes */,
   47 /* Id of PrimitiveInfo */,
   2 /* Color of PrimitiveInfo */,
   1 /* Property _name */,
@@ -7068,178 +7106,175 @@ const int SFT_compiling_base[88] = {
   44 /* Property boxtype */,
   45 /* Property unboxtype */,
   1 /* Property _cname_cache */,
-  40 /* Property cname */,
-  41 /* Property color_id_for_super */,
+  41 /* Property cname */,
+  42 /* Property color_id_for_super */,
 };
 const int SFT_utils[2] = {
   13 /* Property cmangle */,
   14 /* Property cmangle_table */,
 };
 const int SFT_nitc[21] = {
-  3271 /* Id of NitCompiler */,
+  3283 /* Id of NitCompiler */,
   5 /* Color of NitCompiler */,
-  28 /* Property _opt_output */,
-  29 /* Property _opt_boost */,
-  30 /* Property _opt_no_cc */,
-  31 /* Property _opt_attr_sim */,
-  32 /* Property _opt_global */,
-  33 /* Property _opt_clibdir */,
-  34 /* Property _opt_bindir */,
-  35 /* Property _opt_extension_prefix */,
-  93 /* Color of NitCompiler */,
-  94 /* Property opt_output */,
-  95 /* Property opt_boost */,
-  96 /* Property opt_no_cc */,
-  97 /* Property opt_attr_sim */,
-  98 /* Property opt_global */,
-  99 /* Property opt_clibdir */,
-  100 /* Property opt_bindir */,
-  101 /* Property opt_extension_prefix */,
-  102 /* Property init */,
-  103 /* Property process_options */,
-};
-const classtable_elt_t VFT_NitCompiler[104] = {
-  {(long int) 3271 /* 0: Identity */},
-  {(long int) 3 /* 1: NitCompiler < Object: superclass typecheck marker */},
-  {(long int) 119 /* 2: NitCompiler < MMContext: superclass typecheck marker */},
-  {(long int) 179 /* 3: NitCompiler < ToolContext: superclass typecheck marker */},
-  {(long int) 3227 /* 4: NitCompiler < AbstractCompiler: superclass typecheck marker */},
-  {(long int) 3271 /* 5: NitCompiler < NitCompiler: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 3 /* 20: NitCompiler < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) syntax___MMContext___tc},
-  {(long int) syntax___MMContext___tc__eq},
-  {(long int) 2 /* 42: NitCompiler < MMContext: superclass init_table position */},
-  {(long int) abstractmetamodel___MMContext___init},
-  {(long int) abstractmetamodel___MMContext___module_hierarchy},
-  {(long int) abstractmetamodel___MMContext___class_hierarchy},
-  {(long int) abstractmetamodel___MMContext___modules},
-  {(long int) abstractmetamodel___MMContext___add_module},
-  {(long int) abstractmetamodel___MMContext___add_global_class},
-  {(long int) abstractmetamodel___MMContext___add_local_class},
-  {(long int) compiling_base___ToolContext___global},
-  {(long int) compiling_base___ToolContext___global__eq},
-  {(long int) compiling_base___ToolContext___attr_sim},
-  {(long int) compiling_base___ToolContext___attr_sim__eq},
-  {(long int) compiling_base___ToolContext___base_dir},
-  {(long int) compiling_base___ToolContext___base_dir__eq},
-  {(long int) compiling_base___ToolContext___clibdir},
-  {(long int) compiling_base___ToolContext___clibdir__eq},
-  {(long int) compiling_base___ToolContext___bindir},
-  {(long int) compiling_base___ToolContext___bindir__eq},
-  {(long int) compiling_base___ToolContext___output_file},
-  {(long int) compiling_base___ToolContext___output_file__eq},
-  {(long int) compiling_base___ToolContext___boost},
-  {(long int) compiling_base___ToolContext___boost__eq},
-  {(long int) compiling_base___ToolContext___no_cc},
-  {(long int) compiling_base___ToolContext___no_cc__eq},
-  {(long int) compiling_base___ToolContext___ext_prefix},
-  {(long int) compiling_base___ToolContext___ext_prefix__eq},
-  {(long int) 1 /* 68: NitCompiler < ToolContext: superclass init_table position */},
-  {(long int) mmloader___ToolContext___error_count},
-  {(long int) mmloader___ToolContext___warning_count},
-  {(long int) mmloader___ToolContext___error},
-  {(long int) mmloader___ToolContext___warning},
-  {(long int) mmloader___ToolContext___paths},
-  {(long int) mmloader___ToolContext___option_context},
-  {(long int) mmloader___ToolContext___opt_warn},
-  {(long int) mmloader___ToolContext___opt_path},
-  {(long int) mmloader___ToolContext___opt_log},
-  {(long int) mmloader___ToolContext___opt_only_metamodel},
-  {(long int) mmloader___ToolContext___opt_only_parse},
-  {(long int) mmloader___ToolContext___opt_help},
-  {(long int) mmloader___ToolContext___init},
-  {(long int) nitc___NitCompiler___process_options},
-  {(long int) mmloader___ToolContext___try_to_load},
-  {(long int) mmloader___ToolContext___get_module_from_filename},
-  {(long int) mmloader___ToolContext___get_module},
-  {(long int) mmloader___ToolContext___directory_for},
-  {(long int) mmloader___ToolContext___register_loader},
-  {(long int) 0 /* 88: NitCompiler < AbstractCompiler: superclass init_table position */},
-  {(long int) abstracttool___AbstractCompiler___init},
-  {(long int) abstracttool___AbstractCompiler___exec_cmd_line},
-  {(long int) nitc___NitCompiler___perform_work},
-  {(long int) abstracttool___AbstractCompiler___dump_context_info},
-  {(long int) 4 /* 93: NitCompiler < NitCompiler: superclass init_table position */},
-  {(long int) nitc___NitCompiler___opt_output},
-  {(long int) nitc___NitCompiler___opt_boost},
-  {(long int) nitc___NitCompiler___opt_no_cc},
-  {(long int) nitc___NitCompiler___opt_attr_sim},
-  {(long int) nitc___NitCompiler___opt_global},
-  {(long int) nitc___NitCompiler___opt_clibdir},
-  {(long int) nitc___NitCompiler___opt_bindir},
-  {(long int) nitc___NitCompiler___opt_extension_prefix},
-  {(long int) nitc___NitCompiler___init},
-  {(long int) mmloader___ToolContext___process_options},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute NitCompiler::_tc */
-/* 2: Attribute NitCompiler::_module_hierarchy */
-/* 3: Attribute NitCompiler::_class_hierarchy */
-/* 4: Attribute NitCompiler::_global_classes */
-/* 5: Attribute NitCompiler::_modules */
-/* 6: Attribute NitCompiler::_global */
-/* 7: Attribute NitCompiler::_attr_sim */
-/* 8: Attribute NitCompiler::_base_dir */
-/* 9: Attribute NitCompiler::_clibdir */
-/* 10: Attribute NitCompiler::_bindir */
-/* 11: Attribute NitCompiler::_output_file */
-/* 12: Attribute NitCompiler::_boost */
-/* 13: Attribute NitCompiler::_no_cc */
-/* 14: Attribute NitCompiler::_ext_prefix */
-/* 15: Attribute NitCompiler::_error_count */
-/* 16: Attribute NitCompiler::_warning_count */
-/* 17: Attribute NitCompiler::_paths */
-/* 18: Attribute NitCompiler::_loaders */
-/* 19: Attribute NitCompiler::_option_context */
-/* 20: Attribute NitCompiler::_opt_warn */
-/* 21: Attribute NitCompiler::_opt_path */
-/* 22: Attribute NitCompiler::_opt_log */
-/* 23: Attribute NitCompiler::_opt_only_metamodel */
-/* 24: Attribute NitCompiler::_opt_only_parse */
-/* 25: Attribute NitCompiler::_opt_help */
-/* 26: Attribute NitCompiler::_processing_modules */
-/* 27: Attribute NitCompiler::_path_dirs */
-/* 28: Attribute NitCompiler::_opt_output */
-/* 29: Attribute NitCompiler::_opt_boost */
-/* 30: Attribute NitCompiler::_opt_no_cc */
-/* 31: Attribute NitCompiler::_opt_attr_sim */
-/* 32: Attribute NitCompiler::_opt_global */
-/* 33: Attribute NitCompiler::_opt_clibdir */
-/* 34: Attribute NitCompiler::_opt_bindir */
-/* 35: Attribute NitCompiler::_opt_extension_prefix */
+  27 /* Property _opt_output */,
+  28 /* Property _opt_boost */,
+  29 /* Property _opt_no_cc */,
+  30 /* Property _opt_attr_sim */,
+  31 /* Property _opt_global */,
+  32 /* Property _opt_clibdir */,
+  33 /* Property _opt_bindir */,
+  34 /* Property _opt_extension_prefix */,
+  91 /* Color of NitCompiler */,
+  92 /* Property opt_output */,
+  93 /* Property opt_boost */,
+  94 /* Property opt_no_cc */,
+  95 /* Property opt_attr_sim */,
+  96 /* Property opt_global */,
+  97 /* Property opt_clibdir */,
+  98 /* Property opt_bindir */,
+  99 /* Property opt_extension_prefix */,
+  100 /* Property init */,
+  101 /* Property process_options */,
+};
+const classtable_elt_t VFT_NitCompiler[102] = {
+  {(bigint) 3283 /* 0: Identity */},
+  {(bigint) 3 /* 1: NitCompiler < Object: superclass typecheck marker */},
+  {(bigint) 119 /* 2: NitCompiler < MMContext: superclass typecheck marker */},
+  {(bigint) 179 /* 3: NitCompiler < ToolContext: superclass typecheck marker */},
+  {(bigint) 3239 /* 4: NitCompiler < AbstractCompiler: superclass typecheck marker */},
+  {(bigint) 3283 /* 5: NitCompiler < NitCompiler: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 3 /* 20: NitCompiler < 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) 2 /* 40: NitCompiler < MMContext: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMContext___init},
+  {(bigint) abstractmetamodel___MMContext___module_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___class_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___modules},
+  {(bigint) abstractmetamodel___MMContext___add_module},
+  {(bigint) abstractmetamodel___MMContext___add_global_class},
+  {(bigint) abstractmetamodel___MMContext___add_local_class},
+  {(bigint) compiling_base___ToolContext___global},
+  {(bigint) compiling_base___ToolContext___global__eq},
+  {(bigint) compiling_base___ToolContext___attr_sim},
+  {(bigint) compiling_base___ToolContext___attr_sim__eq},
+  {(bigint) compiling_base___ToolContext___base_dir},
+  {(bigint) compiling_base___ToolContext___base_dir__eq},
+  {(bigint) compiling_base___ToolContext___clibdir},
+  {(bigint) compiling_base___ToolContext___clibdir__eq},
+  {(bigint) compiling_base___ToolContext___bindir},
+  {(bigint) compiling_base___ToolContext___bindir__eq},
+  {(bigint) compiling_base___ToolContext___output_file},
+  {(bigint) compiling_base___ToolContext___output_file__eq},
+  {(bigint) compiling_base___ToolContext___boost},
+  {(bigint) compiling_base___ToolContext___boost__eq},
+  {(bigint) compiling_base___ToolContext___no_cc},
+  {(bigint) compiling_base___ToolContext___no_cc__eq},
+  {(bigint) compiling_base___ToolContext___ext_prefix},
+  {(bigint) compiling_base___ToolContext___ext_prefix__eq},
+  {(bigint) 1 /* 66: NitCompiler < ToolContext: superclass init_table position */},
+  {(bigint) mmloader___ToolContext___error_count},
+  {(bigint) mmloader___ToolContext___warning_count},
+  {(bigint) mmloader___ToolContext___error},
+  {(bigint) mmloader___ToolContext___warning},
+  {(bigint) mmloader___ToolContext___paths},
+  {(bigint) mmloader___ToolContext___option_context},
+  {(bigint) mmloader___ToolContext___opt_warn},
+  {(bigint) mmloader___ToolContext___opt_path},
+  {(bigint) mmloader___ToolContext___opt_log},
+  {(bigint) mmloader___ToolContext___opt_only_metamodel},
+  {(bigint) mmloader___ToolContext___opt_only_parse},
+  {(bigint) mmloader___ToolContext___opt_help},
+  {(bigint) mmloader___ToolContext___init},
+  {(bigint) nitc___NitCompiler___process_options},
+  {(bigint) mmloader___ToolContext___try_to_load},
+  {(bigint) mmloader___ToolContext___get_module_from_filename},
+  {(bigint) mmloader___ToolContext___get_module},
+  {(bigint) mmloader___ToolContext___directory_for},
+  {(bigint) mmloader___ToolContext___register_loader},
+  {(bigint) 0 /* 86: NitCompiler < AbstractCompiler: superclass init_table position */},
+  {(bigint) abstracttool___AbstractCompiler___init},
+  {(bigint) abstracttool___AbstractCompiler___exec_cmd_line},
+  {(bigint) nitc___NitCompiler___perform_work},
+  {(bigint) abstracttool___AbstractCompiler___dump_context_info},
+  {(bigint) 4 /* 91: NitCompiler < NitCompiler: superclass init_table position */},
+  {(bigint) nitc___NitCompiler___opt_output},
+  {(bigint) nitc___NitCompiler___opt_boost},
+  {(bigint) nitc___NitCompiler___opt_no_cc},
+  {(bigint) nitc___NitCompiler___opt_attr_sim},
+  {(bigint) nitc___NitCompiler___opt_global},
+  {(bigint) nitc___NitCompiler___opt_clibdir},
+  {(bigint) nitc___NitCompiler___opt_bindir},
+  {(bigint) nitc___NitCompiler___opt_extension_prefix},
+  {(bigint) nitc___NitCompiler___init},
+  {(bigint) mmloader___ToolContext___process_options},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute NitCompiler::_module_hierarchy */
+/* 2: Attribute NitCompiler::_class_hierarchy */
+/* 3: Attribute NitCompiler::_global_classes */
+/* 4: Attribute NitCompiler::_modules */
+/* 5: Attribute NitCompiler::_global */
+/* 6: Attribute NitCompiler::_attr_sim */
+/* 7: Attribute NitCompiler::_base_dir */
+/* 8: Attribute NitCompiler::_clibdir */
+/* 9: Attribute NitCompiler::_bindir */
+/* 10: Attribute NitCompiler::_output_file */
+/* 11: Attribute NitCompiler::_boost */
+/* 12: Attribute NitCompiler::_no_cc */
+/* 13: Attribute NitCompiler::_ext_prefix */
+/* 14: Attribute NitCompiler::_error_count */
+/* 15: Attribute NitCompiler::_warning_count */
+/* 16: Attribute NitCompiler::_paths */
+/* 17: Attribute NitCompiler::_loaders */
+/* 18: Attribute NitCompiler::_option_context */
+/* 19: Attribute NitCompiler::_opt_warn */
+/* 20: Attribute NitCompiler::_opt_path */
+/* 21: Attribute NitCompiler::_opt_log */
+/* 22: Attribute NitCompiler::_opt_only_metamodel */
+/* 23: Attribute NitCompiler::_opt_only_parse */
+/* 24: Attribute NitCompiler::_opt_help */
+/* 25: Attribute NitCompiler::_processing_modules */
+/* 26: Attribute NitCompiler::_path_dirs */
+/* 27: Attribute NitCompiler::_opt_output */
+/* 28: Attribute NitCompiler::_opt_boost */
+/* 29: Attribute NitCompiler::_opt_no_cc */
+/* 30: Attribute NitCompiler::_opt_attr_sim */
+/* 31: Attribute NitCompiler::_opt_global */
+/* 32: Attribute NitCompiler::_opt_clibdir */
+/* 33: Attribute NitCompiler::_opt_bindir */
+/* 34: Attribute NitCompiler::_opt_extension_prefix */
 val_t NEW_NitCompiler(void) {
   val_t variable0;
   val_t variable1;
@@ -7293,126 +7328,126 @@ val_t NEW_NitCompiler(void) {
   val_t variable49;
   val_t variable50;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 36);
+  obj = alloc(sizeof(val_t) * 35);
   obj->vft = (classtable_elt_t*)VFT_NitCompiler;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
+  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
+  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMGlobalClass]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[MMModule]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
-  ATTR_mmloader___ToolContext____error_count(obj) = TAG_Int((long int)0);
-  ATTR_mmloader___ToolContext____warning_count(obj) = TAG_Int((long int)0);
-  variable4 = NEW_array___Array___init(); /*new Array[ModuleLoader]*/
+  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]*/
   ATTR_mmloader___ToolContext____loaders(obj) = variable4;
   variable5 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*AbstractArray::add*/;
   variable8 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*AbstractArray::add*/;
   variable11 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*AbstractArray::add*/;
   variable14 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*AbstractArray::add*/;
   variable17 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*AbstractArray::add*/;
   variable20 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable24) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*AbstractArray::add*/;
   variable23 = NEW_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_help(obj) = variable23;
-  variable24 = NEW_hash___HashSet___init(); /*new HashSet[Symbol]*/
+  variable24 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_mmloader___ToolContext____processing_modules(obj) = variable24;
-  variable25 = NEW_hash___HashMap___init(); /*new HashMap[String, MMDirectory]*/
+  variable25 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_mmloader___ToolContext____path_dirs(obj) = variable25;
-  ATTR_compiling_base___ToolContext____global(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____attr_sim(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____boost(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____no_cc(obj) = TAG_Bool((long int)0);
+  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[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*/
-  ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27, variable28) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27, variable29) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27, variable29) /*AbstractArray::add*/;
   variable28 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable31) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable32) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable32) /*AbstractArray::add*/;
   variable31 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*AbstractArray::add*/;
   variable34 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*AbstractArray::add*/;
   variable37 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*AbstractArray::add*/;
   variable40 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*AbstractArray::add*/;
   variable43 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*AbstractArray::add*/;
   variable46 = NEW_opts___OptionString___init(variable44, variable45); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_bindir(obj) = variable46;
   variable47 = NEW_string___String___with_native(BOX_NativeString("Append prefix to file extension"), TAG_Int(31)); /*new String*/
-  variable48 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
+  variable48 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
   variable49 = NEW_string___String___with_native(BOX_NativeString("-p"), TAG_Int(2)); /*new String*/
-  ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable49) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable49) /*AbstractArray::add*/;
   variable50 = NEW_string___String___with_native(BOX_NativeString("--extension-prefix"), TAG_Int(18)); /*new String*/
-  ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable50) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable50) /*AbstractArray::add*/;
   variable49 = NEW_opts___OptionString___init(variable47, variable48); /*new OptionString*/
   ATTR_nitc___NitCompiler____opt_extension_prefix(obj) = variable49;
   return OBJ2VAL(obj);
@@ -7424,9 +7459,9 @@ val_t NEW_nitc___NitCompiler___init() {
   return self;
 }
 const classtable_elt_t VFT_Sys[47] = {
-  {(long int) 23 /* 0: Identity */},
-  {(long int) 3 /* 1: Sys < Object: superclass typecheck marker */},
-  {(long int) 23 /* 2: Sys < Sys: superclass typecheck marker */},
+  {(bigint) 23 /* 0: Identity */},
+  {(bigint) 3 /* 1: Sys < Object: superclass typecheck marker */},
+  {(bigint) 23 /* 2: Sys < Sys: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7437,40 +7472,40 @@ const classtable_elt_t VFT_Sys[47] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Sys___args},
-  {(long int) 0 /* 20: Sys < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) exec___Sys___system},
-  {(long int) string___Sys___program_name},
-  {(long int) string___Sys___init_args},
-  {(long int) string___Sys___native_argc},
-  {(long int) string___Sys___native_argv},
-  {(long int) 1 /* 45: Sys < Sys: superclass init_table position */},
-  {(long int) nitc___Sys___main},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Sys___args},
+  {(bigint) 0 /* 20: Sys < 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) exec___Sys___system},
+  {(bigint) string___Sys___program_name},
+  {(bigint) string___Sys___init_args},
+  {(bigint) string___Sys___native_argc},
+  {(bigint) string___Sys___native_argv},
+  {(bigint) 1 /* 45: Sys < Sys: superclass init_table position */},
+  {(bigint) nitc___Sys___main},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Sys::_args_cache */
@@ -7481,8 +7516,8 @@ val_t NEW_Sys(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Object[40] = {
-  {(long int) 3 /* 0: Identity */},
-  {(long int) 3 /* 1: Object < Object: superclass typecheck marker */},
+  {(bigint) 3 /* 0: Identity */},
+  {(bigint) 3 /* 1: Object < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7494,33 +7529,33 @@ const classtable_elt_t VFT_Object[40] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Object < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Object < 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},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Object(void) {
@@ -7530,11 +7565,11 @@ val_t NEW_Object(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Comparable[56] = {
-  {(long int) 155 /* 0: Identity */},
-  {(long int) 3 /* 1: Comparable < Object: superclass typecheck marker */},
+  {(bigint) 155 /* 0: Identity */},
+  {(bigint) 3 /* 1: Comparable < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 155 /* 4: Comparable < Comparable: superclass typecheck marker */},
+  {(bigint) 155 /* 4: Comparable < Comparable: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7543,33 +7578,33 @@ const classtable_elt_t VFT_Comparable[56] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Comparable < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Comparable < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7577,15 +7612,15 @@ const classtable_elt_t VFT_Comparable[56] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 47: Comparable < Comparable: superclass init_table position */},
-  {(long int) kernel___Comparable_____l},
-  {(long int) kernel___Comparable_____leq},
-  {(long int) kernel___Comparable_____geq},
-  {(long int) kernel___Comparable_____g},
-  {(long int) kernel___Comparable_____leqg},
-  {(long int) kernel___Comparable___is_between},
-  {(long int) kernel___Comparable___max},
-  {(long int) kernel___Comparable___min},
+  {(bigint) 1 /* 47: Comparable < Comparable: superclass init_table position */},
+  {(bigint) kernel___Comparable_____l},
+  {(bigint) kernel___Comparable_____leq},
+  {(bigint) kernel___Comparable_____geq},
+  {(bigint) kernel___Comparable_____g},
+  {(bigint) kernel___Comparable_____leqg},
+  {(bigint) kernel___Comparable___is_between},
+  {(bigint) kernel___Comparable___max},
+  {(bigint) kernel___Comparable___min},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Comparable(void) {
@@ -7595,11 +7630,11 @@ val_t NEW_Comparable(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Discrete[62] = {
-  {(long int) 2631 /* 0: Identity */},
-  {(long int) 3 /* 1: Discrete < Object: superclass typecheck marker */},
-  {(long int) 2631 /* 2: Discrete < Discrete: superclass typecheck marker */},
+  {(bigint) 2643 /* 0: Identity */},
+  {(bigint) 3 /* 1: Discrete < Object: superclass typecheck marker */},
+  {(bigint) 2643 /* 2: Discrete < Discrete: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 155 /* 4: Discrete < Comparable: superclass typecheck marker */},
+  {(bigint) 155 /* 4: Discrete < Comparable: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7608,33 +7643,33 @@ const classtable_elt_t VFT_Discrete[62] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Discrete < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Discrete < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7642,21 +7677,21 @@ const classtable_elt_t VFT_Discrete[62] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 47: Discrete < Comparable: superclass init_table position */},
-  {(long int) kernel___Comparable_____l},
-  {(long int) kernel___Comparable_____leq},
-  {(long int) kernel___Comparable_____geq},
-  {(long int) kernel___Comparable_____g},
-  {(long int) kernel___Comparable_____leqg},
-  {(long int) kernel___Comparable___is_between},
-  {(long int) kernel___Comparable___max},
-  {(long int) kernel___Comparable___min},
-  {(long int) 2 /* 56: Discrete < Discrete: superclass init_table position */},
-  {(long int) kernel___Discrete___succ},
-  {(long int) kernel___Discrete___prec},
-  {(long int) kernel___Discrete_____plus},
-  {(long int) kernel___Discrete_____minus},
-  {(long int) kernel___Discrete___distance},
+  {(bigint) 1 /* 47: Discrete < Comparable: superclass init_table position */},
+  {(bigint) kernel___Comparable_____l},
+  {(bigint) kernel___Comparable_____leq},
+  {(bigint) kernel___Comparable_____geq},
+  {(bigint) kernel___Comparable_____g},
+  {(bigint) kernel___Comparable_____leqg},
+  {(bigint) kernel___Comparable___is_between},
+  {(bigint) kernel___Comparable___max},
+  {(bigint) kernel___Comparable___min},
+  {(bigint) 2 /* 56: Discrete < Discrete: superclass init_table position */},
+  {(bigint) kernel___Discrete___succ},
+  {(bigint) kernel___Discrete___prec},
+  {(bigint) kernel___Discrete_____plus},
+  {(bigint) kernel___Discrete_____minus},
+  {(bigint) kernel___Discrete___distance},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Discrete(void) {
@@ -7666,9 +7701,9 @@ val_t NEW_Discrete(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Bool[41] = {
-  {(long int) -17 /* 0: Identity */},
-  {(long int) 3 /* 1: Bool < Object: superclass typecheck marker */},
-  {(long int) -17 /* 2: Bool < Bool: superclass typecheck marker */},
+  {(bigint) -17 /* 0: Identity */},
+  {(bigint) 3 /* 1: Bool < Object: superclass typecheck marker */},
+  {(bigint) -17 /* 2: Bool < Bool: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7679,100 +7714,100 @@ const classtable_elt_t VFT_Bool[41] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Bool___hash},
-  {(long int) string___Bool___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Bool < Object: superclass init_table position */},
-  {(long int) kernel___Bool___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Bool_____eqeq},
-  {(long int) kernel___Bool_____neq},
-  {(long int) kernel___Bool___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Bool < Bool: superclass init_table position */},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Bool___hash},
+  {(bigint) string___Bool___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Bool < Object: superclass init_table position */},
+  {(bigint) kernel___Bool___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) kernel___Bool_____eqeq},
+  {(bigint) kernel___Bool_____neq},
+  {(bigint) kernel___Bool___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) 1 /* 40: Bool < Bool: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 const classtable_elt_t VFT_Float[63] = {
-  {(long int) -13 /* 0: Identity */},
-  {(long int) 3 /* 1: Float < Object: superclass typecheck marker */},
-  {(long int) -13 /* 2: Float < Float: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Float___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Float < Object: superclass init_table position */},
-  {(long int) kernel___Float___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Float___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) string___Float___to_precision},
-  {(long int) 1 /* 41: Float < Float: superclass init_table position */},
-  {(long int) kernel___Float_____leq},
-  {(long int) kernel___Float_____l},
-  {(long int) kernel___Float_____geq},
-  {(long int) kernel___Float_____g},
-  {(long int) kernel___Float_____plus},
-  {(long int) kernel___Float___unary__minus},
-  {(long int) kernel___Float_____minus},
-  {(long int) kernel___Float_____star},
-  {(long int) kernel___Float_____slash},
-  {(long int) kernel___Float___to_i},
-  {(long int) math___Float___sqrt},
-  {(long int) math___Float___cos},
-  {(long int) math___Float___sin},
-  {(long int) math___Float___tan},
-  {(long int) math___Float___acos},
-  {(long int) math___Float___asin},
-  {(long int) math___Float___atan},
-  {(long int) math___Float___pow},
-  {(long int) math___Float___log},
-  {(long int) math___Float___exp},
-  {(long int) math___Float___rand},
+  {(bigint) -13 /* 0: Identity */},
+  {(bigint) 3 /* 1: Float < Object: superclass typecheck marker */},
+  {(bigint) -13 /* 2: Float < Float: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Float___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Float < Object: superclass init_table position */},
+  {(bigint) kernel___Float___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) kernel___Object_____eqeq},
+  {(bigint) kernel___Object_____neq},
+  {(bigint) kernel___Float___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) string___Float___to_precision},
+  {(bigint) 1 /* 41: Float < Float: superclass init_table position */},
+  {(bigint) kernel___Float_____leq},
+  {(bigint) kernel___Float_____l},
+  {(bigint) kernel___Float_____geq},
+  {(bigint) kernel___Float_____g},
+  {(bigint) kernel___Float_____plus},
+  {(bigint) kernel___Float___unary__minus},
+  {(bigint) kernel___Float_____minus},
+  {(bigint) kernel___Float_____star},
+  {(bigint) kernel___Float_____slash},
+  {(bigint) kernel___Float___to_i},
+  {(bigint) math___Float___sqrt},
+  {(bigint) math___Float___cos},
+  {(bigint) math___Float___sin},
+  {(bigint) math___Float___tan},
+  {(bigint) math___Float___acos},
+  {(bigint) math___Float___asin},
+  {(bigint) math___Float___atan},
+  {(bigint) math___Float___pow},
+  {(bigint) math___Float___log},
+  {(bigint) math___Float___exp},
+  {(bigint) math___Float___rand},
 };
 /* 0: Pointer to the classtable */
 val_t BOX_Float(float val) {
@@ -7782,159 +7817,159 @@ val_t BOX_Float(float val) {
   return OBJ2VAL(box);
 }
 const classtable_elt_t VFT_Int[77] = {
-  {(long int) -33 /* 0: Identity */},
-  {(long int) 3 /* 1: Int < Object: superclass typecheck marker */},
-  {(long int) 2631 /* 2: Int < Discrete: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 155 /* 4: Int < Comparable: superclass typecheck marker */},
-  {(long int) -33 /* 5: Int < Int: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Int___hash},
-  {(long int) string___Int___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Int < Object: superclass init_table position */},
-  {(long int) kernel___Int___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Int_____eqeq},
-  {(long int) kernel___Int_____neq},
-  {(long int) kernel___Int___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 47: Int < Comparable: superclass init_table position */},
-  {(long int) kernel___Int_____l},
-  {(long int) kernel___Int_____leq},
-  {(long int) kernel___Int_____geq},
-  {(long int) kernel___Int_____g},
-  {(long int) kernel___Int_____leqg},
-  {(long int) kernel___Int___is_between},
-  {(long int) kernel___Int___max},
-  {(long int) kernel___Int___min},
-  {(long int) 2 /* 56: Int < Discrete: superclass init_table position */},
-  {(long int) kernel___Int___succ},
-  {(long int) kernel___Int___prec},
-  {(long int) kernel___Int_____plus},
-  {(long int) kernel___Int_____minus},
-  {(long int) kernel___Int___distance},
-  {(long int) string___Int___fill_string},
-  {(long int) string___Int___to_hex},
-  {(long int) string___Int___to_base},
-  {(long int) 3 /* 65: Int < Int: superclass init_table position */},
-  {(long int) kernel___Int___unary__minus},
-  {(long int) kernel___Int_____star},
-  {(long int) kernel___Int_____slash},
-  {(long int) kernel___Int_____percent},
-  {(long int) kernel___Int___lshift},
-  {(long int) kernel___Int___rshift},
-  {(long int) kernel___Int___to_f},
-  {(long int) kernel___Int___ascii},
-  {(long int) kernel___Int___digit_count},
-  {(long int) kernel___Int___to_c},
-  {(long int) math___Int___rand},
+  {(bigint) -33 /* 0: Identity */},
+  {(bigint) 3 /* 1: Int < Object: superclass typecheck marker */},
+  {(bigint) 2643 /* 2: Int < Discrete: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 155 /* 4: Int < Comparable: superclass typecheck marker */},
+  {(bigint) -33 /* 5: Int < Int: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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___Int___hash},
+  {(bigint) string___Int___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Int < Object: superclass init_table position */},
+  {(bigint) kernel___Int___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) kernel___Int_____eqeq},
+  {(bigint) kernel___Int_____neq},
+  {(bigint) kernel___Int___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},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 47: Int < Comparable: superclass init_table position */},
+  {(bigint) kernel___Int_____l},
+  {(bigint) kernel___Int_____leq},
+  {(bigint) kernel___Int_____geq},
+  {(bigint) kernel___Int_____g},
+  {(bigint) kernel___Int_____leqg},
+  {(bigint) kernel___Int___is_between},
+  {(bigint) kernel___Int___max},
+  {(bigint) kernel___Int___min},
+  {(bigint) 2 /* 56: Int < Discrete: superclass init_table position */},
+  {(bigint) kernel___Int___succ},
+  {(bigint) kernel___Int___prec},
+  {(bigint) kernel___Int_____plus},
+  {(bigint) kernel___Int_____minus},
+  {(bigint) kernel___Int___distance},
+  {(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) kernel___Int___unary__minus},
+  {(bigint) kernel___Int_____star},
+  {(bigint) kernel___Int_____slash},
+  {(bigint) kernel___Int_____percent},
+  {(bigint) kernel___Int___lshift},
+  {(bigint) kernel___Int___rshift},
+  {(bigint) kernel___Int___to_f},
+  {(bigint) kernel___Int___ascii},
+  {(bigint) kernel___Int___digit_count},
+  {(bigint) kernel___Int___to_c},
+  {(bigint) math___Int___rand},
 };
 /* 0: Pointer to the classtable */
 const classtable_elt_t VFT_Char[67] = {
-  {(long int) -37 /* 0: Identity */},
-  {(long int) 3 /* 1: Char < Object: superclass typecheck marker */},
-  {(long int) 2631 /* 2: Char < Discrete: superclass typecheck marker */},
-  {(long int) 51 /* 3: Char < Pattern: superclass typecheck marker */},
-  {(long int) 155 /* 4: Char < Comparable: superclass typecheck marker */},
-  {(long int) -37 /* 5: Char < Char: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Char___hash},
-  {(long int) string___Char___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Char < Object: superclass init_table position */},
-  {(long int) kernel___Char___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Char_____eqeq},
-  {(long int) kernel___Char_____neq},
-  {(long int) kernel___Char___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 3 /* 42: Char < Pattern: superclass init_table position */},
-  {(long int) string_search___Char___search_index_in},
-  {(long int) string_search___Char___search_in},
-  {(long int) string_search___Pattern___search_all_in},
-  {(long int) string_search___Pattern___split_in},
-  {(long int) 1 /* 47: Char < Comparable: superclass init_table position */},
-  {(long int) kernel___Char_____l},
-  {(long int) kernel___Char_____leq},
-  {(long int) kernel___Char_____geq},
-  {(long int) kernel___Char_____g},
-  {(long int) kernel___Comparable_____leqg},
-  {(long int) kernel___Comparable___is_between},
-  {(long int) kernel___Comparable___max},
-  {(long int) kernel___Comparable___min},
-  {(long int) 2 /* 56: Char < Discrete: superclass init_table position */},
-  {(long int) kernel___Char___succ},
-  {(long int) kernel___Char___prec},
-  {(long int) kernel___Char_____plus},
-  {(long int) kernel___Char_____minus},
-  {(long int) kernel___Char___distance},
-  {(long int) 4 /* 62: Char < Char: superclass init_table position */},
-  {(long int) kernel___Char___to_i},
-  {(long int) kernel___Char___ascii},
-  {(long int) kernel___Char___to_lower},
-  {(long int) kernel___Char___to_upper},
+  {(bigint) -37 /* 0: Identity */},
+  {(bigint) 3 /* 1: Char < Object: superclass typecheck marker */},
+  {(bigint) 2643 /* 2: Char < Discrete: superclass typecheck marker */},
+  {(bigint) 51 /* 3: Char < Pattern: superclass typecheck marker */},
+  {(bigint) 155 /* 4: Char < Comparable: superclass typecheck marker */},
+  {(bigint) -37 /* 5: Char < Char: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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___Char___hash},
+  {(bigint) string___Char___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Char < Object: superclass init_table position */},
+  {(bigint) kernel___Char___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) kernel___Char_____eqeq},
+  {(bigint) kernel___Char_____neq},
+  {(bigint) kernel___Char___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},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 3 /* 42: 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) kernel___Char_____l},
+  {(bigint) kernel___Char_____leq},
+  {(bigint) kernel___Char_____geq},
+  {(bigint) kernel___Char_____g},
+  {(bigint) kernel___Comparable_____leqg},
+  {(bigint) kernel___Comparable___is_between},
+  {(bigint) kernel___Comparable___max},
+  {(bigint) kernel___Comparable___min},
+  {(bigint) 2 /* 56: 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) kernel___Char___to_i},
+  {(bigint) kernel___Char___ascii},
+  {(bigint) kernel___Char___to_lower},
+  {(bigint) kernel___Char___to_upper},
 };
 /* 0: Pointer to the classtable */
 const classtable_elt_t VFT_Pointer[41] = {
-  {(long int) -1 /* 0: Identity */},
-  {(long int) 3 /* 1: Pointer < Object: superclass typecheck marker */},
-  {(long int) -1 /* 2: Pointer < Pointer: superclass typecheck marker */},
+  {(bigint) -1 /* 0: Identity */},
+  {(bigint) 3 /* 1: Pointer < Object: superclass typecheck marker */},
+  {(bigint) -1 /* 2: Pointer < Pointer: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7945,34 +7980,34 @@ const classtable_elt_t VFT_Pointer[41] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Pointer < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Pointer < Pointer: superclass init_table position */},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Pointer < 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) 1 /* 40: Pointer < Pointer: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 val_t BOX_Pointer(void * val) {
@@ -7982,12 +8017,12 @@ val_t BOX_Pointer(void * val) {
   return OBJ2VAL(box);
 }
 const classtable_elt_t VFT_Collection[66] = {
-  {(long int) 163 /* 0: Identity */},
-  {(long int) 3 /* 1: Collection < Object: superclass typecheck marker */},
+  {(bigint) 163 /* 0: Identity */},
+  {(bigint) 3 /* 1: Collection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: Collection < Collection: superclass typecheck marker */},
+  {(bigint) 163 /* 5: Collection < Collection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -7995,33 +8030,33 @@ const classtable_elt_t VFT_Collection[66] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Collection < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Collection < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8038,16 +8073,16 @@ const classtable_elt_t VFT_Collection[66] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: Collection < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Collection___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) abstract_collection___Collection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Collection___has_only},
-  {(long int) abstract_collection___Collection___count},
-  {(long int) abstract_collection___Collection___first},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: Collection < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Collection___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) abstract_collection___Collection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(bigint) abstract_collection___Collection___has_only},
+  {(bigint) abstract_collection___Collection___count},
+  {(bigint) abstract_collection___Collection___first},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Collection(void) {
@@ -8057,46 +8092,46 @@ val_t NEW_Collection(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_NaiveCollection[67] = {
-  {(long int) 2519 /* 0: Identity */},
-  {(long int) 3 /* 1: NaiveCollection < Object: superclass typecheck marker */},
+  {(bigint) 2539 /* 0: Identity */},
+  {(bigint) 3 /* 1: NaiveCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: NaiveCollection < Collection: superclass typecheck marker */},
-  {(long int) 2519 /* 6: NaiveCollection < NaiveCollection: superclass typecheck marker */},
+  {(bigint) 163 /* 5: NaiveCollection < Collection: superclass typecheck marker */},
+  {(bigint) 2539 /* 6: NaiveCollection < NaiveCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: NaiveCollection < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: NaiveCollection < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8113,17 +8148,17 @@ const classtable_elt_t VFT_NaiveCollection[67] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: NaiveCollection < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Collection___iterator},
-  {(long int) abstract_collection___NaiveCollection___is_empty},
-  {(long int) abstract_collection___NaiveCollection___length},
-  {(long int) abstract_collection___NaiveCollection___has},
-  {(long int) abstract_collection___NaiveCollection___has_only},
-  {(long int) abstract_collection___NaiveCollection___count},
-  {(long int) abstract_collection___NaiveCollection___first},
-  {(long int) 2 /* 66: NaiveCollection < NaiveCollection: superclass init_table position */},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: NaiveCollection < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Collection___iterator},
+  {(bigint) abstract_collection___NaiveCollection___is_empty},
+  {(bigint) abstract_collection___NaiveCollection___length},
+  {(bigint) abstract_collection___NaiveCollection___has},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_NaiveCollection(void) {
@@ -8133,9 +8168,9 @@ val_t NEW_NaiveCollection(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Iterator[45] = {
-  {(long int) 131 /* 0: Identity */},
-  {(long int) 3 /* 1: Iterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: Iterator < Iterator: superclass typecheck marker */},
+  {(bigint) 131 /* 0: Identity */},
+  {(bigint) 3 /* 1: Iterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: Iterator < Iterator: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8146,38 +8181,38 @@ const classtable_elt_t VFT_Iterator[45] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Iterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: Iterator < Iterator: superclass init_table position */},
-  {(long int) abstract_collection___Iterator___item},
-  {(long int) abstract_collection___Iterator___next},
-  {(long int) abstract_collection___Iterator___is_ok},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Iterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: Iterator < Iterator: superclass init_table position */},
+  {(bigint) abstract_collection___Iterator___item},
+  {(bigint) abstract_collection___Iterator___next},
+  {(bigint) abstract_collection___Iterator___is_ok},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Iterator(void) {
@@ -8187,46 +8222,46 @@ val_t NEW_Iterator(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Container[70] = {
-  {(long int) 2639 /* 0: Identity */},
-  {(long int) 3 /* 1: Container < Object: superclass typecheck marker */},
+  {(bigint) 2651 /* 0: Identity */},
+  {(bigint) 3 /* 1: Container < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: Container < Collection: superclass typecheck marker */},
-  {(long int) 2639 /* 6: Container < Container: superclass typecheck marker */},
+  {(bigint) 163 /* 5: Container < Collection: superclass typecheck marker */},
+  {(bigint) 2651 /* 6: Container < Container: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Container < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Container < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8243,20 +8278,20 @@ const classtable_elt_t VFT_Container[70] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: Container < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Container___iterator},
-  {(long int) abstract_collection___Container___is_empty},
-  {(long int) abstract_collection___Container___length},
-  {(long int) abstract_collection___Container___has},
-  {(long int) abstract_collection___Container___has_only},
-  {(long int) abstract_collection___Container___count},
-  {(long int) abstract_collection___Container___first},
-  {(long int) 2 /* 66: Container < Container: superclass init_table position */},
-  {(long int) abstract_collection___Container___init},
-  {(long int) abstract_collection___Container___item},
-  {(long int) abstract_collection___Container___item__eq},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: Container < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Container___iterator},
+  {(bigint) abstract_collection___Container___is_empty},
+  {(bigint) abstract_collection___Container___length},
+  {(bigint) abstract_collection___Container___has},
+  {(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) abstract_collection___Container___init},
+  {(bigint) abstract_collection___Container___item},
+  {(bigint) abstract_collection___Container___item__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Container::_item */
@@ -8273,53 +8308,53 @@ val_t NEW_abstract_collection___Container___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ContainerIterator[47] = {
-  {(long int) 2635 /* 0: Identity */},
-  {(long int) 3 /* 1: ContainerIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: ContainerIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2635 /* 3: ContainerIterator < ContainerIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ContainerIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: ContainerIterator < Iterator: superclass init_table position */},
-  {(long int) abstract_collection___ContainerIterator___item},
-  {(long int) abstract_collection___ContainerIterator___next},
-  {(long int) abstract_collection___ContainerIterator___is_ok},
-  {(long int) 2 /* 45: ContainerIterator < ContainerIterator: superclass init_table position */},
-  {(long int) abstract_collection___ContainerIterator___init},
+  {(bigint) 2647 /* 0: Identity */},
+  {(bigint) 3 /* 1: ContainerIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: ContainerIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2647 /* 3: ContainerIterator < ContainerIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ContainerIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: ContainerIterator < Iterator: superclass init_table position */},
+  {(bigint) abstract_collection___ContainerIterator___item},
+  {(bigint) abstract_collection___ContainerIterator___next},
+  {(bigint) abstract_collection___ContainerIterator___is_ok},
+  {(bigint) 2 /* 45: ContainerIterator < ContainerIterator: superclass init_table position */},
+  {(bigint) abstract_collection___ContainerIterator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ContainerIterator::_is_ok */
@@ -8338,46 +8373,46 @@ val_t NEW_abstract_collection___ContainerIterator___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_RemovableCollection[70] = {
-  {(long int) 211 /* 0: Identity */},
-  {(long int) 3 /* 1: RemovableCollection < Object: superclass typecheck marker */},
+  {(bigint) 211 /* 0: Identity */},
+  {(bigint) 3 /* 1: RemovableCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: RemovableCollection < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: RemovableCollection < RemovableCollection: superclass typecheck marker */},
+  {(bigint) 163 /* 5: RemovableCollection < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: RemovableCollection < RemovableCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: RemovableCollection < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: RemovableCollection < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8394,20 +8429,20 @@ const classtable_elt_t VFT_RemovableCollection[70] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: RemovableCollection < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Collection___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) abstract_collection___Collection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Collection___has_only},
-  {(long int) abstract_collection___Collection___count},
-  {(long int) abstract_collection___Collection___first},
-  {(long int) 2 /* 66: RemovableCollection < RemovableCollection: superclass init_table position */},
-  {(long int) abstract_collection___RemovableCollection___clear},
-  {(long int) abstract_collection___RemovableCollection___remove},
-  {(long int) abstract_collection___RemovableCollection___remove_all},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: RemovableCollection < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Collection___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) abstract_collection___Collection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(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) abstract_collection___RemovableCollection___clear},
+  {(bigint) abstract_collection___RemovableCollection___remove},
+  {(bigint) abstract_collection___RemovableCollection___remove_all},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_RemovableCollection(void) {
@@ -8417,46 +8452,46 @@ val_t NEW_RemovableCollection(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_SimpleCollection[73] = {
-  {(long int) 3019 /* 0: Identity */},
-  {(long int) 3 /* 1: SimpleCollection < Object: superclass typecheck marker */},
+  {(bigint) 3035 /* 0: Identity */},
+  {(bigint) 3 /* 1: SimpleCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: SimpleCollection < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: SimpleCollection < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: SimpleCollection < SimpleCollection: superclass typecheck marker */},
+  {(bigint) 163 /* 5: SimpleCollection < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: SimpleCollection < RemovableCollection: superclass typecheck marker */},
+  {(bigint) 3035 /* 7: SimpleCollection < SimpleCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: SimpleCollection < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: SimpleCollection < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8473,23 +8508,23 @@ const classtable_elt_t VFT_SimpleCollection[73] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: SimpleCollection < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Collection___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) abstract_collection___Collection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Collection___has_only},
-  {(long int) abstract_collection___Collection___count},
-  {(long int) abstract_collection___Collection___first},
-  {(long int) 2 /* 66: SimpleCollection < RemovableCollection: superclass init_table position */},
-  {(long int) abstract_collection___RemovableCollection___clear},
-  {(long int) abstract_collection___RemovableCollection___remove},
-  {(long int) abstract_collection___RemovableCollection___remove_all},
-  {(long int) 3 /* 70: SimpleCollection < SimpleCollection: superclass init_table position */},
-  {(long int) abstract_collection___SimpleCollection___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: SimpleCollection < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Collection___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) abstract_collection___Collection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(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) 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) abstract_collection___SimpleCollection___add},
+  {(bigint) abstract_collection___SimpleCollection___add_all},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_SimpleCollection(void) {
@@ -8499,46 +8534,46 @@ val_t NEW_SimpleCollection(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Set[73] = {
-  {(long int) 3263 /* 0: Identity */},
-  {(long int) 3 /* 1: Set < Object: superclass typecheck marker */},
+  {(bigint) 3275 /* 0: Identity */},
+  {(bigint) 3 /* 1: Set < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 3263 /* 4: Set < Set: superclass typecheck marker */},
-  {(long int) 163 /* 5: Set < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: Set < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: Set < SimpleCollection: superclass typecheck marker */},
+  {(bigint) 3275 /* 4: Set < Set: superclass typecheck marker */},
+  {(bigint) 163 /* 5: Set < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: Set < RemovableCollection: superclass typecheck marker */},
+  {(bigint) 3035 /* 7: Set < SimpleCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Set < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Set < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8548,30 +8583,30 @@ const classtable_elt_t VFT_Set[73] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 4 /* 49: Set < Set: superclass init_table position */},
+  {(bigint) 4 /* 49: Set < Set: superclass init_table position */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: Set < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Collection___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) abstract_collection___Collection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Set___has_only},
-  {(long int) abstract_collection___Set___count},
-  {(long int) abstract_collection___Collection___first},
-  {(long int) 2 /* 66: Set < RemovableCollection: superclass init_table position */},
-  {(long int) abstract_collection___RemovableCollection___clear},
-  {(long int) abstract_collection___RemovableCollection___remove},
-  {(long int) abstract_collection___Set___remove_all},
-  {(long int) 3 /* 70: Set < SimpleCollection: superclass init_table position */},
-  {(long int) abstract_collection___SimpleCollection___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: Set < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Collection___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) abstract_collection___Collection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(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) 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) abstract_collection___SimpleCollection___add},
+  {(bigint) abstract_collection___SimpleCollection___add_all},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Set(void) {
@@ -8581,46 +8616,46 @@ val_t NEW_Set(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Map[80] = {
-  {(long int) 3127 /* 0: Identity */},
-  {(long int) 3 /* 1: Map < Object: superclass typecheck marker */},
+  {(bigint) 3143 /* 0: Identity */},
+  {(bigint) 3 /* 1: Map < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: Map < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: Map < RemovableCollection: superclass typecheck marker */},
+  {(bigint) 163 /* 5: Map < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: Map < RemovableCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 3127 /* 8: Map < Map: superclass typecheck marker */},
+  {(bigint) 3143 /* 8: Map < Map: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Map < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Map < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8637,30 +8672,30 @@ const classtable_elt_t VFT_Map[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: Map < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Map___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) abstract_collection___Collection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Collection___has_only},
-  {(long int) abstract_collection___Collection___count},
-  {(long int) abstract_collection___Collection___first},
-  {(long int) 2 /* 66: Map < RemovableCollection: superclass init_table position */},
-  {(long int) abstract_collection___RemovableCollection___clear},
-  {(long int) abstract_collection___RemovableCollection___remove},
-  {(long int) abstract_collection___RemovableCollection___remove_all},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: Map < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Map___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) abstract_collection___Collection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(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) abstract_collection___RemovableCollection___clear},
+  {(bigint) abstract_collection___RemovableCollection___remove},
+  {(bigint) abstract_collection___RemovableCollection___remove_all},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: Map < Map: superclass init_table position */},
-  {(long int) abstract_collection___Map_____bra},
-  {(long int) abstract_collection___Map_____braeq},
-  {(long int) abstract_collection___Map___has_key},
-  {(long int) abstract_collection___Map___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
+  {(bigint) string___Map___map_join},
+  {(bigint) 3 /* 74: Map < 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},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Map(void) {
@@ -8670,54 +8705,54 @@ val_t NEW_Map(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_MapIterator[48] = {
-  {(long int) 2527 /* 0: Identity */},
-  {(long int) 3 /* 1: MapIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: MapIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2527 /* 3: MapIterator < MapIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MapIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: MapIterator < Iterator: superclass init_table position */},
-  {(long int) abstract_collection___Iterator___item},
-  {(long int) abstract_collection___Iterator___next},
-  {(long int) abstract_collection___Iterator___is_ok},
-  {(long int) 2 /* 45: MapIterator < MapIterator: superclass init_table position */},
-  {(long int) abstract_collection___MapIterator___key},
-  {(long int) abstract_collection___MapIterator___item__eq},
+  {(bigint) 2547 /* 0: Identity */},
+  {(bigint) 3 /* 1: MapIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: MapIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2547 /* 3: MapIterator < MapIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MapIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: MapIterator < Iterator: superclass init_table position */},
+  {(bigint) abstract_collection___Iterator___item},
+  {(bigint) abstract_collection___Iterator___next},
+  {(bigint) abstract_collection___Iterator___is_ok},
+  {(bigint) 2 /* 45: MapIterator < MapIterator: superclass init_table position */},
+  {(bigint) abstract_collection___MapIterator___key},
+  {(bigint) abstract_collection___MapIterator___item__eq},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_MapIterator(void) {
@@ -8727,46 +8762,46 @@ val_t NEW_MapIterator(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_IndexedCollection[90] = {
-  {(long int) 3295 /* 0: Identity */},
-  {(long int) 3 /* 1: IndexedCollection < Object: superclass typecheck marker */},
+  {(bigint) 3303 /* 0: Identity */},
+  {(bigint) 3 /* 1: IndexedCollection < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: IndexedCollection < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: IndexedCollection < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: IndexedCollection < SimpleCollection: superclass typecheck marker */},
-  {(long int) 3127 /* 8: IndexedCollection < Map: superclass typecheck marker */},
-  {(long int) 3295 /* 9: IndexedCollection < IndexedCollection: superclass typecheck marker */},
+  {(bigint) 163 /* 5: IndexedCollection < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: IndexedCollection < RemovableCollection: superclass typecheck marker */},
+  {(bigint) 3035 /* 7: IndexedCollection < SimpleCollection: superclass typecheck marker */},
+  {(bigint) 3143 /* 8: IndexedCollection < Map: superclass typecheck marker */},
+  {(bigint) 3303 /* 9: IndexedCollection < IndexedCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IndexedCollection < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IndexedCollection < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8783,40 +8818,40 @@ const classtable_elt_t VFT_IndexedCollection[90] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: IndexedCollection < Collection: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) abstract_collection___Collection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Collection___has_only},
-  {(long int) abstract_collection___Collection___count},
-  {(long int) abstract_collection___IndexedCollection___first},
-  {(long int) 2 /* 66: IndexedCollection < RemovableCollection: superclass init_table position */},
-  {(long int) abstract_collection___RemovableCollection___clear},
-  {(long int) abstract_collection___RemovableCollection___remove},
-  {(long int) abstract_collection___RemovableCollection___remove_all},
-  {(long int) 4 /* 70: IndexedCollection < SimpleCollection: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: IndexedCollection < Map: superclass init_table position */},
-  {(long int) abstract_collection___Map_____bra},
-  {(long int) abstract_collection___Map_____braeq},
-  {(long int) abstract_collection___Map___has_key},
-  {(long int) abstract_collection___Map___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
-  {(long int) 5 /* 80: IndexedCollection < IndexedCollection: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___first__eq},
-  {(long int) abstract_collection___IndexedCollection___last},
-  {(long int) abstract_collection___IndexedCollection___last__eq},
-  {(long int) abstract_collection___IndexedCollection___push},
-  {(long int) abstract_collection___IndexedCollection___append},
-  {(long int) abstract_collection___IndexedCollection___pop},
-  {(long int) abstract_collection___IndexedCollection___unshift},
-  {(long int) abstract_collection___IndexedCollection___shift},
-  {(long int) abstract_collection___IndexedCollection___index_of},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: IndexedCollection < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___IndexedCollection___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) abstract_collection___Collection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(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) 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) 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) 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) abstract_collection___IndexedCollection___first__eq},
+  {(bigint) abstract_collection___IndexedCollection___last},
+  {(bigint) abstract_collection___IndexedCollection___last__eq},
+  {(bigint) abstract_collection___IndexedCollection___push},
+  {(bigint) abstract_collection___IndexedCollection___append},
+  {(bigint) abstract_collection___IndexedCollection___pop},
+  {(bigint) abstract_collection___IndexedCollection___unshift},
+  {(bigint) abstract_collection___IndexedCollection___shift},
+  {(bigint) abstract_collection___IndexedCollection___index_of},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_IndexedCollection(void) {
@@ -8826,56 +8861,56 @@ val_t NEW_IndexedCollection(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_IndexedIterator[50] = {
-  {(long int) 3171 /* 0: Identity */},
-  {(long int) 3 /* 1: IndexedIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: IndexedIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2527 /* 3: IndexedIterator < MapIterator: superclass typecheck marker */},
-  {(long int) 3171 /* 4: IndexedIterator < IndexedIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IndexedIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: IndexedIterator < Iterator: superclass init_table position */},
-  {(long int) abstract_collection___Iterator___item},
-  {(long int) abstract_collection___Iterator___next},
-  {(long int) abstract_collection___Iterator___is_ok},
-  {(long int) 2 /* 45: IndexedIterator < MapIterator: superclass init_table position */},
-  {(long int) abstract_collection___IndexedIterator___key},
-  {(long int) abstract_collection___MapIterator___item__eq},
-  {(long int) 3 /* 48: IndexedIterator < IndexedIterator: superclass init_table position */},
-  {(long int) abstract_collection___IndexedIterator___index},
+  {(bigint) 3183 /* 0: Identity */},
+  {(bigint) 3 /* 1: IndexedIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: IndexedIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2547 /* 3: IndexedIterator < MapIterator: superclass typecheck marker */},
+  {(bigint) 3183 /* 4: IndexedIterator < IndexedIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IndexedIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: IndexedIterator < Iterator: superclass init_table position */},
+  {(bigint) abstract_collection___Iterator___item},
+  {(bigint) abstract_collection___Iterator___next},
+  {(bigint) abstract_collection___Iterator___is_ok},
+  {(bigint) 2 /* 45: IndexedIterator < MapIterator: superclass init_table position */},
+  {(bigint) abstract_collection___IndexedIterator___key},
+  {(bigint) abstract_collection___MapIterator___item__eq},
+  {(bigint) 3 /* 48: IndexedIterator < IndexedIterator: superclass init_table position */},
+  {(bigint) abstract_collection___IndexedIterator___index},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_IndexedIterator(void) {
@@ -8885,46 +8920,46 @@ val_t NEW_IndexedIterator(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_CoupleMap[80] = {
-  {(long int) 3311 /* 0: Identity */},
-  {(long int) 3 /* 1: CoupleMap < Object: superclass typecheck marker */},
+  {(bigint) 3319 /* 0: Identity */},
+  {(bigint) 3 /* 1: CoupleMap < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 3311 /* 4: CoupleMap < CoupleMap: superclass typecheck marker */},
-  {(long int) 163 /* 5: CoupleMap < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: CoupleMap < RemovableCollection: superclass typecheck marker */},
+  {(bigint) 3319 /* 4: CoupleMap < CoupleMap: superclass typecheck marker */},
+  {(bigint) 163 /* 5: CoupleMap < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: CoupleMap < RemovableCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 3127 /* 8: CoupleMap < Map: superclass typecheck marker */},
+  {(bigint) 3143 /* 8: CoupleMap < Map: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: CoupleMap < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: CoupleMap < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -8934,37 +8969,37 @@ const classtable_elt_t VFT_CoupleMap[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 4 /* 49: CoupleMap < CoupleMap: superclass init_table position */},
-  {(long int) abstract_collection___CoupleMap___couple_at},
+  {(bigint) 4 /* 49: 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 :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: CoupleMap < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Map___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) abstract_collection___Collection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Collection___has_only},
-  {(long int) abstract_collection___Collection___count},
-  {(long int) abstract_collection___Collection___first},
-  {(long int) 2 /* 66: CoupleMap < RemovableCollection: superclass init_table position */},
-  {(long int) abstract_collection___RemovableCollection___clear},
-  {(long int) abstract_collection___RemovableCollection___remove},
-  {(long int) abstract_collection___RemovableCollection___remove_all},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: CoupleMap < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Map___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) abstract_collection___Collection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(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) abstract_collection___RemovableCollection___clear},
+  {(bigint) abstract_collection___RemovableCollection___remove},
+  {(bigint) abstract_collection___RemovableCollection___remove_all},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: CoupleMap < Map: superclass init_table position */},
-  {(long int) abstract_collection___CoupleMap_____bra},
-  {(long int) abstract_collection___Map_____braeq},
-  {(long int) abstract_collection___CoupleMap___has_key},
-  {(long int) abstract_collection___Map___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
+  {(bigint) string___Map___map_join},
+  {(bigint) 3 /* 74: CoupleMap < Map: superclass init_table position */},
+  {(bigint) abstract_collection___CoupleMap_____bra},
+  {(bigint) abstract_collection___Map_____braeq},
+  {(bigint) abstract_collection___CoupleMap___has_key},
+  {(bigint) abstract_collection___Map___remove_at},
+  {(bigint) abstract_collection___Map___recover_with},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_CoupleMap(void) {
@@ -8974,56 +9009,56 @@ val_t NEW_CoupleMap(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_CoupleMapIterator[50] = {
-  {(long int) 3199 /* 0: Identity */},
-  {(long int) 3 /* 1: CoupleMapIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: CoupleMapIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2527 /* 3: CoupleMapIterator < MapIterator: superclass typecheck marker */},
-  {(long int) 3199 /* 4: CoupleMapIterator < CoupleMapIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: CoupleMapIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: CoupleMapIterator < Iterator: superclass init_table position */},
-  {(long int) abstract_collection___CoupleMapIterator___item},
-  {(long int) abstract_collection___CoupleMapIterator___next},
-  {(long int) abstract_collection___CoupleMapIterator___is_ok},
-  {(long int) 2 /* 45: CoupleMapIterator < MapIterator: superclass init_table position */},
-  {(long int) abstract_collection___CoupleMapIterator___key},
-  {(long int) abstract_collection___CoupleMapIterator___item__eq},
-  {(long int) 3 /* 48: CoupleMapIterator < CoupleMapIterator: superclass init_table position */},
-  {(long int) abstract_collection___CoupleMapIterator___init},
+  {(bigint) 3211 /* 0: Identity */},
+  {(bigint) 3 /* 1: CoupleMapIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: CoupleMapIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2547 /* 3: CoupleMapIterator < MapIterator: superclass typecheck marker */},
+  {(bigint) 3211 /* 4: CoupleMapIterator < CoupleMapIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: CoupleMapIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: CoupleMapIterator < Iterator: superclass init_table position */},
+  {(bigint) abstract_collection___CoupleMapIterator___item},
+  {(bigint) abstract_collection___CoupleMapIterator___next},
+  {(bigint) abstract_collection___CoupleMapIterator___is_ok},
+  {(bigint) 2 /* 45: CoupleMapIterator < MapIterator: superclass init_table position */},
+  {(bigint) abstract_collection___CoupleMapIterator___key},
+  {(bigint) abstract_collection___CoupleMapIterator___item__eq},
+  {(bigint) 3 /* 48: CoupleMapIterator < CoupleMapIterator: superclass init_table position */},
+  {(bigint) abstract_collection___CoupleMapIterator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute CoupleMapIterator::_iter */
@@ -9040,10 +9075,10 @@ val_t NEW_abstract_collection___CoupleMapIterator___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_Couple[52] = {
-  {(long int) 143 /* 0: Identity */},
-  {(long int) 3 /* 1: Couple < Object: superclass typecheck marker */},
+  {(bigint) 143 /* 0: Identity */},
+  {(bigint) 3 /* 1: Couple < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 143 /* 3: Couple < Couple: superclass typecheck marker */},
+  {(bigint) 143 /* 3: Couple < Couple: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9053,45 +9088,45 @@ const classtable_elt_t VFT_Couple[52] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Couple < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Couple < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 46: Couple < Couple: superclass init_table position */},
-  {(long int) abstract_collection___Couple___first},
-  {(long int) abstract_collection___Couple___first__eq},
-  {(long int) abstract_collection___Couple___second},
-  {(long int) abstract_collection___Couple___second__eq},
-  {(long int) abstract_collection___Couple___init},
+  {(bigint) 1 /* 46: Couple < 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},
 };
 /* 0: Pointer to the classtable */
 /* Instance Hole :( */
@@ -9111,104 +9146,104 @@ val_t NEW_abstract_collection___Couple___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AbstractArray[98] = {
-  {(long int) 3639 /* 0: Identity */},
-  {(long int) 3 /* 1: AbstractArray < Object: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: AbstractArray < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: AbstractArray < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: AbstractArray < SimpleCollection: superclass typecheck marker */},
-  {(long int) 3127 /* 8: AbstractArray < Map: superclass typecheck marker */},
-  {(long int) 3295 /* 9: AbstractArray < IndexedCollection: superclass typecheck marker */},
-  {(long int) 3639 /* 10: AbstractArray < AbstractArray: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AbstractArray < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) array___AbstractArray_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) array___AbstractArray___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: AbstractArray < Collection: superclass init_table position */},
-  {(long int) array___AbstractArray___iterator},
-  {(long int) array___AbstractArray___is_empty},
-  {(long int) array___AbstractArray___length},
-  {(long int) array___AbstractArray___has},
-  {(long int) array___AbstractArray___has_only},
-  {(long int) array___AbstractArray___count},
-  {(long int) abstract_collection___IndexedCollection___first},
-  {(long int) 2 /* 66: AbstractArray < RemovableCollection: superclass init_table position */},
-  {(long int) array___AbstractArray___clear},
-  {(long int) array___AbstractArray___remove},
-  {(long int) array___AbstractArray___remove_all},
-  {(long int) 4 /* 70: AbstractArray < SimpleCollection: superclass init_table position */},
-  {(long int) array___AbstractArray___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: AbstractArray < Map: superclass init_table position */},
-  {(long int) abstract_collection___Map_____bra},
-  {(long int) abstract_collection___Map_____braeq},
-  {(long int) array___AbstractArray___has_key},
-  {(long int) array___AbstractArray___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
-  {(long int) 5 /* 80: AbstractArray < IndexedCollection: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___first__eq},
-  {(long int) abstract_collection___IndexedCollection___last},
-  {(long int) abstract_collection___IndexedCollection___last__eq},
-  {(long int) array___AbstractArray___push},
-  {(long int) abstract_collection___IndexedCollection___append},
-  {(long int) array___AbstractArray___pop},
-  {(long int) array___AbstractArray___unshift},
-  {(long int) array___AbstractArray___shift},
-  {(long int) array___AbstractArray___index_of},
-  {(long int) 6 /* 90: AbstractArray < AbstractArray: superclass init_table position */},
-  {(long int) array___AbstractArray___enlarge},
-  {(long int) array___AbstractArray___insert},
-  {(long int) array___AbstractArray___last_index_of},
-  {(long int) array___AbstractArray___index_of_from},
-  {(long int) array___AbstractArray___last_index_of_from},
-  {(long int) array___AbstractArray___reversed},
-  {(long int) array___AbstractArray___copy_to},
+  {(bigint) 3651 /* 0: Identity */},
+  {(bigint) 3 /* 1: AbstractArray < Object: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 163 /* 5: AbstractArray < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: AbstractArray < RemovableCollection: superclass typecheck marker */},
+  {(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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AbstractArray < Object: superclass init_table position */},
+  {(bigint) kernel___Object___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) array___AbstractArray_____eqeq},
+  {(bigint) kernel___Object_____neq},
+  {(bigint) array___AbstractArray___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},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: AbstractArray < Collection: superclass init_table position */},
+  {(bigint) array___AbstractArray___iterator},
+  {(bigint) array___AbstractArray___is_empty},
+  {(bigint) array___AbstractArray___length},
+  {(bigint) array___AbstractArray___has},
+  {(bigint) array___AbstractArray___has_only},
+  {(bigint) array___AbstractArray___count},
+  {(bigint) abstract_collection___IndexedCollection___first},
+  {(bigint) 2 /* 66: 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) array___AbstractArray___add},
+  {(bigint) abstract_collection___SimpleCollection___add_all},
+  {(bigint) string___Map___map_join},
+  {(bigint) 3 /* 74: 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) abstract_collection___IndexedCollection___first__eq},
+  {(bigint) abstract_collection___IndexedCollection___last},
+  {(bigint) abstract_collection___IndexedCollection___last__eq},
+  {(bigint) array___AbstractArray___push},
+  {(bigint) abstract_collection___IndexedCollection___append},
+  {(bigint) array___AbstractArray___pop},
+  {(bigint) array___AbstractArray___unshift},
+  {(bigint) array___AbstractArray___shift},
+  {(bigint) array___AbstractArray___index_of},
+  {(bigint) 6 /* 90: AbstractArray < AbstractArray: superclass init_table position */},
+  {(bigint) array___AbstractArray___enlarge},
+  {(bigint) array___AbstractArray___insert},
+  {(bigint) array___AbstractArray___last_index_of},
+  {(bigint) array___AbstractArray___index_of_from},
+  {(bigint) array___AbstractArray___last_index_of_from},
+  {(bigint) array___AbstractArray___reversed},
+  {(bigint) array___AbstractArray___copy_to},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AbstractArray::_length */
@@ -9216,108 +9251,108 @@ val_t NEW_AbstractArray(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 2);
   obj->vft = (classtable_elt_t*)VFT_AbstractArray;
-  ATTR_array___AbstractArray____length(obj) = TAG_Int((long int)0);
+  ATTR_array___AbstractArray____length(obj) =  TAG_Int(0);
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Array[98] = {
-  {(long int) 3783 /* 0: Identity */},
-  {(long int) 3 /* 1: Array < Object: superclass typecheck marker */},
-  {(long int) 171 /* 2: Array < ArrayCapable: superclass typecheck marker */},
-  {(long int) 3783 /* 3: Array < Array: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: Array < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: Array < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: Array < SimpleCollection: superclass typecheck marker */},
-  {(long int) 3127 /* 8: Array < Map: superclass typecheck marker */},
-  {(long int) 3295 /* 9: Array < IndexedCollection: superclass typecheck marker */},
-  {(long int) 3639 /* 10: Array < AbstractArray: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Array < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) array___AbstractArray_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) array___AbstractArray___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 7 /* 40: Array < ArrayCapable: superclass init_table position */},
-  {(long int) array___ArrayCapable___calloc_array},
-  {(long int) 8 /* 42: Array < Array: superclass init_table position */},
-  {(long int) array___Array___init},
-  {(long int) array___Array___with},
-  {(long int) array___Array___with_capacity},
-  {(long int) array___Array___filled_with},
-  {(long int) array___Array___with_native},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: Array < Collection: superclass init_table position */},
-  {(long int) array___AbstractArray___iterator},
-  {(long int) array___AbstractArray___is_empty},
-  {(long int) array___AbstractArray___length},
-  {(long int) array___AbstractArray___has},
-  {(long int) array___AbstractArray___has_only},
-  {(long int) array___AbstractArray___count},
-  {(long int) abstract_collection___IndexedCollection___first},
-  {(long int) 2 /* 66: Array < RemovableCollection: superclass init_table position */},
-  {(long int) array___AbstractArray___clear},
-  {(long int) array___AbstractArray___remove},
-  {(long int) array___AbstractArray___remove_all},
-  {(long int) 4 /* 70: Array < SimpleCollection: superclass init_table position */},
-  {(long int) array___AbstractArray___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: Array < Map: superclass init_table position */},
-  {(long int) array___Array_____bra},
-  {(long int) array___Array_____braeq},
-  {(long int) array___AbstractArray___has_key},
-  {(long int) array___AbstractArray___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
-  {(long int) 5 /* 80: Array < IndexedCollection: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___first__eq},
-  {(long int) abstract_collection___IndexedCollection___last},
-  {(long int) abstract_collection___IndexedCollection___last__eq},
-  {(long int) array___AbstractArray___push},
-  {(long int) abstract_collection___IndexedCollection___append},
-  {(long int) array___AbstractArray___pop},
-  {(long int) array___AbstractArray___unshift},
-  {(long int) array___AbstractArray___shift},
-  {(long int) array___AbstractArray___index_of},
-  {(long int) 6 /* 90: Array < AbstractArray: superclass init_table position */},
-  {(long int) array___Array___enlarge},
-  {(long int) array___AbstractArray___insert},
-  {(long int) array___AbstractArray___last_index_of},
-  {(long int) array___AbstractArray___index_of_from},
-  {(long int) array___AbstractArray___last_index_of_from},
-  {(long int) array___AbstractArray___reversed},
-  {(long int) array___AbstractArray___copy_to},
+  {(bigint) 3787 /* 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 */},
+  {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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Array < Object: superclass init_table position */},
+  {(bigint) kernel___Object___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) array___AbstractArray_____eqeq},
+  {(bigint) kernel___Object_____neq},
+  {(bigint) array___AbstractArray___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) 7 /* 40: Array < ArrayCapable: superclass init_table position */},
+  {(bigint) array___ArrayCapable___calloc_array},
+  {(bigint) 8 /* 42: Array < Array: superclass init_table position */},
+  {(bigint) array___Array___init},
+  {(bigint) array___Array___with},
+  {(bigint) array___Array___with_capacity},
+  {(bigint) array___Array___filled_with},
+  {(bigint) array___Array___with_native},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: Array < Collection: superclass init_table position */},
+  {(bigint) array___AbstractArray___iterator},
+  {(bigint) array___AbstractArray___is_empty},
+  {(bigint) array___AbstractArray___length},
+  {(bigint) array___AbstractArray___has},
+  {(bigint) array___AbstractArray___has_only},
+  {(bigint) array___AbstractArray___count},
+  {(bigint) abstract_collection___IndexedCollection___first},
+  {(bigint) 2 /* 66: 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) array___AbstractArray___add},
+  {(bigint) abstract_collection___SimpleCollection___add_all},
+  {(bigint) string___Map___map_join},
+  {(bigint) 3 /* 74: 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) abstract_collection___IndexedCollection___first__eq},
+  {(bigint) abstract_collection___IndexedCollection___last},
+  {(bigint) abstract_collection___IndexedCollection___last__eq},
+  {(bigint) array___AbstractArray___push},
+  {(bigint) abstract_collection___IndexedCollection___append},
+  {(bigint) array___AbstractArray___pop},
+  {(bigint) array___AbstractArray___unshift},
+  {(bigint) array___AbstractArray___shift},
+  {(bigint) array___AbstractArray___index_of},
+  {(bigint) 6 /* 90: Array < AbstractArray: superclass init_table position */},
+  {(bigint) array___Array___enlarge},
+  {(bigint) array___AbstractArray___insert},
+  {(bigint) array___AbstractArray___last_index_of},
+  {(bigint) array___AbstractArray___index_of_from},
+  {(bigint) array___AbstractArray___last_index_of_from},
+  {(bigint) array___AbstractArray___reversed},
+  {(bigint) array___AbstractArray___copy_to},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Array::_length */
@@ -9327,8 +9362,8 @@ val_t NEW_Array(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_Array;
-  ATTR_array___AbstractArray____length(obj) = TAG_Int((long int)0);
-  ATTR_array___Array____capacity(obj) = TAG_Int((long int)0);
+  ATTR_array___AbstractArray____length(obj) =  TAG_Int(0);
+  ATTR_array___Array____capacity(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_array___Array___init() {
@@ -9362,58 +9397,58 @@ val_t NEW_array___Array___with_native(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ArrayIterator[52] = {
-  {(long int) 3315 /* 0: Identity */},
-  {(long int) 3 /* 1: ArrayIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: ArrayIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2527 /* 3: ArrayIterator < MapIterator: superclass typecheck marker */},
-  {(long int) 3171 /* 4: ArrayIterator < IndexedIterator: superclass typecheck marker */},
-  {(long int) 3315 /* 5: ArrayIterator < ArrayIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ArrayIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: ArrayIterator < Iterator: superclass init_table position */},
-  {(long int) array___ArrayIterator___item},
-  {(long int) array___ArrayIterator___next},
-  {(long int) array___ArrayIterator___is_ok},
-  {(long int) 2 /* 45: ArrayIterator < MapIterator: superclass init_table position */},
-  {(long int) abstract_collection___IndexedIterator___key},
-  {(long int) array___ArrayIterator___item__eq},
-  {(long int) 3 /* 48: ArrayIterator < IndexedIterator: superclass init_table position */},
-  {(long int) array___ArrayIterator___index},
-  {(long int) 4 /* 50: ArrayIterator < ArrayIterator: superclass init_table position */},
-  {(long int) array___ArrayIterator___init},
+  {(bigint) 3323 /* 0: Identity */},
+  {(bigint) 3 /* 1: ArrayIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: ArrayIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2547 /* 3: ArrayIterator < MapIterator: superclass typecheck marker */},
+  {(bigint) 3183 /* 4: ArrayIterator < IndexedIterator: superclass typecheck marker */},
+  {(bigint) 3323 /* 5: ArrayIterator < ArrayIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ArrayIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: ArrayIterator < Iterator: superclass init_table position */},
+  {(bigint) array___ArrayIterator___item},
+  {(bigint) array___ArrayIterator___next},
+  {(bigint) array___ArrayIterator___is_ok},
+  {(bigint) 2 /* 45: ArrayIterator < MapIterator: superclass init_table position */},
+  {(bigint) abstract_collection___IndexedIterator___key},
+  {(bigint) array___ArrayIterator___item__eq},
+  {(bigint) 3 /* 48: ArrayIterator < IndexedIterator: superclass init_table position */},
+  {(bigint) array___ArrayIterator___index},
+  {(bigint) 4 /* 50: ArrayIterator < ArrayIterator: superclass init_table position */},
+  {(bigint) array___ArrayIterator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ArrayIterator::_index */
@@ -9422,7 +9457,7 @@ val_t NEW_ArrayIterator(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_ArrayIterator;
-  ATTR_array___ArrayIterator____index(obj) = TAG_Int((long int)0);
+  ATTR_array___ArrayIterator____index(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_array___ArrayIterator___init(val_t p0) {
@@ -9432,46 +9467,46 @@ val_t NEW_array___ArrayIterator___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ArraySet[78] = {
-  {(long int) 3631 /* 0: Identity */},
-  {(long int) 3 /* 1: ArraySet < Object: superclass typecheck marker */},
+  {(bigint) 3643 /* 0: Identity */},
+  {(bigint) 3 /* 1: ArraySet < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 3263 /* 4: ArraySet < Set: superclass typecheck marker */},
-  {(long int) 163 /* 5: ArraySet < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: ArraySet < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: ArraySet < SimpleCollection: superclass typecheck marker */},
-  {(long int) 3631 /* 8: ArraySet < ArraySet: superclass typecheck marker */},
+  {(bigint) 3275 /* 4: ArraySet < Set: superclass typecheck marker */},
+  {(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 */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ArraySet < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ArraySet < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9481,35 +9516,35 @@ const classtable_elt_t VFT_ArraySet[78] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 4 /* 49: ArraySet < Set: superclass init_table position */},
+  {(bigint) 4 /* 49: ArraySet < Set: superclass init_table position */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: ArraySet < Collection: superclass init_table position */},
-  {(long int) array___ArraySet___iterator},
-  {(long int) array___ArraySet___is_empty},
-  {(long int) array___ArraySet___length},
-  {(long int) array___ArraySet___has},
-  {(long int) abstract_collection___Set___has_only},
-  {(long int) abstract_collection___Set___count},
-  {(long int) array___ArraySet___first},
-  {(long int) 2 /* 66: ArraySet < RemovableCollection: superclass init_table position */},
-  {(long int) array___ArraySet___clear},
-  {(long int) array___ArraySet___remove},
-  {(long int) array___ArraySet___remove_all},
-  {(long int) 3 /* 70: ArraySet < SimpleCollection: superclass init_table position */},
-  {(long int) array___ArraySet___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
-  {(long int) 5 /* 73: ArraySet < ArraySet: superclass init_table position */},
-  {(long int) array___ArraySet___enlarge},
-  {(long int) array___ArraySet___remove_at},
-  {(long int) array___ArraySet___init},
-  {(long int) array___ArraySet___with_capacity},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: ArraySet < Collection: superclass init_table position */},
+  {(bigint) array___ArraySet___iterator},
+  {(bigint) array___ArraySet___is_empty},
+  {(bigint) array___ArraySet___length},
+  {(bigint) array___ArraySet___has},
+  {(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) array___ArraySet___clear},
+  {(bigint) array___ArraySet___remove},
+  {(bigint) array___ArraySet___remove_all},
+  {(bigint) 3 /* 70: 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) array___ArraySet___enlarge},
+  {(bigint) array___ArraySet___remove_at},
+  {(bigint) array___ArraySet___init},
+  {(bigint) array___ArraySet___with_capacity},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ArraySet::_array */
@@ -9532,53 +9567,53 @@ val_t NEW_array___ArraySet___with_capacity(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ArraySetIterator[47] = {
-  {(long int) 2663 /* 0: Identity */},
-  {(long int) 3 /* 1: ArraySetIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: ArraySetIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2663 /* 3: ArraySetIterator < ArraySetIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ArraySetIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: ArraySetIterator < Iterator: superclass init_table position */},
-  {(long int) array___ArraySetIterator___item},
-  {(long int) array___ArraySetIterator___next},
-  {(long int) array___ArraySetIterator___is_ok},
-  {(long int) 2 /* 45: ArraySetIterator < ArraySetIterator: superclass init_table position */},
-  {(long int) array___ArraySetIterator___init},
+  {(bigint) 2675 /* 0: Identity */},
+  {(bigint) 3 /* 1: ArraySetIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: ArraySetIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2675 /* 3: ArraySetIterator < ArraySetIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ArraySetIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: ArraySetIterator < Iterator: superclass init_table position */},
+  {(bigint) array___ArraySetIterator___item},
+  {(bigint) array___ArraySetIterator___next},
+  {(bigint) array___ArraySetIterator___is_ok},
+  {(bigint) 2 /* 45: ArraySetIterator < ArraySetIterator: superclass init_table position */},
+  {(bigint) array___ArraySetIterator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ArraySetIterator::_iter */
@@ -9595,46 +9630,46 @@ val_t NEW_array___ArraySetIterator___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ArrayMap[85] = {
-  {(long int) 3635 /* 0: Identity */},
-  {(long int) 3 /* 1: ArrayMap < Object: superclass typecheck marker */},
+  {(bigint) 3647 /* 0: Identity */},
+  {(bigint) 3 /* 1: ArrayMap < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 3311 /* 4: ArrayMap < CoupleMap: superclass typecheck marker */},
-  {(long int) 163 /* 5: ArrayMap < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: ArrayMap < RemovableCollection: superclass typecheck marker */},
+  {(bigint) 3319 /* 4: ArrayMap < CoupleMap: superclass typecheck marker */},
+  {(bigint) 163 /* 5: ArrayMap < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: ArrayMap < RemovableCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 3127 /* 8: ArrayMap < Map: superclass typecheck marker */},
-  {(long int) 3635 /* 9: ArrayMap < ArrayMap: superclass typecheck marker */},
+  {(bigint) 3143 /* 8: ArrayMap < Map: superclass typecheck marker */},
+  {(bigint) 3647 /* 9: ArrayMap < ArrayMap: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ArrayMap < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ArrayMap < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9644,42 +9679,42 @@ const classtable_elt_t VFT_ArrayMap[85] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 4 /* 49: ArrayMap < CoupleMap: superclass init_table position */},
-  {(long int) array___ArrayMap___couple_at},
+  {(bigint) 4 /* 49: 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 :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: ArrayMap < Collection: superclass init_table position */},
-  {(long int) array___ArrayMap___iterator},
-  {(long int) array___ArrayMap___is_empty},
-  {(long int) array___ArrayMap___length},
-  {(long int) array___ArrayMap___has},
-  {(long int) array___ArrayMap___has_only},
-  {(long int) array___ArrayMap___count},
-  {(long int) array___ArrayMap___first},
-  {(long int) 2 /* 66: ArrayMap < RemovableCollection: superclass init_table position */},
-  {(long int) array___ArrayMap___clear},
-  {(long int) array___ArrayMap___remove},
-  {(long int) array___ArrayMap___remove_all},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: ArrayMap < Collection: superclass init_table position */},
+  {(bigint) array___ArrayMap___iterator},
+  {(bigint) array___ArrayMap___is_empty},
+  {(bigint) array___ArrayMap___length},
+  {(bigint) array___ArrayMap___has},
+  {(bigint) array___ArrayMap___has_only},
+  {(bigint) array___ArrayMap___count},
+  {(bigint) array___ArrayMap___first},
+  {(bigint) 2 /* 66: ArrayMap < RemovableCollection: superclass init_table position */},
+  {(bigint) array___ArrayMap___clear},
+  {(bigint) array___ArrayMap___remove},
+  {(bigint) array___ArrayMap___remove_all},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: ArrayMap < Map: superclass init_table position */},
-  {(long int) array___ArrayMap_____bra},
-  {(long int) array___ArrayMap_____braeq},
-  {(long int) array___ArrayMap___has_key},
-  {(long int) array___ArrayMap___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
-  {(long int) 5 /* 80: ArrayMap < ArrayMap: superclass init_table position */},
-  {(long int) array___ArrayMap___enlarge},
-  {(long int) array___ArrayMap___remove_at_index},
-  {(long int) array___ArrayMap___index},
-  {(long int) array___ArrayMap___init},
+  {(bigint) string___Map___map_join},
+  {(bigint) 3 /* 74: 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) array___ArrayMap___enlarge},
+  {(bigint) array___ArrayMap___remove_at_index},
+  {(bigint) array___ArrayMap___index},
+  {(bigint) array___ArrayMap___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ArrayMap::_items */
@@ -9688,7 +9723,7 @@ val_t NEW_ArrayMap(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_ArrayMap;
-  ATTR_array___ArrayMap____last_index(obj) = TAG_Int((long int)0);
+  ATTR_array___ArrayMap____last_index(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_array___ArrayMap___init() {
@@ -9698,9 +9733,9 @@ val_t NEW_array___ArrayMap___init() {
   return self;
 }
 const classtable_elt_t VFT_ArrayCapable[42] = {
-  {(long int) 171 /* 0: Identity */},
-  {(long int) 3 /* 1: ArrayCapable < Object: superclass typecheck marker */},
-  {(long int) 171 /* 2: ArrayCapable < ArrayCapable: superclass typecheck marker */},
+  {(bigint) 171 /* 0: Identity */},
+  {(bigint) 3 /* 1: ArrayCapable < Object: superclass typecheck marker */},
+  {(bigint) 171 /* 2: ArrayCapable < ArrayCapable: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9711,35 +9746,35 @@ const classtable_elt_t VFT_ArrayCapable[42] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ArrayCapable < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ArrayCapable < ArrayCapable: superclass init_table position */},
-  {(long int) array___ArrayCapable___calloc_array},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ArrayCapable < 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) 1 /* 40: ArrayCapable < ArrayCapable: superclass init_table position */},
+  {(bigint) array___ArrayCapable___calloc_array},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ArrayCapable(void) {
@@ -9749,9 +9784,9 @@ val_t NEW_ArrayCapable(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_NativeArray[44] = {
-  {(long int) -9 /* 0: Identity */},
-  {(long int) 3 /* 1: NativeArray < Object: superclass typecheck marker */},
-  {(long int) -9 /* 2: NativeArray < NativeArray: superclass typecheck marker */},
+  {(bigint) -9 /* 0: Identity */},
+  {(bigint) 3 /* 1: NativeArray < Object: superclass typecheck marker */},
+  {(bigint) -9 /* 2: NativeArray < NativeArray: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9762,37 +9797,37 @@ const classtable_elt_t VFT_NativeArray[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: NativeArray < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: NativeArray < NativeArray: superclass init_table position */},
-  {(long int) array___NativeArray_____bra},
-  {(long int) array___NativeArray_____braeq},
-  {(long int) array___NativeArray___copy_to},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: NativeArray < 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) 1 /* 40: NativeArray < NativeArray: superclass init_table position */},
+  {(bigint) array___NativeArray_____bra},
+  {(bigint) array___NativeArray_____braeq},
+  {(bigint) array___NativeArray___copy_to},
 };
 /* 0: Pointer to the classtable */
 val_t BOX_NativeArray(val_t * val) {
@@ -9802,140 +9837,140 @@ val_t BOX_NativeArray(val_t * val) {
   return OBJ2VAL(box);
 }
 const classtable_elt_t VFT_String[134] = {
-  {(long int) 3771 /* 0: Identity */},
-  {(long int) 3 /* 1: String < Object: superclass typecheck marker */},
-  {(long int) 31 /* 2: String < StringCapable: superclass typecheck marker */},
-  {(long int) 51 /* 3: String < Pattern: superclass typecheck marker */},
-  {(long int) 155 /* 4: String < Comparable: superclass typecheck marker */},
-  {(long int) 163 /* 5: String < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: String < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: String < SimpleCollection: superclass typecheck marker */},
-  {(long int) 3127 /* 8: String < Map: superclass typecheck marker */},
-  {(long int) 3295 /* 9: String < IndexedCollection: superclass typecheck marker */},
-  {(long int) 3639 /* 10: String < AbstractArray: superclass typecheck marker */},
-  {(long int) 3771 /* 11: String < String: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___String___hash},
-  {(long int) string___String___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: String < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) string___String_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) string___String___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 8 /* 40: String < StringCapable: superclass init_table position */},
-  {(long int) string___StringCapable___calloc_string},
-  {(long int) 9 /* 42: String < Pattern: superclass init_table position */},
-  {(long int) string_search___String___search_index_in},
-  {(long int) string_search___String___search_in},
-  {(long int) string_search___Pattern___search_all_in},
-  {(long int) string_search___Pattern___split_in},
-  {(long int) 7 /* 47: String < Comparable: superclass init_table position */},
-  {(long int) string___String_____l},
-  {(long int) kernel___Comparable_____leq},
-  {(long int) kernel___Comparable_____geq},
-  {(long int) kernel___Comparable_____g},
-  {(long int) kernel___Comparable_____leqg},
-  {(long int) kernel___Comparable___is_between},
-  {(long int) kernel___Comparable___max},
-  {(long int) kernel___Comparable___min},
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: String < Collection: superclass init_table position */},
-  {(long int) array___AbstractArray___iterator},
-  {(long int) array___AbstractArray___is_empty},
-  {(long int) array___AbstractArray___length},
-  {(long int) array___AbstractArray___has},
-  {(long int) array___AbstractArray___has_only},
-  {(long int) array___AbstractArray___count},
-  {(long int) abstract_collection___IndexedCollection___first},
-  {(long int) 2 /* 66: String < RemovableCollection: superclass init_table position */},
-  {(long int) array___AbstractArray___clear},
-  {(long int) array___AbstractArray___remove},
-  {(long int) array___AbstractArray___remove_all},
-  {(long int) 4 /* 70: String < SimpleCollection: superclass init_table position */},
-  {(long int) string___String___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: String < Map: superclass init_table position */},
-  {(long int) string___String_____bra},
-  {(long int) string___String_____braeq},
-  {(long int) array___AbstractArray___has_key},
-  {(long int) array___AbstractArray___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
-  {(long int) 5 /* 80: String < IndexedCollection: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___first__eq},
-  {(long int) abstract_collection___IndexedCollection___last},
-  {(long int) abstract_collection___IndexedCollection___last__eq},
-  {(long int) array___AbstractArray___push},
-  {(long int) string___String___append},
-  {(long int) array___AbstractArray___pop},
-  {(long int) array___AbstractArray___unshift},
-  {(long int) array___AbstractArray___shift},
-  {(long int) array___AbstractArray___index_of},
-  {(long int) 6 /* 90: String < AbstractArray: superclass init_table position */},
-  {(long int) string___String___enlarge},
-  {(long int) array___AbstractArray___insert},
-  {(long int) array___AbstractArray___last_index_of},
-  {(long int) array___AbstractArray___index_of_from},
-  {(long int) array___AbstractArray___last_index_of_from},
-  {(long int) array___AbstractArray___reversed},
-  {(long int) array___AbstractArray___copy_to},
-  {(long int) symbol___String___to_symbol},
-  {(long int) 10 /* 99: String < String: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___append},
-  {(long int) string___String_____plus},
-  {(long int) string___String_____star},
-  {(long int) string___String___to_i},
-  {(long int) string___String___to_hex},
-  {(long int) string___String___a_to},
-  {(long int) string___String___to_cstring},
-  {(long int) string___String___substring},
-  {(long int) string___String___substring_from},
-  {(long int) string___String___has_substring},
-  {(long int) string___String___has_prefix},
-  {(long int) string___String___has_suffix},
-  {(long int) string___String___init},
-  {(long int) string___String___from},
-  {(long int) string___String___with_capacity},
-  {(long int) string___String___with_native},
-  {(long int) string___String___from_cstring},
-  {(long int) string___String___filled_with},
-  {(long int) string___String___to_upper},
-  {(long int) string___String___to_lower},
-  {(long int) string___String___items},
-  {(long int) string___String___capacity},
-  {(long int) file___String___file_exists},
-  {(long int) file___String___file_stat},
-  {(long int) file___String___strip_extension},
-  {(long int) file___String___basename},
-  {(long int) file___String___dirname},
-  {(long int) file___String___file_path},
-  {(long int) file___String___mkdir},
-  {(long int) string_search___String___search},
-  {(long int) string_search___String___search_from},
-  {(long int) string_search___String___search_all},
-  {(long int) string_search___String___split_with},
-  {(long int) string_search___String___split},
+  {(bigint) 3783 /* 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 */},
+  {(bigint) 155 /* 4: String < Comparable: superclass typecheck marker */},
+  {(bigint) 163 /* 5: String < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: String < RemovableCollection: superclass typecheck marker */},
+  {(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 */},
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___String___hash},
+  {(bigint) string___String___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: String < Object: superclass init_table position */},
+  {(bigint) kernel___Object___object_id},
+  {(bigint) kernel___Object___is_same_type},
+  {(bigint) string___String_____eqeq},
+  {(bigint) kernel___Object_____neq},
+  {(bigint) string___String___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) 8 /* 40: String < StringCapable: superclass init_table position */},
+  {(bigint) string___StringCapable___calloc_string},
+  {(bigint) 9 /* 42: 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___String_____l},
+  {(bigint) kernel___Comparable_____leq},
+  {(bigint) kernel___Comparable_____geq},
+  {(bigint) kernel___Comparable_____g},
+  {(bigint) kernel___Comparable_____leqg},
+  {(bigint) kernel___Comparable___is_between},
+  {(bigint) kernel___Comparable___max},
+  {(bigint) kernel___Comparable___min},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: String < Collection: superclass init_table position */},
+  {(bigint) array___AbstractArray___iterator},
+  {(bigint) array___AbstractArray___is_empty},
+  {(bigint) array___AbstractArray___length},
+  {(bigint) array___AbstractArray___has},
+  {(bigint) array___AbstractArray___has_only},
+  {(bigint) array___AbstractArray___count},
+  {(bigint) abstract_collection___IndexedCollection___first},
+  {(bigint) 2 /* 66: 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) string___String___add},
+  {(bigint) abstract_collection___SimpleCollection___add_all},
+  {(bigint) string___Map___map_join},
+  {(bigint) 3 /* 74: 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) abstract_collection___IndexedCollection___first__eq},
+  {(bigint) abstract_collection___IndexedCollection___last},
+  {(bigint) abstract_collection___IndexedCollection___last__eq},
+  {(bigint) array___AbstractArray___push},
+  {(bigint) string___String___append},
+  {(bigint) array___AbstractArray___pop},
+  {(bigint) array___AbstractArray___unshift},
+  {(bigint) array___AbstractArray___shift},
+  {(bigint) array___AbstractArray___index_of},
+  {(bigint) 6 /* 90: String < AbstractArray: superclass init_table position */},
+  {(bigint) string___String___enlarge},
+  {(bigint) array___AbstractArray___insert},
+  {(bigint) array___AbstractArray___last_index_of},
+  {(bigint) array___AbstractArray___index_of_from},
+  {(bigint) array___AbstractArray___last_index_of_from},
+  {(bigint) array___AbstractArray___reversed},
+  {(bigint) array___AbstractArray___copy_to},
+  {(bigint) symbol___String___to_symbol},
+  {(bigint) 10 /* 99: String < String: superclass init_table position */},
+  {(bigint) abstract_collection___IndexedCollection___append},
+  {(bigint) string___String_____plus},
+  {(bigint) string___String_____star},
+  {(bigint) string___String___to_i},
+  {(bigint) string___String___to_hex},
+  {(bigint) string___String___a_to},
+  {(bigint) string___String___to_cstring},
+  {(bigint) string___String___substring},
+  {(bigint) string___String___substring_from},
+  {(bigint) string___String___has_substring},
+  {(bigint) string___String___has_prefix},
+  {(bigint) string___String___has_suffix},
+  {(bigint) string___String___init},
+  {(bigint) string___String___from},
+  {(bigint) string___String___with_capacity},
+  {(bigint) string___String___with_native},
+  {(bigint) string___String___from_cstring},
+  {(bigint) string___String___filled_with},
+  {(bigint) string___String___to_upper},
+  {(bigint) string___String___to_lower},
+  {(bigint) string___String___items},
+  {(bigint) string___String___capacity},
+  {(bigint) file___String___file_exists},
+  {(bigint) file___String___file_stat},
+  {(bigint) file___String___strip_extension},
+  {(bigint) file___String___basename},
+  {(bigint) file___String___dirname},
+  {(bigint) file___String___file_path},
+  {(bigint) file___String___mkdir},
+  {(bigint) string_search___String___search},
+  {(bigint) string_search___String___search_from},
+  {(bigint) string_search___String___search_all},
+  {(bigint) string_search___String___split_with},
+  {(bigint) string_search___String___split},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute String::_length */
@@ -9945,8 +9980,8 @@ val_t NEW_String(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_String;
-  ATTR_array___AbstractArray____length(obj) = TAG_Int((long int)0);
-  ATTR_string___String____capacity(obj) = TAG_Int((long int)0);
+  ATTR_array___AbstractArray____length(obj) =  TAG_Int(0);
+  ATTR_string___String____capacity(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_string___String___init() {
@@ -9985,10 +10020,10 @@ val_t NEW_string___String___filled_with(val_t p0, val_t p1) {
   string___String___filled_with(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_NativeString[54] = {
-  {(long int) -5 /* 0: Identity */},
-  {(long int) 3 /* 1: NativeString < Object: superclass typecheck marker */},
-  {(long int) -5 /* 2: NativeString < NativeString: superclass typecheck marker */},
+const classtable_elt_t VFT_NativeString[51] = {
+  {(bigint) -5 /* 0: Identity */},
+  {(bigint) 3 /* 1: NativeString < Object: superclass typecheck marker */},
+  {(bigint) -5 /* 2: NativeString < NativeString: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -9999,47 +10034,44 @@ const classtable_elt_t VFT_NativeString[54] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: NativeString < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) environ___NativeString___get_environ},
-  {(long int) environ___NativeString___put_environ},
-  {(long int) environ___NativeString___unset_environ},
-  {(long int) environ___NativeString___set_environ},
-  {(long int) 1 /* 44: NativeString < NativeString: superclass init_table position */},
-  {(long int) string___NativeString_____bra},
-  {(long int) string___NativeString_____braeq},
-  {(long int) string___NativeString___copy_to},
-  {(long int) string___NativeString___cstring_length},
-  {(long int) string___NativeString___atoi},
-  {(long int) file___NativeString___file_exists},
-  {(long int) file___NativeString___file_stat},
-  {(long int) file___NativeString___file_mkdir},
-  {(long int) exec___NativeString___system},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: NativeString < 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) environ___NativeString___get_environ},
+  {(bigint) 1 /* 41: NativeString < NativeString: superclass init_table position */},
+  {(bigint) string___NativeString_____bra},
+  {(bigint) string___NativeString_____braeq},
+  {(bigint) string___NativeString___copy_to},
+  {(bigint) string___NativeString___cstring_length},
+  {(bigint) string___NativeString___atoi},
+  {(bigint) file___NativeString___file_exists},
+  {(bigint) file___NativeString___file_stat},
+  {(bigint) file___NativeString___file_mkdir},
+  {(bigint) exec___NativeString___system},
 };
 /* 0: Pointer to the classtable */
 val_t BOX_NativeString(char * val) {
@@ -10049,9 +10081,9 @@ val_t BOX_NativeString(char * val) {
   return OBJ2VAL(box);
 }
 const classtable_elt_t VFT_StringCapable[42] = {
-  {(long int) 31 /* 0: Identity */},
-  {(long int) 3 /* 1: StringCapable < Object: superclass typecheck marker */},
-  {(long int) 31 /* 2: StringCapable < StringCapable: superclass typecheck marker */},
+  {(bigint) 31 /* 0: Identity */},
+  {(bigint) 3 /* 1: StringCapable < Object: superclass typecheck marker */},
+  {(bigint) 31 /* 2: StringCapable < StringCapable: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10062,35 +10094,35 @@ const classtable_elt_t VFT_StringCapable[42] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: StringCapable < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: StringCapable < StringCapable: superclass init_table position */},
-  {(long int) string___StringCapable___calloc_string},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: StringCapable < 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) 1 /* 40: StringCapable < StringCapable: superclass init_table position */},
+  {(bigint) string___StringCapable___calloc_string},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_StringCapable(void) {
@@ -10100,12 +10132,12 @@ val_t NEW_StringCapable(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_HashCollection[66] = {
-  {(long int) 2615 /* 0: Identity */},
-  {(long int) 3 /* 1: HashCollection < Object: superclass typecheck marker */},
-  {(long int) 171 /* 2: HashCollection < ArrayCapable: superclass typecheck marker */},
-  {(long int) 2615 /* 3: HashCollection < HashCollection: superclass typecheck marker */},
+  {(bigint) 2627 /* 0: Identity */},
+  {(bigint) 3 /* 1: HashCollection < Object: superclass typecheck marker */},
+  {(bigint) 171 /* 2: HashCollection < ArrayCapable: superclass typecheck marker */},
+  {(bigint) 2627 /* 3: HashCollection < HashCollection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: HashCollection < Collection: superclass typecheck marker */},
+  {(bigint) 163 /* 5: HashCollection < Collection: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10113,42 +10145,42 @@ const classtable_elt_t VFT_HashCollection[66] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashCollection < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: HashCollection < ArrayCapable: superclass init_table position */},
-  {(long int) array___ArrayCapable___calloc_array},
-  {(long int) 3 /* 42: HashCollection < HashCollection: superclass init_table position */},
-  {(long int) hash___HashCollection___first_item},
-  {(long int) hash___HashCollection___index_at},
-  {(long int) hash___HashCollection___store},
-  {(long int) hash___HashCollection___remove_index},
-  {(long int) hash___HashCollection___raz},
-  {(long int) hash___HashCollection___enlarge},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashCollection < 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) 2 /* 40: HashCollection < ArrayCapable: superclass init_table position */},
+  {(bigint) array___ArrayCapable___calloc_array},
+  {(bigint) 3 /* 42: HashCollection < HashCollection: superclass init_table position */},
+  {(bigint) hash___HashCollection___first_item},
+  {(bigint) hash___HashCollection___index_at},
+  {(bigint) hash___HashCollection___store},
+  {(bigint) hash___HashCollection___remove_index},
+  {(bigint) hash___HashCollection___raz},
+  {(bigint) hash___HashCollection___enlarge},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10156,16 +10188,16 @@ const classtable_elt_t VFT_HashCollection[66] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: HashCollection < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Collection___iterator},
-  {(long int) abstract_collection___Collection___is_empty},
-  {(long int) hash___HashCollection___length},
-  {(long int) abstract_collection___Collection___has},
-  {(long int) abstract_collection___Collection___has_only},
-  {(long int) abstract_collection___Collection___count},
-  {(long int) abstract_collection___Collection___first},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: HashCollection < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Collection___iterator},
+  {(bigint) abstract_collection___Collection___is_empty},
+  {(bigint) hash___HashCollection___length},
+  {(bigint) abstract_collection___Collection___has},
+  {(bigint) abstract_collection___Collection___has_only},
+  {(bigint) abstract_collection___Collection___count},
+  {(bigint) abstract_collection___Collection___first},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashCollection::_array */
@@ -10179,15 +10211,19 @@ val_t NEW_HashCollection(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_HashCollection;
-  ATTR_hash___HashCollection____capacity(obj) = TAG_Int((long int)0);
-  ATTR_hash___HashCollection____length(obj) = TAG_Int((long int)0);
-  ATTR_hash___HashCollection____last_accessed_index(obj) = TAG_Int((long int)0);
+  ATTR_hash___HashCollection____array(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____capacity(obj) =  TAG_Int(0);
+  ATTR_hash___HashCollection____length(obj) =  TAG_Int(0);
+  ATTR_hash___HashCollection____first_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____last_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____last_accessed_index(obj) = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ATTR_hash___HashCollection____last_accessed_key(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_HashNode[46] = {
-  {(long int) 139 /* 0: Identity */},
-  {(long int) 3 /* 1: HashNode < Object: superclass typecheck marker */},
-  {(long int) 139 /* 2: HashNode < HashNode: superclass typecheck marker */},
+  {(bigint) 139 /* 0: Identity */},
+  {(bigint) 3 /* 1: HashNode < Object: superclass typecheck marker */},
+  {(bigint) 139 /* 2: HashNode < HashNode: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10198,39 +10234,39 @@ const classtable_elt_t VFT_HashNode[46] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashNode < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: HashNode < HashNode: superclass init_table position */},
-  {(long int) hash___HashNode___key},
-  {(long int) hash___HashNode___next_item},
-  {(long int) hash___HashNode___next_item__eq},
-  {(long int) hash___HashNode___prev_item},
-  {(long int) hash___HashNode___prev_item__eq},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashNode < 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) 1 /* 40: HashNode < HashNode: superclass init_table position */},
+  {(bigint) hash___HashNode___key},
+  {(bigint) hash___HashNode___next_item},
+  {(bigint) hash___HashNode___next_item__eq},
+  {(bigint) hash___HashNode___prev_item},
+  {(bigint) hash___HashNode___prev_item__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashNode::_next_item */
@@ -10239,89 +10275,91 @@ val_t NEW_HashNode(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_HashNode;
+  ATTR_hash___HashNode____next_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashNode____prev_item(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_HashMap[80] = {
-  {(long int) 3627 /* 0: Identity */},
-  {(long int) 3 /* 1: HashMap < Object: superclass typecheck marker */},
-  {(long int) 171 /* 2: HashMap < ArrayCapable: superclass typecheck marker */},
-  {(long int) 2615 /* 3: HashMap < HashCollection: superclass typecheck marker */},
-  {(long int) 3311 /* 4: HashMap < CoupleMap: superclass typecheck marker */},
-  {(long int) 163 /* 5: HashMap < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: HashMap < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3627 /* 7: HashMap < HashMap: superclass typecheck marker */},
-  {(long int) 3127 /* 8: HashMap < Map: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashMap < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 5 /* 40: HashMap < ArrayCapable: superclass init_table position */},
-  {(long int) array___ArrayCapable___calloc_array},
-  {(long int) 6 /* 42: HashMap < HashCollection: superclass init_table position */},
-  {(long int) hash___HashCollection___first_item},
-  {(long int) hash___HashCollection___index_at},
-  {(long int) hash___HashCollection___store},
-  {(long int) hash___HashCollection___remove_index},
-  {(long int) hash___HashCollection___raz},
-  {(long int) hash___HashCollection___enlarge},
-  {(long int) 4 /* 49: HashMap < CoupleMap: superclass init_table position */},
-  {(long int) hash___HashMap___couple_at},
-  {(long int) 7 /* 51: HashMap < HashMap: superclass init_table position */},
-  {(long int) hash___HashMap___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: HashMap < Collection: superclass init_table position */},
-  {(long int) hash___HashMap___iterator},
-  {(long int) hash___HashMap___is_empty},
-  {(long int) hash___HashCollection___length},
-  {(long int) hash___HashMap___has},
-  {(long int) hash___HashMap___has_only},
-  {(long int) hash___HashMap___count},
-  {(long int) hash___HashMap___first},
-  {(long int) 2 /* 66: HashMap < RemovableCollection: superclass init_table position */},
-  {(long int) hash___HashMap___clear},
-  {(long int) hash___HashMap___remove},
-  {(long int) abstract_collection___RemovableCollection___remove_all},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: HashMap < Map: superclass init_table position */},
-  {(long int) abstract_collection___CoupleMap_____bra},
-  {(long int) hash___HashMap_____braeq},
-  {(long int) abstract_collection___CoupleMap___has_key},
-  {(long int) hash___HashMap___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
+  {(bigint) 3639 /* 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) 3143 /* 8: HashMap < Map: superclass typecheck marker */},
+  {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) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashMap < 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) 5 /* 40: HashMap < ArrayCapable: superclass init_table position */},
+  {(bigint) array___ArrayCapable___calloc_array},
+  {(bigint) 6 /* 42: HashMap < HashCollection: superclass init_table position */},
+  {(bigint) hash___HashCollection___first_item},
+  {(bigint) hash___HashCollection___index_at},
+  {(bigint) hash___HashCollection___store},
+  {(bigint) hash___HashCollection___remove_index},
+  {(bigint) hash___HashCollection___raz},
+  {(bigint) hash___HashCollection___enlarge},
+  {(bigint) 4 /* 49: HashMap < CoupleMap: superclass init_table position */},
+  {(bigint) hash___HashMap___couple_at},
+  {(bigint) 7 /* 51: HashMap < HashMap: superclass init_table position */},
+  {(bigint) hash___HashMap___init},
+  {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) hash___HashMap___iterator},
+  {(bigint) hash___HashMap___is_empty},
+  {(bigint) hash___HashCollection___length},
+  {(bigint) hash___HashMap___has},
+  {(bigint) hash___HashMap___has_only},
+  {(bigint) hash___HashMap___count},
+  {(bigint) hash___HashMap___first},
+  {(bigint) 2 /* 66: HashMap < RemovableCollection: superclass init_table position */},
+  {(bigint) hash___HashMap___clear},
+  {(bigint) hash___HashMap___remove},
+  {(bigint) abstract_collection___RemovableCollection___remove_all},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) string___Map___map_join},
+  {(bigint) 3 /* 74: HashMap < Map: superclass init_table position */},
+  {(bigint) abstract_collection___CoupleMap_____bra},
+  {(bigint) hash___HashMap_____braeq},
+  {(bigint) abstract_collection___CoupleMap___has_key},
+  {(bigint) hash___HashMap___remove_at},
+  {(bigint) abstract_collection___Map___recover_with},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashMap::_array */
@@ -10335,9 +10373,13 @@ val_t NEW_HashMap(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_HashMap;
-  ATTR_hash___HashCollection____capacity(obj) = TAG_Int((long int)0);
-  ATTR_hash___HashCollection____length(obj) = TAG_Int((long int)0);
-  ATTR_hash___HashCollection____last_accessed_index(obj) = TAG_Int((long int)0);
+  ATTR_hash___HashCollection____array(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____capacity(obj) =  TAG_Int(0);
+  ATTR_hash___HashCollection____length(obj) =  TAG_Int(0);
+  ATTR_hash___HashCollection____first_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____last_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____last_accessed_index(obj) = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ATTR_hash___HashCollection____last_accessed_key(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
 val_t NEW_hash___HashMap___init() {
@@ -10347,60 +10389,60 @@ val_t NEW_hash___HashMap___init() {
   return self;
 }
 const classtable_elt_t VFT_HashMapNode[54] = {
-  {(long int) 2611 /* 0: Identity */},
-  {(long int) 3 /* 1: HashMapNode < Object: superclass typecheck marker */},
-  {(long int) 139 /* 2: HashMapNode < HashNode: superclass typecheck marker */},
-  {(long int) 143 /* 3: HashMapNode < Couple: superclass typecheck marker */},
-  {(long int) 2611 /* 4: HashMapNode < HashMapNode: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashMapNode < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: HashMapNode < HashNode: superclass init_table position */},
-  {(long int) hash___HashMapNode___key},
-  {(long int) hash___HashNode___next_item},
-  {(long int) hash___HashNode___next_item__eq},
-  {(long int) hash___HashNode___prev_item},
-  {(long int) hash___HashNode___prev_item__eq},
-  {(long int) 1 /* 46: HashMapNode < Couple: superclass init_table position */},
-  {(long int) abstract_collection___Couple___first},
-  {(long int) abstract_collection___Couple___first__eq},
-  {(long int) abstract_collection___Couple___second},
-  {(long int) abstract_collection___Couple___second__eq},
-  {(long int) abstract_collection___Couple___init},
-  {(long int) 3 /* 52: HashMapNode < HashMapNode: superclass init_table position */},
-  {(long int) hash___HashMapNode___init},
+  {(bigint) 2623 /* 0: Identity */},
+  {(bigint) 3 /* 1: HashMapNode < Object: superclass typecheck marker */},
+  {(bigint) 139 /* 2: HashMapNode < HashNode: superclass typecheck marker */},
+  {(bigint) 143 /* 3: HashMapNode < Couple: superclass typecheck marker */},
+  {(bigint) 2623 /* 4: HashMapNode < HashMapNode: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashMapNode < 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) 2 /* 40: HashMapNode < HashNode: superclass init_table position */},
+  {(bigint) hash___HashMapNode___key},
+  {(bigint) hash___HashNode___next_item},
+  {(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) 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) hash___HashMapNode___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashMapNode::_next_item */
@@ -10411,6 +10453,8 @@ val_t NEW_HashMapNode(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_HashMapNode;
+  ATTR_hash___HashNode____next_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashNode____prev_item(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
 val_t NEW_hash___HashMapNode___init(val_t p0, val_t p1) {
@@ -10420,56 +10464,56 @@ val_t NEW_hash___HashMapNode___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_HashMapIterator[50] = {
-  {(long int) 3183 /* 0: Identity */},
-  {(long int) 3 /* 1: HashMapIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: HashMapIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2527 /* 3: HashMapIterator < MapIterator: superclass typecheck marker */},
-  {(long int) 3183 /* 4: HashMapIterator < HashMapIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashMapIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: HashMapIterator < Iterator: superclass init_table position */},
-  {(long int) hash___HashMapIterator___item},
-  {(long int) hash___HashMapIterator___next},
-  {(long int) hash___HashMapIterator___is_ok},
-  {(long int) 2 /* 45: HashMapIterator < MapIterator: superclass init_table position */},
-  {(long int) hash___HashMapIterator___key},
-  {(long int) hash___HashMapIterator___item__eq},
-  {(long int) 3 /* 48: HashMapIterator < HashMapIterator: superclass init_table position */},
-  {(long int) hash___HashMapIterator___init},
+  {(bigint) 3195 /* 0: Identity */},
+  {(bigint) 3 /* 1: HashMapIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: HashMapIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2547 /* 3: HashMapIterator < MapIterator: superclass typecheck marker */},
+  {(bigint) 3195 /* 4: HashMapIterator < HashMapIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashMapIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: HashMapIterator < Iterator: superclass init_table position */},
+  {(bigint) hash___HashMapIterator___item},
+  {(bigint) hash___HashMapIterator___next},
+  {(bigint) hash___HashMapIterator___is_ok},
+  {(bigint) 2 /* 45: HashMapIterator < MapIterator: superclass init_table position */},
+  {(bigint) hash___HashMapIterator___key},
+  {(bigint) hash___HashMapIterator___item__eq},
+  {(bigint) 3 /* 48: HashMapIterator < HashMapIterator: superclass init_table position */},
+  {(bigint) hash___HashMapIterator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashMapIterator::_map */
@@ -10487,79 +10531,79 @@ val_t NEW_hash___HashMapIterator___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_HashSet[73] = {
-  {(long int) 3623 /* 0: Identity */},
-  {(long int) 3 /* 1: HashSet < Object: superclass typecheck marker */},
-  {(long int) 171 /* 2: HashSet < ArrayCapable: superclass typecheck marker */},
-  {(long int) 2615 /* 3: HashSet < HashCollection: superclass typecheck marker */},
-  {(long int) 3263 /* 4: HashSet < Set: superclass typecheck marker */},
-  {(long int) 163 /* 5: HashSet < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: HashSet < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: HashSet < SimpleCollection: superclass typecheck marker */},
-  {(long int) 3623 /* 8: HashSet < HashSet: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashSet < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 5 /* 40: HashSet < ArrayCapable: superclass init_table position */},
-  {(long int) array___ArrayCapable___calloc_array},
-  {(long int) 6 /* 42: HashSet < HashCollection: superclass init_table position */},
-  {(long int) hash___HashCollection___first_item},
-  {(long int) hash___HashCollection___index_at},
-  {(long int) hash___HashCollection___store},
-  {(long int) hash___HashCollection___remove_index},
-  {(long int) hash___HashCollection___raz},
-  {(long int) hash___HashCollection___enlarge},
-  {(long int) 4 /* 49: HashSet < Set: superclass init_table position */},
-  {(long int) 7 /* 50: HashSet < HashSet: superclass init_table position */},
-  {(long int) hash___HashSet___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: HashSet < Collection: superclass init_table position */},
-  {(long int) hash___HashSet___iterator},
-  {(long int) hash___HashSet___is_empty},
-  {(long int) hash___HashCollection___length},
-  {(long int) hash___HashSet___has},
-  {(long int) abstract_collection___Set___has_only},
-  {(long int) abstract_collection___Set___count},
-  {(long int) hash___HashSet___first},
-  {(long int) 2 /* 66: HashSet < RemovableCollection: superclass init_table position */},
-  {(long int) hash___HashSet___clear},
-  {(long int) hash___HashSet___remove},
-  {(long int) abstract_collection___Set___remove_all},
-  {(long int) 3 /* 70: HashSet < SimpleCollection: superclass init_table position */},
-  {(long int) hash___HashSet___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
+  {(bigint) 3635 /* 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 */},
+  {(bigint) 3275 /* 4: HashSet < Set: superclass typecheck marker */},
+  {(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 */},
+  {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) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashSet < 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) 5 /* 40: HashSet < ArrayCapable: superclass init_table position */},
+  {(bigint) array___ArrayCapable___calloc_array},
+  {(bigint) 6 /* 42: HashSet < HashCollection: superclass init_table position */},
+  {(bigint) hash___HashCollection___first_item},
+  {(bigint) hash___HashCollection___index_at},
+  {(bigint) hash___HashCollection___store},
+  {(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___HashSet___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: HashSet < Collection: superclass init_table position */},
+  {(bigint) hash___HashSet___iterator},
+  {(bigint) hash___HashSet___is_empty},
+  {(bigint) hash___HashCollection___length},
+  {(bigint) hash___HashSet___has},
+  {(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) hash___HashSet___clear},
+  {(bigint) hash___HashSet___remove},
+  {(bigint) abstract_collection___Set___remove_all},
+  {(bigint) 3 /* 70: HashSet < SimpleCollection: superclass init_table position */},
+  {(bigint) hash___HashSet___add},
+  {(bigint) abstract_collection___SimpleCollection___add_all},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashSet::_array */
@@ -10573,9 +10617,13 @@ val_t NEW_HashSet(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_HashSet;
-  ATTR_hash___HashCollection____capacity(obj) = TAG_Int((long int)0);
-  ATTR_hash___HashCollection____length(obj) = TAG_Int((long int)0);
-  ATTR_hash___HashCollection____last_accessed_index(obj) = TAG_Int((long int)0);
+  ATTR_hash___HashCollection____array(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____capacity(obj) =  TAG_Int(0);
+  ATTR_hash___HashCollection____length(obj) =  TAG_Int(0);
+  ATTR_hash___HashCollection____first_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____last_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashCollection____last_accessed_index(obj) = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ATTR_hash___HashCollection____last_accessed_key(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
 val_t NEW_hash___HashSet___init() {
@@ -10585,55 +10633,55 @@ val_t NEW_hash___HashSet___init() {
   return self;
 }
 const classtable_elt_t VFT_HashSetNode[49] = {
-  {(long int) 2603 /* 0: Identity */},
-  {(long int) 3 /* 1: HashSetNode < Object: superclass typecheck marker */},
-  {(long int) 139 /* 2: HashSetNode < HashNode: superclass typecheck marker */},
-  {(long int) 2603 /* 3: HashSetNode < HashSetNode: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashSetNode < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: HashSetNode < HashNode: superclass init_table position */},
-  {(long int) hash___HashSetNode___key},
-  {(long int) hash___HashNode___next_item},
-  {(long int) hash___HashNode___next_item__eq},
-  {(long int) hash___HashNode___prev_item},
-  {(long int) hash___HashNode___prev_item__eq},
-  {(long int) 2 /* 46: HashSetNode < HashSetNode: superclass init_table position */},
-  {(long int) hash___HashSetNode___key__eq},
-  {(long int) hash___HashSetNode___init},
+  {(bigint) 2615 /* 0: Identity */},
+  {(bigint) 3 /* 1: HashSetNode < Object: superclass typecheck marker */},
+  {(bigint) 139 /* 2: HashSetNode < HashNode: superclass typecheck marker */},
+  {(bigint) 2615 /* 3: HashSetNode < HashSetNode: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashSetNode < 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) 1 /* 40: HashSetNode < HashNode: superclass init_table position */},
+  {(bigint) hash___HashSetNode___key},
+  {(bigint) hash___HashNode___next_item},
+  {(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___HashSetNode___key__eq},
+  {(bigint) hash___HashSetNode___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashSetNode::_next_item */
@@ -10643,6 +10691,8 @@ val_t NEW_HashSetNode(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_HashSetNode;
+  ATTR_hash___HashNode____next_item(obj) =  NIT_NULL /*null*/;
+  ATTR_hash___HashNode____prev_item(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
 val_t NEW_hash___HashSetNode___init(val_t p0) {
@@ -10652,53 +10702,53 @@ val_t NEW_hash___HashSetNode___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_HashSetIterator[47] = {
-  {(long int) 2607 /* 0: Identity */},
-  {(long int) 3 /* 1: HashSetIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: HashSetIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2607 /* 3: HashSetIterator < HashSetIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: HashSetIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: HashSetIterator < Iterator: superclass init_table position */},
-  {(long int) hash___HashSetIterator___item},
-  {(long int) hash___HashSetIterator___next},
-  {(long int) hash___HashSetIterator___is_ok},
-  {(long int) 2 /* 45: HashSetIterator < HashSetIterator: superclass init_table position */},
-  {(long int) hash___HashSetIterator___init},
+  {(bigint) 2619 /* 0: Identity */},
+  {(bigint) 3 /* 1: HashSetIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: HashSetIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2619 /* 3: HashSetIterator < HashSetIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: HashSetIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: HashSetIterator < Iterator: superclass init_table position */},
+  {(bigint) hash___HashSetIterator___item},
+  {(bigint) hash___HashSetIterator___next},
+  {(bigint) hash___HashSetIterator___is_ok},
+  {(bigint) 2 /* 45: HashSetIterator < HashSetIterator: superclass init_table position */},
+  {(bigint) hash___HashSetIterator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute HashSetIterator::_set */
@@ -10715,10 +10765,10 @@ val_t NEW_hash___HashSetIterator___init(val_t p0) {
   hash___HashSetIterator___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_Symbol[46] = {
-  {(long int) 27 /* 0: Identity */},
-  {(long int) 3 /* 1: Symbol < Object: superclass typecheck marker */},
-  {(long int) 27 /* 2: Symbol < Symbol: superclass typecheck marker */},
+const classtable_elt_t VFT_Symbol[43] = {
+  {(bigint) 27 /* 0: Identity */},
+  {(bigint) 3 /* 1: Symbol < Object: superclass typecheck marker */},
+  {(bigint) 27 /* 2: Symbol < Symbol: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10729,39 +10779,36 @@ const classtable_elt_t VFT_Symbol[46] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) symbol___Symbol___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Symbol < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) environ___Symbol___environ},
-  {(long int) environ___Symbol___environ__eq},
-  {(long int) environ___Symbol___environ_default__eq},
-  {(long int) environ___Symbol___unset},
-  {(long int) 1 /* 44: Symbol < Symbol: superclass init_table position */},
-  {(long int) symbol___Symbol___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) symbol___Symbol___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Symbol < 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) environ___Symbol___environ},
+  {(bigint) 1 /* 41: Symbol < Symbol: superclass init_table position */},
+  {(bigint) symbol___Symbol___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Symbol::_string */
@@ -10778,9 +10825,9 @@ val_t NEW_symbol___Symbol___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AbstractSorter[46] = {
-  {(long int) 175 /* 0: Identity */},
-  {(long int) 3 /* 1: AbstractSorter < Object: superclass typecheck marker */},
-  {(long int) 175 /* 2: AbstractSorter < AbstractSorter: superclass typecheck marker */},
+  {(bigint) 175 /* 0: Identity */},
+  {(bigint) 3 /* 1: AbstractSorter < Object: superclass typecheck marker */},
+  {(bigint) 175 /* 2: AbstractSorter < AbstractSorter: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10791,39 +10838,39 @@ const classtable_elt_t VFT_AbstractSorter[46] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AbstractSorter < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: AbstractSorter < AbstractSorter: superclass init_table position */},
-  {(long int) sorter___AbstractSorter___compare},
-  {(long int) sorter___AbstractSorter___sort},
-  {(long int) sorter___AbstractSorter___sub_sort},
-  {(long int) sorter___AbstractSorter___quick_sort},
-  {(long int) sorter___AbstractSorter___bubble_sort},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AbstractSorter < 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) 1 /* 40: AbstractSorter < AbstractSorter: superclass init_table position */},
+  {(bigint) sorter___AbstractSorter___compare},
+  {(bigint) sorter___AbstractSorter___sort},
+  {(bigint) sorter___AbstractSorter___sub_sort},
+  {(bigint) sorter___AbstractSorter___quick_sort},
+  {(bigint) sorter___AbstractSorter___bubble_sort},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_AbstractSorter(void) {
@@ -10833,54 +10880,54 @@ val_t NEW_AbstractSorter(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_ComparableSorter[48] = {
-  {(long int) 2647 /* 0: Identity */},
-  {(long int) 3 /* 1: ComparableSorter < Object: superclass typecheck marker */},
-  {(long int) 175 /* 2: ComparableSorter < AbstractSorter: superclass typecheck marker */},
-  {(long int) 2647 /* 3: ComparableSorter < ComparableSorter: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ComparableSorter < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ComparableSorter < AbstractSorter: superclass init_table position */},
-  {(long int) sorter___ComparableSorter___compare},
-  {(long int) sorter___AbstractSorter___sort},
-  {(long int) sorter___AbstractSorter___sub_sort},
-  {(long int) sorter___AbstractSorter___quick_sort},
-  {(long int) sorter___AbstractSorter___bubble_sort},
-  {(long int) 2 /* 46: ComparableSorter < ComparableSorter: superclass init_table position */},
-  {(long int) sorter___ComparableSorter___init},
+  {(bigint) 2659 /* 0: Identity */},
+  {(bigint) 3 /* 1: ComparableSorter < Object: superclass typecheck marker */},
+  {(bigint) 175 /* 2: ComparableSorter < AbstractSorter: superclass typecheck marker */},
+  {(bigint) 2659 /* 3: ComparableSorter < ComparableSorter: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ComparableSorter < 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) 1 /* 40: ComparableSorter < AbstractSorter: superclass init_table position */},
+  {(bigint) sorter___ComparableSorter___compare},
+  {(bigint) sorter___AbstractSorter___sort},
+  {(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___ComparableSorter___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ComparableSorter(void) {
@@ -10896,10 +10943,10 @@ val_t NEW_sorter___ComparableSorter___init() {
   return self;
 }
 const classtable_elt_t VFT_IOS[53] = {
-  {(long int) 135 /* 0: Identity */},
-  {(long int) 3 /* 1: IOS < Object: superclass typecheck marker */},
+  {(bigint) 135 /* 0: Identity */},
+  {(bigint) 3 /* 1: IOS < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 135 /* 3: IOS < IOS: superclass typecheck marker */},
+  {(bigint) 135 /* 3: IOS < IOS: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10909,33 +10956,33 @@ const classtable_elt_t VFT_IOS[53] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IOS < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IOS < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10947,8 +10994,8 @@ const classtable_elt_t VFT_IOS[53] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: IOS < IOS: superclass init_table position */},
-  {(long int) stream___IOS___close},
+  {(bigint) 1 /* 51: IOS < IOS: superclass init_table position */},
+  {(bigint) stream___IOS___close},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_IOS(void) {
@@ -10958,12 +11005,12 @@ val_t NEW_IOS(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_IStream[63] = {
-  {(long int) 2599 /* 0: Identity */},
-  {(long int) 3 /* 1: IStream < Object: superclass typecheck marker */},
+  {(bigint) 2611 /* 0: Identity */},
+  {(bigint) 3 /* 1: IStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 135 /* 3: IStream < IOS: superclass typecheck marker */},
+  {(bigint) 135 /* 3: IStream < IOS: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 2599 /* 5: IStream < IStream: superclass typecheck marker */},
+  {(bigint) 2611 /* 5: IStream < IStream: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -10971,33 +11018,33 @@ const classtable_elt_t VFT_IStream[63] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IStream < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11009,18 +11056,18 @@ const classtable_elt_t VFT_IStream[63] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: IStream < IOS: superclass init_table position */},
-  {(long int) stream___IOS___close},
+  {(bigint) 1 /* 51: IStream < IOS: superclass init_table position */},
+  {(bigint) stream___IOS___close},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 2 /* 56: IStream < IStream: superclass init_table position */},
-  {(long int) stream___IStream___read_char},
-  {(long int) stream___IStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___IStream___read_all},
-  {(long int) stream___IStream___append_line_to},
-  {(long int) stream___IStream___eof},
+  {(bigint) 2 /* 56: IStream < IStream: superclass init_table position */},
+  {(bigint) stream___IStream___read_char},
+  {(bigint) stream___IStream___read},
+  {(bigint) stream___IStream___read_line},
+  {(bigint) stream___IStream___read_all},
+  {(bigint) stream___IStream___append_line_to},
+  {(bigint) stream___IStream___eof},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_IStream(void) {
@@ -11030,11 +11077,11 @@ val_t NEW_IStream(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_OStream[56] = {
-  {(long int) 2515 /* 0: Identity */},
-  {(long int) 3 /* 1: OStream < Object: superclass typecheck marker */},
+  {(bigint) 2535 /* 0: Identity */},
+  {(bigint) 3 /* 1: OStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 135 /* 3: OStream < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: OStream < OStream: superclass typecheck marker */},
+  {(bigint) 135 /* 3: OStream < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: OStream < OStream: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11043,33 +11090,33 @@ const classtable_elt_t VFT_OStream[56] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OStream < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11081,11 +11128,11 @@ const classtable_elt_t VFT_OStream[56] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: OStream < IOS: superclass init_table position */},
-  {(long int) stream___IOS___close},
-  {(long int) 2 /* 53: OStream < OStream: superclass init_table position */},
-  {(long int) stream___OStream___write},
-  {(long int) stream___OStream___is_writable},
+  {(bigint) 1 /* 51: OStream < IOS: superclass init_table position */},
+  {(bigint) stream___IOS___close},
+  {(bigint) 2 /* 53: OStream < OStream: superclass init_table position */},
+  {(bigint) stream___OStream___write},
+  {(bigint) stream___OStream___is_writable},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_OStream(void) {
@@ -11095,12 +11142,12 @@ val_t NEW_OStream(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_BufferedIStream[67] = {
-  {(long int) 3223 /* 0: Identity */},
-  {(long int) 3 /* 1: BufferedIStream < Object: superclass typecheck marker */},
+  {(bigint) 3235 /* 0: Identity */},
+  {(bigint) 3 /* 1: BufferedIStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 135 /* 3: BufferedIStream < IOS: superclass typecheck marker */},
-  {(long int) 3223 /* 4: BufferedIStream < BufferedIStream: superclass typecheck marker */},
-  {(long int) 2599 /* 5: BufferedIStream < IStream: superclass typecheck marker */},
+  {(bigint) 135 /* 3: BufferedIStream < IOS: superclass typecheck marker */},
+  {(bigint) 3235 /* 4: BufferedIStream < BufferedIStream: superclass typecheck marker */},
+  {(bigint) 2611 /* 5: BufferedIStream < IStream: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11108,33 +11155,33 @@ const classtable_elt_t VFT_BufferedIStream[67] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: BufferedIStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: BufferedIStream < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11146,22 +11193,22 @@ const classtable_elt_t VFT_BufferedIStream[67] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: BufferedIStream < IOS: superclass init_table position */},
-  {(long int) stream___IOS___close},
+  {(bigint) 1 /* 51: BufferedIStream < IOS: superclass init_table position */},
+  {(bigint) stream___IOS___close},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 2 /* 56: BufferedIStream < IStream: superclass init_table position */},
-  {(long int) stream___BufferedIStream___read_char},
-  {(long int) stream___BufferedIStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___BufferedIStream___read_all},
-  {(long int) stream___BufferedIStream___append_line_to},
-  {(long int) stream___BufferedIStream___eof},
-  {(long int) 3 /* 63: BufferedIStream < BufferedIStream: superclass init_table position */},
-  {(long int) stream___BufferedIStream___fill_buffer},
-  {(long int) stream___BufferedIStream___end_reached},
-  {(long int) stream___BufferedIStream___prepare_buffer},
+  {(bigint) 2 /* 56: 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) stream___BufferedIStream___fill_buffer},
+  {(bigint) stream___BufferedIStream___end_reached},
+  {(bigint) stream___BufferedIStream___prepare_buffer},
 };
 /* 0: Pointer to the classtable */
 /* Instance Hole :( */
@@ -11172,50 +11219,50 @@ 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((long int)0);
+  ATTR_stream___BufferedIStream____buffer_pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_IOStream[70] = {
-  {(long int) 3179 /* 0: Identity */},
-  {(long int) 3 /* 1: IOStream < Object: superclass typecheck marker */},
+  {(bigint) 3191 /* 0: Identity */},
+  {(bigint) 3 /* 1: IOStream < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 135 /* 3: IOStream < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: IOStream < OStream: superclass typecheck marker */},
-  {(long int) 2599 /* 5: IOStream < IStream: superclass typecheck marker */},
+  {(bigint) 135 /* 3: IOStream < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: IOStream < OStream: superclass typecheck marker */},
+  {(bigint) 2611 /* 5: IOStream < IStream: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 3179 /* 8: IOStream < IOStream: superclass typecheck marker */},
+  {(bigint) 3191 /* 8: IOStream < IOStream: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IOStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IOStream < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11227,25 +11274,25 @@ const classtable_elt_t VFT_IOStream[70] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: IOStream < IOS: superclass init_table position */},
-  {(long int) stream___IOS___close},
-  {(long int) 3 /* 53: IOStream < OStream: superclass init_table position */},
-  {(long int) stream___OStream___write},
-  {(long int) stream___OStream___is_writable},
-  {(long int) 2 /* 56: IOStream < IStream: superclass init_table position */},
-  {(long int) stream___IStream___read_char},
-  {(long int) stream___IStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___IStream___read_all},
-  {(long int) stream___IStream___append_line_to},
-  {(long int) stream___IStream___eof},
+  {(bigint) 1 /* 51: IOStream < IOS: superclass init_table position */},
+  {(bigint) stream___IOS___close},
+  {(bigint) 3 /* 53: 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) stream___IStream___read_char},
+  {(bigint) stream___IStream___read},
+  {(bigint) stream___IStream___read_line},
+  {(bigint) stream___IStream___read_all},
+  {(bigint) stream___IStream___append_line_to},
+  {(bigint) stream___IStream___eof},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 4 /* 69: IOStream < IOStream: superclass init_table position */},
+  {(bigint) 4 /* 69: IOStream < IOStream: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_IOStream(void) {
@@ -11255,10 +11302,10 @@ val_t NEW_IOStream(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_FDStream[53] = {
-  {(long int) 2627 /* 0: Identity */},
-  {(long int) 3 /* 1: FDStream < Object: superclass typecheck marker */},
-  {(long int) 2627 /* 2: FDStream < FDStream: superclass typecheck marker */},
-  {(long int) 135 /* 3: FDStream < IOS: superclass typecheck marker */},
+  {(bigint) 2639 /* 0: Identity */},
+  {(bigint) 3 /* 1: FDStream < Object: superclass typecheck marker */},
+  {(bigint) 2639 /* 2: FDStream < FDStream: superclass typecheck marker */},
+  {(bigint) 135 /* 3: FDStream < IOS: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11268,46 +11315,46 @@ const classtable_elt_t VFT_FDStream[53] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: FDStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: FDStream < FDStream: superclass init_table position */},
-  {(long int) stream___FDStream___native_close},
-  {(long int) stream___FDStream___native_read_char},
-  {(long int) stream___FDStream___native_read},
-  {(long int) stream___FDStream___native_write},
-  {(long int) stream___FDStream___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: FDStream < 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) 2 /* 40: FDStream < FDStream: superclass init_table position */},
+  {(bigint) stream___FDStream___native_close},
+  {(bigint) stream___FDStream___native_read_char},
+  {(bigint) stream___FDStream___native_read},
+  {(bigint) stream___FDStream___native_write},
+  {(bigint) stream___FDStream___init},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: FDStream < IOS: superclass init_table position */},
-  {(long int) stream___FDStream___close},
+  {(bigint) 1 /* 51: FDStream < IOS: superclass init_table position */},
+  {(bigint) stream___FDStream___close},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FDStream::_fd */
@@ -11315,7 +11362,7 @@ val_t NEW_FDStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 2);
   obj->vft = (classtable_elt_t*)VFT_FDStream;
-  ATTR_stream___FDStream____fd(obj) = TAG_Int((long int)0);
+  ATTR_stream___FDStream____fd(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_stream___FDStream___init(val_t p0) {
@@ -11325,69 +11372,69 @@ val_t NEW_stream___FDStream___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_FDIStream[63] = {
-  {(long int) 3191 /* 0: Identity */},
-  {(long int) 3 /* 1: FDIStream < Object: superclass typecheck marker */},
-  {(long int) 2627 /* 2: FDIStream < FDStream: superclass typecheck marker */},
-  {(long int) 135 /* 3: FDIStream < IOS: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 2599 /* 5: FDIStream < IStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3191 /* 7: FDIStream < FDIStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: FDIStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: FDIStream < FDStream: superclass init_table position */},
-  {(long int) stream___FDStream___native_close},
-  {(long int) stream___FDStream___native_read_char},
-  {(long int) stream___FDStream___native_read},
-  {(long int) stream___FDStream___native_write},
-  {(long int) stream___FDStream___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 48: FDIStream < FDIStream: superclass init_table position */},
-  {(long int) stream___FDIStream___init},
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: FDIStream < IOS: superclass init_table position */},
-  {(long int) stream___FDStream___close},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 3 /* 56: FDIStream < IStream: superclass init_table position */},
-  {(long int) stream___FDIStream___read_char},
-  {(long int) stream___IStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___IStream___read_all},
-  {(long int) stream___IStream___append_line_to},
-  {(long int) stream___FDIStream___eof},
+  {(bigint) 3203 /* 0: Identity */},
+  {(bigint) 3 /* 1: FDIStream < Object: superclass typecheck marker */},
+  {(bigint) 2639 /* 2: FDIStream < FDStream: superclass typecheck marker */},
+  {(bigint) 135 /* 3: FDIStream < IOS: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 2611 /* 5: FDIStream < IStream: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3203 /* 7: FDIStream < FDIStream: superclass typecheck marker */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: FDIStream < 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) 2 /* 40: FDIStream < FDStream: superclass init_table position */},
+  {(bigint) stream___FDStream___native_close},
+  {(bigint) stream___FDStream___native_read_char},
+  {(bigint) stream___FDStream___native_read},
+  {(bigint) stream___FDStream___native_write},
+  {(bigint) stream___FDStream___init},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 48: FDIStream < FDIStream: superclass init_table position */},
+  {(bigint) stream___FDIStream___init},
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 51: FDIStream < IOS: superclass init_table position */},
+  {(bigint) stream___FDStream___close},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 3 /* 56: FDIStream < 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},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FDIStream::_fd */
@@ -11397,8 +11444,8 @@ val_t NEW_FDIStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_FDIStream;
-  ATTR_stream___FDStream____fd(obj) = TAG_Int((long int)0);
-  ATTR_stream___FDIStream____eof(obj) = TAG_Bool((long int)0);
+  ATTR_stream___FDStream____fd(obj) = TAG_Int((bigint)0);
+  ATTR_stream___FDIStream____eof(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_stream___FDIStream___init(val_t p0) {
@@ -11408,62 +11455,62 @@ val_t NEW_stream___FDIStream___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_FDOStream[56] = {
-  {(long int) 3187 /* 0: Identity */},
-  {(long int) 3 /* 1: FDOStream < Object: superclass typecheck marker */},
-  {(long int) 2627 /* 2: FDOStream < FDStream: superclass typecheck marker */},
-  {(long int) 135 /* 3: FDOStream < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: FDOStream < OStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3187 /* 6: FDOStream < FDOStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: FDOStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: FDOStream < FDStream: superclass init_table position */},
-  {(long int) stream___FDStream___native_close},
-  {(long int) stream___FDStream___native_read_char},
-  {(long int) stream___FDStream___native_read},
-  {(long int) stream___FDStream___native_write},
-  {(long int) stream___FDStream___init},
-  {(long int) 4 /* 46: FDOStream < FDOStream: superclass init_table position */},
-  {(long int) stream___FDOStream___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: FDOStream < IOS: superclass init_table position */},
-  {(long int) stream___FDStream___close},
-  {(long int) 3 /* 53: FDOStream < OStream: superclass init_table position */},
-  {(long int) stream___FDOStream___write},
-  {(long int) stream___FDOStream___is_writable},
+  {(bigint) 3199 /* 0: Identity */},
+  {(bigint) 3 /* 1: FDOStream < Object: superclass typecheck marker */},
+  {(bigint) 2639 /* 2: FDOStream < FDStream: superclass typecheck marker */},
+  {(bigint) 135 /* 3: FDOStream < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: FDOStream < OStream: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3199 /* 6: FDOStream < FDOStream: 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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: FDOStream < 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) 2 /* 40: FDOStream < FDStream: superclass init_table position */},
+  {(bigint) stream___FDStream___native_close},
+  {(bigint) stream___FDStream___native_read_char},
+  {(bigint) stream___FDStream___native_read},
+  {(bigint) stream___FDStream___native_write},
+  {(bigint) stream___FDStream___init},
+  {(bigint) 4 /* 46: FDOStream < FDOStream: superclass init_table position */},
+  {(bigint) stream___FDOStream___init},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___FDOStream___write},
+  {(bigint) stream___FDOStream___is_writable},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FDOStream::_fd */
@@ -11472,8 +11519,8 @@ val_t NEW_FDOStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_FDOStream;
-  ATTR_stream___FDStream____fd(obj) = TAG_Int((long int)0);
-  ATTR_stream___FDOStream____is_writable(obj) = TAG_Bool((long int)0);
+  ATTR_stream___FDStream____fd(obj) = TAG_Int((bigint)0);
+  ATTR_stream___FDOStream____is_writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_stream___FDOStream___init(val_t p0) {
@@ -11483,76 +11530,76 @@ val_t NEW_stream___FDOStream___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_FDIOStream[70] = {
-  {(long int) 3307 /* 0: Identity */},
-  {(long int) 3 /* 1: FDIOStream < Object: superclass typecheck marker */},
-  {(long int) 2627 /* 2: FDIOStream < FDStream: superclass typecheck marker */},
-  {(long int) 135 /* 3: FDIOStream < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: FDIOStream < OStream: superclass typecheck marker */},
-  {(long int) 2599 /* 5: FDIOStream < IStream: superclass typecheck marker */},
-  {(long int) 3187 /* 6: FDIOStream < FDOStream: superclass typecheck marker */},
-  {(long int) 3191 /* 7: FDIOStream < FDIStream: superclass typecheck marker */},
-  {(long int) 3179 /* 8: FDIOStream < IOStream: superclass typecheck marker */},
-  {(long int) 3307 /* 9: FDIOStream < FDIOStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: FDIOStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: FDIOStream < FDStream: superclass init_table position */},
-  {(long int) stream___FDStream___native_close},
-  {(long int) stream___FDStream___native_read_char},
-  {(long int) stream___FDStream___native_read},
-  {(long int) stream___FDStream___native_write},
-  {(long int) stream___FDStream___init},
-  {(long int) 6 /* 46: FDIOStream < FDOStream: superclass init_table position */},
-  {(long int) stream___FDOStream___init},
-  {(long int) 4 /* 48: FDIOStream < FDIStream: superclass init_table position */},
-  {(long int) stream___FDIStream___init},
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: FDIOStream < IOS: superclass init_table position */},
-  {(long int) stream___FDStream___close},
-  {(long int) 5 /* 53: FDIOStream < OStream: superclass init_table position */},
-  {(long int) stream___FDOStream___write},
-  {(long int) stream___FDOStream___is_writable},
-  {(long int) 3 /* 56: FDIOStream < IStream: superclass init_table position */},
-  {(long int) stream___FDIStream___read_char},
-  {(long int) stream___IStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___IStream___read_all},
-  {(long int) stream___IStream___append_line_to},
-  {(long int) stream___FDIStream___eof},
-  {(long int) 8 /* 63: FDIOStream < FDIOStream: superclass init_table position */},
-  {(long int) stream___FDIOStream___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 7 /* 69: FDIOStream < IOStream: superclass init_table position */},
+  {(bigint) 3315 /* 0: Identity */},
+  {(bigint) 3 /* 1: FDIOStream < Object: superclass typecheck marker */},
+  {(bigint) 2639 /* 2: FDIOStream < FDStream: superclass typecheck marker */},
+  {(bigint) 135 /* 3: FDIOStream < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: FDIOStream < OStream: superclass typecheck marker */},
+  {(bigint) 2611 /* 5: FDIOStream < IStream: superclass typecheck marker */},
+  {(bigint) 3199 /* 6: FDIOStream < FDOStream: superclass typecheck marker */},
+  {(bigint) 3203 /* 7: FDIOStream < FDIStream: superclass typecheck marker */},
+  {(bigint) 3191 /* 8: FDIOStream < IOStream: superclass typecheck marker */},
+  {(bigint) 3315 /* 9: FDIOStream < FDIOStream: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: FDIOStream < 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) 2 /* 40: FDIOStream < FDStream: superclass init_table position */},
+  {(bigint) stream___FDStream___native_close},
+  {(bigint) stream___FDStream___native_read_char},
+  {(bigint) stream___FDStream___native_read},
+  {(bigint) stream___FDStream___native_write},
+  {(bigint) stream___FDStream___init},
+  {(bigint) 6 /* 46: FDIOStream < FDOStream: superclass init_table position */},
+  {(bigint) stream___FDOStream___init},
+  {(bigint) 4 /* 48: FDIOStream < FDIStream: superclass init_table position */},
+  {(bigint) stream___FDIStream___init},
+  {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___FDOStream___write},
+  {(bigint) stream___FDOStream___is_writable},
+  {(bigint) 3 /* 56: 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) stream___FDIOStream___init},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 7 /* 69: FDIOStream < IOStream: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FDIOStream::_fd */
@@ -11562,9 +11609,9 @@ val_t NEW_FDIOStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_FDIOStream;
-  ATTR_stream___FDStream____fd(obj) = TAG_Int((long int)0);
-  ATTR_stream___FDIStream____eof(obj) = TAG_Bool((long int)0);
-  ATTR_stream___FDOStream____is_writable(obj) = TAG_Bool((long int)0);
+  ATTR_stream___FDStream____fd(obj) = TAG_Int((bigint)0);
+  ATTR_stream___FDIStream____eof(obj) = TAG_Bool((int)0);
+  ATTR_stream___FDOStream____is_writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_stream___FDIOStream___init(val_t p0) {
@@ -11574,10 +11621,10 @@ val_t NEW_stream___FDIOStream___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_Pattern[47] = {
-  {(long int) 51 /* 0: Identity */},
-  {(long int) 3 /* 1: Pattern < Object: superclass typecheck marker */},
+  {(bigint) 51 /* 0: Identity */},
+  {(bigint) 3 /* 1: Pattern < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 51 /* 3: Pattern < Pattern: superclass typecheck marker */},
+  {(bigint) 51 /* 3: Pattern < Pattern: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11587,40 +11634,40 @@ const classtable_elt_t VFT_Pattern[47] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Pattern < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Pattern < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 42: Pattern < Pattern: superclass init_table position */},
-  {(long int) string_search___Pattern___search_index_in},
-  {(long int) string_search___Pattern___search_in},
-  {(long int) string_search___Pattern___search_all_in},
-  {(long int) string_search___Pattern___split_in},
+  {(bigint) 1 /* 42: 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},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Pattern(void) {
@@ -11630,11 +11677,11 @@ val_t NEW_Pattern(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_BM_Pattern[53] = {
-  {(long int) 2659 /* 0: Identity */},
-  {(long int) 3 /* 1: BM_Pattern < Object: superclass typecheck marker */},
+  {(bigint) 2671 /* 0: Identity */},
+  {(bigint) 3 /* 1: BM_Pattern < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
-  {(long int) 51 /* 3: BM_Pattern < Pattern: superclass typecheck marker */},
-  {(long int) 2659 /* 4: BM_Pattern < BM_Pattern: superclass typecheck marker */},
+  {(bigint) 51 /* 3: BM_Pattern < Pattern: superclass typecheck marker */},
+  {(bigint) 2671 /* 4: BM_Pattern < BM_Pattern: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11643,46 +11690,46 @@ const classtable_elt_t VFT_BM_Pattern[53] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string_search___BM_Pattern___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: BM_Pattern < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string_search___BM_Pattern___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: BM_Pattern < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 1 /* 42: BM_Pattern < Pattern: superclass init_table position */},
-  {(long int) string_search___BM_Pattern___search_index_in},
-  {(long int) string_search___BM_Pattern___search_in},
-  {(long int) string_search___Pattern___search_all_in},
-  {(long int) string_search___Pattern___split_in},
-  {(long int) 2 /* 47: BM_Pattern < BM_Pattern: superclass init_table position */},
-  {(long int) string_search___BM_Pattern___init},
-  {(long int) string_search___BM_Pattern___bc},
-  {(long int) string_search___BM_Pattern___compute_bc},
-  {(long int) string_search___BM_Pattern___suffixes},
-  {(long int) string_search___BM_Pattern___compute_gs},
+  {(bigint) 1 /* 42: 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___BM_Pattern___init},
+  {(bigint) string_search___BM_Pattern___bc},
+  {(bigint) string_search___BM_Pattern___compute_bc},
+  {(bigint) string_search___BM_Pattern___suffixes},
+  {(bigint) string_search___BM_Pattern___compute_gs},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute BM_Pattern::_motif */
@@ -11693,7 +11740,7 @@ val_t NEW_BM_Pattern(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_BM_Pattern;
-  ATTR_string_search___BM_Pattern____length(obj) = TAG_Int((long int)0);
+  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) {
@@ -11703,9 +11750,9 @@ val_t NEW_string_search___BM_Pattern___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_Match[46] = {
-  {(long int) 83 /* 0: Identity */},
-  {(long int) 3 /* 1: Match < Object: superclass typecheck marker */},
-  {(long int) 83 /* 2: Match < Match: superclass typecheck marker */},
+  {(bigint) 83 /* 0: Identity */},
+  {(bigint) 3 /* 1: Match < Object: superclass typecheck marker */},
+  {(bigint) 83 /* 2: Match < Match: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -11716,39 +11763,39 @@ const classtable_elt_t VFT_Match[46] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string_search___Match___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Match < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Match < Match: superclass init_table position */},
-  {(long int) string_search___Match___string},
-  {(long int) string_search___Match___from},
-  {(long int) string_search___Match___length},
-  {(long int) string_search___Match___after},
-  {(long int) string_search___Match___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string_search___Match___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Match < 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) 1 /* 40: Match < Match: superclass init_table position */},
+  {(bigint) string_search___Match___string},
+  {(bigint) string_search___Match___from},
+  {(bigint) string_search___Match___length},
+  {(bigint) string_search___Match___after},
+  {(bigint) string_search___Match___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Match::_string */
@@ -11758,8 +11805,8 @@ val_t NEW_Match(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_Match;
-  ATTR_string_search___Match____from(obj) = TAG_Int((long int)0);
-  ATTR_string_search___Match____length(obj) = TAG_Int((long int)0);
+  ATTR_string_search___Match____from(obj) = TAG_Int((bigint)0);
+  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) {
@@ -11769,59 +11816,59 @@ val_t NEW_string_search___Match___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_FStream[53] = {
-  {(long int) 2623 /* 0: Identity */},
-  {(long int) 3 /* 1: FStream < Object: superclass typecheck marker */},
-  {(long int) 75 /* 2: FStream < NativeFileCapable: superclass typecheck marker */},
-  {(long int) 135 /* 3: FStream < IOS: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 2623 /* 6: FStream < FStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: FStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: FStream < NativeFileCapable: superclass init_table position */},
-  {(long int) file___NativeFileCapable___io_open_read},
-  {(long int) file___NativeFileCapable___io_open_write},
-  {(long int) file___NativeFileCapable___native_stdin},
-  {(long int) file___NativeFileCapable___native_stdout},
-  {(long int) file___NativeFileCapable___native_stderr},
-  {(long int) 3 /* 46: FStream < FStream: superclass init_table position */},
-  {(long int) file___FStream___path},
-  {(long int) file___FStream___file_stat},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: FStream < IOS: superclass init_table position */},
-  {(long int) stream___IOS___close},
+  {(bigint) 2635 /* 0: Identity */},
+  {(bigint) 3 /* 1: FStream < Object: superclass typecheck marker */},
+  {(bigint) 75 /* 2: FStream < NativeFileCapable: superclass typecheck marker */},
+  {(bigint) 135 /* 3: FStream < IOS: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 2635 /* 6: FStream < FStream: 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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: FStream < 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) 2 /* 40: FStream < NativeFileCapable: superclass init_table position */},
+  {(bigint) file___NativeFileCapable___io_open_read},
+  {(bigint) file___NativeFileCapable___io_open_write},
+  {(bigint) file___NativeFileCapable___native_stdin},
+  {(bigint) file___NativeFileCapable___native_stdout},
+  {(bigint) file___NativeFileCapable___native_stderr},
+  {(bigint) 3 /* 46: FStream < FStream: superclass init_table position */},
+  {(bigint) file___FStream___path},
+  {(bigint) file___FStream___file_stat},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 51: FStream < IOS: superclass init_table position */},
+  {(bigint) stream___IOS___close},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute FStream::_path */
@@ -11833,77 +11880,77 @@ val_t NEW_FStream(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_IFStream[71] = {
-  {(long int) 3303 /* 0: Identity */},
-  {(long int) 3 /* 1: IFStream < Object: superclass typecheck marker */},
-  {(long int) 75 /* 2: IFStream < NativeFileCapable: superclass typecheck marker */},
-  {(long int) 135 /* 3: IFStream < IOS: superclass typecheck marker */},
-  {(long int) 3223 /* 4: IFStream < BufferedIStream: superclass typecheck marker */},
-  {(long int) 2599 /* 5: IFStream < IStream: superclass typecheck marker */},
-  {(long int) 2623 /* 6: IFStream < FStream: superclass typecheck marker */},
-  {(long int) 3303 /* 7: IFStream < IFStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IFStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: IFStream < NativeFileCapable: superclass init_table position */},
-  {(long int) file___NativeFileCapable___io_open_read},
-  {(long int) file___NativeFileCapable___io_open_write},
-  {(long int) file___NativeFileCapable___native_stdin},
-  {(long int) file___NativeFileCapable___native_stdout},
-  {(long int) file___NativeFileCapable___native_stderr},
-  {(long int) 3 /* 46: IFStream < FStream: superclass init_table position */},
-  {(long int) file___FStream___path},
-  {(long int) file___FStream___file_stat},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: IFStream < IOS: superclass init_table position */},
-  {(long int) file___IFStream___close},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 56: IFStream < IStream: superclass init_table position */},
-  {(long int) stream___BufferedIStream___read_char},
-  {(long int) stream___BufferedIStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___BufferedIStream___read_all},
-  {(long int) stream___BufferedIStream___append_line_to},
-  {(long int) stream___BufferedIStream___eof},
-  {(long int) 5 /* 63: IFStream < BufferedIStream: superclass init_table position */},
-  {(long int) file___IFStream___fill_buffer},
-  {(long int) file___IFStream___end_reached},
-  {(long int) stream___BufferedIStream___prepare_buffer},
-  {(long int) 6 /* 67: IFStream < IFStream: superclass init_table position */},
-  {(long int) file___IFStream___reopen},
-  {(long int) file___IFStream___open},
-  {(long int) file___IFStream___without_file},
+  {(bigint) 3311 /* 0: Identity */},
+  {(bigint) 3 /* 1: IFStream < Object: superclass typecheck marker */},
+  {(bigint) 75 /* 2: IFStream < NativeFileCapable: superclass typecheck marker */},
+  {(bigint) 135 /* 3: IFStream < IOS: superclass typecheck marker */},
+  {(bigint) 3235 /* 4: IFStream < BufferedIStream: superclass typecheck marker */},
+  {(bigint) 2611 /* 5: IFStream < IStream: superclass typecheck marker */},
+  {(bigint) 2635 /* 6: IFStream < FStream: superclass typecheck marker */},
+  {(bigint) 3311 /* 7: IFStream < IFStream: superclass typecheck marker */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IFStream < 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) 2 /* 40: IFStream < NativeFileCapable: superclass init_table position */},
+  {(bigint) file___NativeFileCapable___io_open_read},
+  {(bigint) file___NativeFileCapable___io_open_write},
+  {(bigint) file___NativeFileCapable___native_stdin},
+  {(bigint) file___NativeFileCapable___native_stdout},
+  {(bigint) file___NativeFileCapable___native_stderr},
+  {(bigint) 3 /* 46: IFStream < FStream: superclass init_table position */},
+  {(bigint) file___FStream___path},
+  {(bigint) file___FStream___file_stat},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 51: IFStream < IOS: superclass init_table position */},
+  {(bigint) file___IFStream___close},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 56: 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) file___IFStream___fill_buffer},
+  {(bigint) file___IFStream___end_reached},
+  {(bigint) stream___BufferedIStream___prepare_buffer},
+  {(bigint) 6 /* 67: IFStream < IFStream: superclass init_table position */},
+  {(bigint) file___IFStream___reopen},
+  {(bigint) file___IFStream___open},
+  {(bigint) file___IFStream___without_file},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute IFStream::_path */
@@ -11915,8 +11962,8 @@ 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((long int)0);
-  ATTR_file___IFStream____end_reached(obj) = TAG_Bool((long int)0);
+  ATTR_stream___BufferedIStream____buffer_pos(obj) = TAG_Int((bigint)0);
+  ATTR_file___IFStream____end_reached(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_file___IFStream___open(val_t p0) {
@@ -11932,66 +11979,66 @@ val_t NEW_file___IFStream___without_file() {
   return self;
 }
 const classtable_elt_t VFT_OFStream[60] = {
-  {(long int) 3123 /* 0: Identity */},
-  {(long int) 3 /* 1: OFStream < Object: superclass typecheck marker */},
-  {(long int) 75 /* 2: OFStream < NativeFileCapable: superclass typecheck marker */},
-  {(long int) 135 /* 3: OFStream < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: OFStream < OStream: superclass typecheck marker */},
-  {(long int) 3123 /* 5: OFStream < OFStream: superclass typecheck marker */},
-  {(long int) 2623 /* 6: OFStream < FStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OFStream < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: OFStream < NativeFileCapable: superclass init_table position */},
-  {(long int) file___NativeFileCapable___io_open_read},
-  {(long int) file___NativeFileCapable___io_open_write},
-  {(long int) file___NativeFileCapable___native_stdin},
-  {(long int) file___NativeFileCapable___native_stdout},
-  {(long int) file___NativeFileCapable___native_stderr},
-  {(long int) 3 /* 46: OFStream < FStream: superclass init_table position */},
-  {(long int) file___FStream___path},
-  {(long int) file___FStream___file_stat},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: OFStream < IOS: superclass init_table position */},
-  {(long int) file___OFStream___close},
-  {(long int) 4 /* 53: OFStream < OStream: superclass init_table position */},
-  {(long int) file___OFStream___write},
-  {(long int) file___OFStream___is_writable},
-  {(long int) 5 /* 56: OFStream < OFStream: superclass init_table position */},
-  {(long int) file___OFStream___write_native},
-  {(long int) file___OFStream___open},
-  {(long int) file___OFStream___without_file},
+  {(bigint) 3139 /* 0: Identity */},
+  {(bigint) 3 /* 1: OFStream < Object: superclass typecheck marker */},
+  {(bigint) 75 /* 2: OFStream < NativeFileCapable: superclass typecheck marker */},
+  {(bigint) 135 /* 3: OFStream < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: OFStream < OStream: superclass typecheck marker */},
+  {(bigint) 3139 /* 5: OFStream < OFStream: superclass typecheck marker */},
+  {(bigint) 2635 /* 6: OFStream < FStream: 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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OFStream < 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) 2 /* 40: OFStream < NativeFileCapable: superclass init_table position */},
+  {(bigint) file___NativeFileCapable___io_open_read},
+  {(bigint) file___NativeFileCapable___io_open_write},
+  {(bigint) file___NativeFileCapable___native_stdin},
+  {(bigint) file___NativeFileCapable___native_stdout},
+  {(bigint) file___NativeFileCapable___native_stderr},
+  {(bigint) 3 /* 46: OFStream < FStream: superclass init_table position */},
+  {(bigint) file___FStream___path},
+  {(bigint) file___FStream___file_stat},
+  {0} /* Class Hole :( */,
+  {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) file___OFStream___write},
+  {(bigint) file___OFStream___is_writable},
+  {(bigint) 5 /* 56: OFStream < OFStream: superclass init_table position */},
+  {(bigint) file___OFStream___write_native},
+  {(bigint) file___OFStream___open},
+  {(bigint) file___OFStream___without_file},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OFStream::_path */
@@ -12001,7 +12048,7 @@ val_t NEW_OFStream(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_OFStream;
-  ATTR_file___OFStream____writable(obj) = TAG_Bool((long int)0);
+  ATTR_file___OFStream____writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_file___OFStream___open(val_t p0) {
@@ -12017,79 +12064,79 @@ val_t NEW_file___OFStream___without_file() {
   return self;
 }
 const classtable_elt_t VFT_Stdin[73] = {
-  {(long int) 3607 /* 0: Identity */},
-  {(long int) 3 /* 1: Stdin < Object: superclass typecheck marker */},
-  {(long int) 75 /* 2: Stdin < NativeFileCapable: superclass typecheck marker */},
-  {(long int) 135 /* 3: Stdin < IOS: superclass typecheck marker */},
-  {(long int) 3223 /* 4: Stdin < BufferedIStream: superclass typecheck marker */},
-  {(long int) 2599 /* 5: Stdin < IStream: superclass typecheck marker */},
-  {(long int) 2623 /* 6: Stdin < FStream: superclass typecheck marker */},
-  {(long int) 3303 /* 7: Stdin < IFStream: superclass typecheck marker */},
-  {(long int) 3607 /* 8: Stdin < Stdin: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Stdin < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: Stdin < NativeFileCapable: superclass init_table position */},
-  {(long int) file___NativeFileCapable___io_open_read},
-  {(long int) file___NativeFileCapable___io_open_write},
-  {(long int) file___NativeFileCapable___native_stdin},
-  {(long int) file___NativeFileCapable___native_stdout},
-  {(long int) file___NativeFileCapable___native_stderr},
-  {(long int) 3 /* 46: Stdin < FStream: superclass init_table position */},
-  {(long int) file___FStream___path},
-  {(long int) file___FStream___file_stat},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: Stdin < IOS: superclass init_table position */},
-  {(long int) file___IFStream___close},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 56: Stdin < IStream: superclass init_table position */},
-  {(long int) stream___BufferedIStream___read_char},
-  {(long int) stream___BufferedIStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___BufferedIStream___read_all},
-  {(long int) stream___BufferedIStream___append_line_to},
-  {(long int) stream___BufferedIStream___eof},
-  {(long int) 5 /* 63: Stdin < BufferedIStream: superclass init_table position */},
-  {(long int) file___IFStream___fill_buffer},
-  {(long int) file___IFStream___end_reached},
-  {(long int) stream___BufferedIStream___prepare_buffer},
-  {(long int) 6 /* 67: Stdin < IFStream: superclass init_table position */},
-  {(long int) file___IFStream___reopen},
-  {(long int) file___IFStream___open},
-  {(long int) file___IFStream___without_file},
-  {(long int) 7 /* 71: Stdin < Stdin: superclass init_table position */},
-  {(long int) file___Stdin___init},
+  {(bigint) 3619 /* 0: Identity */},
+  {(bigint) 3 /* 1: Stdin < Object: superclass typecheck marker */},
+  {(bigint) 75 /* 2: Stdin < NativeFileCapable: superclass typecheck marker */},
+  {(bigint) 135 /* 3: Stdin < IOS: superclass typecheck marker */},
+  {(bigint) 3235 /* 4: Stdin < BufferedIStream: superclass typecheck marker */},
+  {(bigint) 2611 /* 5: Stdin < IStream: superclass typecheck marker */},
+  {(bigint) 2635 /* 6: Stdin < FStream: superclass typecheck marker */},
+  {(bigint) 3311 /* 7: Stdin < IFStream: superclass typecheck marker */},
+  {(bigint) 3619 /* 8: Stdin < Stdin: superclass typecheck marker */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Stdin < 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) 2 /* 40: Stdin < NativeFileCapable: superclass init_table position */},
+  {(bigint) file___NativeFileCapable___io_open_read},
+  {(bigint) file___NativeFileCapable___io_open_write},
+  {(bigint) file___NativeFileCapable___native_stdin},
+  {(bigint) file___NativeFileCapable___native_stdout},
+  {(bigint) file___NativeFileCapable___native_stderr},
+  {(bigint) 3 /* 46: Stdin < FStream: superclass init_table position */},
+  {(bigint) file___FStream___path},
+  {(bigint) file___FStream___file_stat},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 51: Stdin < IOS: superclass init_table position */},
+  {(bigint) file___IFStream___close},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 56: 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) file___IFStream___fill_buffer},
+  {(bigint) file___IFStream___end_reached},
+  {(bigint) stream___BufferedIStream___prepare_buffer},
+  {(bigint) 6 /* 67: Stdin < IFStream: superclass init_table position */},
+  {(bigint) file___IFStream___reopen},
+  {(bigint) file___IFStream___open},
+  {(bigint) file___IFStream___without_file},
+  {(bigint) 7 /* 71: Stdin < Stdin: superclass init_table position */},
+  {(bigint) file___Stdin___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Stdin::_path */
@@ -12101,8 +12148,8 @@ 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((long int)0);
-  ATTR_file___IFStream____end_reached(obj) = TAG_Bool((long int)0);
+  ATTR_stream___BufferedIStream____buffer_pos(obj) = TAG_Int((bigint)0);
+  ATTR_file___IFStream____end_reached(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_file___Stdin___init() {
@@ -12112,68 +12159,68 @@ val_t NEW_file___Stdin___init() {
   return self;
 }
 const classtable_elt_t VFT_Stdout[62] = {
-  {(long int) 3255 /* 0: Identity */},
-  {(long int) 3 /* 1: Stdout < Object: superclass typecheck marker */},
-  {(long int) 75 /* 2: Stdout < NativeFileCapable: superclass typecheck marker */},
-  {(long int) 135 /* 3: Stdout < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: Stdout < OStream: superclass typecheck marker */},
-  {(long int) 3123 /* 5: Stdout < OFStream: superclass typecheck marker */},
-  {(long int) 2623 /* 6: Stdout < FStream: superclass typecheck marker */},
-  {(long int) 3255 /* 7: Stdout < Stdout: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Stdout < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: Stdout < NativeFileCapable: superclass init_table position */},
-  {(long int) file___NativeFileCapable___io_open_read},
-  {(long int) file___NativeFileCapable___io_open_write},
-  {(long int) file___NativeFileCapable___native_stdin},
-  {(long int) file___NativeFileCapable___native_stdout},
-  {(long int) file___NativeFileCapable___native_stderr},
-  {(long int) 3 /* 46: Stdout < FStream: superclass init_table position */},
-  {(long int) file___FStream___path},
-  {(long int) file___FStream___file_stat},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: Stdout < IOS: superclass init_table position */},
-  {(long int) file___OFStream___close},
-  {(long int) 4 /* 53: Stdout < OStream: superclass init_table position */},
-  {(long int) file___OFStream___write},
-  {(long int) file___OFStream___is_writable},
-  {(long int) 5 /* 56: Stdout < OFStream: superclass init_table position */},
-  {(long int) file___OFStream___write_native},
-  {(long int) file___OFStream___open},
-  {(long int) file___OFStream___without_file},
-  {(long int) 6 /* 60: Stdout < Stdout: superclass init_table position */},
-  {(long int) file___Stdout___init},
+  {(bigint) 3267 /* 0: Identity */},
+  {(bigint) 3 /* 1: Stdout < Object: superclass typecheck marker */},
+  {(bigint) 75 /* 2: Stdout < NativeFileCapable: superclass typecheck marker */},
+  {(bigint) 135 /* 3: Stdout < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: Stdout < OStream: superclass typecheck marker */},
+  {(bigint) 3139 /* 5: Stdout < OFStream: superclass typecheck marker */},
+  {(bigint) 2635 /* 6: Stdout < FStream: superclass typecheck marker */},
+  {(bigint) 3267 /* 7: Stdout < Stdout: superclass typecheck marker */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Stdout < 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) 2 /* 40: Stdout < NativeFileCapable: superclass init_table position */},
+  {(bigint) file___NativeFileCapable___io_open_read},
+  {(bigint) file___NativeFileCapable___io_open_write},
+  {(bigint) file___NativeFileCapable___native_stdin},
+  {(bigint) file___NativeFileCapable___native_stdout},
+  {(bigint) file___NativeFileCapable___native_stderr},
+  {(bigint) 3 /* 46: Stdout < FStream: superclass init_table position */},
+  {(bigint) file___FStream___path},
+  {(bigint) file___FStream___file_stat},
+  {0} /* Class Hole :( */,
+  {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) file___OFStream___write},
+  {(bigint) file___OFStream___is_writable},
+  {(bigint) 5 /* 56: Stdout < OFStream: superclass init_table position */},
+  {(bigint) file___OFStream___write_native},
+  {(bigint) file___OFStream___open},
+  {(bigint) file___OFStream___without_file},
+  {(bigint) 6 /* 60: Stdout < Stdout: superclass init_table position */},
+  {(bigint) file___Stdout___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Stdout::_path */
@@ -12183,7 +12230,7 @@ val_t NEW_Stdout(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_Stdout;
-  ATTR_file___OFStream____writable(obj) = TAG_Bool((long int)0);
+  ATTR_file___OFStream____writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_file___Stdout___init() {
@@ -12193,68 +12240,68 @@ val_t NEW_file___Stdout___init() {
   return self;
 }
 const classtable_elt_t VFT_Stderr[62] = {
-  {(long int) 3259 /* 0: Identity */},
-  {(long int) 3 /* 1: Stderr < Object: superclass typecheck marker */},
-  {(long int) 75 /* 2: Stderr < NativeFileCapable: superclass typecheck marker */},
-  {(long int) 135 /* 3: Stderr < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: Stderr < OStream: superclass typecheck marker */},
-  {(long int) 3123 /* 5: Stderr < OFStream: superclass typecheck marker */},
-  {(long int) 2623 /* 6: Stderr < FStream: superclass typecheck marker */},
-  {(long int) 3259 /* 7: Stderr < Stderr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Stderr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 2 /* 40: Stderr < NativeFileCapable: superclass init_table position */},
-  {(long int) file___NativeFileCapable___io_open_read},
-  {(long int) file___NativeFileCapable___io_open_write},
-  {(long int) file___NativeFileCapable___native_stdin},
-  {(long int) file___NativeFileCapable___native_stdout},
-  {(long int) file___NativeFileCapable___native_stderr},
-  {(long int) 3 /* 46: Stderr < FStream: superclass init_table position */},
-  {(long int) file___FStream___path},
-  {(long int) file___FStream___file_stat},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 51: Stderr < IOS: superclass init_table position */},
-  {(long int) file___OFStream___close},
-  {(long int) 4 /* 53: Stderr < OStream: superclass init_table position */},
-  {(long int) file___OFStream___write},
-  {(long int) file___OFStream___is_writable},
-  {(long int) 5 /* 56: Stderr < OFStream: superclass init_table position */},
-  {(long int) file___OFStream___write_native},
-  {(long int) file___OFStream___open},
-  {(long int) file___OFStream___without_file},
-  {(long int) 6 /* 60: Stderr < Stderr: superclass init_table position */},
-  {(long int) file___Stderr___init},
+  {(bigint) 3271 /* 0: Identity */},
+  {(bigint) 3 /* 1: Stderr < Object: superclass typecheck marker */},
+  {(bigint) 75 /* 2: Stderr < NativeFileCapable: superclass typecheck marker */},
+  {(bigint) 135 /* 3: Stderr < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: Stderr < OStream: superclass typecheck marker */},
+  {(bigint) 3139 /* 5: Stderr < OFStream: superclass typecheck marker */},
+  {(bigint) 2635 /* 6: Stderr < FStream: superclass typecheck marker */},
+  {(bigint) 3271 /* 7: Stderr < Stderr: superclass typecheck marker */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Stderr < 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) 2 /* 40: Stderr < NativeFileCapable: superclass init_table position */},
+  {(bigint) file___NativeFileCapable___io_open_read},
+  {(bigint) file___NativeFileCapable___io_open_write},
+  {(bigint) file___NativeFileCapable___native_stdin},
+  {(bigint) file___NativeFileCapable___native_stdout},
+  {(bigint) file___NativeFileCapable___native_stderr},
+  {(bigint) 3 /* 46: Stderr < FStream: superclass init_table position */},
+  {(bigint) file___FStream___path},
+  {(bigint) file___FStream___file_stat},
+  {0} /* Class Hole :( */,
+  {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) file___OFStream___write},
+  {(bigint) file___OFStream___is_writable},
+  {(bigint) 5 /* 56: Stderr < OFStream: superclass init_table position */},
+  {(bigint) file___OFStream___write_native},
+  {(bigint) file___OFStream___open},
+  {(bigint) file___OFStream___without_file},
+  {(bigint) 6 /* 60: Stderr < Stderr: superclass init_table position */},
+  {(bigint) file___Stderr___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Stderr::_path */
@@ -12264,7 +12311,7 @@ val_t NEW_Stderr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_Stderr;
-  ATTR_file___OFStream____writable(obj) = TAG_Bool((long int)0);
+  ATTR_file___OFStream____writable(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_file___Stderr___init() {
@@ -12274,53 +12321,53 @@ val_t NEW_file___Stderr___init() {
   return self;
 }
 const classtable_elt_t VFT_FileStat[47] = {
-  {(long int) -29 /* 0: Identity */},
-  {(long int) 3 /* 1: FileStat < Object: superclass typecheck marker */},
-  {(long int) -1 /* 2: FileStat < Pointer: superclass typecheck marker */},
-  {(long int) -29 /* 3: FileStat < FileStat: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: FileStat < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: FileStat < Pointer: superclass init_table position */},
-  {(long int) 2 /* 41: FileStat < FileStat: superclass init_table position */},
-  {(long int) file___FileStat___mode},
-  {(long int) file___FileStat___atime},
-  {(long int) file___FileStat___ctime},
-  {(long int) file___FileStat___mtime},
-  {(long int) file___FileStat___size},
+  {(bigint) -29 /* 0: Identity */},
+  {(bigint) 3 /* 1: FileStat < Object: superclass typecheck marker */},
+  {(bigint) -1 /* 2: FileStat < Pointer: superclass typecheck marker */},
+  {(bigint) -29 /* 3: FileStat < FileStat: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: FileStat < 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) 1 /* 40: FileStat < Pointer: superclass init_table position */},
+  {(bigint) 2 /* 41: FileStat < FileStat: superclass init_table position */},
+  {(bigint) file___FileStat___mode},
+  {(bigint) file___FileStat___atime},
+  {(bigint) file___FileStat___ctime},
+  {(bigint) file___FileStat___mtime},
+  {(bigint) file___FileStat___size},
 };
 /* 0: Pointer to the classtable */
 val_t BOX_FileStat(void * val) {
@@ -12330,52 +12377,52 @@ val_t BOX_FileStat(void * val) {
   return OBJ2VAL(box);
 }
 const classtable_elt_t VFT_NativeFile[46] = {
-  {(long int) -25 /* 0: Identity */},
-  {(long int) 3 /* 1: NativeFile < Object: superclass typecheck marker */},
-  {(long int) -1 /* 2: NativeFile < Pointer: superclass typecheck marker */},
-  {(long int) -25 /* 3: NativeFile < NativeFile: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: NativeFile < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: NativeFile < Pointer: superclass init_table position */},
-  {(long int) 2 /* 41: NativeFile < NativeFile: superclass init_table position */},
-  {(long int) file___NativeFile___io_read},
-  {(long int) file___NativeFile___io_write},
-  {(long int) file___NativeFile___io_close},
-  {(long int) file___NativeFile___file_stat},
+  {(bigint) -25 /* 0: Identity */},
+  {(bigint) 3 /* 1: NativeFile < Object: superclass typecheck marker */},
+  {(bigint) -1 /* 2: NativeFile < Pointer: superclass typecheck marker */},
+  {(bigint) -25 /* 3: NativeFile < NativeFile: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: NativeFile < 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) 1 /* 40: NativeFile < Pointer: superclass init_table position */},
+  {(bigint) 2 /* 41: NativeFile < NativeFile: superclass init_table position */},
+  {(bigint) file___NativeFile___io_read},
+  {(bigint) file___NativeFile___io_write},
+  {(bigint) file___NativeFile___io_close},
+  {(bigint) file___NativeFile___file_stat},
 };
 /* 0: Pointer to the classtable */
 val_t BOX_NativeFile(void * val) {
@@ -12385,9 +12432,9 @@ val_t BOX_NativeFile(void * val) {
   return OBJ2VAL(box);
 }
 const classtable_elt_t VFT_NativeFileCapable[46] = {
-  {(long int) 75 /* 0: Identity */},
-  {(long int) 3 /* 1: NativeFileCapable < Object: superclass typecheck marker */},
-  {(long int) 75 /* 2: NativeFileCapable < NativeFileCapable: superclass typecheck marker */},
+  {(bigint) 75 /* 0: Identity */},
+  {(bigint) 3 /* 1: NativeFileCapable < Object: superclass typecheck marker */},
+  {(bigint) 75 /* 2: NativeFileCapable < NativeFileCapable: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -12398,39 +12445,39 @@ const classtable_elt_t VFT_NativeFileCapable[46] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: NativeFileCapable < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: NativeFileCapable < NativeFileCapable: superclass init_table position */},
-  {(long int) file___NativeFileCapable___io_open_read},
-  {(long int) file___NativeFileCapable___io_open_write},
-  {(long int) file___NativeFileCapable___native_stdin},
-  {(long int) file___NativeFileCapable___native_stdout},
-  {(long int) file___NativeFileCapable___native_stderr},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: NativeFileCapable < 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) 1 /* 40: NativeFileCapable < NativeFileCapable: superclass init_table position */},
+  {(bigint) file___NativeFileCapable___io_open_read},
+  {(bigint) file___NativeFileCapable___io_open_write},
+  {(bigint) file___NativeFileCapable___native_stdin},
+  {(bigint) file___NativeFileCapable___native_stdout},
+  {(bigint) file___NativeFileCapable___native_stderr},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_NativeFileCapable(void) {
@@ -12440,57 +12487,57 @@ val_t NEW_NativeFileCapable(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Process[51] = {
-  {(long int) 43 /* 0: Identity */},
-  {(long int) 3 /* 1: Process < Object: superclass typecheck marker */},
-  {(long int) 43 /* 2: Process < Process: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Process < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Process < Process: superclass init_table position */},
-  {(long int) exec___Process___id},
-  {(long int) exec___Process___is_finished},
-  {(long int) exec___Process___wait},
-  {(long int) exec___Process___status},
-  {(long int) exec___Process___kill},
-  {(long int) exec___Process___term},
-  {(long int) exec___Process___init},
-  {(long int) exec___Process___init_},
-  {(long int) exec___Process___execute},
-  {(long int) exec___Process___basic_exec_execute},
+  {(bigint) 43 /* 0: Identity */},
+  {(bigint) 3 /* 1: Process < Object: superclass typecheck marker */},
+  {(bigint) 43 /* 2: Process < Process: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Process < 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) 1 /* 40: Process < Process: superclass init_table position */},
+  {(bigint) exec___Process___id},
+  {(bigint) exec___Process___is_finished},
+  {(bigint) exec___Process___wait},
+  {(bigint) exec___Process___status},
+  {(bigint) exec___Process___kill},
+  {(bigint) exec___Process___term},
+  {(bigint) exec___Process___init},
+  {(bigint) exec___Process___init_},
+  {(bigint) exec___Process___execute},
+  {(bigint) exec___Process___basic_exec_execute},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Process::_data */
@@ -12519,75 +12566,75 @@ val_t NEW_exec___Process___execute(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_IProcess[69] = {
-  {(long int) 3175 /* 0: Identity */},
-  {(long int) 3 /* 1: IProcess < Object: superclass typecheck marker */},
-  {(long int) 43 /* 2: IProcess < Process: superclass typecheck marker */},
-  {(long int) 135 /* 3: IProcess < IOS: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 2599 /* 5: IProcess < IStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3175 /* 7: IProcess < IProcess: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IProcess < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: IProcess < Process: superclass init_table position */},
-  {(long int) exec___Process___id},
-  {(long int) exec___Process___is_finished},
-  {(long int) exec___Process___wait},
-  {(long int) exec___Process___status},
-  {(long int) exec___Process___kill},
-  {(long int) exec___Process___term},
-  {(long int) exec___Process___init},
-  {(long int) exec___Process___init_},
-  {(long int) exec___Process___execute},
-  {(long int) exec___Process___basic_exec_execute},
-  {(long int) 2 /* 51: IProcess < IOS: superclass init_table position */},
-  {(long int) exec___IProcess___close},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 3 /* 56: IProcess < IStream: superclass init_table position */},
-  {(long int) exec___IProcess___read_char},
-  {(long int) stream___IStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___IStream___read_all},
-  {(long int) stream___IStream___append_line_to},
-  {(long int) exec___IProcess___eof},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 66: IProcess < IProcess: superclass init_table position */},
-  {(long int) exec___IProcess___init},
-  {(long int) exec___IProcess___init_},
+  {(bigint) 3187 /* 0: Identity */},
+  {(bigint) 3 /* 1: IProcess < Object: superclass typecheck marker */},
+  {(bigint) 43 /* 2: IProcess < Process: superclass typecheck marker */},
+  {(bigint) 135 /* 3: IProcess < IOS: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 2611 /* 5: IProcess < IStream: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3187 /* 7: IProcess < IProcess: superclass typecheck marker */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IProcess < 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) 1 /* 40: IProcess < Process: superclass init_table position */},
+  {(bigint) exec___Process___id},
+  {(bigint) exec___Process___is_finished},
+  {(bigint) exec___Process___wait},
+  {(bigint) exec___Process___status},
+  {(bigint) exec___Process___kill},
+  {(bigint) exec___Process___term},
+  {(bigint) exec___Process___init},
+  {(bigint) exec___Process___init_},
+  {(bigint) exec___Process___execute},
+  {(bigint) exec___Process___basic_exec_execute},
+  {(bigint) 2 /* 51: IProcess < IOS: superclass init_table position */},
+  {(bigint) exec___IProcess___close},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 3 /* 56: IProcess < 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},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 66: IProcess < IProcess: superclass init_table position */},
+  {(bigint) exec___IProcess___init},
+  {(bigint) exec___IProcess___init_},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute IProcess::_data */
@@ -12612,72 +12659,72 @@ val_t NEW_exec___IProcess___init_(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_OProcess[66] = {
-  {(long int) 3119 /* 0: Identity */},
-  {(long int) 3 /* 1: OProcess < Object: superclass typecheck marker */},
-  {(long int) 43 /* 2: OProcess < Process: superclass typecheck marker */},
-  {(long int) 135 /* 3: OProcess < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: OProcess < OStream: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3119 /* 6: OProcess < OProcess: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OProcess < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OProcess < Process: superclass init_table position */},
-  {(long int) exec___Process___id},
-  {(long int) exec___Process___is_finished},
-  {(long int) exec___Process___wait},
-  {(long int) exec___Process___status},
-  {(long int) exec___Process___kill},
-  {(long int) exec___Process___term},
-  {(long int) exec___Process___init},
-  {(long int) exec___Process___init_},
-  {(long int) exec___Process___execute},
-  {(long int) exec___Process___basic_exec_execute},
-  {(long int) 2 /* 51: OProcess < IOS: superclass init_table position */},
-  {(long int) exec___OProcess___close},
-  {(long int) 3 /* 53: OProcess < OStream: superclass init_table position */},
-  {(long int) exec___OProcess___write},
-  {(long int) exec___OProcess___is_writable},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 63: OProcess < OProcess: superclass init_table position */},
-  {(long int) exec___OProcess___init},
-  {(long int) exec___OProcess___init_},
+  {(bigint) 3135 /* 0: Identity */},
+  {(bigint) 3 /* 1: OProcess < Object: superclass typecheck marker */},
+  {(bigint) 43 /* 2: OProcess < Process: superclass typecheck marker */},
+  {(bigint) 135 /* 3: OProcess < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: OProcess < OStream: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3135 /* 6: OProcess < OProcess: 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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OProcess < 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) 1 /* 40: OProcess < Process: superclass init_table position */},
+  {(bigint) exec___Process___id},
+  {(bigint) exec___Process___is_finished},
+  {(bigint) exec___Process___wait},
+  {(bigint) exec___Process___status},
+  {(bigint) exec___Process___kill},
+  {(bigint) exec___Process___term},
+  {(bigint) exec___Process___init},
+  {(bigint) exec___Process___init_},
+  {(bigint) exec___Process___execute},
+  {(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) exec___OProcess___write},
+  {(bigint) exec___OProcess___is_writable},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 63: OProcess < OProcess: superclass init_table position */},
+  {(bigint) exec___OProcess___init},
+  {(bigint) exec___OProcess___init_},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OProcess::_data */
@@ -12701,79 +12748,79 @@ val_t NEW_exec___OProcess___init_(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_IOProcess[73] = {
-  {(long int) 3299 /* 0: Identity */},
-  {(long int) 3 /* 1: IOProcess < Object: superclass typecheck marker */},
-  {(long int) 43 /* 2: IOProcess < Process: superclass typecheck marker */},
-  {(long int) 135 /* 3: IOProcess < IOS: superclass typecheck marker */},
-  {(long int) 2515 /* 4: IOProcess < OStream: superclass typecheck marker */},
-  {(long int) 2599 /* 5: IOProcess < IStream: superclass typecheck marker */},
-  {(long int) 3119 /* 6: IOProcess < OProcess: superclass typecheck marker */},
-  {(long int) 3175 /* 7: IOProcess < IProcess: superclass typecheck marker */},
-  {(long int) 3179 /* 8: IOProcess < IOStream: superclass typecheck marker */},
-  {(long int) 3299 /* 9: IOProcess < IOProcess: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IOProcess < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: IOProcess < Process: superclass init_table position */},
-  {(long int) exec___Process___id},
-  {(long int) exec___Process___is_finished},
-  {(long int) exec___Process___wait},
-  {(long int) exec___Process___status},
-  {(long int) exec___Process___kill},
-  {(long int) exec___Process___term},
-  {(long int) exec___Process___init},
-  {(long int) exec___Process___init_},
-  {(long int) exec___Process___execute},
-  {(long int) exec___Process___basic_exec_execute},
-  {(long int) 2 /* 51: IOProcess < IOS: superclass init_table position */},
-  {(long int) exec___IOProcess___close},
-  {(long int) 5 /* 53: IOProcess < OStream: superclass init_table position */},
-  {(long int) exec___OProcess___write},
-  {(long int) exec___OProcess___is_writable},
-  {(long int) 3 /* 56: IOProcess < IStream: superclass init_table position */},
-  {(long int) exec___IProcess___read_char},
-  {(long int) stream___IStream___read},
-  {(long int) stream___IStream___read_line},
-  {(long int) stream___IStream___read_all},
-  {(long int) stream___IStream___append_line_to},
-  {(long int) exec___IProcess___eof},
-  {(long int) 6 /* 63: IOProcess < OProcess: superclass init_table position */},
-  {(long int) exec___OProcess___init},
-  {(long int) exec___OProcess___init_},
-  {(long int) 4 /* 66: IOProcess < IProcess: superclass init_table position */},
-  {(long int) exec___IProcess___init},
-  {(long int) exec___IProcess___init_},
-  {(long int) 7 /* 69: IOProcess < IOStream: superclass init_table position */},
-  {(long int) 8 /* 70: IOProcess < IOProcess: superclass init_table position */},
-  {(long int) exec___IOProcess___init},
-  {(long int) exec___IOProcess___init_},
+  {(bigint) 3307 /* 0: Identity */},
+  {(bigint) 3 /* 1: IOProcess < Object: superclass typecheck marker */},
+  {(bigint) 43 /* 2: IOProcess < Process: superclass typecheck marker */},
+  {(bigint) 135 /* 3: IOProcess < IOS: superclass typecheck marker */},
+  {(bigint) 2535 /* 4: IOProcess < OStream: superclass typecheck marker */},
+  {(bigint) 2611 /* 5: IOProcess < IStream: superclass typecheck marker */},
+  {(bigint) 3135 /* 6: IOProcess < OProcess: superclass typecheck marker */},
+  {(bigint) 3187 /* 7: IOProcess < IProcess: superclass typecheck marker */},
+  {(bigint) 3191 /* 8: IOProcess < IOStream: superclass typecheck marker */},
+  {(bigint) 3307 /* 9: IOProcess < IOProcess: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IOProcess < 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) 1 /* 40: IOProcess < Process: superclass init_table position */},
+  {(bigint) exec___Process___id},
+  {(bigint) exec___Process___is_finished},
+  {(bigint) exec___Process___wait},
+  {(bigint) exec___Process___status},
+  {(bigint) exec___Process___kill},
+  {(bigint) exec___Process___term},
+  {(bigint) exec___Process___init},
+  {(bigint) exec___Process___init_},
+  {(bigint) exec___Process___execute},
+  {(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) exec___OProcess___write},
+  {(bigint) exec___OProcess___is_writable},
+  {(bigint) 3 /* 56: 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) exec___OProcess___init},
+  {(bigint) exec___OProcess___init_},
+  {(bigint) 4 /* 66: 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) exec___IOProcess___init},
+  {(bigint) exec___IOProcess___init_},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute IOProcess::_data */
@@ -12798,56 +12845,56 @@ val_t NEW_exec___IOProcess___init_(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_NativeProcess[50] = {
-  {(long int) -21 /* 0: Identity */},
-  {(long int) 3 /* 1: NativeProcess < Object: superclass typecheck marker */},
-  {(long int) -1 /* 2: NativeProcess < Pointer: superclass typecheck marker */},
-  {(long int) -21 /* 3: NativeProcess < NativeProcess: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: NativeProcess < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: NativeProcess < Pointer: superclass init_table position */},
-  {(long int) 2 /* 41: NativeProcess < NativeProcess: superclass init_table position */},
-  {(long int) exec___NativeProcess___id},
-  {(long int) exec___NativeProcess___is_finished},
-  {(long int) exec___NativeProcess___status},
-  {(long int) exec___NativeProcess___wait},
-  {(long int) exec___NativeProcess___kill},
-  {(long int) exec___NativeProcess___in_fd},
-  {(long int) exec___NativeProcess___out_fd},
-  {(long int) exec___NativeProcess___err_fd},
+  {(bigint) -21 /* 0: Identity */},
+  {(bigint) 3 /* 1: NativeProcess < Object: superclass typecheck marker */},
+  {(bigint) -1 /* 2: NativeProcess < Pointer: superclass typecheck marker */},
+  {(bigint) -21 /* 3: NativeProcess < NativeProcess: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: NativeProcess < 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) 1 /* 40: NativeProcess < Pointer: superclass init_table position */},
+  {(bigint) 2 /* 41: NativeProcess < NativeProcess: superclass init_table position */},
+  {(bigint) exec___NativeProcess___id},
+  {(bigint) exec___NativeProcess___is_finished},
+  {(bigint) exec___NativeProcess___status},
+  {(bigint) exec___NativeProcess___wait},
+  {(bigint) exec___NativeProcess___kill},
+  {(bigint) exec___NativeProcess___in_fd},
+  {(bigint) exec___NativeProcess___out_fd},
+  {(bigint) exec___NativeProcess___err_fd},
 };
 /* 0: Pointer to the classtable */
 val_t BOX_NativeProcess(void * val) {
@@ -12857,104 +12904,104 @@ val_t BOX_NativeProcess(void * val) {
   return OBJ2VAL(box);
 }
 const classtable_elt_t VFT_List[98] = {
-  {(long int) 3619 /* 0: Identity */},
-  {(long int) 3 /* 1: List < Object: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: List < Collection: superclass typecheck marker */},
-  {(long int) 211 /* 6: List < RemovableCollection: superclass typecheck marker */},
-  {(long int) 3019 /* 7: List < SimpleCollection: superclass typecheck marker */},
-  {(long int) 3127 /* 8: List < Map: superclass typecheck marker */},
-  {(long int) 3295 /* 9: List < IndexedCollection: superclass typecheck marker */},
-  {(long int) 3619 /* 10: List < List: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: List < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: List < Collection: superclass init_table position */},
-  {(long int) list___List___iterator},
-  {(long int) list___List___is_empty},
-  {(long int) list___List___length},
-  {(long int) list___List___has},
-  {(long int) list___List___has_only},
-  {(long int) list___List___count},
-  {(long int) list___List___first},
-  {(long int) 2 /* 66: List < RemovableCollection: superclass init_table position */},
-  {(long int) list___List___clear},
-  {(long int) list___List___remove},
-  {(long int) abstract_collection___RemovableCollection___remove_all},
-  {(long int) 4 /* 70: List < SimpleCollection: superclass init_table position */},
-  {(long int) abstract_collection___IndexedCollection___add},
-  {(long int) abstract_collection___SimpleCollection___add_all},
-  {(long int) string___Map___map_join},
-  {(long int) 3 /* 74: List < Map: superclass init_table position */},
-  {(long int) list___List_____bra},
-  {(long int) list___List_____braeq},
-  {(long int) list___List___has_key},
-  {(long int) list___List___remove_at},
-  {(long int) abstract_collection___Map___recover_with},
-  {(long int) 5 /* 80: List < IndexedCollection: superclass init_table position */},
-  {(long int) list___List___first__eq},
-  {(long int) list___List___last},
-  {(long int) list___List___last__eq},
-  {(long int) list___List___push},
-  {(long int) abstract_collection___IndexedCollection___append},
-  {(long int) list___List___pop},
-  {(long int) list___List___unshift},
-  {(long int) list___List___shift},
-  {(long int) abstract_collection___IndexedCollection___index_of},
-  {(long int) 6 /* 90: List < List: superclass init_table position */},
-  {(long int) list___List___link},
-  {(long int) list___List___init},
-  {(long int) list___List___from},
-  {(long int) list___List___get_node},
-  {(long int) list___List___search_node_after},
-  {(long int) list___List___remove_node},
-  {(long int) list___List___insert_before},
+  {(bigint) 3631 /* 0: Identity */},
+  {(bigint) 3 /* 1: List < Object: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 163 /* 5: List < Collection: superclass typecheck marker */},
+  {(bigint) 211 /* 6: List < RemovableCollection: superclass typecheck marker */},
+  {(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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: List < 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},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: List < Collection: superclass init_table position */},
+  {(bigint) list___List___iterator},
+  {(bigint) list___List___is_empty},
+  {(bigint) list___List___length},
+  {(bigint) list___List___has},
+  {(bigint) list___List___has_only},
+  {(bigint) list___List___count},
+  {(bigint) list___List___first},
+  {(bigint) 2 /* 66: 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) 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) 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) list___List___first__eq},
+  {(bigint) list___List___last},
+  {(bigint) list___List___last__eq},
+  {(bigint) list___List___push},
+  {(bigint) abstract_collection___IndexedCollection___append},
+  {(bigint) list___List___pop},
+  {(bigint) list___List___unshift},
+  {(bigint) list___List___shift},
+  {(bigint) abstract_collection___IndexedCollection___index_of},
+  {(bigint) 6 /* 90: List < List: superclass init_table position */},
+  {(bigint) list___List___link},
+  {(bigint) list___List___init},
+  {(bigint) list___List___from},
+  {(bigint) list___List___get_node},
+  {(bigint) list___List___search_node_after},
+  {(bigint) list___List___remove_node},
+  {(bigint) list___List___insert_before},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute List::_head */
@@ -12978,58 +13025,58 @@ val_t NEW_list___List___from(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ListIterator[52] = {
-  {(long int) 3291 /* 0: Identity */},
-  {(long int) 3 /* 1: ListIterator < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: ListIterator < Iterator: superclass typecheck marker */},
-  {(long int) 2527 /* 3: ListIterator < MapIterator: superclass typecheck marker */},
-  {(long int) 3171 /* 4: ListIterator < IndexedIterator: superclass typecheck marker */},
-  {(long int) 3291 /* 5: ListIterator < ListIterator: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ListIterator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: ListIterator < Iterator: superclass init_table position */},
-  {(long int) list___ListIterator___item},
-  {(long int) list___ListIterator___next},
-  {(long int) list___ListIterator___is_ok},
-  {(long int) 2 /* 45: ListIterator < MapIterator: superclass init_table position */},
-  {(long int) abstract_collection___IndexedIterator___key},
-  {(long int) list___ListIterator___item__eq},
-  {(long int) 3 /* 48: ListIterator < IndexedIterator: superclass init_table position */},
-  {(long int) list___ListIterator___index},
-  {(long int) 4 /* 50: ListIterator < ListIterator: superclass init_table position */},
-  {(long int) list___ListIterator___init},
+  {(bigint) 3299 /* 0: Identity */},
+  {(bigint) 3 /* 1: ListIterator < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: ListIterator < Iterator: superclass typecheck marker */},
+  {(bigint) 2547 /* 3: ListIterator < MapIterator: superclass typecheck marker */},
+  {(bigint) 3183 /* 4: ListIterator < IndexedIterator: superclass typecheck marker */},
+  {(bigint) 3299 /* 5: ListIterator < ListIterator: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ListIterator < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: ListIterator < Iterator: superclass init_table position */},
+  {(bigint) list___ListIterator___item},
+  {(bigint) list___ListIterator___next},
+  {(bigint) list___ListIterator___is_ok},
+  {(bigint) 2 /* 45: ListIterator < MapIterator: superclass init_table position */},
+  {(bigint) abstract_collection___IndexedIterator___key},
+  {(bigint) list___ListIterator___item__eq},
+  {(bigint) 3 /* 48: ListIterator < IndexedIterator: superclass init_table position */},
+  {(bigint) list___ListIterator___index},
+  {(bigint) 4 /* 50: ListIterator < ListIterator: superclass init_table position */},
+  {(bigint) list___ListIterator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ListIterator::_node */
@@ -13038,7 +13085,7 @@ val_t NEW_ListIterator(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_ListIterator;
-  ATTR_list___ListIterator____index(obj) = TAG_Int((long int)0);
+  ATTR_list___ListIterator____index(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_list___ListIterator___init(val_t p0) {
@@ -13048,46 +13095,46 @@ val_t NEW_list___ListIterator___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ListNode[76] = {
-  {(long int) 3167 /* 0: Identity */},
-  {(long int) 3 /* 1: ListNode < Object: superclass typecheck marker */},
+  {(bigint) 3179 /* 0: Identity */},
+  {(bigint) 3 /* 1: ListNode < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: ListNode < Collection: superclass typecheck marker */},
-  {(long int) 2639 /* 6: ListNode < Container: superclass typecheck marker */},
-  {(long int) 3167 /* 7: ListNode < ListNode: superclass typecheck marker */},
+  {(bigint) 163 /* 5: ListNode < Collection: superclass typecheck marker */},
+  {(bigint) 2651 /* 6: ListNode < Container: superclass typecheck marker */},
+  {(bigint) 3179 /* 7: ListNode < ListNode: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ListNode < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ListNode < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -13104,26 +13151,26 @@ const classtable_elt_t VFT_ListNode[76] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: ListNode < Collection: superclass init_table position */},
-  {(long int) abstract_collection___Container___iterator},
-  {(long int) abstract_collection___Container___is_empty},
-  {(long int) abstract_collection___Container___length},
-  {(long int) abstract_collection___Container___has},
-  {(long int) abstract_collection___Container___has_only},
-  {(long int) abstract_collection___Container___count},
-  {(long int) abstract_collection___Container___first},
-  {(long int) 2 /* 66: ListNode < Container: superclass init_table position */},
-  {(long int) abstract_collection___Container___init},
-  {(long int) abstract_collection___Container___item},
-  {(long int) abstract_collection___Container___item__eq},
-  {(long int) 3 /* 70: ListNode < ListNode: superclass init_table position */},
-  {(long int) list___ListNode___init},
-  {(long int) list___ListNode___next},
-  {(long int) list___ListNode___next__eq},
-  {(long int) list___ListNode___prev},
-  {(long int) list___ListNode___prev__eq},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: ListNode < Collection: superclass init_table position */},
+  {(bigint) abstract_collection___Container___iterator},
+  {(bigint) abstract_collection___Container___is_empty},
+  {(bigint) abstract_collection___Container___length},
+  {(bigint) abstract_collection___Container___has},
+  {(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) 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) list___ListNode___init},
+  {(bigint) list___ListNode___next},
+  {(bigint) list___ListNode___next__eq},
+  {(bigint) list___ListNode___prev},
+  {(bigint) list___ListNode___prev__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ListNode::_item */
@@ -13142,46 +13189,46 @@ val_t NEW_list___ListNode___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_Range[71] = {
-  {(long int) 2491 /* 0: Identity */},
-  {(long int) 3 /* 1: Range < Object: superclass typecheck marker */},
+  {(bigint) 2507 /* 0: Identity */},
+  {(bigint) 3 /* 1: Range < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: Range < Collection: superclass typecheck marker */},
-  {(long int) 2491 /* 6: Range < Range: superclass typecheck marker */},
+  {(bigint) 163 /* 5: Range < Collection: superclass typecheck marker */},
+  {(bigint) 2507 /* 6: Range < Range: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Range < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Range < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -13198,21 +13245,21 @@ const classtable_elt_t VFT_Range[71] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: Range < Collection: superclass init_table position */},
-  {(long int) range___Range___iterator},
-  {(long int) range___Range___is_empty},
-  {(long int) range___Range___length},
-  {(long int) range___Range___has},
-  {(long int) range___Range___has_only},
-  {(long int) range___Range___count},
-  {(long int) range___Range___first},
-  {(long int) 2 /* 66: Range < Range: superclass init_table position */},
-  {(long int) range___Range___last},
-  {(long int) range___Range___after},
-  {(long int) range___Range___init},
-  {(long int) range___Range___without_last},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: Range < Collection: superclass init_table position */},
+  {(bigint) range___Range___iterator},
+  {(bigint) range___Range___is_empty},
+  {(bigint) range___Range___length},
+  {(bigint) range___Range___has},
+  {(bigint) range___Range___has_only},
+  {(bigint) range___Range___count},
+  {(bigint) range___Range___first},
+  {(bigint) 2 /* 66: Range < Range: superclass init_table position */},
+  {(bigint) range___Range___last},
+  {(bigint) range___Range___after},
+  {(bigint) range___Range___init},
+  {(bigint) range___Range___without_last},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Range::_first */
@@ -13237,53 +13284,53 @@ val_t NEW_range___Range___without_last(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_IteratorRange[47] = {
-  {(long int) 2595 /* 0: Identity */},
-  {(long int) 3 /* 1: IteratorRange < Object: superclass typecheck marker */},
-  {(long int) 131 /* 2: IteratorRange < Iterator: superclass typecheck marker */},
-  {(long int) 2595 /* 3: IteratorRange < IteratorRange: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: IteratorRange < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) array___Iterator___to_a},
-  {(long int) 1 /* 41: IteratorRange < Iterator: superclass init_table position */},
-  {(long int) range___IteratorRange___item},
-  {(long int) range___IteratorRange___next},
-  {(long int) range___IteratorRange___is_ok},
-  {(long int) 2 /* 45: IteratorRange < IteratorRange: superclass init_table position */},
-  {(long int) range___IteratorRange___init},
+  {(bigint) 2607 /* 0: Identity */},
+  {(bigint) 3 /* 1: IteratorRange < Object: superclass typecheck marker */},
+  {(bigint) 131 /* 2: IteratorRange < Iterator: superclass typecheck marker */},
+  {(bigint) 2607 /* 3: IteratorRange < IteratorRange: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: IteratorRange < 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) array___Iterator___to_a},
+  {(bigint) 1 /* 41: IteratorRange < Iterator: superclass init_table position */},
+  {(bigint) range___IteratorRange___item},
+  {(bigint) range___IteratorRange___next},
+  {(bigint) range___IteratorRange___is_ok},
+  {(bigint) 2 /* 45: IteratorRange < IteratorRange: superclass init_table position */},
+  {(bigint) range___IteratorRange___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute IteratorRange::_range */
@@ -13301,67 +13348,67 @@ val_t NEW_range___IteratorRange___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_PNode[61] = {
-  {(long int) 63 /* 0: Identity */},
-  {(long int) 3 /* 1: PNode < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PNode < PNode: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PNode < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___PNode___locate},
-  {(long int) parser_prod___PNode___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PNode < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
+  {(bigint) 63 /* 0: Identity */},
+  {(bigint) 3 /* 1: PNode < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PNode < PNode: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PNode < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___PNode___locate},
+  {(bigint) parser_prod___PNode___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PNode < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PNode::_parent */
@@ -13372,75 +13419,75 @@ val_t NEW_PNode(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Token[69] = {
-  {(long int) 183 /* 0: Identity */},
-  {(long int) 3 /* 1: Token < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: Token < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: Token < Token: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Token < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: Token < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___Token___parser_index},
-  {(long int) 2 /* 68: Token < Token: superclass init_table position */},
+  {(bigint) 183 /* 0: Identity */},
+  {(bigint) 3 /* 1: Token < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: Token < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: Token < Token: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Token < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: Token < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(bigint) lexer___Token___line},
+  {(bigint) lexer___Token___pos},
+  {(bigint) lexer___Token___parser_index},
+  {(bigint) 2 /* 68: Token < Token: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Token::_parent */
@@ -13453,78 +13500,78 @@ val_t NEW_Token(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_Token;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  ATTR_lexer___Token____pos(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_Prod[67] = {
-  {(long int) 2495 /* 0: Identity */},
-  {(long int) 3 /* 1: Prod < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: Prod < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: Prod < Prod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Prod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: Prod < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: Prod < Prod: superclass init_table position */},
+  {(bigint) 2511 /* 0: Identity */},
+  {(bigint) 3 /* 1: Prod < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: Prod < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: Prod < Prod: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Prod < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: Prod < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Prod::_parent */
@@ -13537,77 +13584,77 @@ val_t NEW_Prod(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_TEol[71] = {
-  {(long int) 2959 /* 0: Identity */},
-  {(long int) 3 /* 1: TEol < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TEol < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TEol < Token: superclass typecheck marker */},
-  {(long int) 2959 /* 4: TEol < TEol: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TEol < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TEol < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TEol___parser_index},
-  {(long int) 2 /* 68: TEol < Token: superclass init_table position */},
-  {(long int) lexer___TEol___init},
-  {(long int) 3 /* 70: TEol < TEol: superclass init_table position */},
+  {(bigint) 2975 /* 0: Identity */},
+  {(bigint) 3 /* 1: TEol < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TEol < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TEol < Token: superclass typecheck marker */},
+  {(bigint) 2975 /* 4: TEol < TEol: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TEol < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TEol < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TEol::_parent */
@@ -13620,8 +13667,8 @@ val_t NEW_TEol(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TEol;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -13631,77 +13678,77 @@ val_t NEW_lexer___TEol___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TComment[71] = {
-  {(long int) 2983 /* 0: Identity */},
-  {(long int) 3 /* 1: TComment < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TComment < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TComment < Token: superclass typecheck marker */},
-  {(long int) 2983 /* 4: TComment < TComment: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TComment < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TComment < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TComment___parser_index},
-  {(long int) 2 /* 68: TComment < Token: superclass init_table position */},
-  {(long int) lexer___TComment___init},
-  {(long int) 3 /* 70: TComment < TComment: superclass init_table position */},
+  {(bigint) 2999 /* 0: Identity */},
+  {(bigint) 3 /* 1: TComment < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TComment < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TComment < Token: superclass typecheck marker */},
+  {(bigint) 2999 /* 4: TComment < TComment: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TComment < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TComment < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TComment::_parent */
@@ -13714,8 +13761,8 @@ val_t NEW_TComment(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TComment;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -13725,77 +13772,77 @@ val_t NEW_lexer___TComment___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TKwpackage[71] = {
-  {(long int) 2819 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwpackage < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwpackage < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwpackage < Token: superclass typecheck marker */},
-  {(long int) 2819 /* 4: TKwpackage < TKwpackage: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwpackage < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwpackage < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwpackage___parser_index},
-  {(long int) 2 /* 68: TKwpackage < Token: superclass init_table position */},
-  {(long int) lexer___TKwpackage___init},
-  {(long int) 3 /* 70: TKwpackage < TKwpackage: superclass init_table position */},
+  {(bigint) 2831 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwpackage < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwpackage < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwpackage < Token: superclass typecheck marker */},
+  {(bigint) 2831 /* 4: TKwpackage < TKwpackage: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwpackage < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwpackage < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwpackage::_parent */
@@ -13808,8 +13855,8 @@ val_t NEW_TKwpackage(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwpackage;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -13819,77 +13866,77 @@ val_t NEW_lexer___TKwpackage___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwimport[71] = {
-  {(long int) 2875 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwimport < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwimport < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwimport < Token: superclass typecheck marker */},
-  {(long int) 2875 /* 4: TKwimport < TKwimport: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwimport < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwimport < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwimport___parser_index},
-  {(long int) 2 /* 68: TKwimport < Token: superclass init_table position */},
-  {(long int) lexer___TKwimport___init},
-  {(long int) 3 /* 70: TKwimport < TKwimport: superclass init_table position */},
+  {(bigint) 2887 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwimport < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwimport < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwimport < Token: superclass typecheck marker */},
+  {(bigint) 2887 /* 4: TKwimport < TKwimport: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwimport < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwimport < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwimport::_parent */
@@ -13902,8 +13949,8 @@ val_t NEW_TKwimport(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwimport;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -13913,77 +13960,77 @@ val_t NEW_lexer___TKwimport___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwclass[71] = {
-  {(long int) 2911 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwclass < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwclass < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwclass < Token: superclass typecheck marker */},
-  {(long int) 2911 /* 4: TKwclass < TKwclass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwclass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwclass < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwclass___parser_index},
-  {(long int) 2 /* 68: TKwclass < Token: superclass init_table position */},
-  {(long int) lexer___TKwclass___init},
-  {(long int) 3 /* 70: TKwclass < TKwclass: superclass init_table position */},
+  {(bigint) 2923 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwclass < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwclass < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwclass < Token: superclass typecheck marker */},
+  {(bigint) 2923 /* 4: TKwclass < TKwclass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwclass < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwclass < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwclass::_parent */
@@ -13996,8 +14043,8 @@ val_t NEW_TKwclass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwclass;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14007,77 +14054,77 @@ val_t NEW_lexer___TKwclass___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwabstract[71] = {
-  {(long int) 2931 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwabstract < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwabstract < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwabstract < Token: superclass typecheck marker */},
-  {(long int) 2931 /* 4: TKwabstract < TKwabstract: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwabstract < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwabstract < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwabstract___parser_index},
-  {(long int) 2 /* 68: TKwabstract < Token: superclass init_table position */},
-  {(long int) lexer___TKwabstract___init},
-  {(long int) 3 /* 70: TKwabstract < TKwabstract: superclass init_table position */},
+  {(bigint) 2947 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwabstract < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwabstract < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwabstract < Token: superclass typecheck marker */},
+  {(bigint) 2947 /* 4: TKwabstract < TKwabstract: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwabstract < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwabstract < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwabstract::_parent */
@@ -14090,8 +14137,8 @@ val_t NEW_TKwabstract(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwabstract;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14101,77 +14148,77 @@ val_t NEW_lexer___TKwabstract___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwinterface[71] = {
-  {(long int) 2863 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwinterface < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwinterface < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwinterface < Token: superclass typecheck marker */},
-  {(long int) 2863 /* 4: TKwinterface < TKwinterface: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwinterface < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwinterface < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwinterface___parser_index},
-  {(long int) 2 /* 68: TKwinterface < Token: superclass init_table position */},
-  {(long int) lexer___TKwinterface___init},
-  {(long int) 3 /* 70: TKwinterface < TKwinterface: superclass init_table position */},
+  {(bigint) 2875 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwinterface < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwinterface < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwinterface < Token: superclass typecheck marker */},
+  {(bigint) 2875 /* 4: TKwinterface < TKwinterface: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwinterface < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwinterface < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwinterface::_parent */
@@ -14184,8 +14231,8 @@ val_t NEW_TKwinterface(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwinterface;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14195,77 +14242,77 @@ val_t NEW_lexer___TKwinterface___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwuniversal[71] = {
-  {(long int) 2771 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwuniversal < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwuniversal < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwuniversal < Token: superclass typecheck marker */},
-  {(long int) 2771 /* 4: TKwuniversal < TKwuniversal: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwuniversal < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwuniversal < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwuniversal___parser_index},
-  {(long int) 2 /* 68: TKwuniversal < Token: superclass init_table position */},
-  {(long int) lexer___TKwuniversal___init},
-  {(long int) 3 /* 70: TKwuniversal < TKwuniversal: superclass init_table position */},
+  {(bigint) 2783 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwuniversal < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwuniversal < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwuniversal < Token: superclass typecheck marker */},
+  {(bigint) 2783 /* 4: TKwuniversal < TKwuniversal: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwuniversal < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwuniversal < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwuniversal::_parent */
@@ -14278,8 +14325,8 @@ val_t NEW_TKwuniversal(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwuniversal;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14289,77 +14336,77 @@ val_t NEW_lexer___TKwuniversal___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwspecial[71] = {
-  {(long int) 2791 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwspecial < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwspecial < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwspecial < Token: superclass typecheck marker */},
-  {(long int) 2791 /* 4: TKwspecial < TKwspecial: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwspecial < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwspecial < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwspecial___parser_index},
-  {(long int) 2 /* 68: TKwspecial < Token: superclass init_table position */},
-  {(long int) lexer___TKwspecial___init},
-  {(long int) 3 /* 70: TKwspecial < TKwspecial: superclass init_table position */},
+  {(bigint) 2803 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwspecial < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwspecial < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwspecial < Token: superclass typecheck marker */},
+  {(bigint) 2803 /* 4: TKwspecial < TKwspecial: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwspecial < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwspecial < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwspecial::_parent */
@@ -14372,8 +14419,8 @@ val_t NEW_TKwspecial(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwspecial;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14383,77 +14430,77 @@ val_t NEW_lexer___TKwspecial___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwend[71] = {
-  {(long int) 2895 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwend < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwend < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwend < Token: superclass typecheck marker */},
-  {(long int) 2895 /* 4: TKwend < TKwend: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwend < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwend < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwend___parser_index},
-  {(long int) 2 /* 68: TKwend < Token: superclass init_table position */},
-  {(long int) lexer___TKwend___init},
-  {(long int) 3 /* 70: TKwend < TKwend: superclass init_table position */},
+  {(bigint) 2907 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwend < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwend < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwend < Token: superclass typecheck marker */},
+  {(bigint) 2907 /* 4: TKwend < TKwend: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwend < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwend < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwend::_parent */
@@ -14466,8 +14513,8 @@ val_t NEW_TKwend(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwend;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14477,77 +14524,77 @@ val_t NEW_lexer___TKwend___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwmeth[71] = {
-  {(long int) 2843 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwmeth < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwmeth < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwmeth < Token: superclass typecheck marker */},
-  {(long int) 2843 /* 4: TKwmeth < TKwmeth: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwmeth < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwmeth < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwmeth___parser_index},
-  {(long int) 2 /* 68: TKwmeth < Token: superclass init_table position */},
-  {(long int) lexer___TKwmeth___init},
-  {(long int) 3 /* 70: TKwmeth < TKwmeth: superclass init_table position */},
+  {(bigint) 2855 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwmeth < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwmeth < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwmeth < Token: superclass typecheck marker */},
+  {(bigint) 2855 /* 4: TKwmeth < TKwmeth: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwmeth < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwmeth < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwmeth::_parent */
@@ -14560,8 +14607,8 @@ val_t NEW_TKwmeth(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwmeth;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14571,77 +14618,77 @@ val_t NEW_lexer___TKwmeth___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwtype[71] = {
-  {(long int) 2775 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwtype < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwtype < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwtype < Token: superclass typecheck marker */},
-  {(long int) 2775 /* 4: TKwtype < TKwtype: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwtype < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwtype < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwtype___parser_index},
-  {(long int) 2 /* 68: TKwtype < Token: superclass init_table position */},
-  {(long int) lexer___TKwtype___init},
-  {(long int) 3 /* 70: TKwtype < TKwtype: superclass init_table position */},
+  {(bigint) 2787 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwtype < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwtype < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwtype < Token: superclass typecheck marker */},
+  {(bigint) 2787 /* 4: TKwtype < TKwtype: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwtype < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwtype < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwtype::_parent */
@@ -14654,8 +14701,8 @@ val_t NEW_TKwtype(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwtype;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14665,77 +14712,77 @@ val_t NEW_lexer___TKwtype___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwattr[71] = {
-  {(long int) 2919 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwattr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwattr < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwattr < Token: superclass typecheck marker */},
-  {(long int) 2919 /* 4: TKwattr < TKwattr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwattr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwattr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwattr___parser_index},
-  {(long int) 2 /* 68: TKwattr < Token: superclass init_table position */},
-  {(long int) lexer___TKwattr___init},
-  {(long int) 3 /* 70: TKwattr < TKwattr: superclass init_table position */},
+  {(bigint) 2931 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwattr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwattr < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwattr < Token: superclass typecheck marker */},
+  {(bigint) 2931 /* 4: TKwattr < TKwattr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwattr < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwattr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwattr::_parent */
@@ -14748,8 +14795,8 @@ val_t NEW_TKwattr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwattr;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14759,77 +14806,77 @@ val_t NEW_lexer___TKwattr___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwinit[71] = {
-  {(long int) 2867 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwinit < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwinit < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwinit < Token: superclass typecheck marker */},
-  {(long int) 2867 /* 4: TKwinit < TKwinit: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwinit < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwinit < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwinit___parser_index},
-  {(long int) 2 /* 68: TKwinit < Token: superclass init_table position */},
-  {(long int) lexer___TKwinit___init},
-  {(long int) 3 /* 70: TKwinit < TKwinit: superclass init_table position */},
+  {(bigint) 2879 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwinit < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwinit < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwinit < Token: superclass typecheck marker */},
+  {(bigint) 2879 /* 4: TKwinit < TKwinit: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwinit < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwinit < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwinit::_parent */
@@ -14842,8 +14889,8 @@ val_t NEW_TKwinit(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwinit;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14853,77 +14900,77 @@ val_t NEW_lexer___TKwinit___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwredef[71] = {
-  {(long int) 2803 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwredef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwredef < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwredef < Token: superclass typecheck marker */},
-  {(long int) 2803 /* 4: TKwredef < TKwredef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwredef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwredef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwredef___parser_index},
-  {(long int) 2 /* 68: TKwredef < Token: superclass init_table position */},
-  {(long int) lexer___TKwredef___init},
-  {(long int) 3 /* 70: TKwredef < TKwredef: superclass init_table position */},
+  {(bigint) 2815 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwredef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwredef < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwredef < Token: superclass typecheck marker */},
+  {(bigint) 2815 /* 4: TKwredef < TKwredef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwredef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwredef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwredef::_parent */
@@ -14936,8 +14983,8 @@ val_t NEW_TKwredef(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwredef;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -14947,77 +14994,77 @@ val_t NEW_lexer___TKwredef___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwis[71] = {
-  {(long int) 2851 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwis < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwis < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwis < Token: superclass typecheck marker */},
-  {(long int) 2851 /* 4: TKwis < TKwis: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwis < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwis < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwis___parser_index},
-  {(long int) 2 /* 68: TKwis < Token: superclass init_table position */},
-  {(long int) lexer___TKwis___init},
-  {(long int) 3 /* 70: TKwis < TKwis: superclass init_table position */},
+  {(bigint) 2863 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwis < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwis < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwis < Token: superclass typecheck marker */},
+  {(bigint) 2863 /* 4: TKwis < TKwis: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwis < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwis < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwis::_parent */
@@ -15030,8 +15077,8 @@ val_t NEW_TKwis(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwis;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15041,77 +15088,77 @@ val_t NEW_lexer___TKwis___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwdo[71] = {
-  {(long int) 2903 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwdo < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwdo < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwdo < Token: superclass typecheck marker */},
-  {(long int) 2903 /* 4: TKwdo < TKwdo: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwdo < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwdo < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwdo___parser_index},
-  {(long int) 2 /* 68: TKwdo < Token: superclass init_table position */},
-  {(long int) lexer___TKwdo___init},
-  {(long int) 3 /* 70: TKwdo < TKwdo: superclass init_table position */},
+  {(bigint) 2915 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwdo < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwdo < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwdo < Token: superclass typecheck marker */},
+  {(bigint) 2915 /* 4: TKwdo < TKwdo: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwdo < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwdo < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwdo::_parent */
@@ -15124,8 +15171,8 @@ val_t NEW_TKwdo(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwdo;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15135,77 +15182,77 @@ val_t NEW_lexer___TKwdo___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwreadable[71] = {
-  {(long int) 2807 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwreadable < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwreadable < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwreadable < Token: superclass typecheck marker */},
-  {(long int) 2807 /* 4: TKwreadable < TKwreadable: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwreadable < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwreadable < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwreadable___parser_index},
-  {(long int) 2 /* 68: TKwreadable < Token: superclass init_table position */},
-  {(long int) lexer___TKwreadable___init},
-  {(long int) 3 /* 70: TKwreadable < TKwreadable: superclass init_table position */},
+  {(bigint) 2819 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwreadable < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwreadable < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwreadable < Token: superclass typecheck marker */},
+  {(bigint) 2819 /* 4: TKwreadable < TKwreadable: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwreadable < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwreadable < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwreadable::_parent */
@@ -15218,8 +15265,8 @@ val_t NEW_TKwreadable(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwreadable;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15229,77 +15276,77 @@ val_t NEW_lexer___TKwreadable___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwwritable[71] = {
-  {(long int) 2759 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwwritable < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwwritable < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwwritable < Token: superclass typecheck marker */},
-  {(long int) 2759 /* 4: TKwwritable < TKwwritable: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwwritable < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwwritable < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwwritable___parser_index},
-  {(long int) 2 /* 68: TKwwritable < Token: superclass init_table position */},
-  {(long int) lexer___TKwwritable___init},
-  {(long int) 3 /* 70: TKwwritable < TKwwritable: superclass init_table position */},
+  {(bigint) 2771 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwwritable < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwwritable < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwwritable < Token: superclass typecheck marker */},
+  {(bigint) 2771 /* 4: TKwwritable < TKwwritable: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwwritable < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwwritable < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwwritable::_parent */
@@ -15312,8 +15359,8 @@ val_t NEW_TKwwritable(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwwritable;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15323,77 +15370,77 @@ val_t NEW_lexer___TKwwritable___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwvar[71] = {
-  {(long int) 2767 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwvar < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwvar < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwvar < Token: superclass typecheck marker */},
-  {(long int) 2767 /* 4: TKwvar < TKwvar: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwvar < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwvar < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwvar___parser_index},
-  {(long int) 2 /* 68: TKwvar < Token: superclass init_table position */},
-  {(long int) lexer___TKwvar___init},
-  {(long int) 3 /* 70: TKwvar < TKwvar: superclass init_table position */},
+  {(bigint) 2779 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwvar < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwvar < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwvar < Token: superclass typecheck marker */},
+  {(bigint) 2779 /* 4: TKwvar < TKwvar: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwvar < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwvar < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwvar::_parent */
@@ -15406,8 +15453,8 @@ val_t NEW_TKwvar(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwvar;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15417,77 +15464,77 @@ val_t NEW_lexer___TKwvar___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwintern[71] = {
-  {(long int) 2859 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwintern < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwintern < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwintern < Token: superclass typecheck marker */},
-  {(long int) 2859 /* 4: TKwintern < TKwintern: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwintern < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwintern < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwintern___parser_index},
-  {(long int) 2 /* 68: TKwintern < Token: superclass init_table position */},
-  {(long int) lexer___TKwintern___init},
-  {(long int) 3 /* 70: TKwintern < TKwintern: superclass init_table position */},
+  {(bigint) 2871 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwintern < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwintern < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwintern < Token: superclass typecheck marker */},
+  {(bigint) 2871 /* 4: TKwintern < TKwintern: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwintern < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwintern < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwintern::_parent */
@@ -15500,8 +15547,8 @@ val_t NEW_TKwintern(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwintern;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15511,77 +15558,77 @@ val_t NEW_lexer___TKwintern___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwextern[71] = {
-  {(long int) 2891 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwextern < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwextern < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwextern < Token: superclass typecheck marker */},
-  {(long int) 2891 /* 4: TKwextern < TKwextern: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwextern < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwextern < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwextern___parser_index},
-  {(long int) 2 /* 68: TKwextern < Token: superclass init_table position */},
-  {(long int) lexer___TKwextern___init},
-  {(long int) 3 /* 70: TKwextern < TKwextern: superclass init_table position */},
+  {(bigint) 2903 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwextern < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwextern < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwextern < Token: superclass typecheck marker */},
+  {(bigint) 2903 /* 4: TKwextern < TKwextern: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwextern < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwextern < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwextern::_parent */
@@ -15594,8 +15641,8 @@ val_t NEW_TKwextern(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwextern;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15605,77 +15652,77 @@ val_t NEW_lexer___TKwextern___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwprotected[71] = {
-  {(long int) 2811 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwprotected < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwprotected < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwprotected < Token: superclass typecheck marker */},
-  {(long int) 2811 /* 4: TKwprotected < TKwprotected: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwprotected < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwprotected < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwprotected___parser_index},
-  {(long int) 2 /* 68: TKwprotected < Token: superclass init_table position */},
-  {(long int) lexer___TKwprotected___init},
-  {(long int) 3 /* 70: TKwprotected < TKwprotected: superclass init_table position */},
+  {(bigint) 2823 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwprotected < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwprotected < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwprotected < Token: superclass typecheck marker */},
+  {(bigint) 2823 /* 4: TKwprotected < TKwprotected: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwprotected < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwprotected < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwprotected::_parent */
@@ -15688,8 +15735,8 @@ val_t NEW_TKwprotected(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwprotected;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15699,77 +15746,77 @@ val_t NEW_lexer___TKwprotected___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwprivate[71] = {
-  {(long int) 2815 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwprivate < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwprivate < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwprivate < Token: superclass typecheck marker */},
-  {(long int) 2815 /* 4: TKwprivate < TKwprivate: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwprivate < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwprivate < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwprivate___parser_index},
-  {(long int) 2 /* 68: TKwprivate < Token: superclass init_table position */},
-  {(long int) lexer___TKwprivate___init},
-  {(long int) 3 /* 70: TKwprivate < TKwprivate: superclass init_table position */},
+  {(bigint) 2827 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwprivate < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwprivate < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwprivate < Token: superclass typecheck marker */},
+  {(bigint) 2827 /* 4: TKwprivate < TKwprivate: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwprivate < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwprivate < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwprivate::_parent */
@@ -15782,8 +15829,8 @@ val_t NEW_TKwprivate(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwprivate;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15793,77 +15840,77 @@ val_t NEW_lexer___TKwprivate___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwintrude[71] = {
-  {(long int) 2855 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwintrude < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwintrude < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwintrude < Token: superclass typecheck marker */},
-  {(long int) 2855 /* 4: TKwintrude < TKwintrude: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwintrude < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwintrude < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwintrude___parser_index},
-  {(long int) 2 /* 68: TKwintrude < Token: superclass init_table position */},
-  {(long int) lexer___TKwintrude___init},
-  {(long int) 3 /* 70: TKwintrude < TKwintrude: superclass init_table position */},
+  {(bigint) 2867 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwintrude < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwintrude < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwintrude < Token: superclass typecheck marker */},
+  {(bigint) 2867 /* 4: TKwintrude < TKwintrude: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwintrude < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwintrude < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwintrude::_parent */
@@ -15876,8 +15923,8 @@ val_t NEW_TKwintrude(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwintrude;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15887,77 +15934,77 @@ val_t NEW_lexer___TKwintrude___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwif[71] = {
-  {(long int) 2879 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwif < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwif < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwif < Token: superclass typecheck marker */},
-  {(long int) 2879 /* 4: TKwif < TKwif: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwif < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwif < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwif___parser_index},
-  {(long int) 2 /* 68: TKwif < Token: superclass init_table position */},
-  {(long int) lexer___TKwif___init},
-  {(long int) 3 /* 70: TKwif < TKwif: superclass init_table position */},
+  {(bigint) 2891 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwif < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwif < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwif < Token: superclass typecheck marker */},
+  {(bigint) 2891 /* 4: TKwif < TKwif: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwif < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwif < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwif::_parent */
@@ -15970,8 +16017,8 @@ val_t NEW_TKwif(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwif;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -15981,77 +16028,77 @@ val_t NEW_lexer___TKwif___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwthen[71] = {
-  {(long int) 2783 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwthen < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwthen < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwthen < Token: superclass typecheck marker */},
-  {(long int) 2783 /* 4: TKwthen < TKwthen: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwthen < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwthen < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwthen___parser_index},
-  {(long int) 2 /* 68: TKwthen < Token: superclass init_table position */},
-  {(long int) lexer___TKwthen___init},
-  {(long int) 3 /* 70: TKwthen < TKwthen: superclass init_table position */},
+  {(bigint) 2795 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwthen < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwthen < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwthen < Token: superclass typecheck marker */},
+  {(bigint) 2795 /* 4: TKwthen < TKwthen: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwthen < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwthen < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwthen::_parent */
@@ -16064,8 +16111,8 @@ val_t NEW_TKwthen(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwthen;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16075,77 +16122,77 @@ val_t NEW_lexer___TKwthen___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwelse[71] = {
-  {(long int) 2899 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwelse < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwelse < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwelse < Token: superclass typecheck marker */},
-  {(long int) 2899 /* 4: TKwelse < TKwelse: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwelse < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwelse < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwelse___parser_index},
-  {(long int) 2 /* 68: TKwelse < Token: superclass init_table position */},
-  {(long int) lexer___TKwelse___init},
-  {(long int) 3 /* 70: TKwelse < TKwelse: superclass init_table position */},
+  {(bigint) 2911 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwelse < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwelse < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwelse < Token: superclass typecheck marker */},
+  {(bigint) 2911 /* 4: TKwelse < TKwelse: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwelse < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwelse < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwelse::_parent */
@@ -16158,8 +16205,8 @@ val_t NEW_TKwelse(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwelse;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16169,77 +16216,77 @@ val_t NEW_lexer___TKwelse___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwwhile[71] = {
-  {(long int) 2763 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwwhile < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwwhile < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwwhile < Token: superclass typecheck marker */},
-  {(long int) 2763 /* 4: TKwwhile < TKwwhile: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwwhile < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwwhile < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwwhile___parser_index},
-  {(long int) 2 /* 68: TKwwhile < Token: superclass init_table position */},
-  {(long int) lexer___TKwwhile___init},
-  {(long int) 3 /* 70: TKwwhile < TKwwhile: superclass init_table position */},
+  {(bigint) 2775 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwwhile < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwwhile < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwwhile < Token: superclass typecheck marker */},
+  {(bigint) 2775 /* 4: TKwwhile < TKwwhile: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwwhile < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwwhile < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwwhile::_parent */
@@ -16252,8 +16299,8 @@ val_t NEW_TKwwhile(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwwhile;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16263,77 +16310,77 @@ val_t NEW_lexer___TKwwhile___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwfor[71] = {
-  {(long int) 2883 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwfor < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwfor < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwfor < Token: superclass typecheck marker */},
-  {(long int) 2883 /* 4: TKwfor < TKwfor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwfor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwfor < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwfor___parser_index},
-  {(long int) 2 /* 68: TKwfor < Token: superclass init_table position */},
-  {(long int) lexer___TKwfor___init},
-  {(long int) 3 /* 70: TKwfor < TKwfor: superclass init_table position */},
+  {(bigint) 2895 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwfor < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwfor < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwfor < Token: superclass typecheck marker */},
+  {(bigint) 2895 /* 4: TKwfor < TKwfor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwfor < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwfor < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwfor::_parent */
@@ -16346,8 +16393,8 @@ val_t NEW_TKwfor(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwfor;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16357,77 +16404,77 @@ val_t NEW_lexer___TKwfor___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwin[71] = {
-  {(long int) 2871 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwin < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwin < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwin < Token: superclass typecheck marker */},
-  {(long int) 2871 /* 4: TKwin < TKwin: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwin < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwin < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwin___parser_index},
-  {(long int) 2 /* 68: TKwin < Token: superclass init_table position */},
-  {(long int) lexer___TKwin___init},
-  {(long int) 3 /* 70: TKwin < TKwin: superclass init_table position */},
+  {(bigint) 2883 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwin < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwin < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwin < Token: superclass typecheck marker */},
+  {(bigint) 2883 /* 4: TKwin < TKwin: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwin < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwin < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwin::_parent */
@@ -16440,8 +16487,8 @@ val_t NEW_TKwin(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwin;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16451,77 +16498,77 @@ val_t NEW_lexer___TKwin___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwand[71] = {
-  {(long int) 2927 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwand < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwand < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwand < Token: superclass typecheck marker */},
-  {(long int) 2927 /* 4: TKwand < TKwand: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwand < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwand < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwand___parser_index},
-  {(long int) 2 /* 68: TKwand < Token: superclass init_table position */},
-  {(long int) lexer___TKwand___init},
-  {(long int) 3 /* 70: TKwand < TKwand: superclass init_table position */},
+  {(bigint) 2943 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwand < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwand < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwand < Token: superclass typecheck marker */},
+  {(bigint) 2943 /* 4: TKwand < TKwand: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwand < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwand < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwand::_parent */
@@ -16534,8 +16581,8 @@ val_t NEW_TKwand(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwand;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16545,77 +16592,77 @@ val_t NEW_lexer___TKwand___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwor[71] = {
-  {(long int) 2823 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwor < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwor < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwor < Token: superclass typecheck marker */},
-  {(long int) 2823 /* 4: TKwor < TKwor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwor < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwor___parser_index},
-  {(long int) 2 /* 68: TKwor < Token: superclass init_table position */},
-  {(long int) lexer___TKwor___init},
-  {(long int) 3 /* 70: TKwor < TKwor: superclass init_table position */},
+  {(bigint) 2835 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwor < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwor < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwor < Token: superclass typecheck marker */},
+  {(bigint) 2835 /* 4: TKwor < TKwor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwor < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwor < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwor::_parent */
@@ -16628,8 +16675,8 @@ val_t NEW_TKwor(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwor;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16639,77 +16686,77 @@ val_t NEW_lexer___TKwor___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwnot[71] = {
-  {(long int) 2835 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwnot < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwnot < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwnot < Token: superclass typecheck marker */},
-  {(long int) 2835 /* 4: TKwnot < TKwnot: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwnot < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwnot < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwnot___parser_index},
-  {(long int) 2 /* 68: TKwnot < Token: superclass init_table position */},
-  {(long int) lexer___TKwnot___init},
-  {(long int) 3 /* 70: TKwnot < TKwnot: superclass init_table position */},
+  {(bigint) 2847 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwnot < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwnot < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwnot < Token: superclass typecheck marker */},
+  {(bigint) 2847 /* 4: TKwnot < TKwnot: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwnot < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwnot < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwnot::_parent */
@@ -16722,8 +16769,8 @@ val_t NEW_TKwnot(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwnot;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16733,77 +16780,77 @@ val_t NEW_lexer___TKwnot___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwreturn[71] = {
-  {(long int) 2799 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwreturn < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwreturn < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwreturn < Token: superclass typecheck marker */},
-  {(long int) 2799 /* 4: TKwreturn < TKwreturn: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwreturn < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwreturn < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwreturn___parser_index},
-  {(long int) 2 /* 68: TKwreturn < Token: superclass init_table position */},
-  {(long int) lexer___TKwreturn___init},
-  {(long int) 3 /* 70: TKwreturn < TKwreturn: superclass init_table position */},
+  {(bigint) 2811 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwreturn < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwreturn < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwreturn < Token: superclass typecheck marker */},
+  {(bigint) 2811 /* 4: TKwreturn < TKwreturn: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwreturn < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwreturn < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwreturn::_parent */
@@ -16816,8 +16863,8 @@ val_t NEW_TKwreturn(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwreturn;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16827,77 +16874,77 @@ val_t NEW_lexer___TKwreturn___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwcontinue[71] = {
-  {(long int) 2907 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwcontinue < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwcontinue < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwcontinue < Token: superclass typecheck marker */},
-  {(long int) 2907 /* 4: TKwcontinue < TKwcontinue: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwcontinue < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwcontinue < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwcontinue___parser_index},
-  {(long int) 2 /* 68: TKwcontinue < Token: superclass init_table position */},
-  {(long int) lexer___TKwcontinue___init},
-  {(long int) 3 /* 70: TKwcontinue < TKwcontinue: superclass init_table position */},
+  {(bigint) 2919 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwcontinue < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwcontinue < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwcontinue < Token: superclass typecheck marker */},
+  {(bigint) 2919 /* 4: TKwcontinue < TKwcontinue: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwcontinue < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwcontinue < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwcontinue::_parent */
@@ -16910,8 +16957,8 @@ val_t NEW_TKwcontinue(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwcontinue;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -16921,77 +16968,77 @@ val_t NEW_lexer___TKwcontinue___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwbreak[71] = {
-  {(long int) 2915 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwbreak < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwbreak < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwbreak < Token: superclass typecheck marker */},
-  {(long int) 2915 /* 4: TKwbreak < TKwbreak: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwbreak < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwbreak < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwbreak___parser_index},
-  {(long int) 2 /* 68: TKwbreak < Token: superclass init_table position */},
-  {(long int) lexer___TKwbreak___init},
-  {(long int) 3 /* 70: TKwbreak < TKwbreak: superclass init_table position */},
+  {(bigint) 2927 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwbreak < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwbreak < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwbreak < Token: superclass typecheck marker */},
+  {(bigint) 2927 /* 4: TKwbreak < TKwbreak: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwbreak < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwbreak < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwbreak::_parent */
@@ -17004,8 +17051,8 @@ val_t NEW_TKwbreak(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwbreak;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17015,77 +17062,77 @@ val_t NEW_lexer___TKwbreak___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwabort[71] = {
-  {(long int) 2935 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwabort < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwabort < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwabort < Token: superclass typecheck marker */},
-  {(long int) 2935 /* 4: TKwabort < TKwabort: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwabort < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwabort < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwabort___parser_index},
-  {(long int) 2 /* 68: TKwabort < Token: superclass init_table position */},
-  {(long int) lexer___TKwabort___init},
-  {(long int) 3 /* 70: TKwabort < TKwabort: superclass init_table position */},
+  {(bigint) 2951 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwabort < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwabort < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwabort < Token: superclass typecheck marker */},
+  {(bigint) 2951 /* 4: TKwabort < TKwabort: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwabort < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwabort < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwabort::_parent */
@@ -17098,8 +17145,8 @@ val_t NEW_TKwabort(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwabort;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17109,77 +17156,77 @@ val_t NEW_lexer___TKwabort___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwassert[71] = {
-  {(long int) 2923 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwassert < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwassert < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwassert < Token: superclass typecheck marker */},
-  {(long int) 2923 /* 4: TKwassert < TKwassert: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwassert < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwassert < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwassert___parser_index},
-  {(long int) 2 /* 68: TKwassert < Token: superclass init_table position */},
-  {(long int) lexer___TKwassert___init},
-  {(long int) 3 /* 70: TKwassert < TKwassert: superclass init_table position */},
+  {(bigint) 2935 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwassert < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwassert < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwassert < Token: superclass typecheck marker */},
+  {(bigint) 2935 /* 4: TKwassert < TKwassert: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwassert < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwassert < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwassert::_parent */
@@ -17192,8 +17239,8 @@ val_t NEW_TKwassert(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwassert;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17203,77 +17250,77 @@ val_t NEW_lexer___TKwassert___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwnew[71] = {
-  {(long int) 2839 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwnew < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwnew < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwnew < Token: superclass typecheck marker */},
-  {(long int) 2839 /* 4: TKwnew < TKwnew: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwnew < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwnew < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwnew___parser_index},
-  {(long int) 2 /* 68: TKwnew < Token: superclass init_table position */},
-  {(long int) lexer___TKwnew___init},
-  {(long int) 3 /* 70: TKwnew < TKwnew: superclass init_table position */},
+  {(bigint) 2851 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwnew < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwnew < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwnew < Token: superclass typecheck marker */},
+  {(bigint) 2851 /* 4: TKwnew < TKwnew: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwnew < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwnew < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwnew::_parent */
@@ -17286,8 +17333,8 @@ val_t NEW_TKwnew(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwnew;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17297,77 +17344,77 @@ val_t NEW_lexer___TKwnew___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwisa[71] = {
-  {(long int) 2847 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwisa < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwisa < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwisa < Token: superclass typecheck marker */},
-  {(long int) 2847 /* 4: TKwisa < TKwisa: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwisa < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwisa < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwisa___parser_index},
-  {(long int) 2 /* 68: TKwisa < Token: superclass init_table position */},
-  {(long int) lexer___TKwisa___init},
-  {(long int) 3 /* 70: TKwisa < TKwisa: superclass init_table position */},
+  {(bigint) 2859 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwisa < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwisa < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwisa < Token: superclass typecheck marker */},
+  {(bigint) 2859 /* 4: TKwisa < TKwisa: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwisa < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwisa < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwisa::_parent */
@@ -17380,8 +17427,8 @@ val_t NEW_TKwisa(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwisa;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17391,77 +17438,77 @@ val_t NEW_lexer___TKwisa___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwonce[71] = {
-  {(long int) 2827 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwonce < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwonce < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwonce < Token: superclass typecheck marker */},
-  {(long int) 2827 /* 4: TKwonce < TKwonce: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwonce < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwonce < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwonce___parser_index},
-  {(long int) 2 /* 68: TKwonce < Token: superclass init_table position */},
-  {(long int) lexer___TKwonce___init},
-  {(long int) 3 /* 70: TKwonce < TKwonce: superclass init_table position */},
+  {(bigint) 2839 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwonce < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwonce < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwonce < Token: superclass typecheck marker */},
+  {(bigint) 2839 /* 4: TKwonce < TKwonce: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwonce < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwonce < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwonce::_parent */
@@ -17474,8 +17521,8 @@ val_t NEW_TKwonce(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwonce;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17485,77 +17532,77 @@ val_t NEW_lexer___TKwonce___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwsuper[71] = {
-  {(long int) 2787 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwsuper < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwsuper < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwsuper < Token: superclass typecheck marker */},
-  {(long int) 2787 /* 4: TKwsuper < TKwsuper: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwsuper < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwsuper < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwsuper___parser_index},
-  {(long int) 2 /* 68: TKwsuper < Token: superclass init_table position */},
-  {(long int) lexer___TKwsuper___init},
-  {(long int) 3 /* 70: TKwsuper < TKwsuper: superclass init_table position */},
+  {(bigint) 2799 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwsuper < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwsuper < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwsuper < Token: superclass typecheck marker */},
+  {(bigint) 2799 /* 4: TKwsuper < TKwsuper: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwsuper < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwsuper < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwsuper::_parent */
@@ -17568,8 +17615,8 @@ val_t NEW_TKwsuper(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwsuper;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17579,77 +17626,77 @@ val_t NEW_lexer___TKwsuper___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwself[71] = {
-  {(long int) 2795 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwself < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwself < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwself < Token: superclass typecheck marker */},
-  {(long int) 2795 /* 4: TKwself < TKwself: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwself < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwself < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwself___parser_index},
-  {(long int) 2 /* 68: TKwself < Token: superclass init_table position */},
-  {(long int) lexer___TKwself___init},
-  {(long int) 3 /* 70: TKwself < TKwself: superclass init_table position */},
+  {(bigint) 2807 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwself < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwself < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwself < Token: superclass typecheck marker */},
+  {(bigint) 2807 /* 4: TKwself < TKwself: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwself < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwself < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwself::_parent */
@@ -17662,8 +17709,8 @@ val_t NEW_TKwself(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwself;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17673,77 +17720,77 @@ val_t NEW_lexer___TKwself___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwtrue[71] = {
-  {(long int) 2779 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwtrue < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwtrue < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwtrue < Token: superclass typecheck marker */},
-  {(long int) 2779 /* 4: TKwtrue < TKwtrue: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwtrue < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwtrue < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwtrue___parser_index},
-  {(long int) 2 /* 68: TKwtrue < Token: superclass init_table position */},
-  {(long int) lexer___TKwtrue___init},
-  {(long int) 3 /* 70: TKwtrue < TKwtrue: superclass init_table position */},
+  {(bigint) 2791 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwtrue < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwtrue < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwtrue < Token: superclass typecheck marker */},
+  {(bigint) 2791 /* 4: TKwtrue < TKwtrue: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwtrue < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwtrue < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwtrue::_parent */
@@ -17756,8 +17803,8 @@ val_t NEW_TKwtrue(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwtrue;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17767,77 +17814,77 @@ val_t NEW_lexer___TKwtrue___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwfalse[71] = {
-  {(long int) 2887 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwfalse < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwfalse < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwfalse < Token: superclass typecheck marker */},
-  {(long int) 2887 /* 4: TKwfalse < TKwfalse: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwfalse < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwfalse < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwfalse___parser_index},
-  {(long int) 2 /* 68: TKwfalse < Token: superclass init_table position */},
-  {(long int) lexer___TKwfalse___init},
-  {(long int) 3 /* 70: TKwfalse < TKwfalse: superclass init_table position */},
+  {(bigint) 2899 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwfalse < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwfalse < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwfalse < Token: superclass typecheck marker */},
+  {(bigint) 2899 /* 4: TKwfalse < TKwfalse: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwfalse < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwfalse < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwfalse::_parent */
@@ -17850,8 +17897,8 @@ val_t NEW_TKwfalse(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwfalse;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17861,77 +17908,77 @@ val_t NEW_lexer___TKwfalse___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TKwnull[71] = {
-  {(long int) 2831 /* 0: Identity */},
-  {(long int) 3 /* 1: TKwnull < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TKwnull < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TKwnull < Token: superclass typecheck marker */},
-  {(long int) 2831 /* 4: TKwnull < TKwnull: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TKwnull < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TKwnull < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TKwnull___parser_index},
-  {(long int) 2 /* 68: TKwnull < Token: superclass init_table position */},
-  {(long int) lexer___TKwnull___init},
-  {(long int) 3 /* 70: TKwnull < TKwnull: superclass init_table position */},
+  {(bigint) 2843 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwnull < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwnull < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwnull < Token: superclass typecheck marker */},
+  {(bigint) 2843 /* 4: TKwnull < TKwnull: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwnull < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwnull < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TKwnull::_parent */
@@ -17944,8 +17991,8 @@ val_t NEW_TKwnull(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TKwnull;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -17954,78 +18001,172 @@ val_t NEW_lexer___TKwnull___init(val_t p0, val_t p1, val_t p2) {
   lexer___TKwnull___init(self, p0, p1, p2, init_table);
   return self;
 }
+const classtable_elt_t VFT_TKwas[71] = {
+  {(bigint) 2939 /* 0: Identity */},
+  {(bigint) 3 /* 1: TKwas < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TKwas < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TKwas < Token: superclass typecheck marker */},
+  {(bigint) 2939 /* 4: TKwas < TKwas: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TKwas < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TKwas < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute TKwas::_parent */
+/* 2: Attribute TKwas::_symbol */
+/* 3: Attribute TKwas::_text */
+/* 4: Attribute TKwas::_filename */
+/* 5: Attribute TKwas::_line */
+/* 6: Attribute TKwas::_pos */
+val_t NEW_TKwas(void) {
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 7);
+  obj->vft = (classtable_elt_t*)VFT_TKwas;
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
+  int init_table[4] = {0, 0, 0, 0};
+  val_t self = NEW_TKwas();
+  lexer___TKwas___init(self, p0, p1, p2, init_table);
+  return self;
+}
 const classtable_elt_t VFT_TOpar[71] = {
-  {(long int) 2723 /* 0: Identity */},
-  {(long int) 3 /* 1: TOpar < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TOpar < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TOpar < Token: superclass typecheck marker */},
-  {(long int) 2723 /* 4: TOpar < TOpar: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TOpar < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TOpar < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TOpar___parser_index},
-  {(long int) 2 /* 68: TOpar < Token: superclass init_table position */},
-  {(long int) lexer___TOpar___init},
-  {(long int) 3 /* 70: TOpar < TOpar: superclass init_table position */},
+  {(bigint) 2735 /* 0: Identity */},
+  {(bigint) 3 /* 1: TOpar < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TOpar < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TOpar < Token: superclass typecheck marker */},
+  {(bigint) 2735 /* 4: TOpar < TOpar: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TOpar < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TOpar < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TOpar::_parent */
@@ -18038,8 +18179,8 @@ val_t NEW_TOpar(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TOpar;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18049,77 +18190,77 @@ val_t NEW_lexer___TOpar___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TCpar[71] = {
-  {(long int) 2979 /* 0: Identity */},
-  {(long int) 3 /* 1: TCpar < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TCpar < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TCpar < Token: superclass typecheck marker */},
-  {(long int) 2979 /* 4: TCpar < TCpar: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TCpar < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TCpar < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TCpar___parser_index},
-  {(long int) 2 /* 68: TCpar < Token: superclass init_table position */},
-  {(long int) lexer___TCpar___init},
-  {(long int) 3 /* 70: TCpar < TCpar: superclass init_table position */},
+  {(bigint) 2995 /* 0: Identity */},
+  {(bigint) 3 /* 1: TCpar < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TCpar < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TCpar < Token: superclass typecheck marker */},
+  {(bigint) 2995 /* 4: TCpar < TCpar: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TCpar < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TCpar < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TCpar::_parent */
@@ -18132,8 +18273,8 @@ val_t NEW_TCpar(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TCpar;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18143,77 +18284,77 @@ val_t NEW_lexer___TCpar___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TObra[71] = {
-  {(long int) 2727 /* 0: Identity */},
-  {(long int) 3 /* 1: TObra < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TObra < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TObra < Token: superclass typecheck marker */},
-  {(long int) 2727 /* 4: TObra < TObra: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TObra < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TObra < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TObra___parser_index},
-  {(long int) 2 /* 68: TObra < Token: superclass init_table position */},
-  {(long int) lexer___TObra___init},
-  {(long int) 3 /* 70: TObra < TObra: superclass init_table position */},
+  {(bigint) 2739 /* 0: Identity */},
+  {(bigint) 3 /* 1: TObra < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TObra < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TObra < Token: superclass typecheck marker */},
+  {(bigint) 2739 /* 4: TObra < TObra: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TObra < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TObra < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TObra::_parent */
@@ -18226,8 +18367,8 @@ val_t NEW_TObra(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TObra;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18237,77 +18378,77 @@ val_t NEW_lexer___TObra___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TCbra[71] = {
-  {(long int) 3003 /* 0: Identity */},
-  {(long int) 3 /* 1: TCbra < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TCbra < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TCbra < Token: superclass typecheck marker */},
-  {(long int) 3003 /* 4: TCbra < TCbra: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TCbra < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TCbra < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TCbra___parser_index},
-  {(long int) 2 /* 68: TCbra < Token: superclass init_table position */},
-  {(long int) lexer___TCbra___init},
-  {(long int) 3 /* 70: TCbra < TCbra: superclass init_table position */},
+  {(bigint) 3019 /* 0: Identity */},
+  {(bigint) 3 /* 1: TCbra < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TCbra < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TCbra < Token: superclass typecheck marker */},
+  {(bigint) 3019 /* 4: TCbra < TCbra: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TCbra < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TCbra < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TCbra::_parent */
@@ -18320,8 +18461,8 @@ val_t NEW_TCbra(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TCbra;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18331,77 +18472,77 @@ val_t NEW_lexer___TCbra___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TComma[71] = {
-  {(long int) 2987 /* 0: Identity */},
-  {(long int) 3 /* 1: TComma < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TComma < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TComma < Token: superclass typecheck marker */},
-  {(long int) 2987 /* 4: TComma < TComma: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TComma < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TComma < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TComma___parser_index},
-  {(long int) 2 /* 68: TComma < Token: superclass init_table position */},
-  {(long int) lexer___TComma___init},
-  {(long int) 3 /* 70: TComma < TComma: superclass init_table position */},
+  {(bigint) 3003 /* 0: Identity */},
+  {(bigint) 3 /* 1: TComma < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TComma < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TComma < Token: superclass typecheck marker */},
+  {(bigint) 3003 /* 4: TComma < TComma: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TComma < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TComma < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TComma::_parent */
@@ -18414,8 +18555,8 @@ val_t NEW_TComma(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TComma;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18425,77 +18566,77 @@ val_t NEW_lexer___TComma___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TColumn[71] = {
-  {(long int) 2991 /* 0: Identity */},
-  {(long int) 3 /* 1: TColumn < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TColumn < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TColumn < Token: superclass typecheck marker */},
-  {(long int) 2991 /* 4: TColumn < TColumn: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TColumn < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TColumn < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TColumn___parser_index},
-  {(long int) 2 /* 68: TColumn < Token: superclass init_table position */},
-  {(long int) lexer___TColumn___init},
-  {(long int) 3 /* 70: TColumn < TColumn: superclass init_table position */},
+  {(bigint) 3007 /* 0: Identity */},
+  {(bigint) 3 /* 1: TColumn < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TColumn < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TColumn < Token: superclass typecheck marker */},
+  {(bigint) 3007 /* 4: TColumn < TColumn: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TColumn < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TColumn < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TColumn::_parent */
@@ -18508,8 +18649,8 @@ val_t NEW_TColumn(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TColumn;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18519,77 +18660,77 @@ val_t NEW_lexer___TColumn___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TQuad[71] = {
-  {(long int) 2707 /* 0: Identity */},
-  {(long int) 3 /* 1: TQuad < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TQuad < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TQuad < Token: superclass typecheck marker */},
-  {(long int) 2707 /* 4: TQuad < TQuad: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TQuad < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TQuad < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TQuad___parser_index},
-  {(long int) 2 /* 68: TQuad < Token: superclass init_table position */},
-  {(long int) lexer___TQuad___init},
-  {(long int) 3 /* 70: TQuad < TQuad: superclass init_table position */},
+  {(bigint) 2719 /* 0: Identity */},
+  {(bigint) 3 /* 1: TQuad < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TQuad < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TQuad < Token: superclass typecheck marker */},
+  {(bigint) 2719 /* 4: TQuad < TQuad: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TQuad < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TQuad < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TQuad::_parent */
@@ -18602,8 +18743,8 @@ val_t NEW_TQuad(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TQuad;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18613,77 +18754,77 @@ val_t NEW_lexer___TQuad___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TAssign[71] = {
-  {(long int) 3011 /* 0: Identity */},
-  {(long int) 3 /* 1: TAssign < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TAssign < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TAssign < Token: superclass typecheck marker */},
-  {(long int) 3011 /* 4: TAssign < TAssign: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TAssign < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TAssign < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TAssign___parser_index},
-  {(long int) 2 /* 68: TAssign < Token: superclass init_table position */},
-  {(long int) lexer___TAssign___init},
-  {(long int) 3 /* 70: TAssign < TAssign: superclass init_table position */},
+  {(bigint) 3027 /* 0: Identity */},
+  {(bigint) 3 /* 1: TAssign < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TAssign < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TAssign < Token: superclass typecheck marker */},
+  {(bigint) 3027 /* 4: TAssign < TAssign: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TAssign < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TAssign < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TAssign::_parent */
@@ -18696,8 +18837,8 @@ val_t NEW_TAssign(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TAssign;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18707,77 +18848,77 @@ val_t NEW_lexer___TAssign___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TPluseq[71] = {
-  {(long int) 2711 /* 0: Identity */},
-  {(long int) 3 /* 1: TPluseq < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TPluseq < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TPluseq < Token: superclass typecheck marker */},
-  {(long int) 2711 /* 4: TPluseq < TPluseq: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TPluseq < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TPluseq < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TPluseq___parser_index},
-  {(long int) 2 /* 68: TPluseq < Token: superclass init_table position */},
-  {(long int) lexer___TPluseq___init},
-  {(long int) 3 /* 70: TPluseq < TPluseq: superclass init_table position */},
+  {(bigint) 2723 /* 0: Identity */},
+  {(bigint) 3 /* 1: TPluseq < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TPluseq < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TPluseq < Token: superclass typecheck marker */},
+  {(bigint) 2723 /* 4: TPluseq < TPluseq: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TPluseq < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TPluseq < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TPluseq::_parent */
@@ -18790,8 +18931,8 @@ val_t NEW_TPluseq(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TPluseq;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18801,77 +18942,77 @@ val_t NEW_lexer___TPluseq___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TMinuseq[71] = {
-  {(long int) 2739 /* 0: Identity */},
-  {(long int) 3 /* 1: TMinuseq < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TMinuseq < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TMinuseq < Token: superclass typecheck marker */},
-  {(long int) 2739 /* 4: TMinuseq < TMinuseq: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TMinuseq < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TMinuseq < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TMinuseq___parser_index},
-  {(long int) 2 /* 68: TMinuseq < Token: superclass init_table position */},
-  {(long int) lexer___TMinuseq___init},
-  {(long int) 3 /* 70: TMinuseq < TMinuseq: superclass init_table position */},
+  {(bigint) 2751 /* 0: Identity */},
+  {(bigint) 3 /* 1: TMinuseq < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TMinuseq < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TMinuseq < Token: superclass typecheck marker */},
+  {(bigint) 2751 /* 4: TMinuseq < TMinuseq: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TMinuseq < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TMinuseq < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TMinuseq::_parent */
@@ -18884,8 +19025,8 @@ val_t NEW_TMinuseq(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TMinuseq;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18895,77 +19036,77 @@ val_t NEW_lexer___TMinuseq___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TDotdotdot[71] = {
-  {(long int) 2967 /* 0: Identity */},
-  {(long int) 3 /* 1: TDotdotdot < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TDotdotdot < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TDotdotdot < Token: superclass typecheck marker */},
-  {(long int) 2967 /* 4: TDotdotdot < TDotdotdot: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TDotdotdot < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TDotdotdot < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TDotdotdot___parser_index},
-  {(long int) 2 /* 68: TDotdotdot < Token: superclass init_table position */},
-  {(long int) lexer___TDotdotdot___init},
-  {(long int) 3 /* 70: TDotdotdot < TDotdotdot: superclass init_table position */},
+  {(bigint) 2983 /* 0: Identity */},
+  {(bigint) 3 /* 1: TDotdotdot < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TDotdotdot < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TDotdotdot < Token: superclass typecheck marker */},
+  {(bigint) 2983 /* 4: TDotdotdot < TDotdotdot: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TDotdotdot < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TDotdotdot < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TDotdotdot::_parent */
@@ -18978,8 +19119,8 @@ val_t NEW_TDotdotdot(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TDotdotdot;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -18989,77 +19130,77 @@ val_t NEW_lexer___TDotdotdot___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TDotdot[71] = {
-  {(long int) 2971 /* 0: Identity */},
-  {(long int) 3 /* 1: TDotdot < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TDotdot < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TDotdot < Token: superclass typecheck marker */},
-  {(long int) 2971 /* 4: TDotdot < TDotdot: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TDotdot < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TDotdot < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TDotdot___parser_index},
-  {(long int) 2 /* 68: TDotdot < Token: superclass init_table position */},
-  {(long int) lexer___TDotdot___init},
-  {(long int) 3 /* 70: TDotdot < TDotdot: superclass init_table position */},
+  {(bigint) 2987 /* 0: Identity */},
+  {(bigint) 3 /* 1: TDotdot < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TDotdot < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TDotdot < Token: superclass typecheck marker */},
+  {(bigint) 2987 /* 4: TDotdot < TDotdot: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TDotdot < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TDotdot < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TDotdot::_parent */
@@ -19072,8 +19213,8 @@ val_t NEW_TDotdot(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TDotdot;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19083,77 +19224,77 @@ val_t NEW_lexer___TDotdot___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TDot[71] = {
-  {(long int) 2975 /* 0: Identity */},
-  {(long int) 3 /* 1: TDot < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TDot < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TDot < Token: superclass typecheck marker */},
-  {(long int) 2975 /* 4: TDot < TDot: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TDot < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TDot < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TDot___parser_index},
-  {(long int) 2 /* 68: TDot < Token: superclass init_table position */},
-  {(long int) lexer___TDot___init},
-  {(long int) 3 /* 70: TDot < TDot: superclass init_table position */},
+  {(bigint) 2991 /* 0: Identity */},
+  {(bigint) 3 /* 1: TDot < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TDot < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TDot < Token: superclass typecheck marker */},
+  {(bigint) 2991 /* 4: TDot < TDot: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TDot < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TDot < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TDot::_parent */
@@ -19166,8 +19307,8 @@ val_t NEW_TDot(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TDot;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19177,77 +19318,77 @@ val_t NEW_lexer___TDot___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TPlus[71] = {
-  {(long int) 2715 /* 0: Identity */},
-  {(long int) 3 /* 1: TPlus < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TPlus < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TPlus < Token: superclass typecheck marker */},
-  {(long int) 2715 /* 4: TPlus < TPlus: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TPlus < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TPlus < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TPlus___parser_index},
-  {(long int) 2 /* 68: TPlus < Token: superclass init_table position */},
-  {(long int) lexer___TPlus___init},
-  {(long int) 3 /* 70: TPlus < TPlus: superclass init_table position */},
+  {(bigint) 2727 /* 0: Identity */},
+  {(bigint) 3 /* 1: TPlus < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TPlus < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TPlus < Token: superclass typecheck marker */},
+  {(bigint) 2727 /* 4: TPlus < TPlus: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TPlus < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TPlus < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TPlus::_parent */
@@ -19260,8 +19401,8 @@ val_t NEW_TPlus(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TPlus;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19271,77 +19412,77 @@ val_t NEW_lexer___TPlus___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TMinus[71] = {
-  {(long int) 2743 /* 0: Identity */},
-  {(long int) 3 /* 1: TMinus < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TMinus < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TMinus < Token: superclass typecheck marker */},
-  {(long int) 2743 /* 4: TMinus < TMinus: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TMinus < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TMinus < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TMinus___parser_index},
-  {(long int) 2 /* 68: TMinus < Token: superclass init_table position */},
-  {(long int) lexer___TMinus___init},
-  {(long int) 3 /* 70: TMinus < TMinus: superclass init_table position */},
+  {(bigint) 2755 /* 0: Identity */},
+  {(bigint) 3 /* 1: TMinus < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TMinus < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TMinus < Token: superclass typecheck marker */},
+  {(bigint) 2755 /* 4: TMinus < TMinus: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TMinus < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TMinus < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TMinus::_parent */
@@ -19354,8 +19495,8 @@ val_t NEW_TMinus(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TMinus;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19365,77 +19506,77 @@ val_t NEW_lexer___TMinus___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TStar[71] = {
-  {(long int) 2699 /* 0: Identity */},
-  {(long int) 3 /* 1: TStar < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TStar < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TStar < Token: superclass typecheck marker */},
-  {(long int) 2699 /* 4: TStar < TStar: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TStar < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TStar < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TStar___parser_index},
-  {(long int) 2 /* 68: TStar < Token: superclass init_table position */},
-  {(long int) lexer___TStar___init},
-  {(long int) 3 /* 70: TStar < TStar: superclass init_table position */},
+  {(bigint) 2711 /* 0: Identity */},
+  {(bigint) 3 /* 1: TStar < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TStar < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TStar < Token: superclass typecheck marker */},
+  {(bigint) 2711 /* 4: TStar < TStar: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TStar < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TStar < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TStar::_parent */
@@ -19448,8 +19589,8 @@ val_t NEW_TStar(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TStar;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19459,77 +19600,77 @@ val_t NEW_lexer___TStar___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TSlash[71] = {
-  {(long int) 2703 /* 0: Identity */},
-  {(long int) 3 /* 1: TSlash < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TSlash < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TSlash < Token: superclass typecheck marker */},
-  {(long int) 2703 /* 4: TSlash < TSlash: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TSlash < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TSlash < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TSlash___parser_index},
-  {(long int) 2 /* 68: TSlash < Token: superclass init_table position */},
-  {(long int) lexer___TSlash___init},
-  {(long int) 3 /* 70: TSlash < TSlash: superclass init_table position */},
+  {(bigint) 2715 /* 0: Identity */},
+  {(bigint) 3 /* 1: TSlash < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TSlash < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TSlash < Token: superclass typecheck marker */},
+  {(bigint) 2715 /* 4: TSlash < TSlash: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TSlash < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TSlash < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TSlash::_parent */
@@ -19542,8 +19683,8 @@ val_t NEW_TSlash(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TSlash;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19553,77 +19694,77 @@ val_t NEW_lexer___TSlash___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TPercent[71] = {
-  {(long int) 2719 /* 0: Identity */},
-  {(long int) 3 /* 1: TPercent < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TPercent < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TPercent < Token: superclass typecheck marker */},
-  {(long int) 2719 /* 4: TPercent < TPercent: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TPercent < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TPercent < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TPercent___parser_index},
-  {(long int) 2 /* 68: TPercent < Token: superclass init_table position */},
-  {(long int) lexer___TPercent___init},
-  {(long int) 3 /* 70: TPercent < TPercent: superclass init_table position */},
+  {(bigint) 2731 /* 0: Identity */},
+  {(bigint) 3 /* 1: TPercent < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TPercent < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TPercent < Token: superclass typecheck marker */},
+  {(bigint) 2731 /* 4: TPercent < TPercent: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TPercent < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TPercent < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TPercent::_parent */
@@ -19636,8 +19777,8 @@ val_t NEW_TPercent(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TPercent;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19647,77 +19788,77 @@ val_t NEW_lexer___TPercent___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TEq[71] = {
-  {(long int) 2955 /* 0: Identity */},
-  {(long int) 3 /* 1: TEq < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TEq < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TEq < Token: superclass typecheck marker */},
-  {(long int) 2955 /* 4: TEq < TEq: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TEq < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TEq < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TEq___parser_index},
-  {(long int) 2 /* 68: TEq < Token: superclass init_table position */},
-  {(long int) lexer___TEq___init},
-  {(long int) 3 /* 70: TEq < TEq: superclass init_table position */},
+  {(bigint) 2971 /* 0: Identity */},
+  {(bigint) 3 /* 1: TEq < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TEq < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TEq < Token: superclass typecheck marker */},
+  {(bigint) 2971 /* 4: TEq < TEq: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TEq < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TEq < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TEq::_parent */
@@ -19730,8 +19871,8 @@ val_t NEW_TEq(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TEq;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19741,77 +19882,77 @@ val_t NEW_lexer___TEq___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TNe[71] = {
-  {(long int) 2735 /* 0: Identity */},
-  {(long int) 3 /* 1: TNe < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TNe < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TNe < Token: superclass typecheck marker */},
-  {(long int) 2735 /* 4: TNe < TNe: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TNe < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TNe < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TNe___parser_index},
-  {(long int) 2 /* 68: TNe < Token: superclass init_table position */},
-  {(long int) lexer___TNe___init},
-  {(long int) 3 /* 70: TNe < TNe: superclass init_table position */},
+  {(bigint) 2747 /* 0: Identity */},
+  {(bigint) 3 /* 1: TNe < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TNe < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TNe < Token: superclass typecheck marker */},
+  {(bigint) 2747 /* 4: TNe < TNe: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TNe < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TNe < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TNe::_parent */
@@ -19824,8 +19965,8 @@ val_t NEW_TNe(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TNe;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19835,77 +19976,77 @@ val_t NEW_lexer___TNe___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TLt[71] = {
-  {(long int) 2751 /* 0: Identity */},
-  {(long int) 3 /* 1: TLt < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TLt < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TLt < Token: superclass typecheck marker */},
-  {(long int) 2751 /* 4: TLt < TLt: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TLt < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TLt < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TLt___parser_index},
-  {(long int) 2 /* 68: TLt < Token: superclass init_table position */},
-  {(long int) lexer___TLt___init},
-  {(long int) 3 /* 70: TLt < TLt: superclass init_table position */},
+  {(bigint) 2763 /* 0: Identity */},
+  {(bigint) 3 /* 1: TLt < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TLt < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TLt < Token: superclass typecheck marker */},
+  {(bigint) 2763 /* 4: TLt < TLt: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TLt < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TLt < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TLt::_parent */
@@ -19918,8 +20059,8 @@ val_t NEW_TLt(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TLt;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -19929,77 +20070,77 @@ val_t NEW_lexer___TLt___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TLe[71] = {
-  {(long int) 2755 /* 0: Identity */},
-  {(long int) 3 /* 1: TLe < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TLe < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TLe < Token: superclass typecheck marker */},
-  {(long int) 2755 /* 4: TLe < TLe: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TLe < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TLe < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TLe___parser_index},
-  {(long int) 2 /* 68: TLe < Token: superclass init_table position */},
-  {(long int) lexer___TLe___init},
-  {(long int) 3 /* 70: TLe < TLe: superclass init_table position */},
+  {(bigint) 2767 /* 0: Identity */},
+  {(bigint) 3 /* 1: TLe < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TLe < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TLe < Token: superclass typecheck marker */},
+  {(bigint) 2767 /* 4: TLe < TLe: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TLe < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TLe < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TLe::_parent */
@@ -20012,8 +20153,8 @@ val_t NEW_TLe(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TLe;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20023,77 +20164,77 @@ val_t NEW_lexer___TLe___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TGt[71] = {
-  {(long int) 2943 /* 0: Identity */},
-  {(long int) 3 /* 1: TGt < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TGt < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TGt < Token: superclass typecheck marker */},
-  {(long int) 2943 /* 4: TGt < TGt: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TGt < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TGt < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TGt___parser_index},
-  {(long int) 2 /* 68: TGt < Token: superclass init_table position */},
-  {(long int) lexer___TGt___init},
-  {(long int) 3 /* 70: TGt < TGt: superclass init_table position */},
+  {(bigint) 2959 /* 0: Identity */},
+  {(bigint) 3 /* 1: TGt < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TGt < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TGt < Token: superclass typecheck marker */},
+  {(bigint) 2959 /* 4: TGt < TGt: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TGt < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TGt < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TGt::_parent */
@@ -20106,8 +20247,8 @@ val_t NEW_TGt(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TGt;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20117,77 +20258,77 @@ val_t NEW_lexer___TGt___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TGe[71] = {
-  {(long int) 2947 /* 0: Identity */},
-  {(long int) 3 /* 1: TGe < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TGe < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TGe < Token: superclass typecheck marker */},
-  {(long int) 2947 /* 4: TGe < TGe: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TGe < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TGe < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TGe___parser_index},
-  {(long int) 2 /* 68: TGe < Token: superclass init_table position */},
-  {(long int) lexer___TGe___init},
-  {(long int) 3 /* 70: TGe < TGe: superclass init_table position */},
+  {(bigint) 2963 /* 0: Identity */},
+  {(bigint) 3 /* 1: TGe < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TGe < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TGe < Token: superclass typecheck marker */},
+  {(bigint) 2963 /* 4: TGe < TGe: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TGe < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TGe < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TGe::_parent */
@@ -20200,8 +20341,8 @@ val_t NEW_TGe(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TGe;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20211,77 +20352,77 @@ val_t NEW_lexer___TGe___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TStarship[71] = {
-  {(long int) 2695 /* 0: Identity */},
-  {(long int) 3 /* 1: TStarship < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TStarship < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TStarship < Token: superclass typecheck marker */},
-  {(long int) 2695 /* 4: TStarship < TStarship: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TStarship < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TStarship < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TStarship___parser_index},
-  {(long int) 2 /* 68: TStarship < Token: superclass init_table position */},
-  {(long int) lexer___TStarship___init},
-  {(long int) 3 /* 70: TStarship < TStarship: superclass init_table position */},
+  {(bigint) 2707 /* 0: Identity */},
+  {(bigint) 3 /* 1: TStarship < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TStarship < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TStarship < Token: superclass typecheck marker */},
+  {(bigint) 2707 /* 4: TStarship < TStarship: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TStarship < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TStarship < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TStarship::_parent */
@@ -20294,8 +20435,8 @@ val_t NEW_TStarship(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TStarship;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20305,77 +20446,77 @@ val_t NEW_lexer___TStarship___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_TClassid[71] = {
-  {(long int) 2995 /* 0: Identity */},
-  {(long int) 3 /* 1: TClassid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TClassid < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TClassid < Token: superclass typecheck marker */},
-  {(long int) 2995 /* 4: TClassid < TClassid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TClassid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TClassid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TClassid___parser_index},
-  {(long int) 2 /* 68: TClassid < Token: superclass init_table position */},
-  {(long int) lexer___TClassid___init},
-  {(long int) 3 /* 70: TClassid < TClassid: superclass init_table position */},
+  {(bigint) 3011 /* 0: Identity */},
+  {(bigint) 3 /* 1: TClassid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TClassid < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TClassid < Token: superclass typecheck marker */},
+  {(bigint) 3011 /* 4: TClassid < TClassid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TClassid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TClassid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TClassid::_parent */
@@ -20388,8 +20529,8 @@ val_t NEW_TClassid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TClassid;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20399,77 +20540,77 @@ val_t NEW_lexer___TClassid___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TId[71] = {
-  {(long int) 2939 /* 0: Identity */},
-  {(long int) 3 /* 1: TId < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TId < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TId < Token: superclass typecheck marker */},
-  {(long int) 2939 /* 4: TId < TId: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TId < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TId < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TId___parser_index},
-  {(long int) 2 /* 68: TId < Token: superclass init_table position */},
-  {(long int) lexer___TId___init},
-  {(long int) 3 /* 70: TId < TId: superclass init_table position */},
+  {(bigint) 2955 /* 0: Identity */},
+  {(bigint) 3 /* 1: TId < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TId < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TId < Token: superclass typecheck marker */},
+  {(bigint) 2955 /* 4: TId < TId: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TId < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TId < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TId::_parent */
@@ -20482,8 +20623,8 @@ val_t NEW_TId(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TId;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20493,77 +20634,77 @@ val_t NEW_lexer___TId___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TAttrid[71] = {
-  {(long int) 3007 /* 0: Identity */},
-  {(long int) 3 /* 1: TAttrid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TAttrid < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TAttrid < Token: superclass typecheck marker */},
-  {(long int) 3007 /* 4: TAttrid < TAttrid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TAttrid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TAttrid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TAttrid___parser_index},
-  {(long int) 2 /* 68: TAttrid < Token: superclass init_table position */},
-  {(long int) lexer___TAttrid___init},
-  {(long int) 3 /* 70: TAttrid < TAttrid: superclass init_table position */},
+  {(bigint) 3023 /* 0: Identity */},
+  {(bigint) 3 /* 1: TAttrid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TAttrid < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TAttrid < Token: superclass typecheck marker */},
+  {(bigint) 3023 /* 4: TAttrid < TAttrid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TAttrid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TAttrid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TAttrid::_parent */
@@ -20576,8 +20717,8 @@ val_t NEW_TAttrid(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TAttrid;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20587,77 +20728,77 @@ val_t NEW_lexer___TAttrid___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TNumber[71] = {
-  {(long int) 2731 /* 0: Identity */},
-  {(long int) 3 /* 1: TNumber < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TNumber < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TNumber < Token: superclass typecheck marker */},
-  {(long int) 2731 /* 4: TNumber < TNumber: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TNumber < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TNumber < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TNumber___parser_index},
-  {(long int) 2 /* 68: TNumber < Token: superclass init_table position */},
-  {(long int) lexer___TNumber___init},
-  {(long int) 3 /* 70: TNumber < TNumber: superclass init_table position */},
+  {(bigint) 2743 /* 0: Identity */},
+  {(bigint) 3 /* 1: TNumber < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TNumber < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TNumber < Token: superclass typecheck marker */},
+  {(bigint) 2743 /* 4: TNumber < TNumber: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TNumber < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TNumber < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TNumber::_parent */
@@ -20670,8 +20811,8 @@ val_t NEW_TNumber(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TNumber;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20681,77 +20822,77 @@ val_t NEW_lexer___TNumber___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TFloat[71] = {
-  {(long int) 2951 /* 0: Identity */},
-  {(long int) 3 /* 1: TFloat < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TFloat < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TFloat < Token: superclass typecheck marker */},
-  {(long int) 2951 /* 4: TFloat < TFloat: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TFloat < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TFloat < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TFloat___parser_index},
-  {(long int) 2 /* 68: TFloat < Token: superclass init_table position */},
-  {(long int) lexer___TFloat___init},
-  {(long int) 3 /* 70: TFloat < TFloat: superclass init_table position */},
+  {(bigint) 2967 /* 0: Identity */},
+  {(bigint) 3 /* 1: TFloat < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TFloat < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TFloat < Token: superclass typecheck marker */},
+  {(bigint) 2967 /* 4: TFloat < TFloat: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TFloat < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TFloat < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TFloat::_parent */
@@ -20764,8 +20905,8 @@ val_t NEW_TFloat(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TFloat;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20775,77 +20916,77 @@ val_t NEW_lexer___TFloat___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TChar[71] = {
-  {(long int) 2999 /* 0: Identity */},
-  {(long int) 3 /* 1: TChar < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TChar < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TChar < Token: superclass typecheck marker */},
-  {(long int) 2999 /* 4: TChar < TChar: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TChar < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TChar < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TChar___parser_index},
-  {(long int) 2 /* 68: TChar < Token: superclass init_table position */},
-  {(long int) lexer___TChar___init},
-  {(long int) 3 /* 70: TChar < TChar: superclass init_table position */},
+  {(bigint) 3015 /* 0: Identity */},
+  {(bigint) 3 /* 1: TChar < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TChar < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TChar < Token: superclass typecheck marker */},
+  {(bigint) 3015 /* 4: TChar < TChar: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TChar < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TChar < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TChar::_parent */
@@ -20858,8 +20999,8 @@ val_t NEW_TChar(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TChar;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20869,77 +21010,77 @@ val_t NEW_lexer___TChar___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TString[71] = {
-  {(long int) 2687 /* 0: Identity */},
-  {(long int) 3 /* 1: TString < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TString < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TString < Token: superclass typecheck marker */},
-  {(long int) 2687 /* 4: TString < TString: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TString < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TString < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TString___parser_index},
-  {(long int) 2 /* 68: TString < Token: superclass init_table position */},
-  {(long int) lexer___TString___init},
-  {(long int) 3 /* 70: TString < TString: superclass init_table position */},
+  {(bigint) 2699 /* 0: Identity */},
+  {(bigint) 3 /* 1: TString < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TString < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TString < Token: superclass typecheck marker */},
+  {(bigint) 2699 /* 4: TString < TString: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TString < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TString < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TString::_parent */
@@ -20952,8 +21093,8 @@ val_t NEW_TString(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TString;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -20963,77 +21104,77 @@ val_t NEW_lexer___TString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TStartString[71] = {
-  {(long int) 2691 /* 0: Identity */},
-  {(long int) 3 /* 1: TStartString < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TStartString < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TStartString < Token: superclass typecheck marker */},
-  {(long int) 2691 /* 4: TStartString < TStartString: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TStartString < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TStartString < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TStartString___parser_index},
-  {(long int) 2 /* 68: TStartString < Token: superclass init_table position */},
-  {(long int) lexer___TStartString___init},
-  {(long int) 3 /* 70: TStartString < TStartString: superclass init_table position */},
+  {(bigint) 2703 /* 0: Identity */},
+  {(bigint) 3 /* 1: TStartString < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TStartString < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TStartString < Token: superclass typecheck marker */},
+  {(bigint) 2703 /* 4: TStartString < TStartString: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TStartString < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TStartString < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TStartString::_parent */
@@ -21046,8 +21187,8 @@ val_t NEW_TStartString(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TStartString;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -21057,77 +21198,77 @@ val_t NEW_lexer___TStartString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TMidString[71] = {
-  {(long int) 2747 /* 0: Identity */},
-  {(long int) 3 /* 1: TMidString < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TMidString < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TMidString < Token: superclass typecheck marker */},
-  {(long int) 2747 /* 4: TMidString < TMidString: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TMidString < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TMidString < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TMidString___parser_index},
-  {(long int) 2 /* 68: TMidString < Token: superclass init_table position */},
-  {(long int) lexer___TMidString___init},
-  {(long int) 3 /* 70: TMidString < TMidString: superclass init_table position */},
+  {(bigint) 2759 /* 0: Identity */},
+  {(bigint) 3 /* 1: TMidString < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TMidString < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TMidString < Token: superclass typecheck marker */},
+  {(bigint) 2759 /* 4: TMidString < TMidString: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TMidString < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TMidString < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TMidString::_parent */
@@ -21140,8 +21281,8 @@ val_t NEW_TMidString(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TMidString;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -21151,77 +21292,77 @@ val_t NEW_lexer___TMidString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_TEndString[71] = {
-  {(long int) 2963 /* 0: Identity */},
-  {(long int) 3 /* 1: TEndString < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: TEndString < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: TEndString < Token: superclass typecheck marker */},
-  {(long int) 2963 /* 4: TEndString < TEndString: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TEndString < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: TEndString < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___TEndString___parser_index},
-  {(long int) 2 /* 68: TEndString < Token: superclass init_table position */},
-  {(long int) lexer___TEndString___init},
-  {(long int) 3 /* 70: TEndString < TEndString: superclass init_table position */},
+  {(bigint) 2979 /* 0: Identity */},
+  {(bigint) 3 /* 1: TEndString < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: TEndString < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: TEndString < Token: superclass typecheck marker */},
+  {(bigint) 2979 /* 4: TEndString < TEndString: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TEndString < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: TEndString < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TEndString::_parent */
@@ -21234,8 +21375,8 @@ val_t NEW_TEndString(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_TEndString;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -21245,77 +21386,77 @@ val_t NEW_lexer___TEndString___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_EOF[71] = {
-  {(long int) 3195 /* 0: Identity */},
-  {(long int) 3 /* 1: EOF < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: EOF < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: EOF < Token: superclass typecheck marker */},
-  {(long int) 3195 /* 4: EOF < EOF: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: EOF < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: EOF < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___EOF___parser_index},
-  {(long int) 2 /* 68: EOF < Token: superclass init_table position */},
-  {(long int) lexer___EOF___init},
-  {(long int) 3 /* 70: EOF < EOF: superclass init_table position */},
+  {(bigint) 3207 /* 0: Identity */},
+  {(bigint) 3 /* 1: EOF < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: EOF < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: EOF < Token: superclass typecheck marker */},
+  {(bigint) 3207 /* 4: EOF < EOF: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: EOF < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: EOF < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(bigint) lexer___Token___line},
+  {(bigint) lexer___Token___pos},
+  {(bigint) lexer___EOF___parser_index},
+  {(bigint) 2 /* 68: EOF < Token: superclass init_table position */},
+  {(bigint) lexer___EOF___init},
+  {(bigint) 3 /* 70: EOF < EOF: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute EOF::_parent */
@@ -21328,8 +21469,8 @@ val_t NEW_EOF(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_EOF;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -21339,81 +21480,81 @@ val_t NEW_lexer___EOF___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_PError[75] = {
-  {(long int) 3267 /* 0: Identity */},
-  {(long int) 3 /* 1: PError < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PError < PNode: superclass typecheck marker */},
-  {(long int) 183 /* 3: PError < Token: superclass typecheck marker */},
-  {(long int) 3195 /* 4: PError < EOF: superclass typecheck marker */},
-  {(long int) 3267 /* 5: PError < PError: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) lexer___Token___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PError < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Token___replace_child},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) parser_prod___Token___visit_all},
-  {(long int) parser_prod___Token___visit_all_reverse},
-  {(long int) parser_prod___Token___locate},
-  {(long int) parser_prod___Token___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PError < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) syntax_base___Token___to_symbol},
-  {(long int) lexer___Token___text},
-  {(long int) lexer___Token___text__eq},
-  {(long int) lexer___Token___filename},
-  {(long int) lexer___Token___line},
-  {(long int) lexer___Token___pos},
-  {(long int) lexer___EOF___parser_index},
-  {(long int) 2 /* 68: PError < Token: superclass init_table position */},
-  {(long int) lexer___EOF___init},
-  {(long int) 3 /* 70: PError < EOF: superclass init_table position */},
-  {(long int) lexer___PError___message},
-  {(long int) lexer___PError___message__eq},
-  {(long int) lexer___PError___init_error},
-  {(long int) 4 /* 74: PError < PError: superclass init_table position */},
+  {(bigint) 3279 /* 0: Identity */},
+  {(bigint) 3 /* 1: PError < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PError < PNode: superclass typecheck marker */},
+  {(bigint) 183 /* 3: PError < Token: superclass typecheck marker */},
+  {(bigint) 3207 /* 4: PError < EOF: superclass typecheck marker */},
+  {(bigint) 3279 /* 5: PError < PError: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) lexer___Token___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PError < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Token___replace_child},
+  {(bigint) parser_prod___PNode___replace_with},
+  {(bigint) parser_prod___Token___visit_all},
+  {(bigint) parser_prod___Token___visit_all_reverse},
+  {(bigint) parser_prod___Token___locate},
+  {(bigint) parser_prod___Token___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PError < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) syntax_base___Token___to_symbol},
+  {(bigint) lexer___Token___text},
+  {(bigint) lexer___Token___text__eq},
+  {(bigint) lexer___Token___filename},
+  {(bigint) lexer___Token___line},
+  {(bigint) lexer___Token___pos},
+  {(bigint) lexer___EOF___parser_index},
+  {(bigint) 2 /* 68: PError < Token: superclass init_table position */},
+  {(bigint) lexer___EOF___init},
+  {(bigint) 3 /* 70: PError < EOF: superclass init_table position */},
+  {(bigint) lexer___PError___message},
+  {(bigint) lexer___PError___message__eq},
+  {(bigint) lexer___PError___init_error},
+  {(bigint) 4 /* 74: PError < PError: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PError::_parent */
@@ -21427,8 +21568,8 @@ val_t NEW_PError(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_PError;
-  ATTR_lexer___Token____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Token____pos(obj) = TAG_Int((long int)0);
+  ATTR_lexer___Token____line(obj) = TAG_Int((bigint)0);
+  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) {
@@ -21438,74 +21579,74 @@ val_t NEW_lexer___PError___init_error(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_PModule[68] = {
-  {(long int) 3063 /* 0: Identity */},
-  {(long int) 3 /* 1: PModule < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PModule < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PModule < Prod: superclass typecheck marker */},
-  {(long int) 3063 /* 4: PModule < PModule: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PModule < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PModule < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PModule < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: PModule < PModule: superclass init_table position */},
+  {(bigint) 3079 /* 0: Identity */},
+  {(bigint) 3 /* 1: PModule < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PModule < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PModule < Prod: superclass typecheck marker */},
+  {(bigint) 3079 /* 4: PModule < PModule: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PModule < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PModule < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PModule::_parent */
@@ -21518,74 +21659,74 @@ val_t NEW_PModule(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PPackagedecl[68] = {
-  {(long int) 3059 /* 0: Identity */},
-  {(long int) 3 /* 1: PPackagedecl < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PPackagedecl < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PPackagedecl < Prod: superclass typecheck marker */},
-  {(long int) 3059 /* 4: PPackagedecl < PPackagedecl: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PPackagedecl < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PPackagedecl < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PPackagedecl < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: PPackagedecl < PPackagedecl: superclass init_table position */},
+  {(bigint) 3075 /* 0: Identity */},
+  {(bigint) 3 /* 1: PPackagedecl < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PPackagedecl < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PPackagedecl < Prod: superclass typecheck marker */},
+  {(bigint) 3075 /* 4: PPackagedecl < PPackagedecl: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PPackagedecl < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PPackagedecl < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PPackagedecl::_parent */
@@ -21598,76 +21739,76 @@ val_t NEW_PPackagedecl(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PImport[70] = {
-  {(long int) 3071 /* 0: Identity */},
-  {(long int) 3 /* 1: PImport < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PImport < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PImport < Prod: superclass typecheck marker */},
-  {(long int) 3071 /* 4: PImport < PImport: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PImport < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PImport < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PImport < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PImport___module_name},
-  {(long int) mmbuilder___PImport___visibility_level},
-  {(long int) 3 /* 69: PImport < PImport: superclass init_table position */},
+  {(bigint) 3087 /* 0: Identity */},
+  {(bigint) 3 /* 1: PImport < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PImport < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PImport < Prod: superclass typecheck marker */},
+  {(bigint) 3087 /* 4: PImport < PImport: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PImport < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PImport < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PImport___module_name},
+  {(bigint) mmbuilder___PImport___visibility_level},
+  {(bigint) 3 /* 69: PImport < PImport: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PImport::_parent */
@@ -21680,75 +21821,75 @@ val_t NEW_PImport(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PVisibility[69] = {
-  {(long int) 3031 /* 0: Identity */},
-  {(long int) 3 /* 1: PVisibility < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PVisibility < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PVisibility < Prod: superclass typecheck marker */},
-  {(long int) 3031 /* 4: PVisibility < PVisibility: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PVisibility < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PVisibility < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PVisibility < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PVisibility___level},
-  {(long int) 3 /* 68: PVisibility < PVisibility: superclass init_table position */},
+  {(bigint) 3047 /* 0: Identity */},
+  {(bigint) 3 /* 1: PVisibility < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PVisibility < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PVisibility < Prod: superclass typecheck marker */},
+  {(bigint) 3047 /* 4: PVisibility < PVisibility: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PVisibility < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PVisibility < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PVisibility___level},
+  {(bigint) 3 /* 68: PVisibility < PVisibility: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PVisibility::_parent */
@@ -21761,81 +21902,81 @@ val_t NEW_PVisibility(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PClassdef[75] = {
-  {(long int) 3091 /* 0: Identity */},
-  {(long int) 3 /* 1: PClassdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PClassdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PClassdef < Prod: superclass typecheck marker */},
-  {(long int) 3091 /* 4: PClassdef < PClassdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PClassdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PClassdef___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) mmbuilder___PClassdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PClassdef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PClassdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PClassdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PClassdef___name},
-  {(long int) mmbuilder___PClassdef___arity},
-  {(long int) mmbuilder___PClassdef___visibility_level},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___PClassdef___local_class},
-  {(long int) 3 /* 73: PClassdef < PClassdef: superclass init_table position */},
-  {(long int) typing___PNode___accept_typing},
+  {(bigint) 3107 /* 0: Identity */},
+  {(bigint) 3 /* 1: PClassdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PClassdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PClassdef < Prod: superclass typecheck marker */},
+  {(bigint) 3107 /* 4: PClassdef < PClassdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PClassdef < 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) mmbuilder___PClassdef___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) mmbuilder___PClassdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PClassdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PClassdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PNode___accept_typing},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PClassdef::_parent */
@@ -21849,77 +21990,77 @@ val_t NEW_PClassdef(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PClasskind[71] = {
-  {(long int) 3087 /* 0: Identity */},
-  {(long int) 3 /* 1: PClasskind < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PClasskind < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PClasskind < Prod: superclass typecheck marker */},
-  {(long int) 3087 /* 4: PClasskind < PClasskind: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PClasskind < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PClasskind < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PClasskind < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PClasskind___is_interface},
-  {(long int) mmbuilder___PClasskind___is_universal},
-  {(long int) mmbuilder___PClasskind___is_abstract},
-  {(long int) 3 /* 70: PClasskind < PClasskind: superclass init_table position */},
+  {(bigint) 3103 /* 0: Identity */},
+  {(bigint) 3 /* 1: PClasskind < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PClasskind < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PClasskind < Prod: superclass typecheck marker */},
+  {(bigint) 3103 /* 4: PClasskind < PClasskind: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PClasskind < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PClasskind < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PClasskind___is_interface},
+  {(bigint) mmbuilder___PClasskind___is_universal},
+  {(bigint) mmbuilder___PClasskind___is_abstract},
+  {(bigint) 3 /* 70: PClasskind < PClasskind: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PClasskind::_parent */
@@ -21932,74 +22073,74 @@ val_t NEW_PClasskind(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PFormaldef[68] = {
-  {(long int) 3075 /* 0: Identity */},
-  {(long int) 3 /* 1: PFormaldef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PFormaldef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PFormaldef < Prod: superclass typecheck marker */},
-  {(long int) 3075 /* 4: PFormaldef < PFormaldef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PFormaldef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PFormaldef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PFormaldef < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: PFormaldef < PFormaldef: superclass init_table position */},
+  {(bigint) 3091 /* 0: Identity */},
+  {(bigint) 3 /* 1: PFormaldef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PFormaldef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PFormaldef < Prod: superclass typecheck marker */},
+  {(bigint) 3091 /* 4: PFormaldef < PFormaldef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PFormaldef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PFormaldef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PFormaldef::_parent */
@@ -22012,74 +22153,74 @@ val_t NEW_PFormaldef(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PSuperclass[68] = {
-  {(long int) 3039 /* 0: Identity */},
-  {(long int) 3 /* 1: PSuperclass < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PSuperclass < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PSuperclass < Prod: superclass typecheck marker */},
-  {(long int) 3039 /* 4: PSuperclass < PSuperclass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PSuperclass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PSuperclass < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PSuperclass < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: PSuperclass < PSuperclass: superclass init_table position */},
+  {(bigint) 3055 /* 0: Identity */},
+  {(bigint) 3 /* 1: PSuperclass < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PSuperclass < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PSuperclass < Prod: superclass typecheck marker */},
+  {(bigint) 3055 /* 4: PSuperclass < PSuperclass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PSuperclass < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PSuperclass < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PSuperclass::_parent */
@@ -22092,80 +22233,80 @@ val_t NEW_PSuperclass(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PPropdef[74] = {
-  {(long int) 3051 /* 0: Identity */},
-  {(long int) 3 /* 1: PPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: PPropdef < PPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: PPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_nodes___PPropdef___n_doc__eq},
+  {(bigint) 3067 /* 0: Identity */},
+  {(bigint) 3 /* 1: PPropdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PPropdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PPropdef < Prod: superclass typecheck marker */},
+  {(bigint) 3067 /* 4: PPropdef < PPropdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_nodes___PPropdef___n_doc__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PPropdef::_parent */
@@ -22179,76 +22320,76 @@ val_t NEW_PPropdef(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PAble[70] = {
-  {(long int) 3099 /* 0: Identity */},
-  {(long int) 3 /* 1: PAble < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PAble < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PAble < Prod: superclass typecheck marker */},
-  {(long int) 3099 /* 4: PAble < PAble: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PAble < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PAble < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PAble < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: PAble < PAble: superclass init_table position */},
-  {(long int) parser_nodes___PAble___n_kwredef},
-  {(long int) parser_nodes___PAble___n_kwredef__eq},
+  {(bigint) 3115 /* 0: Identity */},
+  {(bigint) 3 /* 1: PAble < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PAble < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PAble < Prod: superclass typecheck marker */},
+  {(bigint) 3115 /* 4: PAble < PAble: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PAble < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PAble < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) parser_nodes___PAble___n_kwredef},
+  {(bigint) parser_nodes___PAble___n_kwredef__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PAble::_parent */
@@ -22262,76 +22403,76 @@ val_t NEW_PAble(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PMethid[70] = {
-  {(long int) 3067 /* 0: Identity */},
-  {(long int) 3 /* 1: PMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: PMethid < PMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: PMethid < PMethid: superclass init_table position */},
+  {(bigint) 3083 /* 0: Identity */},
+  {(bigint) 3 /* 1: PMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: PMethid < PMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: PMethid < PMethid: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PMethid::_parent */
@@ -22345,75 +22486,75 @@ val_t NEW_PMethid(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PSignature[69] = {
-  {(long int) 3043 /* 0: Identity */},
-  {(long int) 3 /* 1: PSignature < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PSignature < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PSignature < Prod: superclass typecheck marker */},
-  {(long int) 3043 /* 4: PSignature < PSignature: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PSignature < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PSignature < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PSignature < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PSignature___check_visibility},
-  {(long int) 3 /* 68: PSignature < PSignature: superclass init_table position */},
+  {(bigint) 3059 /* 0: Identity */},
+  {(bigint) 3 /* 1: PSignature < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PSignature < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PSignature < Prod: superclass typecheck marker */},
+  {(bigint) 3059 /* 4: PSignature < PSignature: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PSignature < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PSignature < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PSignature___check_visibility},
+  {(bigint) 3 /* 68: PSignature < PSignature: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PSignature::_parent */
@@ -22425,85 +22566,86 @@ val_t NEW_PSignature(void) {
   obj->vft = (classtable_elt_t*)VFT_PSignature;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_PParam[78] = {
-  {(long int) 3055 /* 0: Identity */},
-  {(long int) 3 /* 1: PParam < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PParam < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PParam < Prod: superclass typecheck marker */},
-  {(long int) 3055 /* 4: PParam < PParam: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PParam < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PParam___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PParam < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PParam___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PParam < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PParam___stype},
-  {(long int) mmbuilder___PParam___stype__eq},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) mmbuilder___PParam___is_vararg},
-  {(long int) mmbuilder___PParam___position},
-  {(long int) mmbuilder___PParam___variable},
-  {(long int) 3 /* 73: PParam < PParam: superclass init_table position */},
-  {(long int) parser_nodes___PParam___n_id},
-  {(long int) parser_nodes___PParam___n_id__eq},
-  {(long int) parser_nodes___PParam___n_type},
-  {(long int) parser_nodes___PParam___n_type__eq},
+const classtable_elt_t VFT_PParam[79] = {
+  {(bigint) 3071 /* 0: Identity */},
+  {(bigint) 3 /* 1: PParam < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PParam < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PParam < Prod: superclass typecheck marker */},
+  {(bigint) 3071 /* 4: PParam < PParam: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PParam < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PParam___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PParam < PNode: superclass init_table position */},
+  {(bigint) control_flow___PParam___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PParam___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PParam___n_id},
+  {(bigint) parser_nodes___PParam___n_id__eq},
+  {(bigint) parser_nodes___PParam___n_type},
+  {(bigint) parser_nodes___PParam___n_type__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PParam::_parent */
@@ -22518,84 +22660,84 @@ val_t NEW_PParam(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_PParam;
-  ATTR_mmbuilder___PParam____position(obj) = TAG_Int((long int)0);
+  ATTR_mmbuilder___PParam____position(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PType[74] = {
-  {(long int) 3035 /* 0: Identity */},
-  {(long int) 3 /* 1: PType < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PType < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PType < Prod: superclass typecheck marker */},
-  {(long int) 3035 /* 4: PType < PType: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PType < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PType < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PType___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PType < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PType___check_visibility},
-  {(long int) syntax_base___PType___get_local_class},
-  {(long int) syntax_base___PType___get_stype},
-  {(long int) syntax_base___PType___get_unchecked_stype},
-  {(long int) syntax_base___PType___check_conform},
-  {(long int) 3 /* 72: PType < PType: superclass init_table position */},
-  {(long int) typing___PType___stype},
+  {(bigint) 3051 /* 0: Identity */},
+  {(bigint) 3 /* 1: PType < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PType < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PType < Prod: superclass typecheck marker */},
+  {(bigint) 3051 /* 4: PType < PType: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PType < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PType < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PType___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PType___stype},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PType::_parent */
@@ -22609,82 +22751,82 @@ val_t NEW_PType(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PExpr[76] = {
-  {(long int) 3079 /* 0: Identity */},
-  {(long int) 3 /* 1: PExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: PExpr < PExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: PExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
+  {(bigint) 3095 /* 0: Identity */},
+  {(bigint) 3 /* 1: PExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: PExpr < PExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PExpr::_parent */
@@ -22699,75 +22841,75 @@ val_t NEW_PExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PAssignOp[69] = {
-  {(long int) 3095 /* 0: Identity */},
-  {(long int) 3 /* 1: PAssignOp < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PAssignOp < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PAssignOp < Prod: superclass typecheck marker */},
-  {(long int) 3095 /* 4: PAssignOp < PAssignOp: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PAssignOp < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PAssignOp < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PAssignOp < Prod: superclass init_table position */},
-  {(long int) typing___PAssignOp___method_name},
-  {(long int) 3 /* 68: PAssignOp < PAssignOp: superclass init_table position */},
+  {(bigint) 3111 /* 0: Identity */},
+  {(bigint) 3 /* 1: PAssignOp < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PAssignOp < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PAssignOp < Prod: superclass typecheck marker */},
+  {(bigint) 3111 /* 4: PAssignOp < PAssignOp: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PAssignOp < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PAssignOp < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) typing___PAssignOp___method_name},
+  {(bigint) 3 /* 68: PAssignOp < PAssignOp: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PAssignOp::_parent */
@@ -22780,74 +22922,74 @@ val_t NEW_PAssignOp(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PQualified[68] = {
-  {(long int) 3047 /* 0: Identity */},
-  {(long int) 3 /* 1: PQualified < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PQualified < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PQualified < Prod: superclass typecheck marker */},
-  {(long int) 3047 /* 4: PQualified < PQualified: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PQualified < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PQualified < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PQualified < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: PQualified < PQualified: superclass init_table position */},
+  {(bigint) 3063 /* 0: Identity */},
+  {(bigint) 3 /* 1: PQualified < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PQualified < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PQualified < Prod: superclass typecheck marker */},
+  {(bigint) 3063 /* 4: PQualified < PQualified: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PQualified < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PQualified < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PQualified::_parent */
@@ -22860,74 +23002,74 @@ val_t NEW_PQualified(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_PDoc[68] = {
-  {(long int) 3083 /* 0: Identity */},
-  {(long int) 3 /* 1: PDoc < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: PDoc < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: PDoc < Prod: superclass typecheck marker */},
-  {(long int) 3083 /* 4: PDoc < PDoc: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PDoc < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: PDoc < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: PDoc < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: PDoc < PDoc: superclass init_table position */},
+  {(bigint) 3099 /* 0: Identity */},
+  {(bigint) 3 /* 1: PDoc < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: PDoc < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: PDoc < Prod: superclass typecheck marker */},
+  {(bigint) 3099 /* 4: PDoc < PDoc: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PDoc < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: PDoc < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PDoc::_parent */
@@ -22940,84 +23082,84 @@ val_t NEW_PDoc(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_AModule[78] = {
-  {(long int) 3447 /* 0: Identity */},
-  {(long int) 3 /* 1: AModule < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AModule < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AModule < Prod: superclass typecheck marker */},
-  {(long int) 3063 /* 4: AModule < PModule: superclass typecheck marker */},
-  {(long int) 3447 /* 5: AModule < AModule: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AModule < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AModule___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AModule___visit_all},
-  {(long int) parser_prod___AModule___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AModule < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AModule < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: AModule < PModule: superclass init_table position */},
-  {(long int) mmbuilder___AModule___import_super_modules},
-  {(long int) parser_prod___AModule___empty_init},
-  {(long int) parser_prod___AModule___init_amodule},
-  {(long int) 4 /* 71: AModule < AModule: superclass init_table position */},
-  {(long int) parser_nodes___AModule___n_packagedecl},
-  {(long int) parser_prod___AModule___n_packagedecl__eq},
-  {(long int) parser_nodes___AModule___n_imports},
-  {(long int) parser_nodes___AModule___n_imports__eq},
-  {(long int) parser_nodes___AModule___n_classdefs},
-  {(long int) parser_nodes___AModule___n_classdefs__eq},
+  {(bigint) 3455 /* 0: Identity */},
+  {(bigint) 3 /* 1: AModule < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AModule < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AModule < Prod: superclass typecheck marker */},
+  {(bigint) 3079 /* 4: AModule < PModule: superclass typecheck marker */},
+  {(bigint) 3455 /* 5: AModule < AModule: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AModule < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AModule___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AModule___visit_all},
+  {(bigint) parser_prod___AModule___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AModule < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___AModule___n_packagedecl},
+  {(bigint) parser_prod___AModule___n_packagedecl__eq},
+  {(bigint) parser_nodes___AModule___n_imports},
+  {(bigint) parser_nodes___AModule___n_imports__eq},
+  {(bigint) parser_nodes___AModule___n_classdefs},
+  {(bigint) parser_nodes___AModule___n_classdefs__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AModule::_parent */
@@ -23045,83 +23187,83 @@ val_t NEW_parser_prod___AModule___init_amodule(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_APackagedecl[77] = {
-  {(long int) 3431 /* 0: Identity */},
-  {(long int) 3 /* 1: APackagedecl < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APackagedecl < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APackagedecl < Prod: superclass typecheck marker */},
-  {(long int) 3059 /* 4: APackagedecl < PPackagedecl: superclass typecheck marker */},
-  {(long int) 3431 /* 5: APackagedecl < APackagedecl: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: APackagedecl < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___APackagedecl___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APackagedecl___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APackagedecl___visit_all},
-  {(long int) parser_prod___APackagedecl___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: APackagedecl < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: APackagedecl < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: APackagedecl < PPackagedecl: superclass init_table position */},
-  {(long int) parser_prod___APackagedecl___empty_init},
-  {(long int) parser_prod___APackagedecl___init_apackagedecl},
-  {(long int) 4 /* 70: APackagedecl < APackagedecl: superclass init_table position */},
-  {(long int) parser_nodes___APackagedecl___n_doc},
-  {(long int) parser_prod___APackagedecl___n_doc__eq},
-  {(long int) parser_nodes___APackagedecl___n_kwpackage},
-  {(long int) parser_prod___APackagedecl___n_kwpackage__eq},
-  {(long int) parser_nodes___APackagedecl___n_id},
-  {(long int) parser_prod___APackagedecl___n_id__eq},
+  {(bigint) 3439 /* 0: Identity */},
+  {(bigint) 3 /* 1: APackagedecl < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: APackagedecl < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: APackagedecl < Prod: superclass typecheck marker */},
+  {(bigint) 3075 /* 4: APackagedecl < PPackagedecl: superclass typecheck marker */},
+  {(bigint) 3439 /* 5: APackagedecl < APackagedecl: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: APackagedecl < 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) mmbuilder___APackagedecl___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APackagedecl___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APackagedecl___visit_all},
+  {(bigint) parser_prod___APackagedecl___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: APackagedecl < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) parser_prod___APackagedecl___empty_init},
+  {(bigint) parser_prod___APackagedecl___init_apackagedecl},
+  {(bigint) 4 /* 70: 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},
+  {(bigint) parser_prod___APackagedecl___n_kwpackage__eq},
+  {(bigint) parser_nodes___APackagedecl___n_id},
+  {(bigint) parser_prod___APackagedecl___n_id__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APackagedecl::_parent */
@@ -23149,85 +23291,85 @@ val_t NEW_parser_prod___APackagedecl___init_apackagedecl(val_t p0, val_t p1, val
   return self;
 }
 const classtable_elt_t VFT_AImport[79] = {
-  {(long int) 3487 /* 0: Identity */},
-  {(long int) 3 /* 1: AImport < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AImport < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AImport < Prod: superclass typecheck marker */},
-  {(long int) 3071 /* 4: AImport < PImport: superclass typecheck marker */},
-  {(long int) 3487 /* 5: AImport < AImport: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AImport < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AImport___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AImport___visit_all},
-  {(long int) parser_prod___AImport___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AImport < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AImport < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AImport___module_name},
-  {(long int) mmbuilder___AImport___visibility_level},
-  {(long int) 3 /* 69: AImport < PImport: superclass init_table position */},
-  {(long int) parser_prod___AImport___empty_init},
-  {(long int) parser_prod___AImport___init_aimport},
-  {(long int) 4 /* 72: AImport < AImport: superclass init_table position */},
-  {(long int) parser_nodes___AImport___n_visibility},
-  {(long int) parser_prod___AImport___n_visibility__eq},
-  {(long int) parser_nodes___AImport___n_kwimport},
-  {(long int) parser_prod___AImport___n_kwimport__eq},
-  {(long int) parser_nodes___AImport___n_id},
-  {(long int) parser_prod___AImport___n_id__eq},
+  {(bigint) 3495 /* 0: Identity */},
+  {(bigint) 3 /* 1: AImport < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AImport < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AImport < Prod: superclass typecheck marker */},
+  {(bigint) 3087 /* 4: AImport < PImport: superclass typecheck marker */},
+  {(bigint) 3495 /* 5: AImport < AImport: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AImport < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AImport___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AImport___visit_all},
+  {(bigint) parser_prod___AImport___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AImport < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___AImport___module_name},
+  {(bigint) mmbuilder___AImport___visibility_level},
+  {(bigint) 3 /* 69: 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) parser_nodes___AImport___n_visibility},
+  {(bigint) parser_prod___AImport___n_visibility__eq},
+  {(bigint) parser_nodes___AImport___n_kwimport},
+  {(bigint) parser_prod___AImport___n_kwimport__eq},
+  {(bigint) parser_nodes___AImport___n_id},
+  {(bigint) parser_prod___AImport___n_id__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AImport::_parent */
@@ -23255,85 +23397,85 @@ val_t NEW_parser_prod___AImport___init_aimport(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_ANoImport[79] = {
-  {(long int) 3439 /* 0: Identity */},
-  {(long int) 3 /* 1: ANoImport < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ANoImport < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ANoImport < Prod: superclass typecheck marker */},
-  {(long int) 3071 /* 4: ANoImport < PImport: superclass typecheck marker */},
-  {(long int) 3439 /* 5: ANoImport < ANoImport: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ANoImport < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ANoImport___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ANoImport___visit_all},
-  {(long int) parser_prod___ANoImport___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ANoImport < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ANoImport < Prod: superclass init_table position */},
-  {(long int) mmbuilder___ANoImport___module_name},
-  {(long int) mmbuilder___PImport___visibility_level},
-  {(long int) 3 /* 69: ANoImport < PImport: superclass init_table position */},
-  {(long int) parser_prod___ANoImport___empty_init},
-  {(long int) parser_prod___ANoImport___init_anoimport},
-  {(long int) 4 /* 72: ANoImport < ANoImport: superclass init_table position */},
-  {(long int) parser_nodes___ANoImport___n_visibility},
-  {(long int) parser_prod___ANoImport___n_visibility__eq},
-  {(long int) parser_nodes___ANoImport___n_kwimport},
-  {(long int) parser_prod___ANoImport___n_kwimport__eq},
-  {(long int) parser_nodes___ANoImport___n_kwend},
-  {(long int) parser_prod___ANoImport___n_kwend__eq},
+  {(bigint) 3447 /* 0: Identity */},
+  {(bigint) 3 /* 1: ANoImport < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ANoImport < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ANoImport < Prod: superclass typecheck marker */},
+  {(bigint) 3087 /* 4: ANoImport < PImport: superclass typecheck marker */},
+  {(bigint) 3447 /* 5: ANoImport < ANoImport: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ANoImport < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ANoImport___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ANoImport___visit_all},
+  {(bigint) parser_prod___ANoImport___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ANoImport < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___ANoImport___module_name},
+  {(bigint) mmbuilder___PImport___visibility_level},
+  {(bigint) 3 /* 69: 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) parser_nodes___ANoImport___n_visibility},
+  {(bigint) parser_prod___ANoImport___n_visibility__eq},
+  {(bigint) parser_nodes___ANoImport___n_kwimport},
+  {(bigint) parser_prod___ANoImport___n_kwimport__eq},
+  {(bigint) parser_nodes___ANoImport___n_kwend},
+  {(bigint) parser_prod___ANoImport___n_kwend__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ANoImport::_parent */
@@ -23361,78 +23503,78 @@ val_t NEW_parser_prod___ANoImport___init_anoimport(val_t p0, val_t p1, val_t p2)
   return self;
 }
 const classtable_elt_t VFT_APublicVisibility[72] = {
-  {(long int) 3399 /* 0: Identity */},
-  {(long int) 3 /* 1: APublicVisibility < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APublicVisibility < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APublicVisibility < Prod: superclass typecheck marker */},
-  {(long int) 3031 /* 4: APublicVisibility < PVisibility: superclass typecheck marker */},
-  {(long int) 3399 /* 5: APublicVisibility < APublicVisibility: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: APublicVisibility < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APublicVisibility___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APublicVisibility___visit_all},
-  {(long int) parser_prod___APublicVisibility___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: APublicVisibility < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: APublicVisibility < Prod: superclass init_table position */},
-  {(long int) mmbuilder___APublicVisibility___level},
-  {(long int) 3 /* 68: APublicVisibility < PVisibility: superclass init_table position */},
-  {(long int) parser_prod___APublicVisibility___empty_init},
-  {(long int) parser_prod___APublicVisibility___init_apublicvisibility},
-  {(long int) 4 /* 71: APublicVisibility < APublicVisibility: superclass init_table position */},
+  {(bigint) 3407 /* 0: Identity */},
+  {(bigint) 3 /* 1: APublicVisibility < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: APublicVisibility < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: APublicVisibility < Prod: superclass typecheck marker */},
+  {(bigint) 3047 /* 4: APublicVisibility < PVisibility: superclass typecheck marker */},
+  {(bigint) 3407 /* 5: APublicVisibility < APublicVisibility: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: APublicVisibility < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APublicVisibility___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APublicVisibility___visit_all},
+  {(bigint) parser_prod___APublicVisibility___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: APublicVisibility < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___APublicVisibility___level},
+  {(bigint) 3 /* 68: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APublicVisibility::_parent */
@@ -23457,80 +23599,80 @@ val_t NEW_parser_prod___APublicVisibility___init_apublicvisibility() {
   return self;
 }
 const classtable_elt_t VFT_APrivateVisibility[74] = {
-  {(long int) 3411 /* 0: Identity */},
-  {(long int) 3 /* 1: APrivateVisibility < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APrivateVisibility < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APrivateVisibility < Prod: superclass typecheck marker */},
-  {(long int) 3031 /* 4: APrivateVisibility < PVisibility: superclass typecheck marker */},
-  {(long int) 3411 /* 5: APrivateVisibility < APrivateVisibility: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: APrivateVisibility < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APrivateVisibility___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APrivateVisibility___visit_all},
-  {(long int) parser_prod___APrivateVisibility___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: APrivateVisibility < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: APrivateVisibility < Prod: superclass init_table position */},
-  {(long int) mmbuilder___APrivateVisibility___level},
-  {(long int) 3 /* 68: APrivateVisibility < PVisibility: superclass init_table position */},
-  {(long int) parser_prod___APrivateVisibility___empty_init},
-  {(long int) parser_prod___APrivateVisibility___init_aprivatevisibility},
-  {(long int) 4 /* 71: APrivateVisibility < APrivateVisibility: superclass init_table position */},
-  {(long int) parser_nodes___APrivateVisibility___n_kwprivate},
-  {(long int) parser_prod___APrivateVisibility___n_kwprivate__eq},
+  {(bigint) 3419 /* 0: Identity */},
+  {(bigint) 3 /* 1: APrivateVisibility < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: APrivateVisibility < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: APrivateVisibility < Prod: superclass typecheck marker */},
+  {(bigint) 3047 /* 4: APrivateVisibility < PVisibility: superclass typecheck marker */},
+  {(bigint) 3419 /* 5: APrivateVisibility < APrivateVisibility: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: APrivateVisibility < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APrivateVisibility___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APrivateVisibility___visit_all},
+  {(bigint) parser_prod___APrivateVisibility___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: APrivateVisibility < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___APrivateVisibility___level},
+  {(bigint) 3 /* 68: 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) parser_nodes___APrivateVisibility___n_kwprivate},
+  {(bigint) parser_prod___APrivateVisibility___n_kwprivate__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APrivateVisibility::_parent */
@@ -23556,80 +23698,80 @@ val_t NEW_parser_prod___APrivateVisibility___init_aprivatevisibility(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AProtectedVisibility[74] = {
-  {(long int) 3407 /* 0: Identity */},
-  {(long int) 3 /* 1: AProtectedVisibility < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AProtectedVisibility < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AProtectedVisibility < Prod: superclass typecheck marker */},
-  {(long int) 3031 /* 4: AProtectedVisibility < PVisibility: superclass typecheck marker */},
-  {(long int) 3407 /* 5: AProtectedVisibility < AProtectedVisibility: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AProtectedVisibility < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AProtectedVisibility___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AProtectedVisibility___visit_all},
-  {(long int) parser_prod___AProtectedVisibility___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AProtectedVisibility < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AProtectedVisibility < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AProtectedVisibility___level},
-  {(long int) 3 /* 68: AProtectedVisibility < PVisibility: superclass init_table position */},
-  {(long int) parser_prod___AProtectedVisibility___empty_init},
-  {(long int) parser_prod___AProtectedVisibility___init_aprotectedvisibility},
-  {(long int) 4 /* 71: AProtectedVisibility < AProtectedVisibility: superclass init_table position */},
-  {(long int) parser_nodes___AProtectedVisibility___n_kwprotected},
-  {(long int) parser_prod___AProtectedVisibility___n_kwprotected__eq},
+  {(bigint) 3415 /* 0: Identity */},
+  {(bigint) 3 /* 1: AProtectedVisibility < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AProtectedVisibility < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AProtectedVisibility < Prod: superclass typecheck marker */},
+  {(bigint) 3047 /* 4: AProtectedVisibility < PVisibility: superclass typecheck marker */},
+  {(bigint) 3415 /* 5: AProtectedVisibility < AProtectedVisibility: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AProtectedVisibility < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AProtectedVisibility___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AProtectedVisibility___visit_all},
+  {(bigint) parser_prod___AProtectedVisibility___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AProtectedVisibility < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___AProtectedVisibility___level},
+  {(bigint) 3 /* 68: 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) parser_nodes___AProtectedVisibility___n_kwprotected},
+  {(bigint) parser_prod___AProtectedVisibility___n_kwprotected__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AProtectedVisibility::_parent */
@@ -23655,80 +23797,80 @@ val_t NEW_parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t p
   return self;
 }
 const classtable_elt_t VFT_AIntrudeVisibility[74] = {
-  {(long int) 3475 /* 0: Identity */},
-  {(long int) 3 /* 1: AIntrudeVisibility < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AIntrudeVisibility < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AIntrudeVisibility < Prod: superclass typecheck marker */},
-  {(long int) 3031 /* 4: AIntrudeVisibility < PVisibility: superclass typecheck marker */},
-  {(long int) 3475 /* 5: AIntrudeVisibility < AIntrudeVisibility: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AIntrudeVisibility < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AIntrudeVisibility___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AIntrudeVisibility___visit_all},
-  {(long int) parser_prod___AIntrudeVisibility___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AIntrudeVisibility < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AIntrudeVisibility < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AIntrudeVisibility___level},
-  {(long int) 3 /* 68: AIntrudeVisibility < PVisibility: superclass init_table position */},
-  {(long int) parser_prod___AIntrudeVisibility___empty_init},
-  {(long int) parser_prod___AIntrudeVisibility___init_aintrudevisibility},
-  {(long int) 4 /* 71: AIntrudeVisibility < AIntrudeVisibility: superclass init_table position */},
-  {(long int) parser_nodes___AIntrudeVisibility___n_kwintrude},
-  {(long int) parser_prod___AIntrudeVisibility___n_kwintrude__eq},
+  {(bigint) 3483 /* 0: Identity */},
+  {(bigint) 3 /* 1: AIntrudeVisibility < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AIntrudeVisibility < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AIntrudeVisibility < Prod: superclass typecheck marker */},
+  {(bigint) 3047 /* 4: AIntrudeVisibility < PVisibility: superclass typecheck marker */},
+  {(bigint) 3483 /* 5: AIntrudeVisibility < AIntrudeVisibility: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AIntrudeVisibility < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AIntrudeVisibility___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AIntrudeVisibility___visit_all},
+  {(bigint) parser_prod___AIntrudeVisibility___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AIntrudeVisibility < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___AIntrudeVisibility___level},
+  {(bigint) 3 /* 68: 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) parser_nodes___AIntrudeVisibility___n_kwintrude},
+  {(bigint) parser_prod___AIntrudeVisibility___n_kwintrude__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AIntrudeVisibility::_parent */
@@ -23754,101 +23896,101 @@ val_t NEW_parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AClassdef[95] = {
-  {(long int) 3543 /* 0: Identity */},
-  {(long int) 3 /* 1: AClassdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AClassdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AClassdef < Prod: superclass typecheck marker */},
-  {(long int) 3091 /* 4: AClassdef < PClassdef: superclass typecheck marker */},
-  {(long int) 3543 /* 5: AClassdef < AClassdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AClassdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PClassdef___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___AClassdef___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) mmbuilder___PClassdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AClassdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AClassdef___visit_all},
-  {(long int) parser_prod___AClassdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AClassdef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PClassdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AClassdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AClassdef___name},
-  {(long int) mmbuilder___AClassdef___arity},
-  {(long int) mmbuilder___AClassdef___visibility_level},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___PClassdef___local_class},
-  {(long int) 3 /* 73: AClassdef < PClassdef: superclass init_table position */},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) parser_prod___AClassdef___empty_init},
-  {(long int) parser_prod___AClassdef___init_aclassdef},
-  {(long int) 4 /* 78: AClassdef < AClassdef: superclass init_table position */},
-  {(long int) parser_nodes___AClassdef___n_doc},
-  {(long int) parser_prod___AClassdef___n_doc__eq},
-  {(long int) parser_nodes___AClassdef___n_kwredef},
-  {(long int) parser_prod___AClassdef___n_kwredef__eq},
-  {(long int) parser_nodes___AClassdef___n_visibility},
-  {(long int) parser_prod___AClassdef___n_visibility__eq},
-  {(long int) parser_nodes___AClassdef___n_classkind},
-  {(long int) parser_prod___AClassdef___n_classkind__eq},
-  {(long int) parser_nodes___AClassdef___n_id},
-  {(long int) parser_prod___AClassdef___n_id__eq},
-  {(long int) parser_nodes___AClassdef___n_formaldefs},
-  {(long int) parser_nodes___AClassdef___n_formaldefs__eq},
-  {(long int) parser_nodes___AClassdef___n_superclasses},
-  {(long int) parser_nodes___AClassdef___n_superclasses__eq},
-  {(long int) parser_nodes___AClassdef___n_propdefs},
-  {(long int) parser_nodes___AClassdef___n_propdefs__eq},
+  {(bigint) 3551 /* 0: Identity */},
+  {(bigint) 3 /* 1: AClassdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AClassdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AClassdef < Prod: superclass typecheck marker */},
+  {(bigint) 3107 /* 4: AClassdef < PClassdef: superclass typecheck marker */},
+  {(bigint) 3551 /* 5: AClassdef < AClassdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AClassdef < 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) mmbuilder___PClassdef___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___AClassdef___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) mmbuilder___PClassdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AClassdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AClassdef___visit_all},
+  {(bigint) parser_prod___AClassdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AClassdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PClassdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AClassdef___n_doc},
+  {(bigint) parser_prod___AClassdef___n_doc__eq},
+  {(bigint) parser_nodes___AClassdef___n_kwredef},
+  {(bigint) parser_prod___AClassdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AClassdef___n_visibility},
+  {(bigint) parser_prod___AClassdef___n_visibility__eq},
+  {(bigint) parser_nodes___AClassdef___n_classkind},
+  {(bigint) parser_prod___AClassdef___n_classkind__eq},
+  {(bigint) parser_nodes___AClassdef___n_id},
+  {(bigint) parser_prod___AClassdef___n_id__eq},
+  {(bigint) parser_nodes___AClassdef___n_formaldefs},
+  {(bigint) parser_nodes___AClassdef___n_formaldefs__eq},
+  {(bigint) parser_nodes___AClassdef___n_superclasses},
+  {(bigint) parser_nodes___AClassdef___n_superclasses__eq},
+  {(bigint) parser_nodes___AClassdef___n_propdefs},
+  {(bigint) parser_nodes___AClassdef___n_propdefs__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AClassdef::_parent */
@@ -23882,86 +24024,86 @@ val_t NEW_parser_prod___AClassdef___init_aclassdef(val_t p0, val_t p1, val_t p2,
   return self;
 }
 const classtable_elt_t VFT_ATopClassdef[80] = {
-  {(long int) 3343 /* 0: Identity */},
-  {(long int) 3 /* 1: ATopClassdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ATopClassdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ATopClassdef < Prod: superclass typecheck marker */},
-  {(long int) 3091 /* 4: ATopClassdef < PClassdef: superclass typecheck marker */},
-  {(long int) 3343 /* 5: ATopClassdef < ATopClassdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ATopClassdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PClassdef___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) mmbuilder___PClassdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ATopClassdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ATopClassdef___visit_all},
-  {(long int) parser_prod___ATopClassdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ATopClassdef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PClassdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ATopClassdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___ATopClassdef___name},
-  {(long int) mmbuilder___PClassdef___arity},
-  {(long int) mmbuilder___PClassdef___visibility_level},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___PClassdef___local_class},
-  {(long int) 3 /* 73: ATopClassdef < PClassdef: superclass init_table position */},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) parser_prod___ATopClassdef___empty_init},
-  {(long int) parser_prod___ATopClassdef___init_atopclassdef},
-  {(long int) 4 /* 77: ATopClassdef < ATopClassdef: superclass init_table position */},
-  {(long int) parser_nodes___ATopClassdef___n_propdefs},
-  {(long int) parser_nodes___ATopClassdef___n_propdefs__eq},
+  {(bigint) 3351 /* 0: Identity */},
+  {(bigint) 3 /* 1: ATopClassdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ATopClassdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ATopClassdef < Prod: superclass typecheck marker */},
+  {(bigint) 3107 /* 4: ATopClassdef < PClassdef: superclass typecheck marker */},
+  {(bigint) 3351 /* 5: ATopClassdef < ATopClassdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ATopClassdef < 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) mmbuilder___PClassdef___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) mmbuilder___PClassdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ATopClassdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ATopClassdef___visit_all},
+  {(bigint) parser_prod___ATopClassdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ATopClassdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PClassdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___ATopClassdef___n_propdefs},
+  {(bigint) parser_nodes___ATopClassdef___n_propdefs__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ATopClassdef::_parent */
@@ -23988,86 +24130,86 @@ val_t NEW_parser_prod___ATopClassdef___init_atopclassdef(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AMainClassdef[80] = {
-  {(long int) 3463 /* 0: Identity */},
-  {(long int) 3 /* 1: AMainClassdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AMainClassdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AMainClassdef < Prod: superclass typecheck marker */},
-  {(long int) 3091 /* 4: AMainClassdef < PClassdef: superclass typecheck marker */},
-  {(long int) 3463 /* 5: AMainClassdef < AMainClassdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AMainClassdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PClassdef___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) mmbuilder___PClassdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AMainClassdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AMainClassdef___visit_all},
-  {(long int) parser_prod___AMainClassdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AMainClassdef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PClassdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AMainClassdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AMainClassdef___name},
-  {(long int) mmbuilder___PClassdef___arity},
-  {(long int) mmbuilder___PClassdef___visibility_level},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___PClassdef___local_class},
-  {(long int) 3 /* 73: AMainClassdef < PClassdef: superclass init_table position */},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) parser_prod___AMainClassdef___empty_init},
-  {(long int) parser_prod___AMainClassdef___init_amainclassdef},
-  {(long int) 4 /* 77: AMainClassdef < AMainClassdef: superclass init_table position */},
-  {(long int) parser_nodes___AMainClassdef___n_propdefs},
-  {(long int) parser_nodes___AMainClassdef___n_propdefs__eq},
+  {(bigint) 3471 /* 0: Identity */},
+  {(bigint) 3 /* 1: AMainClassdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AMainClassdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AMainClassdef < Prod: superclass typecheck marker */},
+  {(bigint) 3107 /* 4: AMainClassdef < PClassdef: superclass typecheck marker */},
+  {(bigint) 3471 /* 5: AMainClassdef < AMainClassdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AMainClassdef < 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) mmbuilder___PClassdef___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) mmbuilder___PClassdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AMainClassdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AMainClassdef___visit_all},
+  {(bigint) parser_prod___AMainClassdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AMainClassdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PClassdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AMainClassdef___n_propdefs},
+  {(bigint) parser_nodes___AMainClassdef___n_propdefs__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMainClassdef::_parent */
@@ -24094,82 +24236,82 @@ val_t NEW_parser_prod___AMainClassdef___init_amainclassdef(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AConcreteClasskind[76] = {
-  {(long int) 3539 /* 0: Identity */},
-  {(long int) 3 /* 1: AConcreteClasskind < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AConcreteClasskind < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AConcreteClasskind < Prod: superclass typecheck marker */},
-  {(long int) 3087 /* 4: AConcreteClasskind < PClasskind: superclass typecheck marker */},
-  {(long int) 3539 /* 5: AConcreteClasskind < AConcreteClasskind: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AConcreteClasskind < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AConcreteClasskind___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AConcreteClasskind___visit_all},
-  {(long int) parser_prod___AConcreteClasskind___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AConcreteClasskind < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AConcreteClasskind < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PClasskind___is_interface},
-  {(long int) mmbuilder___PClasskind___is_universal},
-  {(long int) mmbuilder___PClasskind___is_abstract},
-  {(long int) 3 /* 70: AConcreteClasskind < PClasskind: superclass init_table position */},
-  {(long int) parser_prod___AConcreteClasskind___empty_init},
-  {(long int) parser_prod___AConcreteClasskind___init_aconcreteclasskind},
-  {(long int) 4 /* 73: AConcreteClasskind < AConcreteClasskind: superclass init_table position */},
-  {(long int) parser_nodes___AConcreteClasskind___n_kwclass},
-  {(long int) parser_prod___AConcreteClasskind___n_kwclass__eq},
+  {(bigint) 3547 /* 0: Identity */},
+  {(bigint) 3 /* 1: AConcreteClasskind < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AConcreteClasskind < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AConcreteClasskind < Prod: superclass typecheck marker */},
+  {(bigint) 3103 /* 4: AConcreteClasskind < PClasskind: superclass typecheck marker */},
+  {(bigint) 3547 /* 5: AConcreteClasskind < AConcreteClasskind: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AConcreteClasskind < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AConcreteClasskind___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AConcreteClasskind___visit_all},
+  {(bigint) parser_prod___AConcreteClasskind___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AConcreteClasskind < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PClasskind___is_interface},
+  {(bigint) mmbuilder___PClasskind___is_universal},
+  {(bigint) mmbuilder___PClasskind___is_abstract},
+  {(bigint) 3 /* 70: 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) parser_nodes___AConcreteClasskind___n_kwclass},
+  {(bigint) parser_prod___AConcreteClasskind___n_kwclass__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AConcreteClasskind::_parent */
@@ -24195,84 +24337,84 @@ val_t NEW_parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AAbstractClasskind[78] = {
-  {(long int) 3595 /* 0: Identity */},
-  {(long int) 3 /* 1: AAbstractClasskind < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAbstractClasskind < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAbstractClasskind < Prod: superclass typecheck marker */},
-  {(long int) 3087 /* 4: AAbstractClasskind < PClasskind: superclass typecheck marker */},
-  {(long int) 3595 /* 5: AAbstractClasskind < AAbstractClasskind: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAbstractClasskind < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAbstractClasskind___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAbstractClasskind___visit_all},
-  {(long int) parser_prod___AAbstractClasskind___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAbstractClasskind < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAbstractClasskind < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PClasskind___is_interface},
-  {(long int) mmbuilder___PClasskind___is_universal},
-  {(long int) mmbuilder___AAbstractClasskind___is_abstract},
-  {(long int) 3 /* 70: AAbstractClasskind < PClasskind: superclass init_table position */},
-  {(long int) parser_prod___AAbstractClasskind___empty_init},
-  {(long int) parser_prod___AAbstractClasskind___init_aabstractclasskind},
-  {(long int) 4 /* 73: AAbstractClasskind < AAbstractClasskind: superclass init_table position */},
-  {(long int) parser_nodes___AAbstractClasskind___n_kwabstract},
-  {(long int) parser_prod___AAbstractClasskind___n_kwabstract__eq},
-  {(long int) parser_nodes___AAbstractClasskind___n_kwclass},
-  {(long int) parser_prod___AAbstractClasskind___n_kwclass__eq},
+  {(bigint) 3607 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAbstractClasskind < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAbstractClasskind < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAbstractClasskind < Prod: superclass typecheck marker */},
+  {(bigint) 3103 /* 4: AAbstractClasskind < PClasskind: superclass typecheck marker */},
+  {(bigint) 3607 /* 5: AAbstractClasskind < AAbstractClasskind: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAbstractClasskind < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAbstractClasskind___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAbstractClasskind___visit_all},
+  {(bigint) parser_prod___AAbstractClasskind___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAbstractClasskind < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PClasskind___is_interface},
+  {(bigint) mmbuilder___PClasskind___is_universal},
+  {(bigint) mmbuilder___AAbstractClasskind___is_abstract},
+  {(bigint) 3 /* 70: 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) parser_nodes___AAbstractClasskind___n_kwabstract},
+  {(bigint) parser_prod___AAbstractClasskind___n_kwabstract__eq},
+  {(bigint) parser_nodes___AAbstractClasskind___n_kwclass},
+  {(bigint) parser_prod___AAbstractClasskind___n_kwclass__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAbstractClasskind::_parent */
@@ -24299,82 +24441,82 @@ val_t NEW_parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t p0, v
   return self;
 }
 const classtable_elt_t VFT_AInterfaceClasskind[76] = {
-  {(long int) 3479 /* 0: Identity */},
-  {(long int) 3 /* 1: AInterfaceClasskind < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AInterfaceClasskind < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AInterfaceClasskind < Prod: superclass typecheck marker */},
-  {(long int) 3087 /* 4: AInterfaceClasskind < PClasskind: superclass typecheck marker */},
-  {(long int) 3479 /* 5: AInterfaceClasskind < AInterfaceClasskind: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AInterfaceClasskind < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AInterfaceClasskind___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AInterfaceClasskind___visit_all},
-  {(long int) parser_prod___AInterfaceClasskind___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AInterfaceClasskind < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AInterfaceClasskind < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AInterfaceClasskind___is_interface},
-  {(long int) mmbuilder___PClasskind___is_universal},
-  {(long int) mmbuilder___PClasskind___is_abstract},
-  {(long int) 3 /* 70: AInterfaceClasskind < PClasskind: superclass init_table position */},
-  {(long int) parser_prod___AInterfaceClasskind___empty_init},
-  {(long int) parser_prod___AInterfaceClasskind___init_ainterfaceclasskind},
-  {(long int) 4 /* 73: AInterfaceClasskind < AInterfaceClasskind: superclass init_table position */},
-  {(long int) parser_nodes___AInterfaceClasskind___n_kwinterface},
-  {(long int) parser_prod___AInterfaceClasskind___n_kwinterface__eq},
+  {(bigint) 3487 /* 0: Identity */},
+  {(bigint) 3 /* 1: AInterfaceClasskind < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AInterfaceClasskind < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AInterfaceClasskind < Prod: superclass typecheck marker */},
+  {(bigint) 3103 /* 4: AInterfaceClasskind < PClasskind: superclass typecheck marker */},
+  {(bigint) 3487 /* 5: AInterfaceClasskind < AInterfaceClasskind: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AInterfaceClasskind < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AInterfaceClasskind___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AInterfaceClasskind___visit_all},
+  {(bigint) parser_prod___AInterfaceClasskind___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AInterfaceClasskind < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___AInterfaceClasskind___is_interface},
+  {(bigint) mmbuilder___PClasskind___is_universal},
+  {(bigint) mmbuilder___PClasskind___is_abstract},
+  {(bigint) 3 /* 70: 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) parser_nodes___AInterfaceClasskind___n_kwinterface},
+  {(bigint) parser_prod___AInterfaceClasskind___n_kwinterface__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AInterfaceClasskind::_parent */
@@ -24400,82 +24542,82 @@ val_t NEW_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t p0)
   return self;
 }
 const classtable_elt_t VFT_AUniversalClasskind[76] = {
-  {(long int) 3331 /* 0: Identity */},
-  {(long int) 3 /* 1: AUniversalClasskind < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AUniversalClasskind < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AUniversalClasskind < Prod: superclass typecheck marker */},
-  {(long int) 3087 /* 4: AUniversalClasskind < PClasskind: superclass typecheck marker */},
-  {(long int) 3331 /* 5: AUniversalClasskind < AUniversalClasskind: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AUniversalClasskind < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AUniversalClasskind___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AUniversalClasskind___visit_all},
-  {(long int) parser_prod___AUniversalClasskind___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AUniversalClasskind < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AUniversalClasskind < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PClasskind___is_interface},
-  {(long int) mmbuilder___AUniversalClasskind___is_universal},
-  {(long int) mmbuilder___PClasskind___is_abstract},
-  {(long int) 3 /* 70: AUniversalClasskind < PClasskind: superclass init_table position */},
-  {(long int) parser_prod___AUniversalClasskind___empty_init},
-  {(long int) parser_prod___AUniversalClasskind___init_auniversalclasskind},
-  {(long int) 4 /* 73: AUniversalClasskind < AUniversalClasskind: superclass init_table position */},
-  {(long int) parser_nodes___AUniversalClasskind___n_kwuniversal},
-  {(long int) parser_prod___AUniversalClasskind___n_kwuniversal__eq},
+  {(bigint) 3339 /* 0: Identity */},
+  {(bigint) 3 /* 1: AUniversalClasskind < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AUniversalClasskind < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AUniversalClasskind < Prod: superclass typecheck marker */},
+  {(bigint) 3103 /* 4: AUniversalClasskind < PClasskind: superclass typecheck marker */},
+  {(bigint) 3339 /* 5: AUniversalClasskind < AUniversalClasskind: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AUniversalClasskind < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AUniversalClasskind___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AUniversalClasskind___visit_all},
+  {(bigint) parser_prod___AUniversalClasskind___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AUniversalClasskind < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PClasskind___is_interface},
+  {(bigint) mmbuilder___AUniversalClasskind___is_universal},
+  {(bigint) mmbuilder___PClasskind___is_abstract},
+  {(bigint) 3 /* 70: 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) parser_nodes___AUniversalClasskind___n_kwuniversal},
+  {(bigint) parser_prod___AUniversalClasskind___n_kwuniversal__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AUniversalClasskind::_parent */
@@ -24501,83 +24643,83 @@ val_t NEW_parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t p0)
   return self;
 }
 const classtable_elt_t VFT_AFormaldef[77] = {
-  {(long int) 3511 /* 0: Identity */},
-  {(long int) 3 /* 1: AFormaldef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AFormaldef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AFormaldef < Prod: superclass typecheck marker */},
-  {(long int) 3075 /* 4: AFormaldef < PFormaldef: superclass typecheck marker */},
-  {(long int) 3511 /* 5: AFormaldef < AFormaldef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AFormaldef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___AFormaldef___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___AFormaldef___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AFormaldef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AFormaldef___visit_all},
-  {(long int) parser_prod___AFormaldef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AFormaldef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AFormaldef < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: AFormaldef < PFormaldef: superclass init_table position */},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) parser_prod___AFormaldef___empty_init},
-  {(long int) parser_prod___AFormaldef___init_aformaldef},
-  {(long int) 4 /* 72: AFormaldef < AFormaldef: superclass init_table position */},
-  {(long int) parser_nodes___AFormaldef___n_id},
-  {(long int) parser_prod___AFormaldef___n_id__eq},
-  {(long int) parser_nodes___AFormaldef___n_type},
-  {(long int) parser_prod___AFormaldef___n_type__eq},
+  {(bigint) 3519 /* 0: Identity */},
+  {(bigint) 3 /* 1: AFormaldef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AFormaldef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AFormaldef < Prod: superclass typecheck marker */},
+  {(bigint) 3091 /* 4: AFormaldef < PFormaldef: superclass typecheck marker */},
+  {(bigint) 3519 /* 5: AFormaldef < AFormaldef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AFormaldef < 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) mmbuilder___AFormaldef___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___AFormaldef___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AFormaldef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AFormaldef___visit_all},
+  {(bigint) parser_prod___AFormaldef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AFormaldef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___AFormaldef___n_id},
+  {(bigint) parser_prod___AFormaldef___n_id__eq},
+  {(bigint) parser_nodes___AFormaldef___n_type},
+  {(bigint) parser_prod___AFormaldef___n_type__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AFormaldef::_parent */
@@ -24605,85 +24747,85 @@ val_t NEW_parser_prod___AFormaldef___init_aformaldef(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ASuperclass[79] = {
-  {(long int) 3351 /* 0: Identity */},
-  {(long int) 3 /* 1: ASuperclass < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASuperclass < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASuperclass < Prod: superclass typecheck marker */},
-  {(long int) 3039 /* 4: ASuperclass < PSuperclass: superclass typecheck marker */},
-  {(long int) 3351 /* 5: ASuperclass < ASuperclass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ASuperclass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___ASuperclass___accept_class_specialization_builder},
-  {(long int) mmbuilder___ASuperclass___accept_class_ancestor_builder},
-  {(long int) mmbuilder___ASuperclass___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASuperclass___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASuperclass___visit_all},
-  {(long int) parser_prod___ASuperclass___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ASuperclass < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ASuperclass < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: ASuperclass < PSuperclass: superclass init_table position */},
-  {(long int) mmbuilder___ASuperclass___ancestor},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) parser_prod___ASuperclass___empty_init},
-  {(long int) parser_prod___ASuperclass___init_asuperclass},
-  {(long int) 4 /* 74: ASuperclass < ASuperclass: superclass init_table position */},
-  {(long int) parser_nodes___ASuperclass___n_kwspecial},
-  {(long int) parser_prod___ASuperclass___n_kwspecial__eq},
-  {(long int) parser_nodes___ASuperclass___n_type},
-  {(long int) parser_prod___ASuperclass___n_type__eq},
+  {(bigint) 3359 /* 0: Identity */},
+  {(bigint) 3 /* 1: ASuperclass < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ASuperclass < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ASuperclass < Prod: superclass typecheck marker */},
+  {(bigint) 3055 /* 4: ASuperclass < PSuperclass: superclass typecheck marker */},
+  {(bigint) 3359 /* 5: ASuperclass < ASuperclass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ASuperclass < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___ASuperclass___accept_class_specialization_builder},
+  {(bigint) mmbuilder___ASuperclass___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___ASuperclass___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASuperclass___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASuperclass___visit_all},
+  {(bigint) parser_prod___ASuperclass___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ASuperclass < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___ASuperclass___n_kwspecial},
+  {(bigint) parser_prod___ASuperclass___n_kwspecial__eq},
+  {(bigint) parser_nodes___ASuperclass___n_type},
+  {(bigint) parser_prod___ASuperclass___n_type__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASuperclass::_parent */
@@ -24711,106 +24853,106 @@ val_t NEW_parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AAttrPropdef[100] = {
-  {(long int) 3571 /* 0: Identity */},
-  {(long int) 3 /* 1: AAttrPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAttrPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAttrPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: AAttrPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3571 /* 5: AAttrPropdef < AAttrPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAttrPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AAttrPropdef___accept_property_builder},
-  {(long int) mmbuilder___AAttrPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AAttrPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAttrPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAttrPropdef___visit_all},
-  {(long int) parser_prod___AAttrPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAttrPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___AAttrPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAttrPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: AAttrPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___AAttrPropdef___n_doc__eq},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AAttrPropdef___prop},
-  {(long int) mmbuilder___AAttrPropdef___readmethod},
-  {(long int) mmbuilder___AAttrPropdef___writemethod},
-  {(long int) parser_prod___AAttrPropdef___empty_init},
-  {(long int) parser_prod___AAttrPropdef___init_aattrpropdef},
-  {(long int) 4 /* 82: AAttrPropdef < AAttrPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AAttrPropdef___n_kwredef},
-  {(long int) parser_prod___AAttrPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AAttrPropdef___n_visibility},
-  {(long int) parser_prod___AAttrPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AAttrPropdef___n_kwattr},
-  {(long int) parser_prod___AAttrPropdef___n_kwattr__eq},
-  {(long int) parser_nodes___AAttrPropdef___n_id},
-  {(long int) parser_prod___AAttrPropdef___n_id__eq},
-  {(long int) parser_nodes___AAttrPropdef___n_type},
-  {(long int) parser_prod___AAttrPropdef___n_type__eq},
-  {(long int) parser_nodes___AAttrPropdef___n_readable},
-  {(long int) parser_prod___AAttrPropdef___n_readable__eq},
-  {(long int) parser_nodes___AAttrPropdef___n_writable},
-  {(long int) parser_prod___AAttrPropdef___n_writable__eq},
-  {(long int) parser_nodes___AAttrPropdef___n_expr},
-  {(long int) parser_prod___AAttrPropdef___n_expr__eq},
-  {(long int) typing___PNode___accept_typing},
+  {(bigint) 3579 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAttrPropdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAttrPropdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAttrPropdef < Prod: superclass typecheck marker */},
+  {(bigint) 3067 /* 4: AAttrPropdef < PPropdef: superclass typecheck marker */},
+  {(bigint) 3579 /* 5: AAttrPropdef < AAttrPropdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAttrPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AAttrPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AAttrPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AAttrPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAttrPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAttrPropdef___visit_all},
+  {(bigint) parser_prod___AAttrPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAttrPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___AAttrPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___AAttrPropdef___n_doc__eq},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) mmbuilder___AAttrPropdef___prop},
+  {(bigint) mmbuilder___AAttrPropdef___readmethod},
+  {(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) parser_nodes___AAttrPropdef___n_kwredef},
+  {(bigint) parser_prod___AAttrPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AAttrPropdef___n_visibility},
+  {(bigint) parser_prod___AAttrPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AAttrPropdef___n_kwattr},
+  {(bigint) parser_prod___AAttrPropdef___n_kwattr__eq},
+  {(bigint) parser_nodes___AAttrPropdef___n_id},
+  {(bigint) parser_prod___AAttrPropdef___n_id__eq},
+  {(bigint) parser_nodes___AAttrPropdef___n_type},
+  {(bigint) parser_prod___AAttrPropdef___n_type__eq},
+  {(bigint) parser_nodes___AAttrPropdef___n_readable},
+  {(bigint) parser_prod___AAttrPropdef___n_readable__eq},
+  {(bigint) parser_nodes___AAttrPropdef___n_writable},
+  {(bigint) parser_prod___AAttrPropdef___n_writable__eq},
+  {(bigint) parser_nodes___AAttrPropdef___n_expr},
+  {(bigint) parser_prod___AAttrPropdef___n_expr__eq},
+  {(bigint) typing___PNode___accept_typing},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAttrPropdef::_parent */
@@ -24847,99 +24989,99 @@ val_t NEW_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val
   return self;
 }
 const classtable_elt_t VFT_AMethPropdef[93] = {
-  {(long int) 3459 /* 0: Identity */},
-  {(long int) 3 /* 1: AMethPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AMethPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AMethPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: AMethPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3459 /* 5: AMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AMethPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_property_builder},
-  {(long int) mmbuilder___AMethPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AMethPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AMethPropdef___visit_all},
-  {(long int) parser_prod___AMethPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AMethPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___AMethPropdef___accept_control_flow},
-  {(long int) typing___AMethPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AMethPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: AMethPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___AMethPropdef___n_doc__eq},
-  {(long int) compiling_methods___AMethPropdef___do_compile_inside},
-  {(long int) mmbuilder___AMethPropdef___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AMethPropdef___method},
-  {(long int) parser_prod___AMethPropdef___empty_init},
-  {(long int) parser_prod___AMethPropdef___init_amethpropdef},
-  {(long int) 4 /* 82: AMethPropdef < AMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AMethPropdef___n_kwredef},
-  {(long int) parser_prod___AMethPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AMethPropdef___n_visibility},
-  {(long int) parser_prod___AMethPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AMethPropdef___n_methid},
-  {(long int) parser_prod___AMethPropdef___n_methid__eq},
-  {(long int) parser_nodes___AMethPropdef___n_signature},
-  {(long int) parser_prod___AMethPropdef___n_signature__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
+  {(bigint) 3467 /* 0: Identity */},
+  {(bigint) 3 /* 1: AMethPropdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AMethPropdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AMethPropdef < Prod: superclass typecheck marker */},
+  {(bigint) 3067 /* 4: AMethPropdef < PPropdef: superclass typecheck marker */},
+  {(bigint) 3467 /* 5: AMethPropdef < AMethPropdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AMethPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AMethPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AMethPropdef___visit_all},
+  {(bigint) parser_prod___AMethPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AMethPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___AMethPropdef___accept_control_flow},
+  {(bigint) typing___AMethPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___AMethPropdef___n_doc__eq},
+  {(bigint) compiling_methods___AMethPropdef___do_compile_inside},
+  {(bigint) mmbuilder___AMethPropdef___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___AMethPropdef___n_kwredef},
+  {(bigint) parser_prod___AMethPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_visibility},
+  {(bigint) parser_prod___AMethPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_methid},
+  {(bigint) parser_prod___AMethPropdef___n_methid__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_signature},
+  {(bigint) parser_prod___AMethPropdef___n_signature__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMethPropdef::_parent */
@@ -24971,104 +25113,104 @@ val_t NEW_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val
   return self;
 }
 const classtable_elt_t VFT_ADeferredMethPropdef[98] = {
-  {(long int) 3735 /* 0: Identity */},
-  {(long int) 3 /* 1: ADeferredMethPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ADeferredMethPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ADeferredMethPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: ADeferredMethPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3459 /* 5: ADeferredMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(long int) 3735 /* 6: ADeferredMethPropdef < ADeferredMethPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ADeferredMethPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_property_builder},
-  {(long int) mmbuilder___AMethPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ADeferredMethPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ADeferredMethPropdef___visit_all},
-  {(long int) parser_prod___ADeferredMethPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ADeferredMethPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___AMethPropdef___accept_control_flow},
-  {(long int) typing___AMethPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ADeferredMethPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: ADeferredMethPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___ADeferredMethPropdef___n_doc__eq},
-  {(long int) compiling_methods___ADeferredMethPropdef___do_compile_inside},
-  {(long int) mmbuilder___AMethPropdef___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AMethPropdef___method},
-  {(long int) parser_prod___AMethPropdef___empty_init},
-  {(long int) parser_prod___AMethPropdef___init_amethpropdef},
-  {(long int) 4 /* 82: ADeferredMethPropdef < AMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AMethPropdef___n_kwredef},
-  {(long int) parser_prod___ADeferredMethPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AMethPropdef___n_visibility},
-  {(long int) parser_prod___ADeferredMethPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AMethPropdef___n_methid},
-  {(long int) parser_prod___ADeferredMethPropdef___n_methid__eq},
-  {(long int) parser_nodes___AMethPropdef___n_signature},
-  {(long int) parser_prod___ADeferredMethPropdef___n_signature__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) parser_prod___ADeferredMethPropdef___empty_init},
-  {(long int) parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef},
-  {(long int) 5 /* 95: ADeferredMethPropdef < ADeferredMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___ADeferredMethPropdef___n_kwmeth},
-  {(long int) parser_prod___ADeferredMethPropdef___n_kwmeth__eq},
+  {(bigint) 3747 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ADeferredMethPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ADeferredMethPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ADeferredMethPropdef___visit_all},
+  {(bigint) parser_prod___ADeferredMethPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ADeferredMethPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___AMethPropdef___accept_control_flow},
+  {(bigint) typing___AMethPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___ADeferredMethPropdef___n_doc__eq},
+  {(bigint) compiling_methods___ADeferredMethPropdef___do_compile_inside},
+  {(bigint) mmbuilder___AMethPropdef___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___AMethPropdef___n_kwredef},
+  {(bigint) parser_prod___ADeferredMethPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_visibility},
+  {(bigint) parser_prod___ADeferredMethPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_methid},
+  {(bigint) parser_prod___ADeferredMethPropdef___n_methid__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_signature},
+  {(bigint) parser_prod___ADeferredMethPropdef___n_signature__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(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) parser_nodes___ADeferredMethPropdef___n_kwmeth},
+  {(bigint) parser_prod___ADeferredMethPropdef___n_kwmeth__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ADeferredMethPropdef::_parent */
@@ -25101,104 +25243,104 @@ val_t NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t p
   return self;
 }
 const classtable_elt_t VFT_AInternMethPropdef[98] = {
-  {(long int) 3707 /* 0: Identity */},
-  {(long int) 3 /* 1: AInternMethPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AInternMethPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AInternMethPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: AInternMethPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3459 /* 5: AInternMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(long int) 3707 /* 6: AInternMethPropdef < AInternMethPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AInternMethPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_property_builder},
-  {(long int) mmbuilder___AMethPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AInternMethPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AInternMethPropdef___visit_all},
-  {(long int) parser_prod___AInternMethPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AInternMethPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___AMethPropdef___accept_control_flow},
-  {(long int) typing___AMethPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AInternMethPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: AInternMethPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___AInternMethPropdef___n_doc__eq},
-  {(long int) compiling_methods___AInternMethPropdef___do_compile_inside},
-  {(long int) mmbuilder___AMethPropdef___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AMethPropdef___method},
-  {(long int) parser_prod___AMethPropdef___empty_init},
-  {(long int) parser_prod___AMethPropdef___init_amethpropdef},
-  {(long int) 4 /* 82: AInternMethPropdef < AMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AMethPropdef___n_kwredef},
-  {(long int) parser_prod___AInternMethPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AMethPropdef___n_visibility},
-  {(long int) parser_prod___AInternMethPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AMethPropdef___n_methid},
-  {(long int) parser_prod___AInternMethPropdef___n_methid__eq},
-  {(long int) parser_nodes___AMethPropdef___n_signature},
-  {(long int) parser_prod___AInternMethPropdef___n_signature__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) parser_prod___AInternMethPropdef___empty_init},
-  {(long int) parser_prod___AInternMethPropdef___init_ainternmethpropdef},
-  {(long int) 5 /* 95: AInternMethPropdef < AInternMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AInternMethPropdef___n_kwmeth},
-  {(long int) parser_prod___AInternMethPropdef___n_kwmeth__eq},
+  {(bigint) 3719 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AInternMethPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AInternMethPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AInternMethPropdef___visit_all},
+  {(bigint) parser_prod___AInternMethPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AInternMethPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___AMethPropdef___accept_control_flow},
+  {(bigint) typing___AMethPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___AInternMethPropdef___n_doc__eq},
+  {(bigint) compiling_methods___AInternMethPropdef___do_compile_inside},
+  {(bigint) mmbuilder___AMethPropdef___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___AMethPropdef___n_kwredef},
+  {(bigint) parser_prod___AInternMethPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_visibility},
+  {(bigint) parser_prod___AInternMethPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_methid},
+  {(bigint) parser_prod___AInternMethPropdef___n_methid__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_signature},
+  {(bigint) parser_prod___AInternMethPropdef___n_signature__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(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) parser_nodes___AInternMethPropdef___n_kwmeth},
+  {(bigint) parser_prod___AInternMethPropdef___n_kwmeth__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AInternMethPropdef::_parent */
@@ -25231,106 +25373,106 @@ val_t NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t p0, v
   return self;
 }
 const classtable_elt_t VFT_AExternMethPropdef[100] = {
-  {(long int) 3723 /* 0: Identity */},
-  {(long int) 3 /* 1: AExternMethPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AExternMethPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AExternMethPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: AExternMethPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3459 /* 5: AExternMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(long int) 3723 /* 6: AExternMethPropdef < AExternMethPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AExternMethPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_property_builder},
-  {(long int) mmbuilder___AMethPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AExternMethPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AExternMethPropdef___visit_all},
-  {(long int) parser_prod___AExternMethPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AExternMethPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___AMethPropdef___accept_control_flow},
-  {(long int) typing___AMethPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AExternMethPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: AExternMethPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___AExternMethPropdef___n_doc__eq},
-  {(long int) compiling_methods___AExternMethPropdef___do_compile_inside},
-  {(long int) mmbuilder___AMethPropdef___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AMethPropdef___method},
-  {(long int) parser_prod___AMethPropdef___empty_init},
-  {(long int) parser_prod___AMethPropdef___init_amethpropdef},
-  {(long int) 4 /* 82: AExternMethPropdef < AMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AMethPropdef___n_kwredef},
-  {(long int) parser_prod___AExternMethPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AMethPropdef___n_visibility},
-  {(long int) parser_prod___AExternMethPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AMethPropdef___n_methid},
-  {(long int) parser_prod___AExternMethPropdef___n_methid__eq},
-  {(long int) parser_nodes___AMethPropdef___n_signature},
-  {(long int) parser_prod___AExternMethPropdef___n_signature__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) parser_prod___AExternMethPropdef___empty_init},
-  {(long int) parser_prod___AExternMethPropdef___init_aexternmethpropdef},
-  {(long int) 5 /* 95: AExternMethPropdef < AExternMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AExternMethPropdef___n_kwmeth},
-  {(long int) parser_prod___AExternMethPropdef___n_kwmeth__eq},
-  {(long int) parser_nodes___AExternMethPropdef___n_extern},
-  {(long int) parser_prod___AExternMethPropdef___n_extern__eq},
+  {(bigint) 3735 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AExternMethPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AExternMethPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AExternMethPropdef___visit_all},
+  {(bigint) parser_prod___AExternMethPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AExternMethPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___AMethPropdef___accept_control_flow},
+  {(bigint) typing___AMethPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___AExternMethPropdef___n_doc__eq},
+  {(bigint) compiling_methods___AExternMethPropdef___do_compile_inside},
+  {(bigint) mmbuilder___AMethPropdef___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___AMethPropdef___n_kwredef},
+  {(bigint) parser_prod___AExternMethPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_visibility},
+  {(bigint) parser_prod___AExternMethPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_methid},
+  {(bigint) parser_prod___AExternMethPropdef___n_methid__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_signature},
+  {(bigint) parser_prod___AExternMethPropdef___n_signature__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(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) parser_nodes___AExternMethPropdef___n_kwmeth},
+  {(bigint) parser_prod___AExternMethPropdef___n_kwmeth__eq},
+  {(bigint) parser_nodes___AExternMethPropdef___n_extern},
+  {(bigint) parser_prod___AExternMethPropdef___n_extern__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AExternMethPropdef::_parent */
@@ -25364,107 +25506,107 @@ val_t NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t p0, v
   return self;
 }
 const classtable_elt_t VFT_AConcreteMethPropdef[101] = {
-  {(long int) 3747 /* 0: Identity */},
-  {(long int) 3 /* 1: AConcreteMethPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AConcreteMethPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AConcreteMethPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: AConcreteMethPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3459 /* 5: AConcreteMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(long int) 3747 /* 6: AConcreteMethPropdef < AConcreteMethPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AConcreteMethPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_property_builder},
-  {(long int) mmbuilder___AMethPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AConcreteMethPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AConcreteMethPropdef___visit_all},
-  {(long int) parser_prod___AConcreteMethPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AConcreteMethPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___AConcreteMethPropdef___accept_control_flow},
-  {(long int) typing___AMethPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AConcreteMethPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: AConcreteMethPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___AConcreteMethPropdef___n_doc__eq},
-  {(long int) compiling_methods___AConcreteMethPropdef___do_compile_inside},
-  {(long int) mmbuilder___AMethPropdef___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AMethPropdef___method},
-  {(long int) parser_prod___AMethPropdef___empty_init},
-  {(long int) parser_prod___AMethPropdef___init_amethpropdef},
-  {(long int) 4 /* 82: AConcreteMethPropdef < AMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AMethPropdef___n_kwredef},
-  {(long int) parser_prod___AConcreteMethPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AMethPropdef___n_visibility},
-  {(long int) parser_prod___AConcreteMethPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AMethPropdef___n_methid},
-  {(long int) parser_prod___AConcreteMethPropdef___n_methid__eq},
-  {(long int) parser_nodes___AMethPropdef___n_signature},
-  {(long int) parser_prod___AConcreteMethPropdef___n_signature__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) control_flow___AMethPropdef___accept_control_flow},
-  {(long int) parser_prod___AConcreteMethPropdef___empty_init},
-  {(long int) parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef},
-  {(long int) 5 /* 96: AConcreteMethPropdef < AConcreteMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AConcreteMethPropdef___n_kwmeth},
-  {(long int) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
-  {(long int) parser_nodes___AConcreteMethPropdef___n_block},
-  {(long int) parser_prod___AConcreteMethPropdef___n_block__eq},
+  {(bigint) 3759 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AConcreteMethPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AConcreteMethPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AConcreteMethPropdef___visit_all},
+  {(bigint) parser_prod___AConcreteMethPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AConcreteMethPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___AConcreteMethPropdef___accept_control_flow},
+  {(bigint) typing___AMethPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_doc__eq},
+  {(bigint) compiling_methods___AConcreteMethPropdef___do_compile_inside},
+  {(bigint) mmbuilder___AMethPropdef___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___AMethPropdef___n_kwredef},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_visibility},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_methid},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_methid__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_signature},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_signature__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(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) parser_nodes___AConcreteMethPropdef___n_kwmeth},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
+  {(bigint) parser_nodes___AConcreteMethPropdef___n_block},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_block__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AConcreteMethPropdef::_parent */
@@ -25498,115 +25640,115 @@ val_t NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p
   return self;
 }
 const classtable_elt_t VFT_AConcreteInitPropdef[109] = {
-  {(long int) 3799 /* 0: Identity */},
-  {(long int) 3 /* 1: AConcreteInitPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AConcreteInitPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AConcreteInitPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: AConcreteInitPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3459 /* 5: AConcreteInitPropdef < AMethPropdef: superclass typecheck marker */},
-  {(long int) 3747 /* 6: AConcreteInitPropdef < AConcreteMethPropdef: superclass typecheck marker */},
-  {(long int) 3799 /* 7: AConcreteInitPropdef < AConcreteInitPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AConcreteInitPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_property_builder},
-  {(long int) mmbuilder___AMethPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AConcreteInitPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AConcreteInitPropdef___visit_all},
-  {(long int) parser_prod___AConcreteInitPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AConcreteInitPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___AConcreteMethPropdef___accept_control_flow},
-  {(long int) typing___AConcreteInitPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AConcreteInitPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: AConcreteInitPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___AConcreteInitPropdef___n_doc__eq},
-  {(long int) compiling_methods___AConcreteMethPropdef___do_compile_inside},
-  {(long int) mmbuilder___AMethPropdef___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AMethPropdef___method},
-  {(long int) parser_prod___AMethPropdef___empty_init},
-  {(long int) parser_prod___AMethPropdef___init_amethpropdef},
-  {(long int) 4 /* 82: AConcreteInitPropdef < AMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AMethPropdef___n_kwredef},
-  {(long int) parser_prod___AConcreteInitPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AMethPropdef___n_visibility},
-  {(long int) parser_prod___AConcreteInitPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AMethPropdef___n_methid},
-  {(long int) parser_prod___AConcreteInitPropdef___n_methid__eq},
-  {(long int) parser_nodes___AMethPropdef___n_signature},
-  {(long int) parser_prod___AConcreteInitPropdef___n_signature__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) control_flow___AMethPropdef___accept_control_flow},
-  {(long int) parser_prod___AConcreteMethPropdef___empty_init},
-  {(long int) parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef},
-  {(long int) 5 /* 96: AConcreteInitPropdef < AConcreteMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AConcreteMethPropdef___n_kwmeth},
-  {(long int) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
-  {(long int) parser_nodes___AConcreteMethPropdef___n_block},
-  {(long int) parser_prod___AConcreteInitPropdef___n_block__eq},
-  {(long int) typing___AConcreteInitPropdef___super_init_calls},
-  {(long int) typing___AConcreteInitPropdef___explicit_super_init_calls},
-  {(long int) typing___AMethPropdef___accept_typing},
-  {(long int) parser_prod___AConcreteInitPropdef___empty_init},
-  {(long int) parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef},
-  {(long int) 6 /* 106: AConcreteInitPropdef < AConcreteInitPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AConcreteInitPropdef___n_kwinit},
-  {(long int) parser_prod___AConcreteInitPropdef___n_kwinit__eq},
+  {(bigint) 3803 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AConcreteInitPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AConcreteInitPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AConcreteInitPropdef___visit_all},
+  {(bigint) parser_prod___AConcreteInitPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AConcreteInitPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___AConcreteMethPropdef___accept_control_flow},
+  {(bigint) typing___AConcreteInitPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___AConcreteInitPropdef___n_doc__eq},
+  {(bigint) compiling_methods___AConcreteMethPropdef___do_compile_inside},
+  {(bigint) mmbuilder___AMethPropdef___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___AMethPropdef___n_kwredef},
+  {(bigint) parser_prod___AConcreteInitPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_visibility},
+  {(bigint) parser_prod___AConcreteInitPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_methid},
+  {(bigint) parser_prod___AConcreteInitPropdef___n_methid__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_signature},
+  {(bigint) parser_prod___AConcreteInitPropdef___n_signature__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(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) parser_nodes___AConcreteMethPropdef___n_kwmeth},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
+  {(bigint) parser_nodes___AConcreteMethPropdef___n_block},
+  {(bigint) parser_prod___AConcreteInitPropdef___n_block__eq},
+  {(bigint) typing___AConcreteInitPropdef___super_init_calls},
+  {(bigint) typing___AConcreteInitPropdef___explicit_super_init_calls},
+  {(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) parser_nodes___AConcreteInitPropdef___n_kwinit},
+  {(bigint) parser_prod___AConcreteInitPropdef___n_kwinit__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AConcreteInitPropdef::_parent */
@@ -25630,9 +25772,9 @@ 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[MMMethod]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_typing___AConcreteInitPropdef____super_init_calls(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[MMMethod]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls(obj) = variable1;
   return OBJ2VAL(obj);
 }
@@ -25649,110 +25791,110 @@ val_t NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t p
   return self;
 }
 const classtable_elt_t VFT_AMainMethPropdef[104] = {
-  {(long int) 3795 /* 0: Identity */},
-  {(long int) 3 /* 1: AMainMethPropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AMainMethPropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AMainMethPropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: AMainMethPropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3459 /* 5: AMainMethPropdef < AMethPropdef: superclass typecheck marker */},
-  {(long int) 3747 /* 6: AMainMethPropdef < AConcreteMethPropdef: superclass typecheck marker */},
-  {(long int) 3795 /* 7: AMainMethPropdef < AMainMethPropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AMainMethPropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_property_builder},
-  {(long int) mmbuilder___AMethPropdef___accept_property_verifier},
-  {(long int) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AMainMethPropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AMainMethPropdef___visit_all},
-  {(long int) parser_prod___AMainMethPropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AMainMethPropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___AConcreteMethPropdef___accept_control_flow},
-  {(long int) typing___AMethPropdef___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AMainMethPropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AMainMethPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: AMainMethPropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___AConcreteMethPropdef___n_doc__eq},
-  {(long int) compiling_methods___AConcreteMethPropdef___do_compile_inside},
-  {(long int) mmbuilder___AMethPropdef___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___AMethPropdef___method},
-  {(long int) parser_prod___AMethPropdef___empty_init},
-  {(long int) parser_prod___AMethPropdef___init_amethpropdef},
-  {(long int) 4 /* 82: AMainMethPropdef < AMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AMethPropdef___n_kwredef},
-  {(long int) parser_prod___AMainMethPropdef___n_kwredef__eq},
-  {(long int) parser_nodes___AMethPropdef___n_visibility},
-  {(long int) parser_prod___AConcreteMethPropdef___n_visibility__eq},
-  {(long int) parser_nodes___AMethPropdef___n_methid},
-  {(long int) parser_prod___AConcreteMethPropdef___n_methid__eq},
-  {(long int) parser_nodes___AMethPropdef___n_signature},
-  {(long int) parser_prod___AConcreteMethPropdef___n_signature__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) control_flow___AMethPropdef___accept_control_flow},
-  {(long int) parser_prod___AConcreteMethPropdef___empty_init},
-  {(long int) parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef},
-  {(long int) 5 /* 96: AMainMethPropdef < AConcreteMethPropdef: superclass init_table position */},
-  {(long int) parser_nodes___AConcreteMethPropdef___n_kwmeth},
-  {(long int) parser_prod___AConcreteMethPropdef___n_kwmeth__eq},
-  {(long int) parser_nodes___AConcreteMethPropdef___n_block},
-  {(long int) parser_prod___AMainMethPropdef___n_block__eq},
-  {(long int) parser_prod___AMainMethPropdef___empty_init},
-  {(long int) parser_prod___AMainMethPropdef___init_amainmethpropdef},
-  {(long int) 6 /* 103: AMainMethPropdef < AMainMethPropdef: superclass init_table position */},
+  {(bigint) 3799 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AMainMethPropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_builder},
+  {(bigint) mmbuilder___AMethPropdef___accept_property_verifier},
+  {(bigint) mmbuilder___AMethPropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AMainMethPropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AMainMethPropdef___visit_all},
+  {(bigint) parser_prod___AMainMethPropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AMainMethPropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___AConcreteMethPropdef___accept_control_flow},
+  {(bigint) typing___AMethPropdef___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_doc__eq},
+  {(bigint) compiling_methods___AConcreteMethPropdef___do_compile_inside},
+  {(bigint) mmbuilder___AMethPropdef___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___AMethPropdef___n_kwredef},
+  {(bigint) parser_prod___AMainMethPropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_visibility},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_visibility__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_methid},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_methid__eq},
+  {(bigint) parser_nodes___AMethPropdef___n_signature},
+  {(bigint) parser_prod___AConcreteMethPropdef___n_signature__eq},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMainMethPropdef::_parent */
@@ -25786,97 +25928,97 @@ val_t NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t p0, val_t
   return self;
 }
 const classtable_elt_t VFT_ATypePropdef[91] = {
-  {(long int) 3335 /* 0: Identity */},
-  {(long int) 3 /* 1: ATypePropdef < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ATypePropdef < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ATypePropdef < Prod: superclass typecheck marker */},
-  {(long int) 3051 /* 4: ATypePropdef < PPropdef: superclass typecheck marker */},
-  {(long int) 3335 /* 5: ATypePropdef < ATypePropdef: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ATypePropdef < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___ATypePropdef___accept_property_builder},
-  {(long int) mmbuilder___ATypePropdef___accept_property_verifier},
-  {(long int) mmbuilder___ATypePropdef___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ATypePropdef___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ATypePropdef___visit_all},
-  {(long int) parser_prod___ATypePropdef___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ATypePropdef < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ATypePropdef < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PPropdef___process_and_check},
-  {(long int) mmbuilder___PPropdef___do_and_check_intro},
-  {(long int) mmbuilder___PPropdef___inherit_signature},
-  {(long int) mmbuilder___PPropdef___do_and_check_redef},
-  {(long int) 3 /* 71: ATypePropdef < PPropdef: superclass init_table position */},
-  {(long int) parser_nodes___PPropdef___n_doc},
-  {(long int) parser_prod___ATypePropdef___n_doc__eq},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) mmbuilder___ATypePropdef___prop},
-  {(long int) parser_prod___ATypePropdef___empty_init},
-  {(long int) parser_prod___ATypePropdef___init_atypepropdef},
-  {(long int) 4 /* 80: ATypePropdef < ATypePropdef: superclass init_table position */},
-  {(long int) parser_nodes___ATypePropdef___n_kwredef},
-  {(long int) parser_prod___ATypePropdef___n_kwredef__eq},
-  {(long int) parser_nodes___ATypePropdef___n_visibility},
-  {(long int) parser_prod___ATypePropdef___n_visibility__eq},
-  {(long int) parser_nodes___ATypePropdef___n_kwtype},
-  {(long int) parser_prod___ATypePropdef___n_kwtype__eq},
-  {(long int) parser_nodes___ATypePropdef___n_id},
-  {(long int) parser_prod___ATypePropdef___n_id__eq},
-  {(long int) parser_nodes___ATypePropdef___n_type},
-  {(long int) parser_prod___ATypePropdef___n_type__eq},
+  {(bigint) 3343 /* 0: Identity */},
+  {(bigint) 3 /* 1: ATypePropdef < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ATypePropdef < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ATypePropdef < Prod: superclass typecheck marker */},
+  {(bigint) 3067 /* 4: ATypePropdef < PPropdef: superclass typecheck marker */},
+  {(bigint) 3343 /* 5: ATypePropdef < ATypePropdef: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ATypePropdef < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___ATypePropdef___accept_property_builder},
+  {(bigint) mmbuilder___ATypePropdef___accept_property_verifier},
+  {(bigint) mmbuilder___ATypePropdef___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ATypePropdef___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ATypePropdef___visit_all},
+  {(bigint) parser_prod___ATypePropdef___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ATypePropdef < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PPropdef___n_doc},
+  {(bigint) parser_prod___ATypePropdef___n_doc__eq},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(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) parser_nodes___ATypePropdef___n_kwredef},
+  {(bigint) parser_prod___ATypePropdef___n_kwredef__eq},
+  {(bigint) parser_nodes___ATypePropdef___n_visibility},
+  {(bigint) parser_prod___ATypePropdef___n_visibility__eq},
+  {(bigint) parser_nodes___ATypePropdef___n_kwtype},
+  {(bigint) parser_prod___ATypePropdef___n_kwtype__eq},
+  {(bigint) parser_nodes___ATypePropdef___n_id},
+  {(bigint) parser_prod___ATypePropdef___n_id__eq},
+  {(bigint) parser_nodes___ATypePropdef___n_type},
+  {(bigint) parser_prod___ATypePropdef___n_type__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ATypePropdef::_parent */
@@ -25908,81 +26050,81 @@ val_t NEW_parser_prod___ATypePropdef___init_atypepropdef(val_t p0, val_t p1, val
   return self;
 }
 const classtable_elt_t VFT_AReadAble[75] = {
-  {(long int) 3387 /* 0: Identity */},
-  {(long int) 3 /* 1: AReadAble < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AReadAble < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AReadAble < Prod: superclass typecheck marker */},
-  {(long int) 3099 /* 4: AReadAble < PAble: superclass typecheck marker */},
-  {(long int) 3387 /* 5: AReadAble < AReadAble: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AReadAble < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AReadAble___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AReadAble___visit_all},
-  {(long int) parser_prod___AReadAble___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AReadAble < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AReadAble < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: AReadAble < PAble: superclass init_table position */},
-  {(long int) parser_nodes___PAble___n_kwredef},
-  {(long int) parser_prod___AReadAble___n_kwredef__eq},
-  {(long int) parser_prod___AReadAble___empty_init},
-  {(long int) parser_prod___AReadAble___init_areadable},
-  {(long int) 4 /* 72: AReadAble < AReadAble: superclass init_table position */},
-  {(long int) parser_nodes___AReadAble___n_kwreadable},
-  {(long int) parser_prod___AReadAble___n_kwreadable__eq},
+  {(bigint) 3395 /* 0: Identity */},
+  {(bigint) 3 /* 1: AReadAble < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AReadAble < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AReadAble < Prod: superclass typecheck marker */},
+  {(bigint) 3115 /* 4: AReadAble < PAble: superclass typecheck marker */},
+  {(bigint) 3395 /* 5: AReadAble < AReadAble: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AReadAble < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AReadAble___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AReadAble___visit_all},
+  {(bigint) parser_prod___AReadAble___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AReadAble < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___AReadAble___n_kwreadable},
+  {(bigint) parser_prod___AReadAble___n_kwreadable__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AReadAble::_parent */
@@ -26009,81 +26151,81 @@ val_t NEW_parser_prod___AReadAble___init_areadable(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AWriteAble[75] = {
-  {(long int) 3319 /* 0: Identity */},
-  {(long int) 3 /* 1: AWriteAble < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AWriteAble < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AWriteAble < Prod: superclass typecheck marker */},
-  {(long int) 3099 /* 4: AWriteAble < PAble: superclass typecheck marker */},
-  {(long int) 3319 /* 5: AWriteAble < AWriteAble: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AWriteAble < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AWriteAble___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AWriteAble___visit_all},
-  {(long int) parser_prod___AWriteAble___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AWriteAble < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AWriteAble < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: AWriteAble < PAble: superclass init_table position */},
-  {(long int) parser_nodes___PAble___n_kwredef},
-  {(long int) parser_prod___AWriteAble___n_kwredef__eq},
-  {(long int) parser_prod___AWriteAble___empty_init},
-  {(long int) parser_prod___AWriteAble___init_awriteable},
-  {(long int) 4 /* 72: AWriteAble < AWriteAble: superclass init_table position */},
-  {(long int) parser_nodes___AWriteAble___n_kwwritable},
-  {(long int) parser_prod___AWriteAble___n_kwwritable__eq},
+  {(bigint) 3327 /* 0: Identity */},
+  {(bigint) 3 /* 1: AWriteAble < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AWriteAble < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AWriteAble < Prod: superclass typecheck marker */},
+  {(bigint) 3115 /* 4: AWriteAble < PAble: superclass typecheck marker */},
+  {(bigint) 3327 /* 5: AWriteAble < AWriteAble: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AWriteAble < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AWriteAble___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AWriteAble___visit_all},
+  {(bigint) parser_prod___AWriteAble___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AWriteAble < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___AWriteAble___n_kwwritable},
+  {(bigint) parser_prod___AWriteAble___n_kwwritable__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AWriteAble::_parent */
@@ -26110,81 +26252,81 @@ val_t NEW_parser_prod___AWriteAble___init_awriteable(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AIdMethid[75] = {
-  {(long int) 3499 /* 0: Identity */},
-  {(long int) 3 /* 1: AIdMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AIdMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AIdMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AIdMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3499 /* 5: AIdMethid < AIdMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AIdMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AIdMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AIdMethid___visit_all},
-  {(long int) parser_prod___AIdMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AIdMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AIdMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AIdMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AIdMethid___empty_init},
-  {(long int) parser_prod___AIdMethid___init_aidmethid},
-  {(long int) 4 /* 72: AIdMethid < AIdMethid: superclass init_table position */},
-  {(long int) parser_nodes___AIdMethid___n_id},
-  {(long int) parser_prod___AIdMethid___n_id__eq},
+  {(bigint) 3507 /* 0: Identity */},
+  {(bigint) 3 /* 1: AIdMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AIdMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AIdMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AIdMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3507 /* 5: AIdMethid < AIdMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AIdMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AIdMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AIdMethid___visit_all},
+  {(bigint) parser_prod___AIdMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AIdMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AIdMethid___n_id},
+  {(bigint) parser_prod___AIdMethid___n_id__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AIdMethid::_parent */
@@ -26211,81 +26353,81 @@ val_t NEW_parser_prod___AIdMethid___init_aidmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_APlusMethid[75] = {
-  {(long int) 3415 /* 0: Identity */},
-  {(long int) 3 /* 1: APlusMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APlusMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APlusMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: APlusMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3415 /* 5: APlusMethid < APlusMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: APlusMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APlusMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APlusMethid___visit_all},
-  {(long int) parser_prod___APlusMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: APlusMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: APlusMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: APlusMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___APlusMethid___empty_init},
-  {(long int) parser_prod___APlusMethid___init_aplusmethid},
-  {(long int) 4 /* 72: APlusMethid < APlusMethid: superclass init_table position */},
-  {(long int) parser_nodes___APlusMethid___n_plus},
-  {(long int) parser_prod___APlusMethid___n_plus__eq},
+  {(bigint) 3423 /* 0: Identity */},
+  {(bigint) 3 /* 1: APlusMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: APlusMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: APlusMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: APlusMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3423 /* 5: APlusMethid < APlusMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: APlusMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APlusMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APlusMethid___visit_all},
+  {(bigint) parser_prod___APlusMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: APlusMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___APlusMethid___n_plus},
+  {(bigint) parser_prod___APlusMethid___n_plus__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APlusMethid::_parent */
@@ -26312,81 +26454,81 @@ val_t NEW_parser_prod___APlusMethid___init_aplusmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AMinusMethid[75] = {
-  {(long int) 3451 /* 0: Identity */},
-  {(long int) 3 /* 1: AMinusMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AMinusMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AMinusMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AMinusMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3451 /* 5: AMinusMethid < AMinusMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AMinusMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AMinusMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AMinusMethid___visit_all},
-  {(long int) parser_prod___AMinusMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AMinusMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AMinusMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AMinusMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AMinusMethid___empty_init},
-  {(long int) parser_prod___AMinusMethid___init_aminusmethid},
-  {(long int) 4 /* 72: AMinusMethid < AMinusMethid: superclass init_table position */},
-  {(long int) parser_nodes___AMinusMethid___n_minus},
-  {(long int) parser_prod___AMinusMethid___n_minus__eq},
+  {(bigint) 3459 /* 0: Identity */},
+  {(bigint) 3 /* 1: AMinusMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AMinusMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AMinusMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AMinusMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3459 /* 5: AMinusMethid < AMinusMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AMinusMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AMinusMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AMinusMethid___visit_all},
+  {(bigint) parser_prod___AMinusMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AMinusMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AMinusMethid___n_minus},
+  {(bigint) parser_prod___AMinusMethid___n_minus__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMinusMethid::_parent */
@@ -26413,81 +26555,81 @@ val_t NEW_parser_prod___AMinusMethid___init_aminusmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AStarMethid[75] = {
-  {(long int) 3363 /* 0: Identity */},
-  {(long int) 3 /* 1: AStarMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AStarMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AStarMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AStarMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3363 /* 5: AStarMethid < AStarMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AStarMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AStarMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AStarMethid___visit_all},
-  {(long int) parser_prod___AStarMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AStarMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AStarMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AStarMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AStarMethid___empty_init},
-  {(long int) parser_prod___AStarMethid___init_astarmethid},
-  {(long int) 4 /* 72: AStarMethid < AStarMethid: superclass init_table position */},
-  {(long int) parser_nodes___AStarMethid___n_star},
-  {(long int) parser_prod___AStarMethid___n_star__eq},
+  {(bigint) 3371 /* 0: Identity */},
+  {(bigint) 3 /* 1: AStarMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AStarMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AStarMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AStarMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3371 /* 5: AStarMethid < AStarMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AStarMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AStarMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AStarMethid___visit_all},
+  {(bigint) parser_prod___AStarMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AStarMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AStarMethid___n_star},
+  {(bigint) parser_prod___AStarMethid___n_star__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStarMethid::_parent */
@@ -26514,81 +26656,81 @@ val_t NEW_parser_prod___AStarMethid___init_astarmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ASlashMethid[75] = {
-  {(long int) 3367 /* 0: Identity */},
-  {(long int) 3 /* 1: ASlashMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASlashMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASlashMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: ASlashMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3367 /* 5: ASlashMethid < ASlashMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ASlashMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASlashMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASlashMethid___visit_all},
-  {(long int) parser_prod___ASlashMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ASlashMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ASlashMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: ASlashMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___ASlashMethid___empty_init},
-  {(long int) parser_prod___ASlashMethid___init_aslashmethid},
-  {(long int) 4 /* 72: ASlashMethid < ASlashMethid: superclass init_table position */},
-  {(long int) parser_nodes___ASlashMethid___n_slash},
-  {(long int) parser_prod___ASlashMethid___n_slash__eq},
+  {(bigint) 3375 /* 0: Identity */},
+  {(bigint) 3 /* 1: ASlashMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ASlashMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ASlashMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: ASlashMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3375 /* 5: ASlashMethid < ASlashMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ASlashMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASlashMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASlashMethid___visit_all},
+  {(bigint) parser_prod___ASlashMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ASlashMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___ASlashMethid___n_slash},
+  {(bigint) parser_prod___ASlashMethid___n_slash__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASlashMethid::_parent */
@@ -26615,81 +26757,81 @@ val_t NEW_parser_prod___ASlashMethid___init_aslashmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_APercentMethid[75] = {
-  {(long int) 3423 /* 0: Identity */},
-  {(long int) 3 /* 1: APercentMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APercentMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APercentMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: APercentMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3423 /* 5: APercentMethid < APercentMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: APercentMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APercentMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APercentMethid___visit_all},
-  {(long int) parser_prod___APercentMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: APercentMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: APercentMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: APercentMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___APercentMethid___empty_init},
-  {(long int) parser_prod___APercentMethid___init_apercentmethid},
-  {(long int) 4 /* 72: APercentMethid < APercentMethid: superclass init_table position */},
-  {(long int) parser_nodes___APercentMethid___n_percent},
-  {(long int) parser_prod___APercentMethid___n_percent__eq},
+  {(bigint) 3431 /* 0: Identity */},
+  {(bigint) 3 /* 1: APercentMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: APercentMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: APercentMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: APercentMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3431 /* 5: APercentMethid < APercentMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: APercentMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APercentMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APercentMethid___visit_all},
+  {(bigint) parser_prod___APercentMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: APercentMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___APercentMethid___n_percent},
+  {(bigint) parser_prod___APercentMethid___n_percent__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APercentMethid::_parent */
@@ -26716,81 +26858,81 @@ val_t NEW_parser_prod___APercentMethid___init_apercentmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AEqMethid[75] = {
-  {(long int) 3523 /* 0: Identity */},
-  {(long int) 3 /* 1: AEqMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AEqMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AEqMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AEqMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3523 /* 5: AEqMethid < AEqMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AEqMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AEqMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AEqMethid___visit_all},
-  {(long int) parser_prod___AEqMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AEqMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AEqMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AEqMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AEqMethid___empty_init},
-  {(long int) parser_prod___AEqMethid___init_aeqmethid},
-  {(long int) 4 /* 72: AEqMethid < AEqMethid: superclass init_table position */},
-  {(long int) parser_nodes___AEqMethid___n_eq},
-  {(long int) parser_prod___AEqMethid___n_eq__eq},
+  {(bigint) 3531 /* 0: Identity */},
+  {(bigint) 3 /* 1: AEqMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AEqMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AEqMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AEqMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3531 /* 5: AEqMethid < AEqMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AEqMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AEqMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AEqMethid___visit_all},
+  {(bigint) parser_prod___AEqMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AEqMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AEqMethid___n_eq},
+  {(bigint) parser_prod___AEqMethid___n_eq__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AEqMethid::_parent */
@@ -26817,81 +26959,81 @@ val_t NEW_parser_prod___AEqMethid___init_aeqmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ANeMethid[75] = {
-  {(long int) 3443 /* 0: Identity */},
-  {(long int) 3 /* 1: ANeMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ANeMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ANeMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: ANeMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3443 /* 5: ANeMethid < ANeMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ANeMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ANeMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ANeMethid___visit_all},
-  {(long int) parser_prod___ANeMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ANeMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ANeMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: ANeMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___ANeMethid___empty_init},
-  {(long int) parser_prod___ANeMethid___init_anemethid},
-  {(long int) 4 /* 72: ANeMethid < ANeMethid: superclass init_table position */},
-  {(long int) parser_nodes___ANeMethid___n_ne},
-  {(long int) parser_prod___ANeMethid___n_ne__eq},
+  {(bigint) 3451 /* 0: Identity */},
+  {(bigint) 3 /* 1: ANeMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ANeMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ANeMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: ANeMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3451 /* 5: ANeMethid < ANeMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ANeMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ANeMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ANeMethid___visit_all},
+  {(bigint) parser_prod___ANeMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ANeMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___ANeMethid___n_ne},
+  {(bigint) parser_prod___ANeMethid___n_ne__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ANeMethid::_parent */
@@ -26918,81 +27060,81 @@ val_t NEW_parser_prod___ANeMethid___init_anemethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ALeMethid[75] = {
-  {(long int) 3471 /* 0: Identity */},
-  {(long int) 3 /* 1: ALeMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ALeMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ALeMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: ALeMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3471 /* 5: ALeMethid < ALeMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ALeMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ALeMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ALeMethid___visit_all},
-  {(long int) parser_prod___ALeMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ALeMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ALeMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: ALeMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___ALeMethid___empty_init},
-  {(long int) parser_prod___ALeMethid___init_alemethid},
-  {(long int) 4 /* 72: ALeMethid < ALeMethid: superclass init_table position */},
-  {(long int) parser_nodes___ALeMethid___n_le},
-  {(long int) parser_prod___ALeMethid___n_le__eq},
+  {(bigint) 3479 /* 0: Identity */},
+  {(bigint) 3 /* 1: ALeMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ALeMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ALeMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: ALeMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3479 /* 5: ALeMethid < ALeMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ALeMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ALeMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ALeMethid___visit_all},
+  {(bigint) parser_prod___ALeMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ALeMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___ALeMethid___n_le},
+  {(bigint) parser_prod___ALeMethid___n_le__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ALeMethid::_parent */
@@ -27019,81 +27161,81 @@ val_t NEW_parser_prod___ALeMethid___init_alemethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AGeMethid[75] = {
-  {(long int) 3507 /* 0: Identity */},
-  {(long int) 3 /* 1: AGeMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AGeMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AGeMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AGeMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3507 /* 5: AGeMethid < AGeMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AGeMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AGeMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AGeMethid___visit_all},
-  {(long int) parser_prod___AGeMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AGeMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AGeMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AGeMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AGeMethid___empty_init},
-  {(long int) parser_prod___AGeMethid___init_agemethid},
-  {(long int) 4 /* 72: AGeMethid < AGeMethid: superclass init_table position */},
-  {(long int) parser_nodes___AGeMethid___n_ge},
-  {(long int) parser_prod___AGeMethid___n_ge__eq},
+  {(bigint) 3515 /* 0: Identity */},
+  {(bigint) 3 /* 1: AGeMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AGeMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AGeMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AGeMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3515 /* 5: AGeMethid < AGeMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AGeMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AGeMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AGeMethid___visit_all},
+  {(bigint) parser_prod___AGeMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AGeMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AGeMethid___n_ge},
+  {(bigint) parser_prod___AGeMethid___n_ge__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AGeMethid::_parent */
@@ -27120,81 +27262,81 @@ val_t NEW_parser_prod___AGeMethid___init_agemethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ALtMethid[75] = {
-  {(long int) 3467 /* 0: Identity */},
-  {(long int) 3 /* 1: ALtMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ALtMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ALtMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: ALtMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3467 /* 5: ALtMethid < ALtMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ALtMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ALtMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ALtMethid___visit_all},
-  {(long int) parser_prod___ALtMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ALtMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ALtMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: ALtMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___ALtMethid___empty_init},
-  {(long int) parser_prod___ALtMethid___init_altmethid},
-  {(long int) 4 /* 72: ALtMethid < ALtMethid: superclass init_table position */},
-  {(long int) parser_nodes___ALtMethid___n_lt},
-  {(long int) parser_prod___ALtMethid___n_lt__eq},
+  {(bigint) 3475 /* 0: Identity */},
+  {(bigint) 3 /* 1: ALtMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ALtMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ALtMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: ALtMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3475 /* 5: ALtMethid < ALtMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ALtMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ALtMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ALtMethid___visit_all},
+  {(bigint) parser_prod___ALtMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ALtMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___ALtMethid___n_lt},
+  {(bigint) parser_prod___ALtMethid___n_lt__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ALtMethid::_parent */
@@ -27221,81 +27363,81 @@ val_t NEW_parser_prod___ALtMethid___init_altmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AGtMethid[75] = {
-  {(long int) 3503 /* 0: Identity */},
-  {(long int) 3 /* 1: AGtMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AGtMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AGtMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AGtMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3503 /* 5: AGtMethid < AGtMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AGtMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AGtMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AGtMethid___visit_all},
-  {(long int) parser_prod___AGtMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AGtMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AGtMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AGtMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AGtMethid___empty_init},
-  {(long int) parser_prod___AGtMethid___init_agtmethid},
-  {(long int) 4 /* 72: AGtMethid < AGtMethid: superclass init_table position */},
-  {(long int) parser_nodes___AGtMethid___n_gt},
-  {(long int) parser_prod___AGtMethid___n_gt__eq},
+  {(bigint) 3511 /* 0: Identity */},
+  {(bigint) 3 /* 1: AGtMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AGtMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AGtMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AGtMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3511 /* 5: AGtMethid < AGtMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AGtMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AGtMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AGtMethid___visit_all},
+  {(bigint) parser_prod___AGtMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AGtMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AGtMethid___n_gt},
+  {(bigint) parser_prod___AGtMethid___n_gt__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AGtMethid::_parent */
@@ -27322,83 +27464,83 @@ val_t NEW_parser_prod___AGtMethid___init_agtmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ABraMethid[77] = {
-  {(long int) 3555 /* 0: Identity */},
-  {(long int) 3 /* 1: ABraMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABraMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABraMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: ABraMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3555 /* 5: ABraMethid < ABraMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ABraMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABraMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABraMethid___visit_all},
-  {(long int) parser_prod___ABraMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ABraMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ABraMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: ABraMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___ABraMethid___empty_init},
-  {(long int) parser_prod___ABraMethid___init_abramethid},
-  {(long int) 4 /* 72: ABraMethid < ABraMethid: superclass init_table position */},
-  {(long int) parser_nodes___ABraMethid___n_obra},
-  {(long int) parser_prod___ABraMethid___n_obra__eq},
-  {(long int) parser_nodes___ABraMethid___n_cbra},
-  {(long int) parser_prod___ABraMethid___n_cbra__eq},
+  {(bigint) 3563 /* 0: Identity */},
+  {(bigint) 3 /* 1: ABraMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ABraMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ABraMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: ABraMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3563 /* 5: ABraMethid < ABraMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ABraMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABraMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABraMethid___visit_all},
+  {(bigint) parser_prod___ABraMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ABraMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___ABraMethid___n_obra},
+  {(bigint) parser_prod___ABraMethid___n_obra__eq},
+  {(bigint) parser_nodes___ABraMethid___n_cbra},
+  {(bigint) parser_prod___ABraMethid___n_cbra__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraMethid::_parent */
@@ -27426,81 +27568,81 @@ val_t NEW_parser_prod___ABraMethid___init_abramethid(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AStarshipMethid[75] = {
-  {(long int) 3359 /* 0: Identity */},
-  {(long int) 3 /* 1: AStarshipMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AStarshipMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AStarshipMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AStarshipMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3359 /* 5: AStarshipMethid < AStarshipMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AStarshipMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AStarshipMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AStarshipMethid___visit_all},
-  {(long int) parser_prod___AStarshipMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AStarshipMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AStarshipMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AStarshipMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AStarshipMethid___empty_init},
-  {(long int) parser_prod___AStarshipMethid___init_astarshipmethid},
-  {(long int) 4 /* 72: AStarshipMethid < AStarshipMethid: superclass init_table position */},
-  {(long int) parser_nodes___AStarshipMethid___n_starship},
-  {(long int) parser_prod___AStarshipMethid___n_starship__eq},
+  {(bigint) 3367 /* 0: Identity */},
+  {(bigint) 3 /* 1: AStarshipMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AStarshipMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AStarshipMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AStarshipMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3367 /* 5: AStarshipMethid < AStarshipMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AStarshipMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AStarshipMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AStarshipMethid___visit_all},
+  {(bigint) parser_prod___AStarshipMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AStarshipMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AStarshipMethid___n_starship},
+  {(bigint) parser_prod___AStarshipMethid___n_starship__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStarshipMethid::_parent */
@@ -27527,83 +27669,83 @@ val_t NEW_parser_prod___AStarshipMethid___init_astarshipmethid(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AAssignMethid[77] = {
-  {(long int) 3579 /* 0: Identity */},
-  {(long int) 3 /* 1: AAssignMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAssignMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAssignMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: AAssignMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3579 /* 5: AAssignMethid < AAssignMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAssignMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAssignMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAssignMethid___visit_all},
-  {(long int) parser_prod___AAssignMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAssignMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAssignMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: AAssignMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___AAssignMethid___empty_init},
-  {(long int) parser_prod___AAssignMethid___init_aassignmethid},
-  {(long int) 4 /* 72: AAssignMethid < AAssignMethid: superclass init_table position */},
-  {(long int) parser_nodes___AAssignMethid___n_id},
-  {(long int) parser_prod___AAssignMethid___n_id__eq},
-  {(long int) parser_nodes___AAssignMethid___n_assign},
-  {(long int) parser_prod___AAssignMethid___n_assign__eq},
+  {(bigint) 3587 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAssignMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAssignMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAssignMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: AAssignMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3587 /* 5: AAssignMethid < AAssignMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAssignMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAssignMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAssignMethid___visit_all},
+  {(bigint) parser_prod___AAssignMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAssignMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___AAssignMethid___n_id},
+  {(bigint) parser_prod___AAssignMethid___n_id__eq},
+  {(bigint) parser_nodes___AAssignMethid___n_assign},
+  {(bigint) parser_prod___AAssignMethid___n_assign__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAssignMethid::_parent */
@@ -27631,85 +27773,85 @@ val_t NEW_parser_prod___AAssignMethid___init_aassignmethid(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ABraassignMethid[79] = {
-  {(long int) 3551 /* 0: Identity */},
-  {(long int) 3 /* 1: ABraassignMethid < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABraassignMethid < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABraassignMethid < Prod: superclass typecheck marker */},
-  {(long int) 3067 /* 4: ABraassignMethid < PMethid: superclass typecheck marker */},
-  {(long int) 3551 /* 5: ABraassignMethid < ABraassignMethid: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ABraassignMethid < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PMethid___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABraassignMethid___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABraassignMethid___visit_all},
-  {(long int) parser_prod___ABraassignMethid___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ABraassignMethid < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ABraassignMethid < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PMethid___name},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) 3 /* 69: ABraassignMethid < PMethid: superclass init_table position */},
-  {(long int) parser_prod___ABraassignMethid___empty_init},
-  {(long int) parser_prod___ABraassignMethid___init_abraassignmethid},
-  {(long int) 4 /* 72: ABraassignMethid < ABraassignMethid: superclass init_table position */},
-  {(long int) parser_nodes___ABraassignMethid___n_obra},
-  {(long int) parser_prod___ABraassignMethid___n_obra__eq},
-  {(long int) parser_nodes___ABraassignMethid___n_cbra},
-  {(long int) parser_prod___ABraassignMethid___n_cbra__eq},
-  {(long int) parser_nodes___ABraassignMethid___n_assign},
-  {(long int) parser_prod___ABraassignMethid___n_assign__eq},
+  {(bigint) 3559 /* 0: Identity */},
+  {(bigint) 3 /* 1: ABraassignMethid < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ABraassignMethid < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ABraassignMethid < Prod: superclass typecheck marker */},
+  {(bigint) 3083 /* 4: ABraassignMethid < PMethid: superclass typecheck marker */},
+  {(bigint) 3559 /* 5: ABraassignMethid < ABraassignMethid: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ABraassignMethid < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PMethid___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABraassignMethid___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABraassignMethid___visit_all},
+  {(bigint) parser_prod___ABraassignMethid___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ABraassignMethid < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___PMethid___name},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) 3 /* 69: 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) parser_nodes___ABraassignMethid___n_obra},
+  {(bigint) parser_prod___ABraassignMethid___n_obra__eq},
+  {(bigint) parser_nodes___ABraassignMethid___n_cbra},
+  {(bigint) parser_prod___ABraassignMethid___n_cbra__eq},
+  {(bigint) parser_nodes___ABraassignMethid___n_assign},
+  {(bigint) parser_prod___ABraassignMethid___n_assign__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraassignMethid::_parent */
@@ -27738,83 +27880,83 @@ val_t NEW_parser_prod___ABraassignMethid___init_abraassignmethid(val_t p0, val_t
   return self;
 }
 const classtable_elt_t VFT_ASignature[77] = {
-  {(long int) 3371 /* 0: Identity */},
-  {(long int) 3 /* 1: ASignature < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASignature < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASignature < Prod: superclass typecheck marker */},
-  {(long int) 3043 /* 4: ASignature < PSignature: superclass typecheck marker */},
-  {(long int) 3371 /* 5: ASignature < ASignature: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ASignature < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___ASignature___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASignature___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASignature___visit_all},
-  {(long int) parser_prod___ASignature___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ASignature < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ASignature < Prod: superclass init_table position */},
-  {(long int) mmbuilder___ASignature___check_visibility},
-  {(long int) 3 /* 68: ASignature < PSignature: superclass init_table position */},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) parser_prod___ASignature___empty_init},
-  {(long int) parser_prod___ASignature___init_asignature},
-  {(long int) 4 /* 72: ASignature < ASignature: superclass init_table position */},
-  {(long int) parser_nodes___ASignature___n_params},
-  {(long int) parser_nodes___ASignature___n_params__eq},
-  {(long int) parser_nodes___ASignature___n_type},
-  {(long int) parser_prod___ASignature___n_type__eq},
+  {(bigint) 3379 /* 0: Identity */},
+  {(bigint) 3 /* 1: ASignature < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ASignature < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ASignature < Prod: superclass typecheck marker */},
+  {(bigint) 3059 /* 4: ASignature < PSignature: superclass typecheck marker */},
+  {(bigint) 3379 /* 5: ASignature < ASignature: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ASignature < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___ASignature___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASignature___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASignature___visit_all},
+  {(bigint) parser_prod___ASignature___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ASignature < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) mmbuilder___ASignature___check_visibility},
+  {(bigint) 3 /* 68: 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) parser_nodes___ASignature___n_params},
+  {(bigint) parser_nodes___ASignature___n_params__eq},
+  {(bigint) parser_nodes___ASignature___n_type},
+  {(bigint) parser_prod___ASignature___n_type__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASignature::_parent */
@@ -27840,90 +27982,91 @@ val_t NEW_parser_prod___ASignature___init_asignature(val_t p0, val_t p1) {
   parser_prod___ASignature___init_asignature(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AParam[83] = {
-  {(long int) 3427 /* 0: Identity */},
-  {(long int) 3 /* 1: AParam < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AParam < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AParam < Prod: superclass typecheck marker */},
-  {(long int) 3055 /* 4: AParam < PParam: superclass typecheck marker */},
-  {(long int) 3427 /* 5: AParam < AParam: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AParam < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PParam___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AParam___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AParam___visit_all},
-  {(long int) parser_prod___AParam___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AParam < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PParam___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AParam < Prod: superclass init_table position */},
-  {(long int) mmbuilder___PParam___stype},
-  {(long int) mmbuilder___PParam___stype__eq},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) mmbuilder___AParam___is_vararg},
-  {(long int) mmbuilder___PParam___position},
-  {(long int) mmbuilder___PParam___variable},
-  {(long int) 3 /* 73: AParam < PParam: superclass init_table position */},
-  {(long int) parser_nodes___PParam___n_id},
-  {(long int) parser_prod___AParam___n_id__eq},
-  {(long int) parser_nodes___PParam___n_type},
-  {(long int) parser_prod___AParam___n_type__eq},
-  {(long int) parser_prod___AParam___empty_init},
-  {(long int) parser_prod___AParam___init_aparam},
-  {(long int) 4 /* 80: AParam < AParam: superclass init_table position */},
-  {(long int) parser_nodes___AParam___n_dotdotdot},
-  {(long int) parser_prod___AParam___n_dotdotdot__eq},
+const classtable_elt_t VFT_AParam[84] = {
+  {(bigint) 3435 /* 0: Identity */},
+  {(bigint) 3 /* 1: AParam < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AParam < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AParam < Prod: superclass typecheck marker */},
+  {(bigint) 3071 /* 4: AParam < PParam: superclass typecheck marker */},
+  {(bigint) 3435 /* 5: AParam < AParam: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AParam < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PParam___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AParam___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AParam___visit_all},
+  {(bigint) parser_prod___AParam___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AParam < PNode: superclass init_table position */},
+  {(bigint) control_flow___PParam___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PParam___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) parser_nodes___PParam___n_id},
+  {(bigint) parser_prod___AParam___n_id__eq},
+  {(bigint) parser_nodes___PParam___n_type},
+  {(bigint) parser_prod___AParam___n_type__eq},
+  {(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) parser_nodes___AParam___n_dotdotdot},
+  {(bigint) parser_prod___AParam___n_dotdotdot__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AParam::_parent */
@@ -27939,7 +28082,7 @@ val_t NEW_AParam(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_AParam;
-  ATTR_mmbuilder___PParam____position(obj) = TAG_Int((long int)0);
+  ATTR_mmbuilder___PParam____position(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_parser_prod___AParam___empty_init() {
@@ -27955,87 +28098,87 @@ val_t NEW_parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_AType[81] = {
-  {(long int) 3339 /* 0: Identity */},
-  {(long int) 3 /* 1: AType < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AType < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AType < Prod: superclass typecheck marker */},
-  {(long int) 3035 /* 4: AType < PType: superclass typecheck marker */},
-  {(long int) 3339 /* 5: AType < AType: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AType < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AType___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AType___visit_all},
-  {(long int) parser_prod___AType___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AType < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PType___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AType < Prod: superclass init_table position */},
-  {(long int) mmbuilder___AType___check_visibility},
-  {(long int) syntax_base___AType___get_local_class},
-  {(long int) syntax_base___AType___get_stype},
-  {(long int) syntax_base___AType___get_unchecked_stype},
-  {(long int) syntax_base___AType___check_conform},
-  {(long int) 3 /* 72: AType < PType: superclass init_table position */},
-  {(long int) typing___PType___stype},
-  {(long int) parser_prod___AType___empty_init},
-  {(long int) parser_prod___AType___init_atype},
-  {(long int) 4 /* 76: AType < AType: superclass init_table position */},
-  {(long int) parser_nodes___AType___n_id},
-  {(long int) parser_prod___AType___n_id__eq},
-  {(long int) parser_nodes___AType___n_types},
-  {(long int) parser_nodes___AType___n_types__eq},
+  {(bigint) 3347 /* 0: Identity */},
+  {(bigint) 3 /* 1: AType < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AType < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AType < Prod: superclass typecheck marker */},
+  {(bigint) 3051 /* 4: AType < PType: superclass typecheck marker */},
+  {(bigint) 3347 /* 5: AType < AType: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AType < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AType___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AType___visit_all},
+  {(bigint) parser_prod___AType___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AType < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PType___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AType___n_id},
+  {(bigint) parser_prod___AType___n_id__eq},
+  {(bigint) parser_nodes___AType___n_types},
+  {(bigint) parser_nodes___AType___n_types__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AType::_parent */
@@ -28050,7 +28193,7 @@ val_t NEW_AType(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AType;
-  ATTR_syntax_base___AType____stype_cached(obj) = TAG_Bool((long int)0);
+  ATTR_syntax_base___AType____stype_cached(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_parser_prod___AType___empty_init() {
@@ -28066,88 +28209,88 @@ val_t NEW_parser_prod___AType___init_atype(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ABlockExpr[82] = {
-  {(long int) 3563 /* 0: Identity */},
-  {(long int) 3 /* 1: ABlockExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABlockExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABlockExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABlockExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3563 /* 5: ABlockExpr < ABlockExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ABlockExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABlockExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABlockExpr___visit_all},
-  {(long int) parser_prod___ABlockExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ABlockExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___ABlockExpr___accept_control_flow},
-  {(long int) typing___ABlockExpr___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ABlockExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ABlockExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ABlockExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___ABlockExpr___empty_init},
-  {(long int) parser_prod___ABlockExpr___init_ablockexpr},
-  {(long int) 4 /* 78: ABlockExpr < ABlockExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABlockExpr___n_expr},
-  {(long int) parser_nodes___ABlockExpr___n_expr__eq},
-  {(long int) typing___PNode___accept_typing},
+  {(bigint) 3571 /* 0: Identity */},
+  {(bigint) 3 /* 1: ABlockExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ABlockExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ABlockExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ABlockExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3571 /* 5: ABlockExpr < ABlockExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ABlockExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABlockExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABlockExpr___visit_all},
+  {(bigint) parser_prod___ABlockExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ABlockExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___ABlockExpr___accept_control_flow},
+  {(bigint) typing___ABlockExpr___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___ABlockExpr___n_expr},
+  {(bigint) parser_nodes___ABlockExpr___n_expr__eq},
+  {(bigint) typing___PNode___accept_typing},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABlockExpr::_parent */
@@ -28174,97 +28317,99 @@ val_t NEW_parser_prod___ABlockExpr___init_ablockexpr(val_t p0) {
   parser_prod___ABlockExpr___init_ablockexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVardeclExpr[90] = {
-  {(long int) 3323 /* 0: Identity */},
-  {(long int) 3 /* 1: AVardeclExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AVardeclExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AVardeclExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AVardeclExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3323 /* 5: AVardeclExpr < AVardeclExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AVardeclExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AVardeclExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AVardeclExpr___visit_all},
-  {(long int) parser_prod___AVardeclExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AVardeclExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AVardeclExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AVardeclExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___AVardeclExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AVardeclExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AVardeclExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) typing___AVardeclExpr___variable},
-  {(long int) parser_prod___AVardeclExpr___empty_init},
-  {(long int) parser_prod___AVardeclExpr___init_avardeclexpr},
-  {(long int) 4 /* 79: AVardeclExpr < AVardeclExpr: superclass init_table position */},
-  {(long int) parser_nodes___AVardeclExpr___n_kwvar},
-  {(long int) parser_prod___AVardeclExpr___n_kwvar__eq},
-  {(long int) parser_nodes___AVardeclExpr___n_id},
-  {(long int) parser_prod___AVardeclExpr___n_id__eq},
-  {(long int) parser_nodes___AVardeclExpr___n_type},
-  {(long int) parser_prod___AVardeclExpr___n_type__eq},
-  {(long int) parser_nodes___AVardeclExpr___n_assign},
-  {(long int) parser_prod___AVardeclExpr___n_assign__eq},
-  {(long int) parser_nodes___AVardeclExpr___n_expr},
-  {(long int) parser_prod___AVardeclExpr___n_expr__eq},
+const classtable_elt_t VFT_AVardeclExpr[92] = {
+  {(bigint) 3331 /* 0: Identity */},
+  {(bigint) 3 /* 1: AVardeclExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AVardeclExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AVardeclExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AVardeclExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3331 /* 5: AVardeclExpr < AVardeclExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AVardeclExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AVardeclExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AVardeclExpr___visit_all},
+  {(bigint) parser_prod___AVardeclExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AVardeclExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AVardeclExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AVardeclExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) syntax_base___AVardeclExpr___variable},
+  {(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) parser_nodes___AVardeclExpr___n_kwvar},
+  {(bigint) parser_prod___AVardeclExpr___n_kwvar__eq},
+  {(bigint) parser_nodes___AVardeclExpr___n_id},
+  {(bigint) parser_prod___AVardeclExpr___n_id__eq},
+  {(bigint) parser_nodes___AVardeclExpr___n_type},
+  {(bigint) parser_prod___AVardeclExpr___n_type__eq},
+  {(bigint) parser_nodes___AVardeclExpr___n_assign},
+  {(bigint) parser_prod___AVardeclExpr___n_assign__eq},
+  {(bigint) parser_nodes___AVardeclExpr___n_expr},
+  {(bigint) parser_prod___AVardeclExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVardeclExpr::_parent */
@@ -28297,90 +28442,90 @@ val_t NEW_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val
   return self;
 }
 const classtable_elt_t VFT_AReturnExpr[84] = {
-  {(long int) 3379 /* 0: Identity */},
-  {(long int) 3 /* 1: AReturnExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AReturnExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AReturnExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AReturnExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3379 /* 5: AReturnExpr < AReturnExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AReturnExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AReturnExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AReturnExpr___visit_all},
-  {(long int) parser_prod___AReturnExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AReturnExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___AReturnExpr___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AReturnExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AReturnExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AReturnExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AReturnExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) parser_prod___AReturnExpr___empty_init},
-  {(long int) parser_prod___AReturnExpr___init_areturnexpr},
-  {(long int) 4 /* 79: AReturnExpr < AReturnExpr: superclass init_table position */},
-  {(long int) parser_nodes___AReturnExpr___n_kwreturn},
-  {(long int) parser_prod___AReturnExpr___n_kwreturn__eq},
-  {(long int) parser_nodes___AReturnExpr___n_expr},
-  {(long int) parser_prod___AReturnExpr___n_expr__eq},
+  {(bigint) 3387 /* 0: Identity */},
+  {(bigint) 3 /* 1: AReturnExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AReturnExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AReturnExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AReturnExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3387 /* 5: AReturnExpr < AReturnExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AReturnExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AReturnExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AReturnExpr___visit_all},
+  {(bigint) parser_prod___AReturnExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AReturnExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AReturnExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AReturnExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {(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) parser_nodes___AReturnExpr___n_kwreturn},
+  {(bigint) parser_prod___AReturnExpr___n_kwreturn__eq},
+  {(bigint) parser_nodes___AReturnExpr___n_expr},
+  {(bigint) parser_prod___AReturnExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AReturnExpr::_parent */
@@ -28409,90 +28554,90 @@ val_t NEW_parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ABreakExpr[84] = {
-  {(long int) 3751 /* 0: Identity */},
-  {(long int) 3 /* 1: ABreakExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABreakExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABreakExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABreakExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3567 /* 5: ABreakExpr < ABlockControler: superclass typecheck marker */},
-  {(long int) 3751 /* 6: ABreakExpr < ABreakExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 1 /* 20: ABreakExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABreakExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABreakExpr___visit_all},
-  {(long int) parser_prod___ABreakExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 2 /* 57: ABreakExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___ABreakExpr___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 3 /* 66: ABreakExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ABreakExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 4 /* 71: ABreakExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ABreakExpr < ABlockControler: superclass init_table position */},
-  {(long int) control_flow___ABlockControler___block},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) parser_prod___ABreakExpr___empty_init},
-  {(long int) parser_prod___ABreakExpr___init_abreakexpr},
-  {(long int) 5 /* 81: ABreakExpr < ABreakExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABreakExpr___n_kwbreak},
-  {(long int) parser_prod___ABreakExpr___n_kwbreak__eq},
+  {(bigint) 3763 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 1 /* 20: ABreakExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABreakExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABreakExpr___visit_all},
+  {(bigint) parser_prod___ABreakExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 2 /* 57: ABreakExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___ABreakExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) parser_nodes___ABreakExpr___n_kwbreak},
+  {(bigint) parser_prod___ABreakExpr___n_kwbreak__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABreakExpr::_parent */
@@ -28521,88 +28666,88 @@ val_t NEW_parser_prod___ABreakExpr___init_abreakexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AAbortExpr[82] = {
-  {(long int) 3603 /* 0: Identity */},
-  {(long int) 3 /* 1: AAbortExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAbortExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAbortExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAbortExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3603 /* 5: AAbortExpr < AAbortExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAbortExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAbortExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAbortExpr___visit_all},
-  {(long int) parser_prod___AAbortExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAbortExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___AAbortExpr___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAbortExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AAbortExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAbortExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) parser_prod___AAbortExpr___empty_init},
-  {(long int) parser_prod___AAbortExpr___init_aabortexpr},
-  {(long int) 4 /* 79: AAbortExpr < AAbortExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAbortExpr___n_kwabort},
-  {(long int) parser_prod___AAbortExpr___n_kwabort__eq},
+  {(bigint) 3615 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAbortExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAbortExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAbortExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AAbortExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3615 /* 5: AAbortExpr < AAbortExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAbortExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAbortExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAbortExpr___visit_all},
+  {(bigint) parser_prod___AAbortExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAbortExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AAbortExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {(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) parser_nodes___AAbortExpr___n_kwabort},
+  {(bigint) parser_prod___AAbortExpr___n_kwabort__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAbortExpr::_parent */
@@ -28630,90 +28775,90 @@ val_t NEW_parser_prod___AAbortExpr___init_aabortexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AContinueExpr[84] = {
-  {(long int) 3743 /* 0: Identity */},
-  {(long int) 3 /* 1: AContinueExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AContinueExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AContinueExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AContinueExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3567 /* 5: AContinueExpr < ABlockControler: superclass typecheck marker */},
-  {(long int) 3743 /* 6: AContinueExpr < AContinueExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 1 /* 20: AContinueExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AContinueExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AContinueExpr___visit_all},
-  {(long int) parser_prod___AContinueExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 2 /* 57: AContinueExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___AContinueExpr___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 3 /* 66: AContinueExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AContinueExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 4 /* 71: AContinueExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AContinueExpr < ABlockControler: superclass init_table position */},
-  {(long int) control_flow___ABlockControler___block},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) parser_prod___AContinueExpr___empty_init},
-  {(long int) parser_prod___AContinueExpr___init_acontinueexpr},
-  {(long int) 5 /* 81: AContinueExpr < AContinueExpr: superclass init_table position */},
-  {(long int) parser_nodes___AContinueExpr___n_kwcontinue},
-  {(long int) parser_prod___AContinueExpr___n_kwcontinue__eq},
+  {(bigint) 3755 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 1 /* 20: AContinueExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AContinueExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AContinueExpr___visit_all},
+  {(bigint) parser_prod___AContinueExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 2 /* 57: AContinueExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AContinueExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) parser_nodes___AContinueExpr___n_kwcontinue},
+  {(bigint) parser_prod___AContinueExpr___n_kwcontinue__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AContinueExpr::_parent */
@@ -28742,89 +28887,89 @@ val_t NEW_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ADoExpr[83] = {
-  {(long int) 3531 /* 0: Identity */},
-  {(long int) 3 /* 1: ADoExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ADoExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ADoExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ADoExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3531 /* 5: ADoExpr < ADoExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ADoExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ADoExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ADoExpr___visit_all},
-  {(long int) parser_prod___ADoExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ADoExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ADoExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ADoExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ADoExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___ADoExpr___empty_init},
-  {(long int) parser_prod___ADoExpr___init_adoexpr},
-  {(long int) 4 /* 78: ADoExpr < ADoExpr: superclass init_table position */},
-  {(long int) parser_nodes___ADoExpr___n_kwdo},
-  {(long int) parser_prod___ADoExpr___n_kwdo__eq},
-  {(long int) parser_nodes___ADoExpr___n_block},
-  {(long int) parser_prod___ADoExpr___n_block__eq},
+  {(bigint) 3539 /* 0: Identity */},
+  {(bigint) 3 /* 1: ADoExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ADoExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ADoExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ADoExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3539 /* 5: ADoExpr < ADoExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ADoExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ADoExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ADoExpr___visit_all},
+  {(bigint) parser_prod___ADoExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ADoExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___ADoExpr___n_kwdo},
+  {(bigint) parser_prod___ADoExpr___n_kwdo__eq},
+  {(bigint) parser_nodes___ADoExpr___n_block},
+  {(bigint) parser_prod___ADoExpr___n_block__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ADoExpr::_parent */
@@ -28853,93 +28998,93 @@ val_t NEW_parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AIfExpr[87] = {
-  {(long int) 3495 /* 0: Identity */},
-  {(long int) 3 /* 1: AIfExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AIfExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AIfExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AIfExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3495 /* 5: AIfExpr < AIfExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AIfExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AIfExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AIfExpr___visit_all},
-  {(long int) parser_prod___AIfExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AIfExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___AIfExpr___accept_control_flow},
-  {(long int) typing___AIfExpr___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AIfExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AIfExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AIfExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___AIfExpr___empty_init},
-  {(long int) parser_prod___AIfExpr___init_aifexpr},
-  {(long int) 4 /* 78: AIfExpr < AIfExpr: superclass init_table position */},
-  {(long int) parser_nodes___AIfExpr___n_kwif},
-  {(long int) parser_prod___AIfExpr___n_kwif__eq},
-  {(long int) parser_nodes___AIfExpr___n_expr},
-  {(long int) parser_prod___AIfExpr___n_expr__eq},
-  {(long int) parser_nodes___AIfExpr___n_then},
-  {(long int) parser_prod___AIfExpr___n_then__eq},
-  {(long int) parser_nodes___AIfExpr___n_else},
-  {(long int) parser_prod___AIfExpr___n_else__eq},
+  {(bigint) 3503 /* 0: Identity */},
+  {(bigint) 3 /* 1: AIfExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AIfExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AIfExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AIfExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3503 /* 5: AIfExpr < AIfExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AIfExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AIfExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AIfExpr___visit_all},
+  {(bigint) parser_prod___AIfExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AIfExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AIfExpr___accept_control_flow},
+  {(bigint) typing___AIfExpr___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AIfExpr___n_kwif},
+  {(bigint) parser_prod___AIfExpr___n_kwif__eq},
+  {(bigint) parser_nodes___AIfExpr___n_expr},
+  {(bigint) parser_prod___AIfExpr___n_expr__eq},
+  {(bigint) parser_nodes___AIfExpr___n_then},
+  {(bigint) parser_prod___AIfExpr___n_then__eq},
+  {(bigint) parser_nodes___AIfExpr___n_else},
+  {(bigint) parser_prod___AIfExpr___n_else__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AIfExpr::_parent */
@@ -28970,97 +29115,97 @@ val_t NEW_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val
   return self;
 }
 const classtable_elt_t VFT_AIfexprExpr[91] = {
-  {(long int) 3491 /* 0: Identity */},
-  {(long int) 3 /* 1: AIfexprExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AIfexprExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AIfexprExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AIfexprExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3491 /* 5: AIfexprExpr < AIfexprExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AIfexprExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AIfexprExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AIfexprExpr___visit_all},
-  {(long int) parser_prod___AIfexprExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AIfexprExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___AIfexprExpr___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AIfexprExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AIfexprExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AIfexprExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___AIfexprExpr___empty_init},
-  {(long int) parser_prod___AIfexprExpr___init_aifexprexpr},
-  {(long int) 4 /* 78: AIfexprExpr < AIfexprExpr: superclass init_table position */},
-  {(long int) parser_nodes___AIfexprExpr___n_kwif},
-  {(long int) parser_prod___AIfexprExpr___n_kwif__eq},
-  {(long int) parser_nodes___AIfexprExpr___n_expr},
-  {(long int) parser_prod___AIfexprExpr___n_expr__eq},
-  {(long int) parser_nodes___AIfexprExpr___n_kwthen},
-  {(long int) parser_prod___AIfexprExpr___n_kwthen__eq},
-  {(long int) parser_nodes___AIfexprExpr___n_then},
-  {(long int) parser_prod___AIfexprExpr___n_then__eq},
-  {(long int) parser_nodes___AIfexprExpr___n_kwelse},
-  {(long int) parser_prod___AIfexprExpr___n_kwelse__eq},
-  {(long int) parser_nodes___AIfexprExpr___n_else},
-  {(long int) parser_prod___AIfexprExpr___n_else__eq},
+  {(bigint) 3499 /* 0: Identity */},
+  {(bigint) 3 /* 1: AIfexprExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AIfexprExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AIfexprExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AIfexprExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3499 /* 5: AIfexprExpr < AIfexprExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AIfexprExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AIfexprExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AIfexprExpr___visit_all},
+  {(bigint) parser_prod___AIfexprExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AIfexprExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___AIfexprExpr___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AIfexprExpr___n_kwif},
+  {(bigint) parser_prod___AIfexprExpr___n_kwif__eq},
+  {(bigint) parser_nodes___AIfexprExpr___n_expr},
+  {(bigint) parser_prod___AIfexprExpr___n_expr__eq},
+  {(bigint) parser_nodes___AIfexprExpr___n_kwthen},
+  {(bigint) parser_prod___AIfexprExpr___n_kwthen__eq},
+  {(bigint) parser_nodes___AIfexprExpr___n_then},
+  {(bigint) parser_prod___AIfexprExpr___n_then__eq},
+  {(bigint) parser_nodes___AIfexprExpr___n_kwelse},
+  {(bigint) parser_prod___AIfexprExpr___n_kwelse__eq},
+  {(bigint) parser_nodes___AIfexprExpr___n_else},
+  {(bigint) parser_prod___AIfexprExpr___n_else__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AIfexprExpr::_parent */
@@ -29093,96 +29238,96 @@ val_t NEW_parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t
   return self;
 }
 const classtable_elt_t VFT_AWhileExpr[90] = {
-  {(long int) 3643 /* 0: Identity */},
-  {(long int) 3 /* 1: AWhileExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AWhileExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AWhileExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AWhileExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3535 /* 5: AWhileExpr < AControlableBlock: superclass typecheck marker */},
-  {(long int) 3643 /* 6: AWhileExpr < AWhileExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 1 /* 20: AWhileExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AWhileExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AWhileExpr___visit_all},
-  {(long int) parser_prod___AWhileExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 2 /* 57: AWhileExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___AControlableBlock___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AWhileExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 3 /* 66: AWhileExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AControlableBlock___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 4 /* 71: AWhileExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AWhileExpr___compile_inside_block},
-  {(long int) 0 /* 77: AWhileExpr < AControlableBlock: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) parser_prod___AWhileExpr___empty_init},
-  {(long int) parser_prod___AWhileExpr___init_awhileexpr},
-  {(long int) 5 /* 81: AWhileExpr < AWhileExpr: superclass init_table position */},
-  {(long int) parser_nodes___AWhileExpr___n_kwwhile},
-  {(long int) parser_prod___AWhileExpr___n_kwwhile__eq},
-  {(long int) parser_nodes___AWhileExpr___n_expr},
-  {(long int) parser_prod___AWhileExpr___n_expr__eq},
-  {(long int) parser_nodes___AWhileExpr___n_kwdo},
-  {(long int) parser_prod___AWhileExpr___n_kwdo__eq},
-  {(long int) parser_nodes___AWhileExpr___n_block},
-  {(long int) parser_prod___AWhileExpr___n_block__eq},
+  {(bigint) 3655 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 1 /* 20: AWhileExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AWhileExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AWhileExpr___visit_all},
+  {(bigint) parser_prod___AWhileExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 2 /* 57: AWhileExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AControlableBlock___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AWhileExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) parser_nodes___AWhileExpr___n_kwwhile},
+  {(bigint) parser_prod___AWhileExpr___n_kwwhile__eq},
+  {(bigint) parser_nodes___AWhileExpr___n_expr},
+  {(bigint) parser_prod___AWhileExpr___n_expr__eq},
+  {(bigint) parser_nodes___AWhileExpr___n_kwdo},
+  {(bigint) parser_prod___AWhileExpr___n_kwdo__eq},
+  {(bigint) parser_nodes___AWhileExpr___n_block},
+  {(bigint) parser_prod___AWhileExpr___n_block__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AWhileExpr::_parent */
@@ -29213,94 +29358,94 @@ val_t NEW_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p
   return self;
 }
 const classtable_elt_t VFT_AForExpr[88] = {
-  {(long int) 3715 /* 0: Identity */},
-  {(long int) 3 /* 1: AForExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AForExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AForExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AForExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3535 /* 5: AForExpr < AControlableBlock: superclass typecheck marker */},
-  {(long int) 3715 /* 6: AForExpr < AForExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 1 /* 20: AForExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AForExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AForExpr___visit_all},
-  {(long int) parser_prod___AForExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 2 /* 57: AForExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___AControlableBlock___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AForExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 3 /* 66: AForExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AControlableBlock___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 4 /* 71: AForExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AForExpr___compile_inside_block},
-  {(long int) 0 /* 77: AForExpr < AControlableBlock: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) parser_prod___AForExpr___empty_init},
-  {(long int) parser_prod___AForExpr___init_aforexpr},
-  {(long int) 5 /* 81: AForExpr < AForExpr: superclass init_table position */},
-  {(long int) parser_nodes___AForExpr___n_vardecl},
-  {(long int) parser_prod___AForExpr___n_vardecl__eq},
-  {(long int) parser_nodes___AForExpr___n_kwdo},
-  {(long int) parser_prod___AForExpr___n_kwdo__eq},
-  {(long int) parser_nodes___AForExpr___n_block},
-  {(long int) parser_prod___AForExpr___n_block__eq},
+  {(bigint) 3727 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 1 /* 20: AForExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AForExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AForExpr___visit_all},
+  {(bigint) parser_prod___AForExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 2 /* 57: AForExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AControlableBlock___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AForExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) parser_nodes___AForExpr___n_vardecl},
+  {(bigint) parser_prod___AForExpr___n_vardecl__eq},
+  {(bigint) parser_nodes___AForExpr___n_kwdo},
+  {(bigint) parser_prod___AForExpr___n_kwdo__eq},
+  {(bigint) parser_nodes___AForExpr___n_block},
+  {(bigint) parser_prod___AForExpr___n_block__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AForExpr::_parent */
@@ -29329,93 +29474,95 @@ val_t NEW_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2) {
   parser_prod___AForExpr___init_aforexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AForVardeclExpr[86] = {
-  {(long int) 3515 /* 0: Identity */},
-  {(long int) 3 /* 1: AForVardeclExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AForVardeclExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AForVardeclExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AForVardeclExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3515 /* 5: AForVardeclExpr < AForVardeclExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AForVardeclExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AForVardeclExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AForVardeclExpr___visit_all},
-  {(long int) parser_prod___AForVardeclExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AForVardeclExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AForVardeclExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AForVardeclExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AForVardeclExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AForVardeclExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) typing___AForVardeclExpr___variable},
-  {(long int) parser_prod___AForVardeclExpr___empty_init},
-  {(long int) parser_prod___AForVardeclExpr___init_aforvardeclexpr},
-  {(long int) 4 /* 79: AForVardeclExpr < AForVardeclExpr: superclass init_table position */},
-  {(long int) parser_nodes___AForVardeclExpr___n_kwfor},
-  {(long int) parser_prod___AForVardeclExpr___n_kwfor__eq},
-  {(long int) parser_nodes___AForVardeclExpr___n_id},
-  {(long int) parser_prod___AForVardeclExpr___n_id__eq},
-  {(long int) parser_nodes___AForVardeclExpr___n_expr},
-  {(long int) parser_prod___AForVardeclExpr___n_expr__eq},
+const classtable_elt_t VFT_AForVardeclExpr[88] = {
+  {(bigint) 3523 /* 0: Identity */},
+  {(bigint) 3 /* 1: AForVardeclExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AForVardeclExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AForVardeclExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AForVardeclExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3523 /* 5: AForVardeclExpr < AForVardeclExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AForVardeclExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AForVardeclExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AForVardeclExpr___visit_all},
+  {(bigint) parser_prod___AForVardeclExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AForVardeclExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AForVardeclExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AForVardeclExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) syntax_base___AForVardeclExpr___variable},
+  {(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) parser_nodes___AForVardeclExpr___n_kwfor},
+  {(bigint) parser_prod___AForVardeclExpr___n_kwfor__eq},
+  {(bigint) parser_nodes___AForVardeclExpr___n_id},
+  {(bigint) parser_prod___AForVardeclExpr___n_id__eq},
+  {(bigint) parser_nodes___AForVardeclExpr___n_expr},
+  {(bigint) parser_prod___AForVardeclExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AForVardeclExpr::_parent */
@@ -29446,91 +29593,91 @@ val_t NEW_parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t p0, val_t p
   return self;
 }
 const classtable_elt_t VFT_AAssertExpr[85] = {
-  {(long int) 3587 /* 0: Identity */},
-  {(long int) 3 /* 1: AAssertExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAssertExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAssertExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAssertExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3587 /* 5: AAssertExpr < AAssertExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAssertExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAssertExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAssertExpr___visit_all},
-  {(long int) parser_prod___AAssertExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAssertExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AAssertExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAssertExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AAssertExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAssertExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___AAssertExpr___empty_init},
-  {(long int) parser_prod___AAssertExpr___init_aassertexpr},
-  {(long int) 4 /* 78: AAssertExpr < AAssertExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAssertExpr___n_kwassert},
-  {(long int) parser_prod___AAssertExpr___n_kwassert__eq},
-  {(long int) parser_nodes___AAssertExpr___n_id},
-  {(long int) parser_prod___AAssertExpr___n_id__eq},
-  {(long int) parser_nodes___AAssertExpr___n_expr},
-  {(long int) parser_prod___AAssertExpr___n_expr__eq},
+  {(bigint) 3595 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAssertExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAssertExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAssertExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AAssertExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3595 /* 5: AAssertExpr < AAssertExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAssertExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAssertExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAssertExpr___visit_all},
+  {(bigint) parser_prod___AAssertExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAssertExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AAssertExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AAssertExpr___n_kwassert},
+  {(bigint) parser_prod___AAssertExpr___n_kwassert__eq},
+  {(bigint) parser_nodes___AAssertExpr___n_id},
+  {(bigint) parser_prod___AAssertExpr___n_id__eq},
+  {(bigint) parser_nodes___AAssertExpr___n_expr},
+  {(bigint) parser_prod___AAssertExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAssertExpr::_parent */
@@ -29560,92 +29707,92 @@ val_t NEW_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t
   return self;
 }
 const classtable_elt_t VFT_AAssignFormExpr[86] = {
-  {(long int) 3583 /* 0: Identity */},
-  {(long int) 3 /* 1: AAssignFormExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAssignFormExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAssignFormExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAssignFormExpr < PExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3583 /* 6: AAssignFormExpr < AAssignFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAssignFormExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAssignFormExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAssignFormExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAssignFormExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 81: AAssignFormExpr < AAssignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAssignFormExpr___n_assign},
-  {(long int) parser_nodes___AAssignFormExpr___n_assign__eq},
-  {(long int) parser_nodes___AAssignFormExpr___n_value},
-  {(long int) parser_nodes___AAssignFormExpr___n_value__eq},
+  {(bigint) 3591 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAssignFormExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAssignFormExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAssignFormExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AAssignFormExpr < PExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3591 /* 6: AAssignFormExpr < AAssignFormExpr: 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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAssignFormExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAssignFormExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 81: 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},
+  {(bigint) parser_nodes___AAssignFormExpr___n_value__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAssignFormExpr::_parent */
@@ -29664,94 +29811,94 @@ val_t NEW_AAssignFormExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_AReassignFormExpr[88] = {
-  {(long int) 3383 /* 0: Identity */},
-  {(long int) 3 /* 1: AReassignFormExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AReassignFormExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AReassignFormExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AReassignFormExpr < PExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3383 /* 6: AReassignFormExpr < AReassignFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AReassignFormExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AReassignFormExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AReassignFormExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AReassignFormExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) typing___AReassignFormExpr___do_lvalue_typing},
-  {(long int) typing___AReassignFormExpr___assign_method},
-  {(long int) 4 /* 83: AReassignFormExpr < AReassignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op__eq},
-  {(long int) parser_nodes___AReassignFormExpr___n_value},
-  {(long int) parser_nodes___AReassignFormExpr___n_value__eq},
+  {(bigint) 3391 /* 0: Identity */},
+  {(bigint) 3 /* 1: AReassignFormExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AReassignFormExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AReassignFormExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AReassignFormExpr < PExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3391 /* 6: AReassignFormExpr < AReassignFormExpr: 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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AReassignFormExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AReassignFormExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) typing___AReassignFormExpr___do_lvalue_typing},
+  {(bigint) typing___AReassignFormExpr___assign_method},
+  {(bigint) 4 /* 83: 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},
+  {(bigint) parser_nodes___AReassignFormExpr___n_value__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AReassignFormExpr::_parent */
@@ -29771,91 +29918,91 @@ val_t NEW_AReassignFormExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_AOnceExpr[85] = {
-  {(long int) 3687 /* 0: Identity */},
-  {(long int) 3 /* 1: AOnceExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AOnceExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AOnceExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AOnceExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3403 /* 5: AOnceExpr < AProxyExpr: superclass typecheck marker */},
-  {(long int) 3687 /* 6: AOnceExpr < AOnceExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 1 /* 20: AOnceExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AOnceExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AOnceExpr___visit_all},
-  {(long int) parser_prod___AOnceExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 2 /* 57: AOnceExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___AOnceExpr___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AProxyExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 3 /* 66: AOnceExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AOnceExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 4 /* 71: AOnceExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AOnceExpr < AProxyExpr: superclass init_table position */},
-  {(long int) parser_nodes___AProxyExpr___n_expr},
-  {(long int) parser_prod___AOnceExpr___n_expr__eq},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) parser_prod___AOnceExpr___empty_init},
-  {(long int) parser_prod___AOnceExpr___init_aonceexpr},
-  {(long int) 5 /* 82: AOnceExpr < AOnceExpr: superclass init_table position */},
-  {(long int) parser_nodes___AOnceExpr___n_kwonce},
-  {(long int) parser_prod___AOnceExpr___n_kwonce__eq},
+  {(bigint) 3699 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 1 /* 20: AOnceExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AOnceExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AOnceExpr___visit_all},
+  {(bigint) parser_prod___AOnceExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 2 /* 57: AOnceExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AOnceExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AProxyExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) parser_nodes___AOnceExpr___n_kwonce},
+  {(bigint) parser_prod___AOnceExpr___n_kwonce__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AOnceExpr::_parent */
@@ -29884,108 +30031,108 @@ val_t NEW_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ASendExpr[102] = {
-  {(long int) 3791 /* 0: Identity */},
-  {(long int) 3 /* 1: ASendExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASendExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASendExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ASendExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ASendExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ASendExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ASendExpr < ASendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ASendExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASendExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASendExpr___visit_all},
-  {(long int) parser_prod___ASendExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ASendExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ASendExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ASendExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ASendExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ASendExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ASendExpr___name},
-  {(long int) typing___ASendExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ASendExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ASendExpr___n_expr__eq},
+  {(bigint) 3795 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ASendExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASendExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASendExpr___visit_all},
+  {(bigint) parser_prod___ASendExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ASendExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ASendExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ASendExpr___name},
+  {(bigint) typing___ASendExpr___raw_arguments},
+  {(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) parser_nodes___ASendExpr___n_expr},
+  {(bigint) parser_prod___ASendExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASendExpr::_parent */
@@ -30018,113 +30165,113 @@ val_t NEW_parser_prod___ASendExpr___init_asendexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ABinopExpr[107] = {
-  {(long int) 3823 /* 0: Identity */},
-  {(long int) 3 /* 1: ABinopExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABinopExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABinopExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABinopExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ABinopExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ABinopExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ABinopExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: ABinopExpr < ABinopExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ABinopExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABinopExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABinopExpr___visit_all},
-  {(long int) parser_prod___ABinopExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ABinopExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ABinopExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ABinopExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ABinopExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ABinopExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ASendExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ABinopExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ABinopExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: ABinopExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___ABinopExpr___n_expr2__eq},
+  {(bigint) 3827 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ABinopExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABinopExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABinopExpr___visit_all},
+  {(bigint) parser_prod___ABinopExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ABinopExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ABinopExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ASendExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) parser_nodes___ABinopExpr___n_expr2},
+  {(bigint) parser_prod___ABinopExpr___n_expr2__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABinopExpr::_parent */
@@ -30158,83 +30305,83 @@ val_t NEW_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ABoolExpr[77] = {
-  {(long int) 3559 /* 0: Identity */},
-  {(long int) 3 /* 1: ABoolExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABoolExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABoolExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABoolExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: ABoolExpr < ABoolExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ABoolExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ABoolExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ABoolExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ABoolExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ABoolExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: ABoolExpr < ABoolExpr: superclass init_table position */},
+  {(bigint) 3567 /* 0: Identity */},
+  {(bigint) 3 /* 1: ABoolExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ABoolExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ABoolExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ABoolExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3567 /* 5: ABoolExpr < ABoolExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ABoolExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ABoolExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ABoolExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABoolExpr::_parent */
@@ -30249,90 +30396,90 @@ val_t NEW_ABoolExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_AOrExpr[84] = {
-  {(long int) 3683 /* 0: Identity */},
-  {(long int) 3 /* 1: AOrExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AOrExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AOrExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AOrExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: AOrExpr < ABoolExpr: superclass typecheck marker */},
-  {(long int) 3683 /* 6: AOrExpr < AOrExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AOrExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AOrExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AOrExpr___visit_all},
-  {(long int) parser_prod___AOrExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AOrExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AOrExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AOrExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AOrExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AOrExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: AOrExpr < ABoolExpr: superclass init_table position */},
-  {(long int) parser_prod___AOrExpr___empty_init},
-  {(long int) parser_prod___AOrExpr___init_aorexpr},
-  {(long int) 5 /* 79: AOrExpr < AOrExpr: superclass init_table position */},
-  {(long int) parser_nodes___AOrExpr___n_expr},
-  {(long int) parser_prod___AOrExpr___n_expr__eq},
-  {(long int) parser_nodes___AOrExpr___n_expr2},
-  {(long int) parser_prod___AOrExpr___n_expr2__eq},
+  {(bigint) 3695 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AOrExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AOrExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AOrExpr___visit_all},
+  {(bigint) parser_prod___AOrExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AOrExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AOrExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AOrExpr___empty_init},
+  {(bigint) parser_prod___AOrExpr___init_aorexpr},
+  {(bigint) 5 /* 79: 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},
+  {(bigint) parser_prod___AOrExpr___n_expr2__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AOrExpr::_parent */
@@ -30361,90 +30508,90 @@ val_t NEW_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AAndExpr[84] = {
-  {(long int) 3767 /* 0: Identity */},
-  {(long int) 3 /* 1: AAndExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAndExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAndExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAndExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: AAndExpr < ABoolExpr: superclass typecheck marker */},
-  {(long int) 3767 /* 6: AAndExpr < AAndExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAndExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAndExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAndExpr___visit_all},
-  {(long int) parser_prod___AAndExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAndExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___AAndExpr___accept_typing},
-  {(long int) typing___ABoolExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAndExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AAndExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAndExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: AAndExpr < ABoolExpr: superclass init_table position */},
-  {(long int) parser_prod___AAndExpr___empty_init},
-  {(long int) parser_prod___AAndExpr___init_aandexpr},
-  {(long int) 5 /* 79: AAndExpr < AAndExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAndExpr___n_expr},
-  {(long int) parser_prod___AAndExpr___n_expr__eq},
-  {(long int) parser_nodes___AAndExpr___n_expr2},
-  {(long int) parser_prod___AAndExpr___n_expr2__eq},
+  {(bigint) 3779 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAndExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAndExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAndExpr___visit_all},
+  {(bigint) parser_prod___AAndExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAndExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___AAndExpr___accept_typing},
+  {(bigint) typing___ABoolExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AAndExpr___empty_init},
+  {(bigint) parser_prod___AAndExpr___init_aandexpr},
+  {(bigint) 5 /* 79: 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},
+  {(bigint) parser_prod___AAndExpr___n_expr2__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAndExpr::_parent */
@@ -30473,90 +30620,90 @@ val_t NEW_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ANotExpr[84] = {
-  {(long int) 3691 /* 0: Identity */},
-  {(long int) 3 /* 1: ANotExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ANotExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ANotExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ANotExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: ANotExpr < ABoolExpr: superclass typecheck marker */},
-  {(long int) 3691 /* 6: ANotExpr < ANotExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ANotExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ANotExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ANotExpr___visit_all},
-  {(long int) parser_prod___ANotExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ANotExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ANotExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ANotExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ANotExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ANotExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: ANotExpr < ABoolExpr: superclass init_table position */},
-  {(long int) parser_prod___ANotExpr___empty_init},
-  {(long int) parser_prod___ANotExpr___init_anotexpr},
-  {(long int) 5 /* 79: ANotExpr < ANotExpr: superclass init_table position */},
-  {(long int) parser_nodes___ANotExpr___n_kwnot},
-  {(long int) parser_prod___ANotExpr___n_kwnot__eq},
-  {(long int) parser_nodes___ANotExpr___n_expr},
-  {(long int) parser_prod___ANotExpr___n_expr__eq},
+  {(bigint) 3703 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ANotExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ANotExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ANotExpr___visit_all},
+  {(bigint) parser_prod___ANotExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ANotExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ANotExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___ANotExpr___empty_init},
+  {(bigint) parser_prod___ANotExpr___init_anotexpr},
+  {(bigint) 5 /* 79: 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},
+  {(bigint) parser_prod___ANotExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ANotExpr::_parent */
@@ -30585,116 +30732,116 @@ val_t NEW_parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AEqExpr[110] = {
-  {(long int) 3871 /* 0: Identity */},
-  {(long int) 3 /* 1: AEqExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AEqExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AEqExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AEqExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AEqExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AEqExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AEqExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: AEqExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3871 /* 10: AEqExpr < AEqExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AEqExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AEqExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AEqExpr___visit_all},
-  {(long int) parser_prod___AEqExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AEqExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AEqExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AEqExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AEqExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AEqExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AEqExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AEqExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AEqExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: AEqExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___AEqExpr___n_expr2__eq},
-  {(long int) parser_prod___AEqExpr___empty_init},
-  {(long int) parser_prod___AEqExpr___init_aeqexpr},
-  {(long int) 8 /* 109: AEqExpr < AEqExpr: superclass init_table position */},
+  {(bigint) 3875 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AEqExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AEqExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AEqExpr___visit_all},
+  {(bigint) parser_prod___AEqExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AEqExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AEqExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AEqExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AEqExpr::_parent */
@@ -30728,90 +30875,90 @@ val_t NEW_parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AEeExpr[84] = {
-  {(long int) 3731 /* 0: Identity */},
-  {(long int) 3 /* 1: AEeExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AEeExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AEeExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AEeExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: AEeExpr < ABoolExpr: superclass typecheck marker */},
-  {(long int) 3731 /* 6: AEeExpr < AEeExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AEeExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AEeExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AEeExpr___visit_all},
-  {(long int) parser_prod___AEeExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AEeExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ABoolExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AEeExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AEeExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AEeExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: AEeExpr < ABoolExpr: superclass init_table position */},
-  {(long int) parser_prod___AEeExpr___empty_init},
-  {(long int) parser_prod___AEeExpr___init_aeeexpr},
-  {(long int) 5 /* 79: AEeExpr < AEeExpr: superclass init_table position */},
-  {(long int) parser_nodes___AEeExpr___n_expr},
-  {(long int) parser_prod___AEeExpr___n_expr__eq},
-  {(long int) parser_nodes___AEeExpr___n_expr2},
-  {(long int) parser_prod___AEeExpr___n_expr2__eq},
+  {(bigint) 3743 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AEeExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AEeExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AEeExpr___visit_all},
+  {(bigint) parser_prod___AEeExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AEeExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ABoolExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AEeExpr___empty_init},
+  {(bigint) parser_prod___AEeExpr___init_aeeexpr},
+  {(bigint) 5 /* 79: 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},
+  {(bigint) parser_prod___AEeExpr___n_expr2__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AEeExpr::_parent */
@@ -30840,116 +30987,116 @@ val_t NEW_parser_prod___AEeExpr___init_aeeexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ANeExpr[110] = {
-  {(long int) 3847 /* 0: Identity */},
-  {(long int) 3 /* 1: ANeExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ANeExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ANeExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ANeExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ANeExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ANeExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ANeExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: ANeExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3847 /* 10: ANeExpr < ANeExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ANeExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ANeExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ANeExpr___visit_all},
-  {(long int) parser_prod___ANeExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ANeExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ANeExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ANeExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ANeExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ANeExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ANeExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ANeExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ANeExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: ANeExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___ANeExpr___n_expr2__eq},
-  {(long int) parser_prod___ANeExpr___empty_init},
-  {(long int) parser_prod___ANeExpr___init_aneexpr},
-  {(long int) 8 /* 109: ANeExpr < ANeExpr: superclass init_table position */},
+  {(bigint) 3851 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ANeExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ANeExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ANeExpr___visit_all},
+  {(bigint) parser_prod___ANeExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ANeExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ANeExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ANeExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ANeExpr::_parent */
@@ -30983,116 +31130,116 @@ val_t NEW_parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ALtExpr[110] = {
-  {(long int) 3855 /* 0: Identity */},
-  {(long int) 3 /* 1: ALtExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ALtExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ALtExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ALtExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ALtExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ALtExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ALtExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: ALtExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3855 /* 10: ALtExpr < ALtExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ALtExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ALtExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ALtExpr___visit_all},
-  {(long int) parser_prod___ALtExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ALtExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ALtExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ALtExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ALtExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ALtExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ALtExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ALtExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ALtExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: ALtExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___ALtExpr___n_expr2__eq},
-  {(long int) parser_prod___ALtExpr___empty_init},
-  {(long int) parser_prod___ALtExpr___init_altexpr},
-  {(long int) 8 /* 109: ALtExpr < ALtExpr: superclass init_table position */},
+  {(bigint) 3859 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ALtExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ALtExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ALtExpr___visit_all},
+  {(bigint) parser_prod___ALtExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ALtExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ALtExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ALtExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ALtExpr::_parent */
@@ -31126,116 +31273,116 @@ val_t NEW_parser_prod___ALtExpr___init_altexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ALeExpr[110] = {
-  {(long int) 3859 /* 0: Identity */},
-  {(long int) 3 /* 1: ALeExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ALeExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ALeExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ALeExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ALeExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ALeExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ALeExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: ALeExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3859 /* 10: ALeExpr < ALeExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ALeExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ALeExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ALeExpr___visit_all},
-  {(long int) parser_prod___ALeExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ALeExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ALeExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ALeExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ALeExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ALeExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ALeExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ALeExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ALeExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: ALeExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___ALeExpr___n_expr2__eq},
-  {(long int) parser_prod___ALeExpr___empty_init},
-  {(long int) parser_prod___ALeExpr___init_aleexpr},
-  {(long int) 8 /* 109: ALeExpr < ALeExpr: superclass init_table position */},
+  {(bigint) 3863 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ALeExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ALeExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ALeExpr___visit_all},
+  {(bigint) parser_prod___ALeExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ALeExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ALeExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ALeExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ALeExpr::_parent */
@@ -31269,116 +31416,116 @@ val_t NEW_parser_prod___ALeExpr___init_aleexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AGtExpr[110] = {
-  {(long int) 3863 /* 0: Identity */},
-  {(long int) 3 /* 1: AGtExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AGtExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AGtExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AGtExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AGtExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AGtExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AGtExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: AGtExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3863 /* 10: AGtExpr < AGtExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AGtExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AGtExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AGtExpr___visit_all},
-  {(long int) parser_prod___AGtExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AGtExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AGtExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AGtExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AGtExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AGtExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AGtExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AGtExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AGtExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: AGtExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___AGtExpr___n_expr2__eq},
-  {(long int) parser_prod___AGtExpr___empty_init},
-  {(long int) parser_prod___AGtExpr___init_agtexpr},
-  {(long int) 8 /* 109: AGtExpr < AGtExpr: superclass init_table position */},
+  {(bigint) 3867 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AGtExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AGtExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AGtExpr___visit_all},
+  {(bigint) parser_prod___AGtExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AGtExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AGtExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AGtExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AGtExpr::_parent */
@@ -31412,116 +31559,116 @@ val_t NEW_parser_prod___AGtExpr___init_agtexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AGeExpr[110] = {
-  {(long int) 3867 /* 0: Identity */},
-  {(long int) 3 /* 1: AGeExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AGeExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AGeExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AGeExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AGeExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AGeExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AGeExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: AGeExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3867 /* 10: AGeExpr < AGeExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AGeExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AGeExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AGeExpr___visit_all},
-  {(long int) parser_prod___AGeExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AGeExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AGeExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AGeExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AGeExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AGeExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AGeExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AGeExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AGeExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: AGeExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___AGeExpr___n_expr2__eq},
-  {(long int) parser_prod___AGeExpr___empty_init},
-  {(long int) parser_prod___AGeExpr___init_ageexpr},
-  {(long int) 8 /* 109: AGeExpr < AGeExpr: superclass init_table position */},
+  {(bigint) 3871 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AGeExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AGeExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AGeExpr___visit_all},
+  {(bigint) parser_prod___AGeExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AGeExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AGeExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AGeExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AGeExpr::_parent */
@@ -31555,90 +31702,90 @@ val_t NEW_parser_prod___AGeExpr___init_ageexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AIsaExpr[84] = {
-  {(long int) 3703 /* 0: Identity */},
-  {(long int) 3 /* 1: AIsaExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AIsaExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AIsaExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AIsaExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: AIsaExpr < ABoolExpr: superclass typecheck marker */},
-  {(long int) 3703 /* 6: AIsaExpr < AIsaExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AIsaExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AIsaExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AIsaExpr___visit_all},
-  {(long int) parser_prod___AIsaExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AIsaExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AIsaExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AIsaExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AIsaExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AIsaExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: AIsaExpr < ABoolExpr: superclass init_table position */},
-  {(long int) parser_prod___AIsaExpr___empty_init},
-  {(long int) parser_prod___AIsaExpr___init_aisaexpr},
-  {(long int) 5 /* 79: AIsaExpr < AIsaExpr: superclass init_table position */},
-  {(long int) parser_nodes___AIsaExpr___n_expr},
-  {(long int) parser_prod___AIsaExpr___n_expr__eq},
-  {(long int) parser_nodes___AIsaExpr___n_type},
-  {(long int) parser_prod___AIsaExpr___n_type__eq},
+  {(bigint) 3715 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AIsaExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AIsaExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AIsaExpr___visit_all},
+  {(bigint) parser_prod___AIsaExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AIsaExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AIsaExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AIsaExpr___empty_init},
+  {(bigint) parser_prod___AIsaExpr___init_aisaexpr},
+  {(bigint) 5 /* 79: 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},
+  {(bigint) parser_prod___AIsaExpr___n_type__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AIsaExpr::_parent */
@@ -31667,116 +31814,116 @@ val_t NEW_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_APlusExpr[110] = {
-  {(long int) 3839 /* 0: Identity */},
-  {(long int) 3 /* 1: APlusExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APlusExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APlusExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: APlusExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: APlusExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: APlusExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: APlusExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: APlusExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3839 /* 10: APlusExpr < APlusExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: APlusExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APlusExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APlusExpr___visit_all},
-  {(long int) parser_prod___APlusExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: APlusExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: APlusExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: APlusExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: APlusExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: APlusExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___APlusExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: APlusExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___APlusExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: APlusExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___APlusExpr___n_expr2__eq},
-  {(long int) parser_prod___APlusExpr___empty_init},
-  {(long int) parser_prod___APlusExpr___init_aplusexpr},
-  {(long int) 8 /* 109: APlusExpr < APlusExpr: superclass init_table position */},
+  {(bigint) 3843 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: APlusExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APlusExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APlusExpr___visit_all},
+  {(bigint) parser_prod___APlusExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: APlusExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: APlusExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___APlusExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APlusExpr::_parent */
@@ -31810,116 +31957,116 @@ val_t NEW_parser_prod___APlusExpr___init_aplusexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AMinusExpr[110] = {
-  {(long int) 3851 /* 0: Identity */},
-  {(long int) 3 /* 1: AMinusExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AMinusExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AMinusExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AMinusExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AMinusExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AMinusExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AMinusExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: AMinusExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3851 /* 10: AMinusExpr < AMinusExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AMinusExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AMinusExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AMinusExpr___visit_all},
-  {(long int) parser_prod___AMinusExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AMinusExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AMinusExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AMinusExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AMinusExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AMinusExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AMinusExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AMinusExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AMinusExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: AMinusExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___AMinusExpr___n_expr2__eq},
-  {(long int) parser_prod___AMinusExpr___empty_init},
-  {(long int) parser_prod___AMinusExpr___init_aminusexpr},
-  {(long int) 8 /* 109: AMinusExpr < AMinusExpr: superclass init_table position */},
+  {(bigint) 3855 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AMinusExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AMinusExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AMinusExpr___visit_all},
+  {(bigint) parser_prod___AMinusExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AMinusExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AMinusExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AMinusExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMinusExpr::_parent */
@@ -31953,116 +32100,116 @@ val_t NEW_parser_prod___AMinusExpr___init_aminusexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AStarshipExpr[110] = {
-  {(long int) 3827 /* 0: Identity */},
-  {(long int) 3 /* 1: AStarshipExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AStarshipExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AStarshipExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AStarshipExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AStarshipExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AStarshipExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AStarshipExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: AStarshipExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3827 /* 10: AStarshipExpr < AStarshipExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AStarshipExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AStarshipExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AStarshipExpr___visit_all},
-  {(long int) parser_prod___AStarshipExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AStarshipExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AStarshipExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AStarshipExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AStarshipExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AStarshipExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AStarshipExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AStarshipExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AStarshipExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: AStarshipExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___AStarshipExpr___n_expr2__eq},
-  {(long int) parser_prod___AStarshipExpr___empty_init},
-  {(long int) parser_prod___AStarshipExpr___init_astarshipexpr},
-  {(long int) 8 /* 109: AStarshipExpr < AStarshipExpr: superclass init_table position */},
+  {(bigint) 3831 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AStarshipExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AStarshipExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AStarshipExpr___visit_all},
+  {(bigint) parser_prod___AStarshipExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AStarshipExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AStarshipExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AStarshipExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStarshipExpr::_parent */
@@ -32096,116 +32243,116 @@ val_t NEW_parser_prod___AStarshipExpr___init_astarshipexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AStarExpr[110] = {
-  {(long int) 3831 /* 0: Identity */},
-  {(long int) 3 /* 1: AStarExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AStarExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AStarExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AStarExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AStarExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AStarExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AStarExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: AStarExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3831 /* 10: AStarExpr < AStarExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AStarExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AStarExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AStarExpr___visit_all},
-  {(long int) parser_prod___AStarExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AStarExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AStarExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AStarExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AStarExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AStarExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AStarExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AStarExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AStarExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: AStarExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___AStarExpr___n_expr2__eq},
-  {(long int) parser_prod___AStarExpr___empty_init},
-  {(long int) parser_prod___AStarExpr___init_astarexpr},
-  {(long int) 8 /* 109: AStarExpr < AStarExpr: superclass init_table position */},
+  {(bigint) 3835 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AStarExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AStarExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AStarExpr___visit_all},
+  {(bigint) parser_prod___AStarExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AStarExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AStarExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AStarExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStarExpr::_parent */
@@ -32239,116 +32386,116 @@ val_t NEW_parser_prod___AStarExpr___init_astarexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ASlashExpr[110] = {
-  {(long int) 3835 /* 0: Identity */},
-  {(long int) 3 /* 1: ASlashExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASlashExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASlashExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ASlashExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ASlashExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ASlashExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ASlashExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: ASlashExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3835 /* 10: ASlashExpr < ASlashExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ASlashExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASlashExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASlashExpr___visit_all},
-  {(long int) parser_prod___ASlashExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ASlashExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ASlashExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ASlashExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ASlashExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ASlashExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ASlashExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ASlashExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ASlashExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: ASlashExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___ASlashExpr___n_expr2__eq},
-  {(long int) parser_prod___ASlashExpr___empty_init},
-  {(long int) parser_prod___ASlashExpr___init_aslashexpr},
-  {(long int) 8 /* 109: ASlashExpr < ASlashExpr: superclass init_table position */},
+  {(bigint) 3839 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ASlashExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASlashExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASlashExpr___visit_all},
+  {(bigint) parser_prod___ASlashExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ASlashExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ASlashExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ASlashExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASlashExpr::_parent */
@@ -32382,116 +32529,116 @@ val_t NEW_parser_prod___ASlashExpr___init_aslashexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_APercentExpr[110] = {
-  {(long int) 3843 /* 0: Identity */},
-  {(long int) 3 /* 1: APercentExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APercentExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APercentExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: APercentExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: APercentExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: APercentExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: APercentExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3823 /* 9: APercentExpr < ABinopExpr: superclass typecheck marker */},
-  {(long int) 3843 /* 10: APercentExpr < APercentExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: APercentExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APercentExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APercentExpr___visit_all},
-  {(long int) parser_prod___APercentExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: APercentExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: APercentExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: APercentExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: APercentExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: APercentExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___APercentExpr___name},
-  {(long int) typing___ABinopExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: APercentExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___APercentExpr___n_expr__eq},
-  {(long int) parser_prod___ABinopExpr___empty_init},
-  {(long int) parser_prod___ABinopExpr___init_abinopexpr},
-  {(long int) 7 /* 104: APercentExpr < ABinopExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABinopExpr___n_expr2},
-  {(long int) parser_prod___APercentExpr___n_expr2__eq},
-  {(long int) parser_prod___APercentExpr___empty_init},
-  {(long int) parser_prod___APercentExpr___init_apercentexpr},
-  {(long int) 8 /* 109: APercentExpr < APercentExpr: superclass init_table position */},
+  {(bigint) 3847 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: APercentExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APercentExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APercentExpr___visit_all},
+  {(bigint) parser_prod___APercentExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: APercentExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: APercentExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___APercentExpr___name},
+  {(bigint) typing___ABinopExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APercentExpr::_parent */
@@ -32525,113 +32672,113 @@ val_t NEW_parser_prod___APercentExpr___init_apercentexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AUminusExpr[107] = {
-  {(long int) 3803 /* 0: Identity */},
-  {(long int) 3 /* 1: AUminusExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AUminusExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AUminusExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AUminusExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AUminusExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AUminusExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AUminusExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3803 /* 9: AUminusExpr < AUminusExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AUminusExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AUminusExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AUminusExpr___visit_all},
-  {(long int) parser_prod___AUminusExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AUminusExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AUminusExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AUminusExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AUminusExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AUminusExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AUminusExpr___name},
-  {(long int) typing___AUminusExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AUminusExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AUminusExpr___n_expr__eq},
-  {(long int) parser_prod___AUminusExpr___empty_init},
-  {(long int) parser_prod___AUminusExpr___init_auminusexpr},
-  {(long int) 7 /* 104: AUminusExpr < AUminusExpr: superclass init_table position */},
-  {(long int) parser_nodes___AUminusExpr___n_minus},
-  {(long int) parser_prod___AUminusExpr___n_minus__eq},
+  {(bigint) 3807 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AUminusExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AUminusExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AUminusExpr___visit_all},
+  {(bigint) parser_prod___AUminusExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AUminusExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AUminusExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AUminusExpr___name},
+  {(bigint) typing___AUminusExpr___raw_arguments},
+  {(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) 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) parser_nodes___AUminusExpr___n_minus},
+  {(bigint) parser_prod___AUminusExpr___n_minus__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AUminusExpr::_parent */
@@ -32665,111 +32812,111 @@ val_t NEW_parser_prod___AUminusExpr___init_auminusexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ANewExpr[105] = {
-  {(long int) 3695 /* 0: Identity */},
-  {(long int) 3 /* 1: ANewExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ANewExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ANewExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ANewExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ANewExpr < AAbsSendExpr: superclass typecheck marker */},
-  {(long int) 3695 /* 6: ANewExpr < ANewExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 1 /* 20: ANewExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ANewExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ANewExpr___visit_all},
-  {(long int) parser_prod___ANewExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 2 /* 57: ANewExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ANewExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 3 /* 66: ANewExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ANewExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 4 /* 71: ANewExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 0 /* 88: ANewExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) parser_prod___ANewExpr___empty_init},
-  {(long int) parser_prod___ANewExpr___init_anewexpr},
-  {(long int) 5 /* 96: ANewExpr < ANewExpr: superclass init_table position */},
-  {(long int) parser_nodes___ANewExpr___n_kwnew},
-  {(long int) parser_prod___ANewExpr___n_kwnew__eq},
-  {(long int) parser_nodes___ANewExpr___n_type},
-  {(long int) parser_prod___ANewExpr___n_type__eq},
-  {(long int) parser_nodes___ANewExpr___n_id},
-  {(long int) parser_prod___ANewExpr___n_id__eq},
-  {(long int) parser_nodes___ANewExpr___n_args},
-  {(long int) parser_nodes___ANewExpr___n_args__eq},
+  {(bigint) 3707 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 1 /* 20: ANewExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ANewExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ANewExpr___visit_all},
+  {(bigint) parser_prod___ANewExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 2 /* 57: ANewExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ANewExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 0 /* 88: ANewExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(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) parser_nodes___ANewExpr___n_kwnew},
+  {(bigint) parser_prod___ANewExpr___n_kwnew__eq},
+  {(bigint) parser_nodes___ANewExpr___n_type},
+  {(bigint) parser_prod___ANewExpr___n_type__eq},
+  {(bigint) parser_nodes___ANewExpr___n_id},
+  {(bigint) parser_prod___ANewExpr___n_id__eq},
+  {(bigint) parser_nodes___ANewExpr___n_args},
+  {(bigint) parser_nodes___ANewExpr___n_args__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ANewExpr::_parent */
@@ -32801,102 +32948,103 @@ val_t NEW_parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, v
   parser_prod___ANewExpr___init_anewexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAttrFormExpr[95] = {
-  {(long int) 3575 /* 0: Identity */},
-  {(long int) 3 /* 1: AAttrFormExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAttrFormExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAttrFormExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAttrFormExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3575 /* 5: AAttrFormExpr < AAttrFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAttrFormExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAttrFormExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAttrFormExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAttrFormExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) typing___AAttrFormExpr___prop},
-  {(long int) typing___AAttrFormExpr___do_typing},
-  {(long int) 4 /* 90: AAttrFormExpr < AAttrFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAttrFormExpr___n_expr},
-  {(long int) parser_nodes___AAttrFormExpr___n_expr__eq},
-  {(long int) parser_nodes___AAttrFormExpr___n_id},
-  {(long int) parser_nodes___AAttrFormExpr___n_id__eq},
+const classtable_elt_t VFT_AAttrFormExpr[96] = {
+  {(bigint) 3583 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAttrFormExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAttrFormExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAttrFormExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AAttrFormExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3583 /* 5: AAttrFormExpr < AAttrFormExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAttrFormExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAttrFormExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) typing___AAttrFormExpr___prop},
+  {(bigint) typing___AAttrFormExpr___attr_type},
+  {(bigint) typing___AAttrFormExpr___do_typing},
+  {(bigint) 4 /* 91: 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},
+  {(bigint) parser_nodes___AAttrFormExpr___n_id__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAttrFormExpr::_parent */
@@ -32910,113 +33058,115 @@ const classtable_elt_t VFT_AAttrFormExpr[95] = {
 /* Instance Hole :( */
 /* Instance Hole :( */
 /* 11: Attribute AAttrFormExpr::_prop */
-/* 12: Attribute AAttrFormExpr::_n_expr */
-/* 13: Attribute AAttrFormExpr::_n_id */
+/* 12: Attribute AAttrFormExpr::_attr_type */
+/* 13: Attribute AAttrFormExpr::_n_expr */
+/* 14: Attribute AAttrFormExpr::_n_id */
 val_t NEW_AAttrFormExpr(void) {
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 14);
+  obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrFormExpr;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AAttrExpr[98] = {
-  {(long int) 3759 /* 0: Identity */},
-  {(long int) 3 /* 1: AAttrExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAttrExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAttrExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAttrExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3575 /* 5: AAttrExpr < AAttrFormExpr: superclass typecheck marker */},
-  {(long int) 3759 /* 6: AAttrExpr < AAttrExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAttrExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAttrExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAttrExpr___visit_all},
-  {(long int) parser_prod___AAttrExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAttrExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AAttrExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAttrExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AAttrExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAttrExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) typing___AAttrFormExpr___prop},
-  {(long int) typing___AAttrFormExpr___do_typing},
-  {(long int) 4 /* 90: AAttrExpr < AAttrFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAttrFormExpr___n_expr},
-  {(long int) parser_prod___AAttrExpr___n_expr__eq},
-  {(long int) parser_nodes___AAttrFormExpr___n_id},
-  {(long int) parser_prod___AAttrExpr___n_id__eq},
-  {(long int) parser_prod___AAttrExpr___empty_init},
-  {(long int) parser_prod___AAttrExpr___init_aattrexpr},
-  {(long int) 5 /* 97: AAttrExpr < AAttrExpr: superclass init_table position */},
+const classtable_elt_t VFT_AAttrExpr[99] = {
+  {(bigint) 3771 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAttrExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAttrExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAttrExpr___visit_all},
+  {(bigint) parser_prod___AAttrExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAttrExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AAttrExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) typing___AAttrFormExpr___prop},
+  {(bigint) typing___AAttrFormExpr___attr_type},
+  {(bigint) typing___AAttrFormExpr___do_typing},
+  {(bigint) 4 /* 91: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAttrExpr::_parent */
@@ -33030,11 +33180,12 @@ const classtable_elt_t VFT_AAttrExpr[98] = {
 /* Instance Hole :( */
 /* Instance Hole :( */
 /* 11: Attribute AAttrExpr::_prop */
-/* 12: Attribute AAttrExpr::_n_expr */
-/* 13: Attribute AAttrExpr::_n_id */
+/* 12: Attribute AAttrExpr::_attr_type */
+/* 13: Attribute AAttrExpr::_n_expr */
+/* 14: Attribute AAttrExpr::_n_id */
 val_t NEW_AAttrExpr(void) {
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 14);
+  obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrExpr;
   return OBJ2VAL(obj);
 }
@@ -33050,102 +33201,103 @@ val_t NEW_parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1) {
   parser_prod___AAttrExpr___init_aattrexpr(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_AAttrAssignExpr[95] = {
-  {(long int) 3763 /* 0: Identity */},
-  {(long int) 3 /* 1: AAttrAssignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAttrAssignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAttrAssignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAttrAssignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3575 /* 5: AAttrAssignExpr < AAttrFormExpr: superclass typecheck marker */},
-  {(long int) 3583 /* 6: AAttrAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(long int) 3763 /* 7: AAttrAssignExpr < AAttrAssignExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAttrAssignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAttrAssignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAttrAssignExpr___visit_all},
-  {(long int) parser_prod___AAttrAssignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAttrAssignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AAttrAssignExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAttrAssignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AAttrAssignExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAttrAssignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___AAttrAssignExpr___empty_init},
-  {(long int) parser_prod___AAttrAssignExpr___init_aattrassignexpr},
-  {(long int) 6 /* 78: AAttrAssignExpr < AAttrAssignExpr: superclass init_table position */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 5 /* 81: AAttrAssignExpr < AAssignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAssignFormExpr___n_assign},
-  {(long int) parser_prod___AAttrAssignExpr___n_assign__eq},
-  {(long int) parser_nodes___AAssignFormExpr___n_value},
-  {(long int) parser_prod___AAttrAssignExpr___n_value__eq},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) typing___AAttrFormExpr___prop},
-  {(long int) typing___AAttrFormExpr___do_typing},
-  {(long int) 4 /* 90: AAttrAssignExpr < AAttrFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAttrFormExpr___n_expr},
-  {(long int) parser_prod___AAttrAssignExpr___n_expr__eq},
-  {(long int) parser_nodes___AAttrFormExpr___n_id},
-  {(long int) parser_prod___AAttrAssignExpr___n_id__eq},
+const classtable_elt_t VFT_AAttrAssignExpr[96] = {
+  {(bigint) 3775 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAttrAssignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAttrAssignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAttrAssignExpr___visit_all},
+  {(bigint) parser_prod___AAttrAssignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAttrAssignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AAttrAssignExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 5 /* 81: 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},
+  {(bigint) parser_prod___AAttrAssignExpr___n_value__eq},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) typing___AAttrFormExpr___prop},
+  {(bigint) typing___AAttrFormExpr___attr_type},
+  {(bigint) typing___AAttrFormExpr___do_typing},
+  {(bigint) 4 /* 91: 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},
+  {(bigint) parser_prod___AAttrAssignExpr___n_id__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAttrAssignExpr::_parent */
@@ -33159,11 +33311,12 @@ const classtable_elt_t VFT_AAttrAssignExpr[95] = {
 /* 9: Attribute AAttrAssignExpr::_n_value */
 /* Instance Hole :( */
 /* 11: Attribute AAttrAssignExpr::_prop */
-/* 12: Attribute AAttrAssignExpr::_n_expr */
-/* 13: Attribute AAttrAssignExpr::_n_id */
+/* 12: Attribute AAttrAssignExpr::_attr_type */
+/* 13: Attribute AAttrAssignExpr::_n_expr */
+/* 14: Attribute AAttrAssignExpr::_n_id */
 val_t NEW_AAttrAssignExpr(void) {
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 14);
+  obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrAssignExpr;
   return OBJ2VAL(obj);
 }
@@ -33180,115 +33333,115 @@ val_t NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p
   return self;
 }
 const classtable_elt_t VFT_ACallFormExpr[109] = {
-  {(long int) 3815 /* 0: Identity */},
-  {(long int) 3 /* 1: ACallFormExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ACallFormExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ACallFormExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ACallFormExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ACallFormExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ACallFormExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ACallFormExpr < ASendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3815 /* 10: ACallFormExpr < ACallFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ACallFormExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASendExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASendExpr___visit_all},
-  {(long int) parser_prod___ASendExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ACallFormExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ACallFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ACallFormExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ACallFormExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ACallFormExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ACallFormExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ASendExpr___name},
-  {(long int) typing___ASendExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ACallFormExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ASendExpr___n_expr__eq},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) typing___ACallFormExpr___variable_create},
-  {(long int) 7 /* 104: ACallFormExpr < ACallFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ACallFormExpr___n_id},
-  {(long int) parser_nodes___ACallFormExpr___n_id__eq},
-  {(long int) parser_nodes___ACallFormExpr___n_args},
-  {(long int) parser_nodes___ACallFormExpr___n_args__eq},
+  {(bigint) 3819 /* 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 */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3819 /* 10: ACallFormExpr < ACallFormExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ACallFormExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASendExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASendExpr___visit_all},
+  {(bigint) parser_prod___ASendExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ACallFormExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ACallFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ACallFormExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ASendExpr___name},
+  {(bigint) typing___ASendExpr___raw_arguments},
+  {(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) 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) parser_nodes___ACallFormExpr___n_id},
+  {(bigint) parser_nodes___ACallFormExpr___n_id__eq},
+  {(bigint) parser_nodes___ACallFormExpr___n_args},
+  {(bigint) parser_nodes___ACallFormExpr___n_args__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACallFormExpr::_parent */
@@ -33311,102 +33464,103 @@ val_t NEW_ACallFormExpr(void) {
   obj->vft = (classtable_elt_t*)VFT_ACallFormExpr;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_AAttrReassignExpr[95] = {
-  {(long int) 3755 /* 0: Identity */},
-  {(long int) 3 /* 1: AAttrReassignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAttrReassignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAttrReassignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAttrReassignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3575 /* 5: AAttrReassignExpr < AAttrFormExpr: superclass typecheck marker */},
-  {(long int) 3383 /* 6: AAttrReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(long int) 3755 /* 7: AAttrReassignExpr < AAttrReassignExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAttrReassignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AAttrReassignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AAttrReassignExpr___visit_all},
-  {(long int) parser_prod___AAttrReassignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAttrReassignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AAttrReassignExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAttrReassignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AAttrReassignExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAttrReassignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___AAttrReassignExpr___empty_init},
-  {(long int) parser_prod___AAttrReassignExpr___init_aattrreassignexpr},
-  {(long int) 6 /* 78: AAttrReassignExpr < AAttrReassignExpr: superclass init_table position */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) typing___AReassignFormExpr___do_lvalue_typing},
-  {(long int) typing___AReassignFormExpr___assign_method},
-  {(long int) 5 /* 83: AAttrReassignExpr < AReassignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op},
-  {(long int) parser_prod___AAttrReassignExpr___n_assign_op__eq},
-  {(long int) parser_nodes___AReassignFormExpr___n_value},
-  {(long int) parser_prod___AAttrReassignExpr___n_value__eq},
-  {(long int) typing___AAttrFormExpr___prop},
-  {(long int) typing___AAttrFormExpr___do_typing},
-  {(long int) 4 /* 90: AAttrReassignExpr < AAttrFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAttrFormExpr___n_expr},
-  {(long int) parser_prod___AAttrReassignExpr___n_expr__eq},
-  {(long int) parser_nodes___AAttrFormExpr___n_id},
-  {(long int) parser_prod___AAttrReassignExpr___n_id__eq},
+const classtable_elt_t VFT_AAttrReassignExpr[96] = {
+  {(bigint) 3767 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAttrReassignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAttrReassignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAttrReassignExpr___visit_all},
+  {(bigint) parser_prod___AAttrReassignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAttrReassignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AAttrReassignExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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 */},
+  {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) parser_nodes___AReassignFormExpr___n_assign_op},
+  {(bigint) parser_prod___AAttrReassignExpr___n_assign_op__eq},
+  {(bigint) parser_nodes___AReassignFormExpr___n_value},
+  {(bigint) parser_prod___AAttrReassignExpr___n_value__eq},
+  {(bigint) typing___AAttrFormExpr___prop},
+  {(bigint) typing___AAttrFormExpr___attr_type},
+  {(bigint) typing___AAttrFormExpr___do_typing},
+  {(bigint) 4 /* 91: 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},
+  {(bigint) parser_prod___AAttrReassignExpr___n_id__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAttrReassignExpr::_parent */
@@ -33420,11 +33574,12 @@ const classtable_elt_t VFT_AAttrReassignExpr[95] = {
 /* 9: Attribute AAttrReassignExpr::_n_assign_op */
 /* 10: Attribute AAttrReassignExpr::_n_value */
 /* 11: Attribute AAttrReassignExpr::_prop */
-/* 12: Attribute AAttrReassignExpr::_n_expr */
-/* 13: Attribute AAttrReassignExpr::_n_id */
+/* 12: Attribute AAttrReassignExpr::_attr_type */
+/* 13: Attribute AAttrReassignExpr::_n_expr */
+/* 14: Attribute AAttrReassignExpr::_n_id */
 val_t NEW_AAttrReassignExpr(void) {
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 14);
+  obj = alloc(sizeof(val_t) * 15);
   obj->vft = (classtable_elt_t*)VFT_AAttrReassignExpr;
   return OBJ2VAL(obj);
 }
@@ -33441,118 +33596,118 @@ val_t NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val
   return self;
 }
 const classtable_elt_t VFT_ACallExpr[112] = {
-  {(long int) 3879 /* 0: Identity */},
-  {(long int) 3 /* 1: ACallExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ACallExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ACallExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ACallExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ACallExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ACallExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ACallExpr < ASendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3815 /* 10: ACallExpr < ACallFormExpr: superclass typecheck marker */},
-  {(long int) 3879 /* 11: ACallExpr < ACallExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ACallExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ACallExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ACallExpr___visit_all},
-  {(long int) parser_prod___ACallExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ACallExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ACallFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ACallExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ACallExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ACallExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ACallExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ACallExpr___name},
-  {(long int) typing___ACallExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ACallExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ACallExpr___n_expr__eq},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) typing___ACallExpr___variable_create},
-  {(long int) 7 /* 104: ACallExpr < ACallFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ACallFormExpr___n_id},
-  {(long int) parser_prod___ACallExpr___n_id__eq},
-  {(long int) parser_nodes___ACallFormExpr___n_args},
-  {(long int) parser_nodes___ACallFormExpr___n_args__eq},
-  {(long int) parser_prod___ACallExpr___empty_init},
-  {(long int) parser_prod___ACallExpr___init_acallexpr},
-  {(long int) 8 /* 111: ACallExpr < ACallExpr: superclass init_table position */},
+  {(bigint) 3883 /* 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 */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3819 /* 10: ACallExpr < ACallFormExpr: superclass typecheck marker */},
+  {(bigint) 3883 /* 11: ACallExpr < ACallExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ACallExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ACallExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ACallExpr___visit_all},
+  {(bigint) parser_prod___ACallExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ACallExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ACallFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ACallExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ACallExpr___name},
+  {(bigint) typing___ACallExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACallExpr::_parent */
@@ -33588,115 +33743,115 @@ val_t NEW_parser_prod___ACallExpr___init_acallexpr(val_t p0, val_t p1, val_t p2)
   return self;
 }
 const classtable_elt_t VFT_ACallAssignExpr[109] = {
-  {(long int) 3883 /* 0: Identity */},
-  {(long int) 3 /* 1: ACallAssignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ACallAssignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ACallAssignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ACallAssignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ACallAssignExpr < AAbsSendExpr: superclass typecheck marker */},
-  {(long int) 3583 /* 6: ACallAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(long int) 3663 /* 7: ACallAssignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ACallAssignExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3883 /* 9: ACallAssignExpr < ACallAssignExpr: superclass typecheck marker */},
-  {(long int) 3815 /* 10: ACallAssignExpr < ACallFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ACallAssignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ACallAssignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ACallAssignExpr___visit_all},
-  {(long int) parser_prod___ACallAssignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ACallAssignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ACallFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ACallAssignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ACallAssignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ACallAssignExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {(long int) parser_prod___ACallAssignExpr___empty_init},
-  {(long int) parser_prod___ACallAssignExpr___init_acallassignexpr},
-  {(long int) 9 /* 80: ACallAssignExpr < ACallAssignExpr: superclass init_table position */},
-  {(long int) 8 /* 81: ACallAssignExpr < AAssignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAssignFormExpr___n_assign},
-  {(long int) parser_prod___ACallAssignExpr___n_assign__eq},
-  {(long int) parser_nodes___AAssignFormExpr___n_value},
-  {(long int) parser_prod___ACallAssignExpr___n_value__eq},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ACallAssignExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ACallAssignExpr___name},
-  {(long int) typing___ACallAssignExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ACallAssignExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ACallAssignExpr___n_expr__eq},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) typing___ACallAssignExpr___variable_create},
-  {(long int) 7 /* 104: ACallAssignExpr < ACallFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ACallFormExpr___n_id},
-  {(long int) parser_prod___ACallAssignExpr___n_id__eq},
-  {(long int) parser_nodes___ACallFormExpr___n_args},
-  {(long int) parser_nodes___ACallFormExpr___n_args__eq},
+  {(bigint) 3887 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ACallAssignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ACallAssignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ACallAssignExpr___visit_all},
+  {(bigint) parser_prod___ACallAssignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ACallAssignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ACallFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) 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) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ACallAssignExpr___name},
+  {(bigint) typing___ACallAssignExpr___raw_arguments},
+  {(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) 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) parser_nodes___ACallFormExpr___n_id},
+  {(bigint) parser_prod___ACallAssignExpr___n_id__eq},
+  {(bigint) parser_nodes___ACallFormExpr___n_args},
+  {(bigint) parser_nodes___ACallFormExpr___n_args__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACallAssignExpr::_parent */
@@ -33732,118 +33887,118 @@ val_t NEW_parser_prod___ACallAssignExpr___init_acallassignexpr(val_t p0, val_t p
   return self;
 }
 const classtable_elt_t VFT_ACallReassignExpr[112] = {
-  {(long int) 3875 /* 0: Identity */},
-  {(long int) 3 /* 1: ACallReassignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ACallReassignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ACallReassignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ACallReassignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ACallReassignExpr < AAbsSendExpr: superclass typecheck marker */},
-  {(long int) 3383 /* 6: ACallReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(long int) 3663 /* 7: ACallReassignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ACallReassignExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3807 /* 9: ACallReassignExpr < ASendReassignExpr: superclass typecheck marker */},
-  {(long int) 3815 /* 10: ACallReassignExpr < ACallFormExpr: superclass typecheck marker */},
-  {(long int) 3875 /* 11: ACallReassignExpr < ACallReassignExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 4 /* 20: ACallReassignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ACallReassignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ACallReassignExpr___visit_all},
-  {(long int) parser_prod___ACallReassignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 5 /* 57: ACallReassignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ACallFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 6 /* 66: ACallReassignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendReassignExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 7 /* 71: ACallReassignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 1 /* 76: ACallReassignExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {(long int) 0 /* 78: ACallReassignExpr < ASendReassignExpr: superclass init_table position */},
-  {(long int) typing___ASendReassignExpr___read_prop},
-  {0} /* Class Hole :( */,
-  {(long int) typing___AReassignFormExpr___do_lvalue_typing},
-  {(long int) typing___AReassignFormExpr___assign_method},
-  {(long int) 8 /* 83: ACallReassignExpr < AReassignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op},
-  {(long int) parser_prod___ACallReassignExpr___n_assign_op__eq},
-  {(long int) parser_nodes___AReassignFormExpr___n_value},
-  {(long int) parser_prod___ACallReassignExpr___n_value__eq},
-  {(long int) 2 /* 88: ACallReassignExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ACallReassignExpr___name},
-  {(long int) typing___ACallReassignExpr___raw_arguments},
-  {(long int) typing___ASendReassignExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 3 /* 99: ACallReassignExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ACallReassignExpr___n_expr__eq},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) typing___ACallReassignExpr___variable_create},
-  {(long int) 9 /* 104: ACallReassignExpr < ACallFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ACallFormExpr___n_id},
-  {(long int) parser_prod___ACallReassignExpr___n_id__eq},
-  {(long int) parser_nodes___ACallFormExpr___n_args},
-  {(long int) parser_nodes___ACallFormExpr___n_args__eq},
-  {(long int) parser_prod___ACallReassignExpr___empty_init},
-  {(long int) parser_prod___ACallReassignExpr___init_acallreassignexpr},
-  {(long int) 10 /* 111: ACallReassignExpr < ACallReassignExpr: superclass init_table position */},
+  {(bigint) 3879 /* 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 */},
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 4 /* 20: ACallReassignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ACallReassignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ACallReassignExpr___visit_all},
+  {(bigint) parser_prod___ACallReassignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 5 /* 57: ACallReassignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ACallFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {(bigint) 0 /* 78: 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) 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) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ACallReassignExpr___name},
+  {(bigint) typing___ACallReassignExpr___raw_arguments},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACallReassignExpr::_parent */
@@ -33879,110 +34034,110 @@ val_t NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t p0, val
   return self;
 }
 const classtable_elt_t VFT_ASuperExpr[104] = {
-  {(long int) 3787 /* 0: Identity */},
-  {(long int) 3 /* 1: ASuperExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASuperExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASuperExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ASuperExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ASuperExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ASuperExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3787 /* 8: ASuperExpr < ASuperExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ASuperExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASuperExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASuperExpr___visit_all},
-  {(long int) parser_prod___ASuperExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ASuperExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASuperExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ASuperExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASuperExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASuperExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ASuperExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ASuperExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ASuperExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ASuperExpr___init_in_superclass},
-  {(long int) parser_prod___ASuperExpr___empty_init},
-  {(long int) parser_prod___ASuperExpr___init_asuperexpr},
-  {(long int) 6 /* 97: ASuperExpr < ASuperExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASuperExpr___n_qualified},
-  {(long int) parser_prod___ASuperExpr___n_qualified__eq},
-  {(long int) parser_nodes___ASuperExpr___n_kwsuper},
-  {(long int) parser_prod___ASuperExpr___n_kwsuper__eq},
-  {(long int) parser_nodes___ASuperExpr___n_args},
-  {(long int) parser_nodes___ASuperExpr___n_args__eq},
+  {(bigint) 3791 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ASuperExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASuperExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASuperExpr___visit_all},
+  {(bigint) parser_prod___ASuperExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ASuperExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASuperExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ASuperExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(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) parser_nodes___ASuperExpr___n_qualified},
+  {(bigint) parser_prod___ASuperExpr___n_qualified__eq},
+  {(bigint) parser_nodes___ASuperExpr___n_kwsuper},
+  {(bigint) parser_prod___ASuperExpr___n_kwsuper__eq},
+  {(bigint) parser_nodes___ASuperExpr___n_args},
+  {(bigint) parser_nodes___ASuperExpr___n_args__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASuperExpr::_parent */
@@ -34015,115 +34170,115 @@ val_t NEW_parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p
   return self;
 }
 const classtable_elt_t VFT_AInitExpr[109] = {
-  {(long int) 3811 /* 0: Identity */},
-  {(long int) 3 /* 1: AInitExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AInitExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AInitExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AInitExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AInitExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: AInitExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: AInitExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3811 /* 9: AInitExpr < AInitExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: AInitExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AInitExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AInitExpr___visit_all},
-  {(long int) parser_prod___AInitExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: AInitExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: AInitExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: AInitExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AInitExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: AInitExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___AInitExpr___name},
-  {(long int) typing___AInitExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: AInitExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___AInitExpr___n_expr__eq},
-  {(long int) parser_prod___AInitExpr___empty_init},
-  {(long int) parser_prod___AInitExpr___init_ainitexpr},
-  {(long int) 7 /* 104: AInitExpr < AInitExpr: superclass init_table position */},
-  {(long int) parser_nodes___AInitExpr___n_kwinit},
-  {(long int) parser_prod___AInitExpr___n_kwinit__eq},
-  {(long int) parser_nodes___AInitExpr___n_args},
-  {(long int) parser_nodes___AInitExpr___n_args__eq},
+  {(bigint) 3815 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: AInitExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AInitExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AInitExpr___visit_all},
+  {(bigint) parser_prod___AInitExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: AInitExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: AInitExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___AInitExpr___name},
+  {(bigint) typing___AInitExpr___raw_arguments},
+  {(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) 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) parser_nodes___AInitExpr___n_kwinit},
+  {(bigint) parser_prod___AInitExpr___n_kwinit__eq},
+  {(bigint) parser_nodes___AInitExpr___n_args},
+  {(bigint) parser_nodes___AInitExpr___n_args__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AInitExpr::_parent */
@@ -34158,111 +34313,111 @@ val_t NEW_parser_prod___AInitExpr___init_ainitexpr(val_t p0, val_t p1, val_t p2)
   return self;
 }
 const classtable_elt_t VFT_ABraFormExpr[105] = {
-  {(long int) 3819 /* 0: Identity */},
-  {(long int) 3 /* 1: ABraFormExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABraFormExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABraFormExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABraFormExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ABraFormExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ABraFormExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ABraFormExpr < ASendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3819 /* 10: ABraFormExpr < ABraFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ABraFormExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASendExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASendExpr___visit_all},
-  {(long int) parser_prod___ASendExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ABraFormExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ABraFormExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ABraFormExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ABraFormExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ABraFormExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ASendExpr___name},
-  {(long int) typing___ASendExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ABraFormExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ASendExpr___n_expr__eq},
-  {(long int) 7 /* 102: ABraFormExpr < ABraFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABraFormExpr___n_args},
-  {(long int) parser_nodes___ABraFormExpr___n_args__eq},
+  {(bigint) 3823 /* 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 */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3823 /* 10: ABraFormExpr < ABraFormExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ABraFormExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASendExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASendExpr___visit_all},
+  {(bigint) parser_prod___ASendExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ABraFormExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ABraFormExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ASendExpr___name},
+  {(bigint) typing___ASendExpr___raw_arguments},
+  {(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) parser_nodes___ASendExpr___n_expr},
+  {(bigint) parser_prod___ASendExpr___n_expr__eq},
+  {(bigint) 7 /* 102: ABraFormExpr < ABraFormExpr: superclass init_table position */},
+  {(bigint) parser_nodes___ABraFormExpr___n_args},
+  {(bigint) parser_nodes___ABraFormExpr___n_args__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraFormExpr::_parent */
@@ -34285,114 +34440,114 @@ val_t NEW_ABraFormExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_ABraExpr[108] = {
-  {(long int) 3891 /* 0: Identity */},
-  {(long int) 3 /* 1: ABraExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABraExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABraExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABraExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ABraExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ABraExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ABraExpr < ASendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3819 /* 10: ABraExpr < ABraFormExpr: superclass typecheck marker */},
-  {(long int) 3891 /* 11: ABraExpr < ABraExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ABraExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABraExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABraExpr___visit_all},
-  {(long int) parser_prod___ABraExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ABraExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ABraExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ABraExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ABraExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ABraExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ABraExpr___name},
-  {(long int) typing___ABraExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ABraExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ABraExpr___n_expr__eq},
-  {(long int) 7 /* 102: ABraExpr < ABraFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABraFormExpr___n_args},
-  {(long int) parser_nodes___ABraFormExpr___n_args__eq},
-  {(long int) parser_prod___ABraExpr___empty_init},
-  {(long int) parser_prod___ABraExpr___init_abraexpr},
-  {(long int) 8 /* 107: ABraExpr < ABraExpr: superclass init_table position */},
+  {(bigint) 3895 /* 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 */},
+  {0} /* Class Hole :( */,
+  {(bigint) 3823 /* 10: ABraExpr < ABraFormExpr: superclass typecheck marker */},
+  {(bigint) 3895 /* 11: ABraExpr < ABraExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ABraExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABraExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABraExpr___visit_all},
+  {(bigint) parser_prod___ABraExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ABraExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 1 /* 88: ABraExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ABraExpr___name},
+  {(bigint) typing___ABraExpr___raw_arguments},
+  {(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) parser_nodes___ASendExpr___n_expr},
+  {(bigint) parser_prod___ABraExpr___n_expr__eq},
+  {(bigint) 7 /* 102: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraExpr::_parent */
@@ -34427,111 +34582,111 @@ val_t NEW_parser_prod___ABraExpr___init_abraexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ABraAssignExpr[105] = {
-  {(long int) 3895 /* 0: Identity */},
-  {(long int) 3 /* 1: ABraAssignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABraAssignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABraAssignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABraAssignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ABraAssignExpr < AAbsSendExpr: superclass typecheck marker */},
-  {(long int) 3583 /* 6: ABraAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(long int) 3663 /* 7: ABraAssignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ABraAssignExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3895 /* 9: ABraAssignExpr < ABraAssignExpr: superclass typecheck marker */},
-  {(long int) 3819 /* 10: ABraAssignExpr < ABraFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ABraAssignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABraAssignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABraAssignExpr___visit_all},
-  {(long int) parser_prod___ABraAssignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ABraAssignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ABraAssignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ABraAssignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ABraAssignExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {(long int) parser_prod___ABraAssignExpr___empty_init},
-  {(long int) parser_prod___ABraAssignExpr___init_abraassignexpr},
-  {(long int) 9 /* 80: ABraAssignExpr < ABraAssignExpr: superclass init_table position */},
-  {(long int) 8 /* 81: ABraAssignExpr < AAssignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAssignFormExpr___n_assign},
-  {(long int) parser_prod___ABraAssignExpr___n_assign__eq},
-  {(long int) parser_nodes___AAssignFormExpr___n_value},
-  {(long int) parser_prod___ABraAssignExpr___n_value__eq},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 1 /* 88: ABraAssignExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ABraAssignExpr___name},
-  {(long int) typing___ABraAssignExpr___raw_arguments},
-  {(long int) typing___ASendExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ABraAssignExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ABraAssignExpr___n_expr__eq},
-  {(long int) 7 /* 102: ABraAssignExpr < ABraFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABraFormExpr___n_args},
-  {(long int) parser_nodes___ABraFormExpr___n_args__eq},
+  {(bigint) 3899 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ABraAssignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABraAssignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABraAssignExpr___visit_all},
+  {(bigint) parser_prod___ABraAssignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ABraAssignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) 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) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ABraAssignExpr___name},
+  {(bigint) typing___ABraAssignExpr___raw_arguments},
+  {(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) parser_nodes___ASendExpr___n_expr},
+  {(bigint) parser_prod___ABraAssignExpr___n_expr__eq},
+  {(bigint) 7 /* 102: ABraAssignExpr < ABraFormExpr: superclass init_table position */},
+  {(bigint) parser_nodes___ABraFormExpr___n_args},
+  {(bigint) parser_nodes___ABraFormExpr___n_args__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraAssignExpr::_parent */
@@ -34566,87 +34721,87 @@ val_t NEW_parser_prod___ABraAssignExpr___init_abraassignexpr(val_t p0, val_t p1,
   return self;
 }
 const classtable_elt_t VFT_AVarFormExpr[81] = {
-  {(long int) 3327 /* 0: Identity */},
-  {(long int) 3 /* 1: AVarFormExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AVarFormExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AVarFormExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AVarFormExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3327 /* 5: AVarFormExpr < AVarFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AVarFormExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AVarFormExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AVarFormExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AVarFormExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) typing___AVarFormExpr___variable},
-  {(long int) typing___AVarFormExpr___variable__eq},
-  {(long int) 4 /* 78: AVarFormExpr < AVarFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AVarFormExpr___n_id},
-  {(long int) parser_nodes___AVarFormExpr___n_id__eq},
+  {(bigint) 3335 /* 0: Identity */},
+  {(bigint) 3 /* 1: AVarFormExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AVarFormExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AVarFormExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AVarFormExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3335 /* 5: AVarFormExpr < AVarFormExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AVarFormExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AVarFormExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AVarFormExpr___n_id},
+  {(bigint) parser_nodes___AVarFormExpr___n_id__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVarFormExpr::_parent */
@@ -34663,114 +34818,114 @@ val_t NEW_AVarFormExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_ABraReassignExpr[108] = {
-  {(long int) 3887 /* 0: Identity */},
-  {(long int) 3 /* 1: ABraReassignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABraReassignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABraReassignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABraReassignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ABraReassignExpr < AAbsSendExpr: superclass typecheck marker */},
-  {(long int) 3383 /* 6: ABraReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(long int) 3663 /* 7: ABraReassignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ABraReassignExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3807 /* 9: ABraReassignExpr < ASendReassignExpr: superclass typecheck marker */},
-  {(long int) 3819 /* 10: ABraReassignExpr < ABraFormExpr: superclass typecheck marker */},
-  {(long int) 3887 /* 11: ABraReassignExpr < ABraReassignExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 4 /* 20: ABraReassignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ABraReassignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ABraReassignExpr___visit_all},
-  {(long int) parser_prod___ABraReassignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 5 /* 57: ABraReassignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 6 /* 66: ABraReassignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendReassignExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 7 /* 71: ABraReassignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 1 /* 76: ABraReassignExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {(long int) 0 /* 78: ABraReassignExpr < ASendReassignExpr: superclass init_table position */},
-  {(long int) typing___ASendReassignExpr___read_prop},
-  {0} /* Class Hole :( */,
-  {(long int) typing___AReassignFormExpr___do_lvalue_typing},
-  {(long int) typing___AReassignFormExpr___assign_method},
-  {(long int) 8 /* 83: ABraReassignExpr < AReassignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op},
-  {(long int) parser_prod___ABraReassignExpr___n_assign_op__eq},
-  {(long int) parser_nodes___AReassignFormExpr___n_value},
-  {(long int) parser_prod___ABraReassignExpr___n_value__eq},
-  {(long int) 2 /* 88: ABraReassignExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ABraReassignExpr___name},
-  {(long int) typing___ABraReassignExpr___raw_arguments},
-  {(long int) typing___ASendReassignExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 3 /* 99: ABraReassignExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ABraReassignExpr___n_expr__eq},
-  {(long int) 9 /* 102: ABraReassignExpr < ABraFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___ABraFormExpr___n_args},
-  {(long int) parser_nodes___ABraFormExpr___n_args__eq},
-  {(long int) parser_prod___ABraReassignExpr___empty_init},
-  {(long int) parser_prod___ABraReassignExpr___init_abrareassignexpr},
-  {(long int) 10 /* 107: ABraReassignExpr < ABraReassignExpr: superclass init_table position */},
+  {(bigint) 3891 /* 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 */},
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 4 /* 20: ABraReassignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ABraReassignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ABraReassignExpr___visit_all},
+  {(bigint) parser_prod___ABraReassignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 5 /* 57: ABraReassignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {(bigint) 0 /* 78: 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) 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) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ABraReassignExpr___name},
+  {(bigint) typing___ABraReassignExpr___raw_arguments},
+  {(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) parser_nodes___ASendExpr___n_expr},
+  {(bigint) parser_prod___ABraReassignExpr___n_expr__eq},
+  {(bigint) 9 /* 102: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABraReassignExpr::_parent */
@@ -34804,91 +34959,92 @@ val_t NEW_parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t p0, val_t
   parser_prod___ABraReassignExpr___init_abrareassignexpr(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVarExpr[84] = {
-  {(long int) 3651 /* 0: Identity */},
-  {(long int) 3 /* 1: AVarExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AVarExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AVarExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AVarExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3327 /* 5: AVarExpr < AVarFormExpr: superclass typecheck marker */},
-  {(long int) 3651 /* 6: AVarExpr < AVarExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AVarExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AVarExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AVarExpr___visit_all},
-  {(long int) parser_prod___AVarExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AVarExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AVarExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AVarExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AVarExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AVarExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___AVarExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) typing___AVarFormExpr___variable},
-  {(long int) typing___AVarFormExpr___variable__eq},
-  {(long int) 4 /* 78: AVarExpr < AVarFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AVarFormExpr___n_id},
-  {(long int) parser_prod___AVarExpr___n_id__eq},
-  {(long int) parser_prod___AVarExpr___empty_init},
-  {(long int) parser_prod___AVarExpr___init_avarexpr},
-  {(long int) 5 /* 83: AVarExpr < AVarExpr: superclass init_table position */},
+const classtable_elt_t VFT_AVarExpr[85] = {
+  {(bigint) 3663 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AVarExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AVarExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AVarExpr___visit_all},
+  {(bigint) parser_prod___AVarExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AVarExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AVarExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AVarExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVarExpr::_parent */
@@ -34916,96 +35072,97 @@ val_t NEW_parser_prod___AVarExpr___init_avarexpr(val_t p0) {
   parser_prod___AVarExpr___init_avarexpr(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVarAssignExpr[89] = {
-  {(long int) 3655 /* 0: Identity */},
-  {(long int) 3 /* 1: AVarAssignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AVarAssignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AVarAssignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AVarAssignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3327 /* 5: AVarAssignExpr < AVarFormExpr: superclass typecheck marker */},
-  {(long int) 3583 /* 6: AVarAssignExpr < AAssignFormExpr: superclass typecheck marker */},
-  {(long int) 3655 /* 7: AVarAssignExpr < AVarAssignExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AVarAssignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AVarAssignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AVarAssignExpr___visit_all},
-  {(long int) parser_prod___AVarAssignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AVarAssignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AVarAssignExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AVarAssignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AVarAssignExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AVarAssignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) typing___AVarFormExpr___variable},
-  {(long int) typing___AVarFormExpr___variable__eq},
-  {(long int) 4 /* 78: AVarAssignExpr < AVarFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AVarFormExpr___n_id},
-  {(long int) parser_prod___AVarAssignExpr___n_id__eq},
-  {(long int) 5 /* 81: AVarAssignExpr < AAssignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AAssignFormExpr___n_assign},
-  {(long int) parser_prod___AVarAssignExpr___n_assign__eq},
-  {(long int) parser_nodes___AAssignFormExpr___n_value},
-  {(long int) parser_prod___AVarAssignExpr___n_value__eq},
-  {(long int) parser_prod___AVarAssignExpr___empty_init},
-  {(long int) parser_prod___AVarAssignExpr___init_avarassignexpr},
-  {(long int) 6 /* 88: AVarAssignExpr < AVarAssignExpr: superclass init_table position */},
+const classtable_elt_t VFT_AVarAssignExpr[90] = {
+  {(bigint) 3667 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AVarAssignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AVarAssignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AVarAssignExpr___visit_all},
+  {(bigint) parser_prod___AVarAssignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AVarAssignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AVarAssignExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AVarAssignExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AVarFormExpr___n_id},
+  {(bigint) parser_prod___AVarAssignExpr___n_id__eq},
+  {(bigint) 5 /* 81: 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},
+  {(bigint) parser_prod___AVarAssignExpr___n_value__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVarAssignExpr::_parent */
@@ -35035,98 +35192,99 @@ val_t NEW_parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1,
   parser_prod___AVarAssignExpr___init_avarassignexpr(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_AVarReassignExpr[91] = {
-  {(long int) 3647 /* 0: Identity */},
-  {(long int) 3 /* 1: AVarReassignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AVarReassignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AVarReassignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AVarReassignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3327 /* 5: AVarReassignExpr < AVarFormExpr: superclass typecheck marker */},
-  {(long int) 3383 /* 6: AVarReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(long int) 3647 /* 7: AVarReassignExpr < AVarReassignExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AVarReassignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AVarReassignExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AVarReassignExpr___visit_all},
-  {(long int) parser_prod___AVarReassignExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AVarReassignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AVarReassignExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AVarReassignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AVarReassignExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AVarReassignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) typing___AVarFormExpr___variable},
-  {(long int) typing___AVarFormExpr___variable__eq},
-  {(long int) 4 /* 78: AVarReassignExpr < AVarFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AVarFormExpr___n_id},
-  {(long int) parser_prod___AVarReassignExpr___n_id__eq},
-  {(long int) typing___AReassignFormExpr___do_lvalue_typing},
-  {(long int) typing___AReassignFormExpr___assign_method},
-  {(long int) 5 /* 83: AVarReassignExpr < AReassignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op},
-  {(long int) parser_prod___AVarReassignExpr___n_assign_op__eq},
-  {(long int) parser_nodes___AReassignFormExpr___n_value},
-  {(long int) parser_prod___AVarReassignExpr___n_value__eq},
-  {(long int) parser_prod___AVarReassignExpr___empty_init},
-  {(long int) parser_prod___AVarReassignExpr___init_avarreassignexpr},
-  {(long int) 6 /* 90: AVarReassignExpr < AVarReassignExpr: superclass init_table position */},
+const classtable_elt_t VFT_AVarReassignExpr[92] = {
+  {(bigint) 3659 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AVarReassignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AVarReassignExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AVarReassignExpr___visit_all},
+  {(bigint) parser_prod___AVarReassignExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AVarReassignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___AVarReassignExpr___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AVarReassignExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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) parser_nodes___AReassignFormExpr___n_assign_op},
+  {(bigint) parser_prod___AVarReassignExpr___n_assign_op__eq},
+  {(bigint) parser_nodes___AReassignFormExpr___n_value},
+  {(bigint) parser_prod___AVarReassignExpr___n_value__eq},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AVarReassignExpr::_parent */
@@ -35158,90 +35316,90 @@ val_t NEW_parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t
   return self;
 }
 const classtable_elt_t VFT_ARangeExpr[84] = {
-  {(long int) 3391 /* 0: Identity */},
-  {(long int) 3 /* 1: ARangeExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ARangeExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ARangeExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ARangeExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3391 /* 5: ARangeExpr < ARangeExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ARangeExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ARangeExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ARangeExpr___visit_all},
-  {(long int) parser_prod___ARangeExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ARangeExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ARangeExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ARangeExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ARangeExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ARangeExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___ARangeExpr___propname},
-  {(long int) parser_prod___ARangeExpr___empty_init},
-  {(long int) parser_prod___ARangeExpr___init_arangeexpr},
-  {(long int) 4 /* 79: ARangeExpr < ARangeExpr: superclass init_table position */},
-  {(long int) parser_nodes___ARangeExpr___n_expr},
-  {(long int) parser_prod___ARangeExpr___n_expr__eq},
-  {(long int) parser_nodes___ARangeExpr___n_expr2},
-  {(long int) parser_prod___ARangeExpr___n_expr2__eq},
+  {(bigint) 3399 /* 0: Identity */},
+  {(bigint) 3 /* 1: ARangeExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ARangeExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ARangeExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ARangeExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3399 /* 5: ARangeExpr < ARangeExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ARangeExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ARangeExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ARangeExpr___visit_all},
+  {(bigint) parser_prod___ARangeExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ARangeExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ARangeExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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___ARangeExpr___propname},
+  {(bigint) parser_prod___ARangeExpr___empty_init},
+  {(bigint) parser_prod___ARangeExpr___init_arangeexpr},
+  {(bigint) 4 /* 79: 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},
+  {(bigint) parser_prod___ARangeExpr___n_expr2__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ARangeExpr::_parent */
@@ -35270,93 +35428,93 @@ val_t NEW_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ACrangeExpr[87] = {
-  {(long int) 3739 /* 0: Identity */},
-  {(long int) 3 /* 1: ACrangeExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ACrangeExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ACrangeExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ACrangeExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3391 /* 5: ACrangeExpr < ARangeExpr: superclass typecheck marker */},
-  {(long int) 3739 /* 6: ACrangeExpr < ACrangeExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ACrangeExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ACrangeExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ACrangeExpr___visit_all},
-  {(long int) parser_prod___ACrangeExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ACrangeExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ARangeExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ACrangeExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ARangeExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ACrangeExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___ACrangeExpr___propname},
-  {(long int) parser_prod___ARangeExpr___empty_init},
-  {(long int) parser_prod___ARangeExpr___init_arangeexpr},
-  {(long int) 4 /* 79: ACrangeExpr < ARangeExpr: superclass init_table position */},
-  {(long int) parser_nodes___ARangeExpr___n_expr},
-  {(long int) parser_prod___ACrangeExpr___n_expr__eq},
-  {(long int) parser_nodes___ARangeExpr___n_expr2},
-  {(long int) parser_prod___ACrangeExpr___n_expr2__eq},
-  {(long int) parser_prod___ACrangeExpr___empty_init},
-  {(long int) parser_prod___ACrangeExpr___init_acrangeexpr},
-  {(long int) 5 /* 86: ACrangeExpr < ACrangeExpr: superclass init_table position */},
+  {(bigint) 3751 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ACrangeExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ACrangeExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ACrangeExpr___visit_all},
+  {(bigint) parser_prod___ACrangeExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ACrangeExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ARangeExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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___ACrangeExpr___propname},
+  {(bigint) parser_prod___ARangeExpr___empty_init},
+  {(bigint) parser_prod___ARangeExpr___init_arangeexpr},
+  {(bigint) 4 /* 79: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACrangeExpr::_parent */
@@ -35385,93 +35543,93 @@ val_t NEW_parser_prod___ACrangeExpr___init_acrangeexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AOrangeExpr[87] = {
-  {(long int) 3679 /* 0: Identity */},
-  {(long int) 3 /* 1: AOrangeExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AOrangeExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AOrangeExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AOrangeExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3391 /* 5: AOrangeExpr < ARangeExpr: superclass typecheck marker */},
-  {(long int) 3679 /* 6: AOrangeExpr < AOrangeExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AOrangeExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AOrangeExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AOrangeExpr___visit_all},
-  {(long int) parser_prod___AOrangeExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AOrangeExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ARangeExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AOrangeExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ARangeExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AOrangeExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AOrangeExpr___propname},
-  {(long int) parser_prod___ARangeExpr___empty_init},
-  {(long int) parser_prod___ARangeExpr___init_arangeexpr},
-  {(long int) 4 /* 79: AOrangeExpr < ARangeExpr: superclass init_table position */},
-  {(long int) parser_nodes___ARangeExpr___n_expr},
-  {(long int) parser_prod___AOrangeExpr___n_expr__eq},
-  {(long int) parser_nodes___ARangeExpr___n_expr2},
-  {(long int) parser_prod___AOrangeExpr___n_expr2__eq},
-  {(long int) parser_prod___AOrangeExpr___empty_init},
-  {(long int) parser_prod___AOrangeExpr___init_aorangeexpr},
-  {(long int) 5 /* 86: AOrangeExpr < AOrangeExpr: superclass init_table position */},
+  {(bigint) 3691 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AOrangeExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AOrangeExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AOrangeExpr___visit_all},
+  {(bigint) parser_prod___AOrangeExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AOrangeExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ARangeExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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___AOrangeExpr___propname},
+  {(bigint) parser_prod___ARangeExpr___empty_init},
+  {(bigint) parser_prod___ARangeExpr___init_arangeexpr},
+  {(bigint) 4 /* 79: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AOrangeExpr::_parent */
@@ -35500,88 +35658,88 @@ val_t NEW_parser_prod___AOrangeExpr___init_aorangeexpr(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AArrayExpr[82] = {
-  {(long int) 3591 /* 0: Identity */},
-  {(long int) 3 /* 1: AArrayExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AArrayExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AArrayExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AArrayExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3591 /* 5: AArrayExpr < AArrayExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AArrayExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AArrayExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AArrayExpr___visit_all},
-  {(long int) parser_prod___AArrayExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AArrayExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AArrayExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AArrayExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AArrayExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AArrayExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) typing___AArrayExpr___stype__eq},
-  {(long int) parser_prod___AArrayExpr___empty_init},
-  {(long int) parser_prod___AArrayExpr___init_aarrayexpr},
-  {(long int) 4 /* 79: AArrayExpr < AArrayExpr: superclass init_table position */},
-  {(long int) parser_nodes___AArrayExpr___n_exprs},
-  {(long int) parser_nodes___AArrayExpr___n_exprs__eq},
+  {(bigint) 3603 /* 0: Identity */},
+  {(bigint) 3 /* 1: AArrayExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AArrayExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AArrayExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AArrayExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3603 /* 5: AArrayExpr < AArrayExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AArrayExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AArrayExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AArrayExpr___visit_all},
+  {(bigint) parser_prod___AArrayExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AArrayExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AArrayExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {(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) parser_nodes___AArrayExpr___n_exprs},
+  {(bigint) parser_nodes___AArrayExpr___n_exprs__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AArrayExpr::_parent */
@@ -35609,87 +35767,87 @@ val_t NEW_parser_prod___AArrayExpr___init_aarrayexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ASelfExpr[81] = {
-  {(long int) 3375 /* 0: Identity */},
-  {(long int) 3 /* 1: ASelfExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASelfExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASelfExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ASelfExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3375 /* 5: ASelfExpr < ASelfExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ASelfExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASelfExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASelfExpr___visit_all},
-  {(long int) parser_prod___ASelfExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ASelfExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASelfExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ASelfExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASelfExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ASelfExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___ASelfExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___ASelfExpr___empty_init},
-  {(long int) parser_prod___ASelfExpr___init_aselfexpr},
-  {(long int) 4 /* 78: ASelfExpr < ASelfExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASelfExpr___n_kwself},
-  {(long int) parser_prod___ASelfExpr___n_kwself__eq},
+  {(bigint) 3383 /* 0: Identity */},
+  {(bigint) 3 /* 1: ASelfExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ASelfExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ASelfExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ASelfExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3383 /* 5: ASelfExpr < ASelfExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ASelfExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASelfExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASelfExpr___visit_all},
+  {(bigint) parser_prod___ASelfExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ASelfExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASelfExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___ASelfExpr___n_kwself},
+  {(bigint) parser_prod___ASelfExpr___n_kwself__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASelfExpr::_parent */
@@ -35717,90 +35875,90 @@ val_t NEW_parser_prod___ASelfExpr___init_aselfexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AImplicitSelfExpr[84] = {
-  {(long int) 3711 /* 0: Identity */},
-  {(long int) 3 /* 1: AImplicitSelfExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AImplicitSelfExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AImplicitSelfExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AImplicitSelfExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3375 /* 5: AImplicitSelfExpr < ASelfExpr: superclass typecheck marker */},
-  {(long int) 3711 /* 6: AImplicitSelfExpr < AImplicitSelfExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AImplicitSelfExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AImplicitSelfExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AImplicitSelfExpr___visit_all},
-  {(long int) parser_prod___AImplicitSelfExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AImplicitSelfExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASelfExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AImplicitSelfExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASelfExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AImplicitSelfExpr < PExpr: superclass init_table position */},
-  {(long int) typing___AImplicitSelfExpr___is_implicit_self},
-  {(long int) typing___ASelfExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___ASelfExpr___empty_init},
-  {(long int) parser_prod___ASelfExpr___init_aselfexpr},
-  {(long int) 4 /* 78: AImplicitSelfExpr < ASelfExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASelfExpr___n_kwself},
-  {(long int) parser_prod___ASelfExpr___n_kwself__eq},
-  {(long int) parser_prod___AImplicitSelfExpr___empty_init},
-  {(long int) parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr},
-  {(long int) 5 /* 83: AImplicitSelfExpr < AImplicitSelfExpr: superclass init_table position */},
+  {(bigint) 3723 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AImplicitSelfExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AImplicitSelfExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AImplicitSelfExpr___visit_all},
+  {(bigint) parser_prod___AImplicitSelfExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AImplicitSelfExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASelfExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AImplicitSelfExpr::_parent */
@@ -35828,88 +35986,88 @@ val_t NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() {
   return self;
 }
 const classtable_elt_t VFT_ATrueExpr[82] = {
-  {(long int) 3659 /* 0: Identity */},
-  {(long int) 3 /* 1: ATrueExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ATrueExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ATrueExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ATrueExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: ATrueExpr < ABoolExpr: superclass typecheck marker */},
-  {(long int) 3659 /* 6: ATrueExpr < ATrueExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ATrueExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ATrueExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ATrueExpr___visit_all},
-  {(long int) parser_prod___ATrueExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ATrueExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ABoolExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ATrueExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ATrueExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ATrueExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: ATrueExpr < ABoolExpr: superclass init_table position */},
-  {(long int) parser_prod___ATrueExpr___empty_init},
-  {(long int) parser_prod___ATrueExpr___init_atrueexpr},
-  {(long int) 5 /* 79: ATrueExpr < ATrueExpr: superclass init_table position */},
-  {(long int) parser_nodes___ATrueExpr___n_kwtrue},
-  {(long int) parser_prod___ATrueExpr___n_kwtrue__eq},
+  {(bigint) 3671 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ATrueExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ATrueExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ATrueExpr___visit_all},
+  {(bigint) parser_prod___ATrueExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ATrueExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ABoolExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___ATrueExpr___empty_init},
+  {(bigint) parser_prod___ATrueExpr___init_atrueexpr},
+  {(bigint) 5 /* 79: ATrueExpr < ATrueExpr: superclass init_table position */},
+  {(bigint) parser_nodes___ATrueExpr___n_kwtrue},
+  {(bigint) parser_prod___ATrueExpr___n_kwtrue__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ATrueExpr::_parent */
@@ -35937,88 +36095,88 @@ val_t NEW_parser_prod___ATrueExpr___init_atrueexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AFalseExpr[82] = {
-  {(long int) 3719 /* 0: Identity */},
-  {(long int) 3 /* 1: AFalseExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AFalseExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AFalseExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AFalseExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3559 /* 5: AFalseExpr < ABoolExpr: superclass typecheck marker */},
-  {(long int) 3719 /* 6: AFalseExpr < AFalseExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AFalseExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AFalseExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AFalseExpr___visit_all},
-  {(long int) parser_prod___AFalseExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AFalseExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ABoolExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AFalseExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AFalseExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AFalseExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: AFalseExpr < ABoolExpr: superclass init_table position */},
-  {(long int) parser_prod___AFalseExpr___empty_init},
-  {(long int) parser_prod___AFalseExpr___init_afalseexpr},
-  {(long int) 5 /* 79: AFalseExpr < AFalseExpr: superclass init_table position */},
-  {(long int) parser_nodes___AFalseExpr___n_kwfalse},
-  {(long int) parser_prod___AFalseExpr___n_kwfalse__eq},
+  {(bigint) 3731 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AFalseExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AFalseExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AFalseExpr___visit_all},
+  {(bigint) parser_prod___AFalseExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AFalseExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ABoolExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AFalseExpr___empty_init},
+  {(bigint) parser_prod___AFalseExpr___init_afalseexpr},
+  {(bigint) 5 /* 79: AFalseExpr < AFalseExpr: superclass init_table position */},
+  {(bigint) parser_nodes___AFalseExpr___n_kwfalse},
+  {(bigint) parser_prod___AFalseExpr___n_kwfalse__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AFalseExpr::_parent */
@@ -36046,87 +36204,87 @@ val_t NEW_parser_prod___AFalseExpr___init_afalseexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ANullExpr[81] = {
-  {(long int) 3435 /* 0: Identity */},
-  {(long int) 3 /* 1: ANullExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ANullExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ANullExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ANullExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3435 /* 5: ANullExpr < ANullExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ANullExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ANullExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ANullExpr___visit_all},
-  {(long int) parser_prod___ANullExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ANullExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ANullExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ANullExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ANullExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ANullExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___ANullExpr___empty_init},
-  {(long int) parser_prod___ANullExpr___init_anullexpr},
-  {(long int) 4 /* 78: ANullExpr < ANullExpr: superclass init_table position */},
-  {(long int) parser_nodes___ANullExpr___n_kwnull},
-  {(long int) parser_prod___ANullExpr___n_kwnull__eq},
+  {(bigint) 3443 /* 0: Identity */},
+  {(bigint) 3 /* 1: ANullExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ANullExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ANullExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ANullExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3443 /* 5: ANullExpr < ANullExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ANullExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ANullExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ANullExpr___visit_all},
+  {(bigint) parser_prod___ANullExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ANullExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ANullExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___ANullExpr___n_kwnull},
+  {(bigint) parser_prod___ANullExpr___n_kwnull__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ANullExpr::_parent */
@@ -36154,87 +36312,87 @@ val_t NEW_parser_prod___ANullExpr___init_anullexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AIntExpr[81] = {
-  {(long int) 3483 /* 0: Identity */},
-  {(long int) 3 /* 1: AIntExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AIntExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AIntExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AIntExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3483 /* 5: AIntExpr < AIntExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AIntExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AIntExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AIntExpr___visit_all},
-  {(long int) parser_prod___AIntExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AIntExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AIntExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AIntExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AIntExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AIntExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___AIntExpr___empty_init},
-  {(long int) parser_prod___AIntExpr___init_aintexpr},
-  {(long int) 4 /* 78: AIntExpr < AIntExpr: superclass init_table position */},
-  {(long int) parser_nodes___AIntExpr___n_number},
-  {(long int) parser_prod___AIntExpr___n_number__eq},
+  {(bigint) 3491 /* 0: Identity */},
+  {(bigint) 3 /* 1: AIntExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AIntExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AIntExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AIntExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3491 /* 5: AIntExpr < AIntExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AIntExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AIntExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AIntExpr___visit_all},
+  {(bigint) parser_prod___AIntExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AIntExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AIntExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AIntExpr___n_number},
+  {(bigint) parser_prod___AIntExpr___n_number__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AIntExpr::_parent */
@@ -36262,87 +36420,87 @@ val_t NEW_parser_prod___AIntExpr___init_aintexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AFloatExpr[81] = {
-  {(long int) 3519 /* 0: Identity */},
-  {(long int) 3 /* 1: AFloatExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AFloatExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AFloatExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AFloatExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3519 /* 5: AFloatExpr < AFloatExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AFloatExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AFloatExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AFloatExpr___visit_all},
-  {(long int) parser_prod___AFloatExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AFloatExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AFloatExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AFloatExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AFloatExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AFloatExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___AFloatExpr___empty_init},
-  {(long int) parser_prod___AFloatExpr___init_afloatexpr},
-  {(long int) 4 /* 78: AFloatExpr < AFloatExpr: superclass init_table position */},
-  {(long int) parser_nodes___AFloatExpr___n_float},
-  {(long int) parser_prod___AFloatExpr___n_float__eq},
+  {(bigint) 3527 /* 0: Identity */},
+  {(bigint) 3 /* 1: AFloatExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AFloatExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AFloatExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AFloatExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3527 /* 5: AFloatExpr < AFloatExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AFloatExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AFloatExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AFloatExpr___visit_all},
+  {(bigint) parser_prod___AFloatExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AFloatExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AFloatExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AFloatExpr___n_float},
+  {(bigint) parser_prod___AFloatExpr___n_float__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AFloatExpr::_parent */
@@ -36370,87 +36528,87 @@ val_t NEW_parser_prod___AFloatExpr___init_afloatexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ACharExpr[81] = {
-  {(long int) 3547 /* 0: Identity */},
-  {(long int) 3 /* 1: ACharExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ACharExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ACharExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ACharExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3547 /* 5: ACharExpr < ACharExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ACharExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ACharExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ACharExpr___visit_all},
-  {(long int) parser_prod___ACharExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ACharExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ACharExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ACharExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ACharExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ACharExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___ACharExpr___empty_init},
-  {(long int) parser_prod___ACharExpr___init_acharexpr},
-  {(long int) 4 /* 78: ACharExpr < ACharExpr: superclass init_table position */},
-  {(long int) parser_nodes___ACharExpr___n_char},
-  {(long int) parser_prod___ACharExpr___n_char__eq},
+  {(bigint) 3555 /* 0: Identity */},
+  {(bigint) 3 /* 1: ACharExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ACharExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ACharExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ACharExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3555 /* 5: ACharExpr < ACharExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ACharExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ACharExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ACharExpr___visit_all},
+  {(bigint) parser_prod___ACharExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ACharExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ACharExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___ACharExpr___n_char},
+  {(bigint) parser_prod___ACharExpr___n_char__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ACharExpr::_parent */
@@ -36478,85 +36636,85 @@ val_t NEW_parser_prod___ACharExpr___init_acharexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AStringFormExpr[79] = {
-  {(long int) 3355 /* 0: Identity */},
-  {(long int) 3 /* 1: AStringFormExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AStringFormExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AStringFormExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AStringFormExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3355 /* 5: AStringFormExpr < AStringFormExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AStringFormExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AStringFormExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AStringFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AStringFormExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AStringFormExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AStringFormExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AStringFormExpr___string_text},
-  {(long int) compiling_methods___AStringFormExpr___compute_string_info},
-  {(long int) 4 /* 78: AStringFormExpr < AStringFormExpr: superclass init_table position */},
+  {(bigint) 3363 /* 0: Identity */},
+  {(bigint) 3 /* 1: AStringFormExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AStringFormExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AStringFormExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AStringFormExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3363 /* 5: AStringFormExpr < AStringFormExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AStringFormExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AStringFormExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AStringFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStringFormExpr::_parent */
@@ -36570,94 +36728,94 @@ val_t NEW_AStringFormExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_AStringFormExpr;
-  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((long int)0);
+  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_AStringExpr[84] = {
-  {(long int) 3667 /* 0: Identity */},
-  {(long int) 3 /* 1: AStringExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AStringExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AStringExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AStringExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3355 /* 5: AStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(long int) 3667 /* 6: AStringExpr < AStringExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AStringExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AStringExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AStringExpr___visit_all},
-  {(long int) parser_prod___AStringExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AStringExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AStringFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AStringExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AStringFormExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AStringExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AStringExpr___string_text},
-  {(long int) compiling_methods___AStringFormExpr___compute_string_info},
-  {(long int) 4 /* 78: AStringExpr < AStringFormExpr: superclass init_table position */},
-  {(long int) parser_prod___AStringExpr___empty_init},
-  {(long int) parser_prod___AStringExpr___init_astringexpr},
-  {(long int) 5 /* 81: AStringExpr < AStringExpr: superclass init_table position */},
-  {(long int) parser_nodes___AStringExpr___n_string},
-  {(long int) parser_prod___AStringExpr___n_string__eq},
+  {(bigint) 3679 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AStringExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AStringExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AStringExpr___visit_all},
+  {(bigint) parser_prod___AStringExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AStringExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AStringFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AStringExpr___empty_init},
+  {(bigint) parser_prod___AStringExpr___init_astringexpr},
+  {(bigint) 5 /* 81: AStringExpr < AStringExpr: superclass init_table position */},
+  {(bigint) parser_nodes___AStringExpr___n_string},
+  {(bigint) parser_prod___AStringExpr___n_string__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStringExpr::_parent */
@@ -36672,7 +36830,7 @@ val_t NEW_AStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AStringExpr;
-  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((long int)0);
+  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_parser_prod___AStringExpr___empty_init() {
@@ -36688,90 +36846,90 @@ val_t NEW_parser_prod___AStringExpr___init_astringexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AStartStringExpr[84] = {
-  {(long int) 3671 /* 0: Identity */},
-  {(long int) 3 /* 1: AStartStringExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AStartStringExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AStartStringExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AStartStringExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3355 /* 5: AStartStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(long int) 3671 /* 6: AStartStringExpr < AStartStringExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AStartStringExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AStartStringExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AStartStringExpr___visit_all},
-  {(long int) parser_prod___AStartStringExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AStartStringExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AStringFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AStartStringExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AStringFormExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AStartStringExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AStartStringExpr___string_text},
-  {(long int) compiling_methods___AStringFormExpr___compute_string_info},
-  {(long int) 4 /* 78: AStartStringExpr < AStringFormExpr: superclass init_table position */},
-  {(long int) parser_prod___AStartStringExpr___empty_init},
-  {(long int) parser_prod___AStartStringExpr___init_astartstringexpr},
-  {(long int) 5 /* 81: AStartStringExpr < AStartStringExpr: superclass init_table position */},
-  {(long int) parser_nodes___AStartStringExpr___n_string},
-  {(long int) parser_prod___AStartStringExpr___n_string__eq},
+  {(bigint) 3683 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AStartStringExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AStartStringExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AStartStringExpr___visit_all},
+  {(bigint) parser_prod___AStartStringExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AStartStringExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AStringFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AStartStringExpr___empty_init},
+  {(bigint) parser_prod___AStartStringExpr___init_astartstringexpr},
+  {(bigint) 5 /* 81: AStartStringExpr < AStartStringExpr: superclass init_table position */},
+  {(bigint) parser_nodes___AStartStringExpr___n_string},
+  {(bigint) parser_prod___AStartStringExpr___n_string__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AStartStringExpr::_parent */
@@ -36786,7 +36944,7 @@ val_t NEW_AStartStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AStartStringExpr;
-  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((long int)0);
+  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_parser_prod___AStartStringExpr___empty_init() {
@@ -36802,90 +36960,90 @@ val_t NEW_parser_prod___AStartStringExpr___init_astartstringexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AMidStringExpr[84] = {
-  {(long int) 3699 /* 0: Identity */},
-  {(long int) 3 /* 1: AMidStringExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AMidStringExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AMidStringExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AMidStringExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3355 /* 5: AMidStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(long int) 3699 /* 6: AMidStringExpr < AMidStringExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AMidStringExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AMidStringExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AMidStringExpr___visit_all},
-  {(long int) parser_prod___AMidStringExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AMidStringExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AStringFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AMidStringExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AStringFormExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AMidStringExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AMidStringExpr___string_text},
-  {(long int) compiling_methods___AStringFormExpr___compute_string_info},
-  {(long int) 4 /* 78: AMidStringExpr < AStringFormExpr: superclass init_table position */},
-  {(long int) parser_prod___AMidStringExpr___empty_init},
-  {(long int) parser_prod___AMidStringExpr___init_amidstringexpr},
-  {(long int) 5 /* 81: AMidStringExpr < AMidStringExpr: superclass init_table position */},
-  {(long int) parser_nodes___AMidStringExpr___n_string},
-  {(long int) parser_prod___AMidStringExpr___n_string__eq},
+  {(bigint) 3711 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AMidStringExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AMidStringExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AMidStringExpr___visit_all},
+  {(bigint) parser_prod___AMidStringExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AMidStringExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AStringFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AMidStringExpr___empty_init},
+  {(bigint) parser_prod___AMidStringExpr___init_amidstringexpr},
+  {(bigint) 5 /* 81: AMidStringExpr < AMidStringExpr: superclass init_table position */},
+  {(bigint) parser_nodes___AMidStringExpr___n_string},
+  {(bigint) parser_prod___AMidStringExpr___n_string__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMidStringExpr::_parent */
@@ -36900,7 +37058,7 @@ val_t NEW_AMidStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AMidStringExpr;
-  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((long int)0);
+  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_parser_prod___AMidStringExpr___empty_init() {
@@ -36916,90 +37074,90 @@ val_t NEW_parser_prod___AMidStringExpr___init_amidstringexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AEndStringExpr[84] = {
-  {(long int) 3727 /* 0: Identity */},
-  {(long int) 3 /* 1: AEndStringExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AEndStringExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AEndStringExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AEndStringExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3355 /* 5: AEndStringExpr < AStringFormExpr: superclass typecheck marker */},
-  {(long int) 3727 /* 6: AEndStringExpr < AEndStringExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AEndStringExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AEndStringExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AEndStringExpr___visit_all},
-  {(long int) parser_prod___AEndStringExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AEndStringExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AStringFormExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AEndStringExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AStringFormExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AEndStringExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AEndStringExpr___string_text},
-  {(long int) compiling_methods___AStringFormExpr___compute_string_info},
-  {(long int) 4 /* 78: AEndStringExpr < AStringFormExpr: superclass init_table position */},
-  {(long int) parser_prod___AEndStringExpr___empty_init},
-  {(long int) parser_prod___AEndStringExpr___init_aendstringexpr},
-  {(long int) 5 /* 81: AEndStringExpr < AEndStringExpr: superclass init_table position */},
-  {(long int) parser_nodes___AEndStringExpr___n_string},
-  {(long int) parser_prod___AEndStringExpr___n_string__eq},
+  {(bigint) 3739 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AEndStringExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AEndStringExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AEndStringExpr___visit_all},
+  {(bigint) parser_prod___AEndStringExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AEndStringExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AStringFormExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_prod___AEndStringExpr___empty_init},
+  {(bigint) parser_prod___AEndStringExpr___init_aendstringexpr},
+  {(bigint) 5 /* 81: AEndStringExpr < AEndStringExpr: superclass init_table position */},
+  {(bigint) parser_nodes___AEndStringExpr___n_string},
+  {(bigint) parser_prod___AEndStringExpr___n_string__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AEndStringExpr::_parent */
@@ -37014,7 +37172,7 @@ val_t NEW_AEndStringExpr(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_AEndStringExpr;
-  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((long int)0);
+  ATTR_compiling_methods___AStringFormExpr____cstring_length(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_parser_prod___AEndStringExpr___empty_init() {
@@ -37030,87 +37188,87 @@ val_t NEW_parser_prod___AEndStringExpr___init_aendstringexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ASuperstringExpr[81] = {
-  {(long int) 3347 /* 0: Identity */},
-  {(long int) 3 /* 1: ASuperstringExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASuperstringExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASuperstringExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ASuperstringExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3347 /* 5: ASuperstringExpr < ASuperstringExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ASuperstringExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASuperstringExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASuperstringExpr___visit_all},
-  {(long int) parser_prod___ASuperstringExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ASuperstringExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASuperstringExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ASuperstringExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASuperstringExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ASuperstringExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) parser_prod___ASuperstringExpr___empty_init},
-  {(long int) parser_prod___ASuperstringExpr___init_asuperstringexpr},
-  {(long int) 4 /* 78: ASuperstringExpr < ASuperstringExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASuperstringExpr___n_exprs},
-  {(long int) parser_nodes___ASuperstringExpr___n_exprs__eq},
+  {(bigint) 3355 /* 0: Identity */},
+  {(bigint) 3 /* 1: ASuperstringExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ASuperstringExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ASuperstringExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ASuperstringExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3355 /* 5: ASuperstringExpr < ASuperstringExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ASuperstringExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASuperstringExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASuperstringExpr___visit_all},
+  {(bigint) parser_prod___ASuperstringExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ASuperstringExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASuperstringExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___ASuperstringExpr___n_exprs},
+  {(bigint) parser_nodes___ASuperstringExpr___n_exprs__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASuperstringExpr::_parent */
@@ -37138,88 +37296,88 @@ val_t NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AParExpr[82] = {
-  {(long int) 3675 /* 0: Identity */},
-  {(long int) 3 /* 1: AParExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AParExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AParExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AParExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3403 /* 5: AParExpr < AProxyExpr: superclass typecheck marker */},
-  {(long int) 3675 /* 6: AParExpr < AParExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 1 /* 20: AParExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AParExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AParExpr___visit_all},
-  {(long int) parser_prod___AParExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 2 /* 57: AParExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AProxyExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 3 /* 66: AParExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AProxyExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 4 /* 71: AParExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: AParExpr < AProxyExpr: superclass init_table position */},
-  {(long int) parser_nodes___AProxyExpr___n_expr},
-  {(long int) parser_prod___AParExpr___n_expr__eq},
-  {(long int) parser_prod___AParExpr___empty_init},
-  {(long int) parser_prod___AParExpr___init_aparexpr},
-  {(long int) 5 /* 81: AParExpr < AParExpr: superclass init_table position */},
+  {(bigint) 3687 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 1 /* 20: AParExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AParExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AParExpr___visit_all},
+  {(bigint) parser_prod___AParExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 2 /* 57: AParExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AProxyExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AParExpr::_parent */
@@ -37247,85 +37405,85 @@ val_t NEW_parser_prod___AParExpr___init_aparexpr(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AProxyExpr[79] = {
-  {(long int) 3403 /* 0: Identity */},
-  {(long int) 3 /* 1: AProxyExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AProxyExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AProxyExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AProxyExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3403 /* 5: AProxyExpr < AProxyExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AProxyExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AProxyExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___AProxyExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AProxyExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___AProxyExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AProxyExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: AProxyExpr < AProxyExpr: superclass init_table position */},
-  {(long int) parser_nodes___AProxyExpr___n_expr},
-  {(long int) parser_nodes___AProxyExpr___n_expr__eq},
+  {(bigint) 3411 /* 0: Identity */},
+  {(bigint) 3 /* 1: AProxyExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AProxyExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AProxyExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AProxyExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3411 /* 5: AProxyExpr < AProxyExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AProxyExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AProxyExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AProxyExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AProxyExpr___n_expr},
+  {(bigint) parser_nodes___AProxyExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AProxyExpr::_parent */
@@ -37340,81 +37498,195 @@ val_t NEW_AProxyExpr(void) {
   obj->vft = (classtable_elt_t*)VFT_AProxyExpr;
   return OBJ2VAL(obj);
 }
+const classtable_elt_t VFT_AAsCastExpr[85] = {
+  {(bigint) 3599 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAsCastExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAsCastExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAsCastExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AAsCastExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3599 /* 5: AAsCastExpr < AAsCastExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAsCastExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AAsCastExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AAsCastExpr___visit_all},
+  {(bigint) parser_prod___AAsCastExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAsCastExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___AAsCastExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) parser_nodes___AAsCastExpr___n_expr},
+  {(bigint) parser_prod___AAsCastExpr___n_expr__eq},
+  {(bigint) parser_nodes___AAsCastExpr___n_kwas},
+  {(bigint) parser_prod___AAsCastExpr___n_kwas__eq},
+  {(bigint) parser_nodes___AAsCastExpr___n_type},
+  {(bigint) parser_prod___AAsCastExpr___n_type__eq},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute AAsCastExpr::_parent */
+/* 2: Attribute AAsCastExpr::_first_token */
+/* 3: Attribute AAsCastExpr::_last_token */
+/* 4: Attribute AAsCastExpr::_stype */
+/* 5: Attribute AAsCastExpr::_if_true_variable_ctx */
+/* 6: Attribute AAsCastExpr::_n_expr */
+/* 7: Attribute AAsCastExpr::_n_kwas */
+/* 8: Attribute AAsCastExpr::_n_type */
+val_t NEW_AAsCastExpr(void) {
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 9);
+  obj->vft = (classtable_elt_t*)VFT_AAsCastExpr;
+  return OBJ2VAL(obj);
+}
+val_t NEW_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) {
+  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] = {
-  {(long int) 3419 /* 0: Identity */},
-  {(long int) 3 /* 1: APlusAssignOp < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: APlusAssignOp < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: APlusAssignOp < Prod: superclass typecheck marker */},
-  {(long int) 3095 /* 4: APlusAssignOp < PAssignOp: superclass typecheck marker */},
-  {(long int) 3419 /* 5: APlusAssignOp < APlusAssignOp: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: APlusAssignOp < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___APlusAssignOp___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___APlusAssignOp___visit_all},
-  {(long int) parser_prod___APlusAssignOp___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: APlusAssignOp < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: APlusAssignOp < Prod: superclass init_table position */},
-  {(long int) typing___APlusAssignOp___method_name},
-  {(long int) 3 /* 68: APlusAssignOp < PAssignOp: superclass init_table position */},
-  {(long int) parser_prod___APlusAssignOp___empty_init},
-  {(long int) parser_prod___APlusAssignOp___init_aplusassignop},
-  {(long int) 4 /* 71: APlusAssignOp < APlusAssignOp: superclass init_table position */},
-  {(long int) parser_nodes___APlusAssignOp___n_pluseq},
-  {(long int) parser_prod___APlusAssignOp___n_pluseq__eq},
+  {(bigint) 3427 /* 0: Identity */},
+  {(bigint) 3 /* 1: APlusAssignOp < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: APlusAssignOp < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: APlusAssignOp < Prod: superclass typecheck marker */},
+  {(bigint) 3111 /* 4: APlusAssignOp < PAssignOp: superclass typecheck marker */},
+  {(bigint) 3427 /* 5: APlusAssignOp < APlusAssignOp: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: APlusAssignOp < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___APlusAssignOp___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___APlusAssignOp___visit_all},
+  {(bigint) parser_prod___APlusAssignOp___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: APlusAssignOp < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) typing___APlusAssignOp___method_name},
+  {(bigint) 3 /* 68: 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) parser_nodes___APlusAssignOp___n_pluseq},
+  {(bigint) parser_prod___APlusAssignOp___n_pluseq__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute APlusAssignOp::_parent */
@@ -37440,80 +37712,80 @@ val_t NEW_parser_prod___APlusAssignOp___init_aplusassignop(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AMinusAssignOp[74] = {
-  {(long int) 3455 /* 0: Identity */},
-  {(long int) 3 /* 1: AMinusAssignOp < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AMinusAssignOp < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AMinusAssignOp < Prod: superclass typecheck marker */},
-  {(long int) 3095 /* 4: AMinusAssignOp < PAssignOp: superclass typecheck marker */},
-  {(long int) 3455 /* 5: AMinusAssignOp < AMinusAssignOp: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AMinusAssignOp < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AMinusAssignOp___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AMinusAssignOp___visit_all},
-  {(long int) parser_prod___AMinusAssignOp___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AMinusAssignOp < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AMinusAssignOp < Prod: superclass init_table position */},
-  {(long int) typing___AMinusAssignOp___method_name},
-  {(long int) 3 /* 68: AMinusAssignOp < PAssignOp: superclass init_table position */},
-  {(long int) parser_prod___AMinusAssignOp___empty_init},
-  {(long int) parser_prod___AMinusAssignOp___init_aminusassignop},
-  {(long int) 4 /* 71: AMinusAssignOp < AMinusAssignOp: superclass init_table position */},
-  {(long int) parser_nodes___AMinusAssignOp___n_minuseq},
-  {(long int) parser_prod___AMinusAssignOp___n_minuseq__eq},
+  {(bigint) 3463 /* 0: Identity */},
+  {(bigint) 3 /* 1: AMinusAssignOp < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AMinusAssignOp < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AMinusAssignOp < Prod: superclass typecheck marker */},
+  {(bigint) 3111 /* 4: AMinusAssignOp < PAssignOp: superclass typecheck marker */},
+  {(bigint) 3463 /* 5: AMinusAssignOp < AMinusAssignOp: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AMinusAssignOp < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AMinusAssignOp___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AMinusAssignOp___visit_all},
+  {(bigint) parser_prod___AMinusAssignOp___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AMinusAssignOp < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) typing___AMinusAssignOp___method_name},
+  {(bigint) 3 /* 68: 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) parser_nodes___AMinusAssignOp___n_minuseq},
+  {(bigint) parser_prod___AMinusAssignOp___n_minuseq__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AMinusAssignOp::_parent */
@@ -37539,81 +37811,81 @@ val_t NEW_parser_prod___AMinusAssignOp___init_aminusassignop(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_AQualified[75] = {
-  {(long int) 3395 /* 0: Identity */},
-  {(long int) 3 /* 1: AQualified < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AQualified < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AQualified < Prod: superclass typecheck marker */},
-  {(long int) 3047 /* 4: AQualified < PQualified: superclass typecheck marker */},
-  {(long int) 3395 /* 5: AQualified < AQualified: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AQualified < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___AQualified___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___AQualified___visit_all},
-  {(long int) parser_prod___AQualified___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AQualified < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AQualified < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: AQualified < PQualified: superclass init_table position */},
-  {(long int) parser_prod___AQualified___empty_init},
-  {(long int) parser_prod___AQualified___init_aqualified},
-  {(long int) 4 /* 70: AQualified < AQualified: superclass init_table position */},
-  {(long int) parser_nodes___AQualified___n_id},
-  {(long int) parser_nodes___AQualified___n_id__eq},
-  {(long int) parser_nodes___AQualified___n_classid},
-  {(long int) parser_prod___AQualified___n_classid__eq},
+  {(bigint) 3403 /* 0: Identity */},
+  {(bigint) 3 /* 1: AQualified < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AQualified < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AQualified < Prod: superclass typecheck marker */},
+  {(bigint) 3063 /* 4: AQualified < PQualified: superclass typecheck marker */},
+  {(bigint) 3403 /* 5: AQualified < AQualified: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AQualified < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___AQualified___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___AQualified___visit_all},
+  {(bigint) parser_prod___AQualified___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AQualified < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) parser_prod___AQualified___empty_init},
+  {(bigint) parser_prod___AQualified___init_aqualified},
+  {(bigint) 4 /* 70: 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},
+  {(bigint) parser_prod___AQualified___n_classid__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AQualified::_parent */
@@ -37640,79 +37912,79 @@ val_t NEW_parser_prod___AQualified___init_aqualified(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ADoc[73] = {
-  {(long int) 3527 /* 0: Identity */},
-  {(long int) 3 /* 1: ADoc < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ADoc < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ADoc < Prod: superclass typecheck marker */},
-  {(long int) 3083 /* 4: ADoc < PDoc: superclass typecheck marker */},
-  {(long int) 3527 /* 5: ADoc < ADoc: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ADoc < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ADoc___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ADoc___visit_all},
-  {(long int) parser_prod___ADoc___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ADoc < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ADoc < Prod: superclass init_table position */},
-  {(long int) 3 /* 67: ADoc < PDoc: superclass init_table position */},
-  {(long int) parser_prod___ADoc___empty_init},
-  {(long int) parser_prod___ADoc___init_adoc},
-  {(long int) 4 /* 70: ADoc < ADoc: superclass init_table position */},
-  {(long int) parser_nodes___ADoc___n_comment},
-  {(long int) parser_nodes___ADoc___n_comment__eq},
+  {(bigint) 3535 /* 0: Identity */},
+  {(bigint) 3 /* 1: ADoc < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ADoc < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ADoc < Prod: superclass typecheck marker */},
+  {(bigint) 3099 /* 4: ADoc < PDoc: superclass typecheck marker */},
+  {(bigint) 3535 /* 5: ADoc < ADoc: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ADoc < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ADoc___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ADoc___visit_all},
+  {(bigint) parser_prod___ADoc___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ADoc < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) parser_prod___ADoc___empty_init},
+  {(bigint) parser_prod___ADoc___init_adoc},
+  {(bigint) 4 /* 70: ADoc < ADoc: superclass init_table position */},
+  {(bigint) parser_nodes___ADoc___n_comment},
+  {(bigint) parser_nodes___ADoc___n_comment__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ADoc::_parent */
@@ -37738,79 +38010,79 @@ val_t NEW_parser_prod___ADoc___init_adoc(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_Start[73] = {
-  {(long int) 3015 /* 0: Identity */},
-  {(long int) 3 /* 1: Start < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: Start < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: Start < Prod: superclass typecheck marker */},
-  {(long int) 3015 /* 4: Start < Start: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Start < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PNode___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PNode___accept_property_builder},
-  {(long int) mmbuilder___PNode___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___Start___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___Start___visit_all},
-  {(long int) parser_prod___Start___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: Start < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: Start < Prod: superclass init_table position */},
-  {(long int) parser_prod___Start___init},
-  {(long int) 3 /* 68: Start < Start: superclass init_table position */},
-  {(long int) parser_nodes___Start___n_base},
-  {(long int) parser_nodes___Start___n_base__eq},
-  {(long int) parser_nodes___Start___n_eof},
-  {(long int) parser_nodes___Start___n_eof__eq},
+  {(bigint) 3031 /* 0: Identity */},
+  {(bigint) 3 /* 1: Start < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: Start < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: Start < Prod: superclass typecheck marker */},
+  {(bigint) 3031 /* 4: Start < Start: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Start < 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) mmbuilder___PNode___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PNode___accept_property_builder},
+  {(bigint) mmbuilder___PNode___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___Start___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___Start___visit_all},
+  {(bigint) parser_prod___Start___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: Start < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) parser_prod___Start___init},
+  {(bigint) 3 /* 68: 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},
+  {(bigint) parser_nodes___Start___n_eof__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Start::_parent */
@@ -37831,58 +38103,58 @@ val_t NEW_parser_prod___Start___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_Lexer[52] = {
-  {(long int) 127 /* 0: Identity */},
-  {(long int) 3 /* 1: Lexer < Object: superclass typecheck marker */},
-  {(long int) 127 /* 2: Lexer < Lexer: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Lexer < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Lexer < Lexer: superclass init_table position */},
-  {(long int) lexer___Lexer___filename},
-  {(long int) lexer___Lexer___state_initial},
-  {(long int) lexer___Lexer___init},
-  {(long int) lexer___Lexer___peek},
-  {(long int) lexer___Lexer___next},
-  {(long int) lexer___Lexer___get_token},
-  {(long int) lexer___Lexer___get_char},
-  {(long int) lexer___Lexer___push_back},
-  {(long int) lexer___Lexer___build_goto_table},
-  {(long int) lexer___Lexer___nil_array},
-  {(long int) lexer___Lexer___build_accept_table},
+  {(bigint) 127 /* 0: Identity */},
+  {(bigint) 3 /* 1: Lexer < Object: superclass typecheck marker */},
+  {(bigint) 127 /* 2: Lexer < Lexer: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Lexer < 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) 1 /* 40: Lexer < Lexer: superclass init_table position */},
+  {(bigint) lexer___Lexer___filename},
+  {(bigint) lexer___Lexer___state_initial},
+  {(bigint) lexer___Lexer___init},
+  {(bigint) lexer___Lexer___peek},
+  {(bigint) lexer___Lexer___next},
+  {(bigint) lexer___Lexer___get_token},
+  {(bigint) lexer___Lexer___get_char},
+  {(bigint) lexer___Lexer___push_back},
+  {(bigint) lexer___Lexer___build_goto_table},
+  {(bigint) lexer___Lexer___nil_array},
+  {(bigint) lexer___Lexer___build_accept_table},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Lexer::_token */
@@ -37902,12 +38174,12 @@ val_t NEW_Lexer(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 14);
   obj->vft = (classtable_elt_t*)VFT_Lexer;
-  ATTR_lexer___Lexer____state(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Lexer____stream_pos(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Lexer____line(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Lexer____pos(obj) = TAG_Int((long int)0);
-  ATTR_lexer___Lexer____cr(obj) = TAG_Bool((long int)0);
-  ATTR_lexer___Lexer____eof(obj) = TAG_Bool((long int)0);
+  ATTR_lexer___Lexer____state(obj) = TAG_Int((bigint)0);
+  ATTR_lexer___Lexer____stream_pos(obj) = TAG_Int((bigint)0);
+  ATTR_lexer___Lexer____line(obj) = TAG_Int((bigint)0);
+  ATTR_lexer___Lexer____pos(obj) = TAG_Int((bigint)0);
+  ATTR_lexer___Lexer____cr(obj) = TAG_Bool((int)0);
+  ATTR_lexer___Lexer____eof(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_lexer___Lexer___init(val_t p0, val_t p1) {
@@ -37917,9 +38189,9 @@ val_t NEW_lexer___Lexer___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_Visitor[42] = {
-  {(long int) 7 /* 0: Identity */},
-  {(long int) 3 /* 1: Visitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: Visitor < Visitor: superclass typecheck marker */},
+  {(bigint) 7 /* 0: Identity */},
+  {(bigint) 3 /* 1: Visitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: Visitor < Visitor: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -37930,35 +38202,35 @@ const classtable_elt_t VFT_Visitor[42] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Visitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Visitor < Visitor: superclass init_table position */},
-  {(long int) parser_prod___Visitor___visit},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Visitor < 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) 1 /* 40: Visitor < Visitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___visit},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_Visitor(void) {
@@ -37967,1228 +38239,1233 @@ val_t NEW_Visitor(void) {
   obj->vft = (classtable_elt_t*)VFT_Visitor;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_Parser[1196] = {
-  {(long int) 59 /* 0: Identity */},
-  {(long int) 3 /* 1: Parser < Object: superclass typecheck marker */},
-  {(long int) 59 /* 2: Parser < Parser: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Parser < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) parser___Parser___init},
-  {(long int) parser___Parser___go_to},
-  {(long int) parser___Parser___push},
-  {(long int) parser___Parser___state},
-  {(long int) parser___Parser___pop},
-  {(long int) parser___Parser___parse},
-  {(long int) parser___Parser___build_reduce_table},
-  {(long int) 1 /* 47: Parser < Parser: superclass init_table position */},
-  {(long int) parser_tables___Parser___build_action_table},
-  {(long int) parser_tables___Parser___action_table_row1},
-  {(long int) parser_tables___Parser___action_table_row2},
-  {(long int) parser_tables___Parser___action_table_row3},
-  {(long int) parser_tables___Parser___action_table_row4},
-  {(long int) parser_tables___Parser___action_table_row5},
-  {(long int) parser_tables___Parser___action_table_row6},
-  {(long int) parser_tables___Parser___action_table_row7},
-  {(long int) parser_tables___Parser___action_table_row8},
-  {(long int) parser_tables___Parser___action_table_row9},
-  {(long int) parser_tables___Parser___action_table_row10},
-  {(long int) parser_tables___Parser___action_table_row11},
-  {(long int) parser_tables___Parser___action_table_row12},
-  {(long int) parser_tables___Parser___action_table_row13},
-  {(long int) parser_tables___Parser___action_table_row14},
-  {(long int) parser_tables___Parser___action_table_row15},
-  {(long int) parser_tables___Parser___action_table_row16},
-  {(long int) parser_tables___Parser___action_table_row17},
-  {(long int) parser_tables___Parser___action_table_row18},
-  {(long int) parser_tables___Parser___action_table_row19},
-  {(long int) parser_tables___Parser___action_table_row20},
-  {(long int) parser_tables___Parser___action_table_row21},
-  {(long int) parser_tables___Parser___action_table_row22},
-  {(long int) parser_tables___Parser___action_table_row23},
-  {(long int) parser_tables___Parser___action_table_row24},
-  {(long int) parser_tables___Parser___action_table_row25},
-  {(long int) parser_tables___Parser___action_table_row26},
-  {(long int) parser_tables___Parser___action_table_row27},
-  {(long int) parser_tables___Parser___action_table_row28},
-  {(long int) parser_tables___Parser___action_table_row29},
-  {(long int) parser_tables___Parser___action_table_row30},
-  {(long int) parser_tables___Parser___action_table_row31},
-  {(long int) parser_tables___Parser___action_table_row32},
-  {(long int) parser_tables___Parser___action_table_row33},
-  {(long int) parser_tables___Parser___action_table_row34},
-  {(long int) parser_tables___Parser___action_table_row35},
-  {(long int) parser_tables___Parser___action_table_row36},
-  {(long int) parser_tables___Parser___action_table_row37},
-  {(long int) parser_tables___Parser___action_table_row38},
-  {(long int) parser_tables___Parser___action_table_row39},
-  {(long int) parser_tables___Parser___action_table_row40},
-  {(long int) parser_tables___Parser___action_table_row41},
-  {(long int) parser_tables___Parser___action_table_row42},
-  {(long int) parser_tables___Parser___action_table_row43},
-  {(long int) parser_tables___Parser___action_table_row44},
-  {(long int) parser_tables___Parser___action_table_row45},
-  {(long int) parser_tables___Parser___action_table_row46},
-  {(long int) parser_tables___Parser___action_table_row47},
-  {(long int) parser_tables___Parser___action_table_row48},
-  {(long int) parser_tables___Parser___action_table_row49},
-  {(long int) parser_tables___Parser___action_table_row50},
-  {(long int) parser_tables___Parser___action_table_row51},
-  {(long int) parser_tables___Parser___action_table_row52},
-  {(long int) parser_tables___Parser___action_table_row53},
-  {(long int) parser_tables___Parser___action_table_row54},
-  {(long int) parser_tables___Parser___action_table_row55},
-  {(long int) parser_tables___Parser___action_table_row56},
-  {(long int) parser_tables___Parser___action_table_row57},
-  {(long int) parser_tables___Parser___action_table_row58},
-  {(long int) parser_tables___Parser___action_table_row59},
-  {(long int) parser_tables___Parser___action_table_row60},
-  {(long int) parser_tables___Parser___action_table_row61},
-  {(long int) parser_tables___Parser___action_table_row62},
-  {(long int) parser_tables___Parser___action_table_row63},
-  {(long int) parser_tables___Parser___action_table_row64},
-  {(long int) parser_tables___Parser___action_table_row65},
-  {(long int) parser_tables___Parser___action_table_row66},
-  {(long int) parser_tables___Parser___action_table_row67},
-  {(long int) parser_tables___Parser___action_table_row68},
-  {(long int) parser_tables___Parser___action_table_row69},
-  {(long int) parser_tables___Parser___action_table_row70},
-  {(long int) parser_tables___Parser___action_table_row71},
-  {(long int) parser_tables___Parser___action_table_row72},
-  {(long int) parser_tables___Parser___action_table_row73},
-  {(long int) parser_tables___Parser___action_table_row74},
-  {(long int) parser_tables___Parser___action_table_row75},
-  {(long int) parser_tables___Parser___action_table_row76},
-  {(long int) parser_tables___Parser___action_table_row77},
-  {(long int) parser_tables___Parser___action_table_row78},
-  {(long int) parser_tables___Parser___action_table_row79},
-  {(long int) parser_tables___Parser___action_table_row80},
-  {(long int) parser_tables___Parser___action_table_row81},
-  {(long int) parser_tables___Parser___action_table_row82},
-  {(long int) parser_tables___Parser___action_table_row83},
-  {(long int) parser_tables___Parser___action_table_row84},
-  {(long int) parser_tables___Parser___action_table_row85},
-  {(long int) parser_tables___Parser___action_table_row86},
-  {(long int) parser_tables___Parser___action_table_row87},
-  {(long int) parser_tables___Parser___action_table_row88},
-  {(long int) parser_tables___Parser___action_table_row89},
-  {(long int) parser_tables___Parser___action_table_row90},
-  {(long int) parser_tables___Parser___action_table_row91},
-  {(long int) parser_tables___Parser___action_table_row92},
-  {(long int) parser_tables___Parser___action_table_row93},
-  {(long int) parser_tables___Parser___action_table_row94},
-  {(long int) parser_tables___Parser___action_table_row95},
-  {(long int) parser_tables___Parser___action_table_row96},
-  {(long int) parser_tables___Parser___action_table_row97},
-  {(long int) parser_tables___Parser___action_table_row98},
-  {(long int) parser_tables___Parser___action_table_row99},
-  {(long int) parser_tables___Parser___action_table_row100},
-  {(long int) parser_tables___Parser___action_table_row101},
-  {(long int) parser_tables___Parser___action_table_row102},
-  {(long int) parser_tables___Parser___action_table_row103},
-  {(long int) parser_tables___Parser___action_table_row104},
-  {(long int) parser_tables___Parser___action_table_row105},
-  {(long int) parser_tables___Parser___action_table_row106},
-  {(long int) parser_tables___Parser___action_table_row107},
-  {(long int) parser_tables___Parser___action_table_row108},
-  {(long int) parser_tables___Parser___action_table_row109},
-  {(long int) parser_tables___Parser___action_table_row110},
-  {(long int) parser_tables___Parser___action_table_row111},
-  {(long int) parser_tables___Parser___action_table_row112},
-  {(long int) parser_tables___Parser___action_table_row113},
-  {(long int) parser_tables___Parser___action_table_row114},
-  {(long int) parser_tables___Parser___action_table_row115},
-  {(long int) parser_tables___Parser___action_table_row116},
-  {(long int) parser_tables___Parser___action_table_row117},
-  {(long int) parser_tables___Parser___action_table_row118},
-  {(long int) parser_tables___Parser___action_table_row119},
-  {(long int) parser_tables___Parser___action_table_row120},
-  {(long int) parser_tables___Parser___action_table_row121},
-  {(long int) parser_tables___Parser___action_table_row122},
-  {(long int) parser_tables___Parser___action_table_row123},
-  {(long int) parser_tables___Parser___action_table_row124},
-  {(long int) parser_tables___Parser___action_table_row125},
-  {(long int) parser_tables___Parser___action_table_row126},
-  {(long int) parser_tables___Parser___action_table_row127},
-  {(long int) parser_tables___Parser___action_table_row128},
-  {(long int) parser_tables___Parser___action_table_row129},
-  {(long int) parser_tables___Parser___action_table_row130},
-  {(long int) parser_tables___Parser___action_table_row131},
-  {(long int) parser_tables___Parser___action_table_row132},
-  {(long int) parser_tables___Parser___action_table_row133},
-  {(long int) parser_tables___Parser___action_table_row134},
-  {(long int) parser_tables___Parser___action_table_row135},
-  {(long int) parser_tables___Parser___action_table_row136},
-  {(long int) parser_tables___Parser___action_table_row137},
-  {(long int) parser_tables___Parser___action_table_row138},
-  {(long int) parser_tables___Parser___action_table_row139},
-  {(long int) parser_tables___Parser___action_table_row140},
-  {(long int) parser_tables___Parser___action_table_row141},
-  {(long int) parser_tables___Parser___action_table_row142},
-  {(long int) parser_tables___Parser___action_table_row143},
-  {(long int) parser_tables___Parser___action_table_row144},
-  {(long int) parser_tables___Parser___action_table_row145},
-  {(long int) parser_tables___Parser___action_table_row146},
-  {(long int) parser_tables___Parser___action_table_row147},
-  {(long int) parser_tables___Parser___action_table_row148},
-  {(long int) parser_tables___Parser___action_table_row149},
-  {(long int) parser_tables___Parser___action_table_row150},
-  {(long int) parser_tables___Parser___action_table_row151},
-  {(long int) parser_tables___Parser___action_table_row152},
-  {(long int) parser_tables___Parser___action_table_row153},
-  {(long int) parser_tables___Parser___action_table_row154},
-  {(long int) parser_tables___Parser___action_table_row155},
-  {(long int) parser_tables___Parser___action_table_row156},
-  {(long int) parser_tables___Parser___action_table_row157},
-  {(long int) parser_tables___Parser___action_table_row158},
-  {(long int) parser_tables___Parser___action_table_row159},
-  {(long int) parser_tables___Parser___action_table_row160},
-  {(long int) parser_tables___Parser___action_table_row161},
-  {(long int) parser_tables___Parser___action_table_row162},
-  {(long int) parser_tables___Parser___action_table_row163},
-  {(long int) parser_tables___Parser___action_table_row164},
-  {(long int) parser_tables___Parser___action_table_row165},
-  {(long int) parser_tables___Parser___action_table_row166},
-  {(long int) parser_tables___Parser___action_table_row167},
-  {(long int) parser_tables___Parser___action_table_row168},
-  {(long int) parser_tables___Parser___action_table_row169},
-  {(long int) parser_tables___Parser___action_table_row170},
-  {(long int) parser_tables___Parser___action_table_row171},
-  {(long int) parser_tables___Parser___action_table_row172},
-  {(long int) parser_tables___Parser___action_table_row173},
-  {(long int) parser_tables___Parser___action_table_row174},
-  {(long int) parser_tables___Parser___action_table_row175},
-  {(long int) parser_tables___Parser___action_table_row176},
-  {(long int) parser_tables___Parser___action_table_row177},
-  {(long int) parser_tables___Parser___action_table_row178},
-  {(long int) parser_tables___Parser___action_table_row179},
-  {(long int) parser_tables___Parser___action_table_row180},
-  {(long int) parser_tables___Parser___action_table_row181},
-  {(long int) parser_tables___Parser___action_table_row182},
-  {(long int) parser_tables___Parser___action_table_row183},
-  {(long int) parser_tables___Parser___action_table_row184},
-  {(long int) parser_tables___Parser___action_table_row185},
-  {(long int) parser_tables___Parser___action_table_row186},
-  {(long int) parser_tables___Parser___action_table_row187},
-  {(long int) parser_tables___Parser___action_table_row188},
-  {(long int) parser_tables___Parser___action_table_row189},
-  {(long int) parser_tables___Parser___action_table_row190},
-  {(long int) parser_tables___Parser___action_table_row191},
-  {(long int) parser_tables___Parser___action_table_row192},
-  {(long int) parser_tables___Parser___action_table_row193},
-  {(long int) parser_tables___Parser___action_table_row194},
-  {(long int) parser_tables___Parser___action_table_row195},
-  {(long int) parser_tables___Parser___action_table_row196},
-  {(long int) parser_tables___Parser___action_table_row197},
-  {(long int) parser_tables___Parser___action_table_row198},
-  {(long int) parser_tables___Parser___action_table_row199},
-  {(long int) parser_tables___Parser___action_table_row200},
-  {(long int) parser_tables___Parser___action_table_row201},
-  {(long int) parser_tables___Parser___action_table_row202},
-  {(long int) parser_tables___Parser___action_table_row203},
-  {(long int) parser_tables___Parser___action_table_row204},
-  {(long int) parser_tables___Parser___action_table_row205},
-  {(long int) parser_tables___Parser___action_table_row206},
-  {(long int) parser_tables___Parser___action_table_row207},
-  {(long int) parser_tables___Parser___action_table_row208},
-  {(long int) parser_tables___Parser___action_table_row209},
-  {(long int) parser_tables___Parser___action_table_row210},
-  {(long int) parser_tables___Parser___action_table_row211},
-  {(long int) parser_tables___Parser___action_table_row212},
-  {(long int) parser_tables___Parser___action_table_row213},
-  {(long int) parser_tables___Parser___action_table_row214},
-  {(long int) parser_tables___Parser___action_table_row215},
-  {(long int) parser_tables___Parser___action_table_row216},
-  {(long int) parser_tables___Parser___action_table_row217},
-  {(long int) parser_tables___Parser___action_table_row218},
-  {(long int) parser_tables___Parser___action_table_row219},
-  {(long int) parser_tables___Parser___action_table_row220},
-  {(long int) parser_tables___Parser___action_table_row221},
-  {(long int) parser_tables___Parser___action_table_row222},
-  {(long int) parser_tables___Parser___action_table_row223},
-  {(long int) parser_tables___Parser___action_table_row224},
-  {(long int) parser_tables___Parser___action_table_row225},
-  {(long int) parser_tables___Parser___action_table_row226},
-  {(long int) parser_tables___Parser___action_table_row227},
-  {(long int) parser_tables___Parser___action_table_row228},
-  {(long int) parser_tables___Parser___action_table_row229},
-  {(long int) parser_tables___Parser___action_table_row230},
-  {(long int) parser_tables___Parser___action_table_row231},
-  {(long int) parser_tables___Parser___action_table_row232},
-  {(long int) parser_tables___Parser___action_table_row233},
-  {(long int) parser_tables___Parser___action_table_row234},
-  {(long int) parser_tables___Parser___action_table_row235},
-  {(long int) parser_tables___Parser___action_table_row236},
-  {(long int) parser_tables___Parser___action_table_row237},
-  {(long int) parser_tables___Parser___action_table_row238},
-  {(long int) parser_tables___Parser___action_table_row239},
-  {(long int) parser_tables___Parser___action_table_row240},
-  {(long int) parser_tables___Parser___action_table_row241},
-  {(long int) parser_tables___Parser___action_table_row242},
-  {(long int) parser_tables___Parser___action_table_row243},
-  {(long int) parser_tables___Parser___action_table_row244},
-  {(long int) parser_tables___Parser___action_table_row245},
-  {(long int) parser_tables___Parser___action_table_row246},
-  {(long int) parser_tables___Parser___action_table_row247},
-  {(long int) parser_tables___Parser___action_table_row248},
-  {(long int) parser_tables___Parser___action_table_row249},
-  {(long int) parser_tables___Parser___action_table_row250},
-  {(long int) parser_tables___Parser___action_table_row251},
-  {(long int) parser_tables___Parser___action_table_row252},
-  {(long int) parser_tables___Parser___action_table_row253},
-  {(long int) parser_tables___Parser___action_table_row254},
-  {(long int) parser_tables___Parser___action_table_row255},
-  {(long int) parser_tables___Parser___action_table_row256},
-  {(long int) parser_tables___Parser___action_table_row257},
-  {(long int) parser_tables___Parser___action_table_row258},
-  {(long int) parser_tables___Parser___action_table_row259},
-  {(long int) parser_tables___Parser___action_table_row260},
-  {(long int) parser_tables___Parser___action_table_row261},
-  {(long int) parser_tables___Parser___action_table_row262},
-  {(long int) parser_tables___Parser___action_table_row263},
-  {(long int) parser_tables___Parser___action_table_row264},
-  {(long int) parser_tables___Parser___action_table_row265},
-  {(long int) parser_tables___Parser___action_table_row266},
-  {(long int) parser_tables___Parser___action_table_row267},
-  {(long int) parser_tables___Parser___action_table_row268},
-  {(long int) parser_tables___Parser___action_table_row269},
-  {(long int) parser_tables___Parser___action_table_row270},
-  {(long int) parser_tables___Parser___action_table_row271},
-  {(long int) parser_tables___Parser___action_table_row272},
-  {(long int) parser_tables___Parser___action_table_row273},
-  {(long int) parser_tables___Parser___action_table_row274},
-  {(long int) parser_tables___Parser___action_table_row275},
-  {(long int) parser_tables___Parser___action_table_row276},
-  {(long int) parser_tables___Parser___action_table_row277},
-  {(long int) parser_tables___Parser___action_table_row278},
-  {(long int) parser_tables___Parser___action_table_row279},
-  {(long int) parser_tables___Parser___action_table_row280},
-  {(long int) parser_tables___Parser___action_table_row281},
-  {(long int) parser_tables___Parser___action_table_row282},
-  {(long int) parser_tables___Parser___action_table_row283},
-  {(long int) parser_tables___Parser___action_table_row284},
-  {(long int) parser_tables___Parser___action_table_row285},
-  {(long int) parser_tables___Parser___action_table_row286},
-  {(long int) parser_tables___Parser___action_table_row287},
-  {(long int) parser_tables___Parser___action_table_row288},
-  {(long int) parser_tables___Parser___action_table_row289},
-  {(long int) parser_tables___Parser___action_table_row290},
-  {(long int) parser_tables___Parser___action_table_row291},
-  {(long int) parser_tables___Parser___action_table_row292},
-  {(long int) parser_tables___Parser___action_table_row293},
-  {(long int) parser_tables___Parser___action_table_row294},
-  {(long int) parser_tables___Parser___action_table_row295},
-  {(long int) parser_tables___Parser___action_table_row296},
-  {(long int) parser_tables___Parser___action_table_row297},
-  {(long int) parser_tables___Parser___action_table_row298},
-  {(long int) parser_tables___Parser___action_table_row299},
-  {(long int) parser_tables___Parser___action_table_row300},
-  {(long int) parser_tables___Parser___action_table_row301},
-  {(long int) parser_tables___Parser___action_table_row302},
-  {(long int) parser_tables___Parser___action_table_row303},
-  {(long int) parser_tables___Parser___action_table_row304},
-  {(long int) parser_tables___Parser___action_table_row305},
-  {(long int) parser_tables___Parser___action_table_row306},
-  {(long int) parser_tables___Parser___action_table_row307},
-  {(long int) parser_tables___Parser___action_table_row308},
-  {(long int) parser_tables___Parser___action_table_row309},
-  {(long int) parser_tables___Parser___action_table_row310},
-  {(long int) parser_tables___Parser___action_table_row311},
-  {(long int) parser_tables___Parser___action_table_row312},
-  {(long int) parser_tables___Parser___action_table_row313},
-  {(long int) parser_tables___Parser___action_table_row314},
-  {(long int) parser_tables___Parser___action_table_row315},
-  {(long int) parser_tables___Parser___action_table_row316},
-  {(long int) parser_tables___Parser___action_table_row317},
-  {(long int) parser_tables___Parser___action_table_row318},
-  {(long int) parser_tables___Parser___action_table_row319},
-  {(long int) parser_tables___Parser___action_table_row320},
-  {(long int) parser_tables___Parser___action_table_row321},
-  {(long int) parser_tables___Parser___action_table_row322},
-  {(long int) parser_tables___Parser___action_table_row323},
-  {(long int) parser_tables___Parser___action_table_row324},
-  {(long int) parser_tables___Parser___action_table_row325},
-  {(long int) parser_tables___Parser___action_table_row326},
-  {(long int) parser_tables___Parser___action_table_row327},
-  {(long int) parser_tables___Parser___action_table_row328},
-  {(long int) parser_tables___Parser___action_table_row329},
-  {(long int) parser_tables___Parser___action_table_row330},
-  {(long int) parser_tables___Parser___action_table_row331},
-  {(long int) parser_tables___Parser___action_table_row332},
-  {(long int) parser_tables___Parser___action_table_row333},
-  {(long int) parser_tables___Parser___action_table_row334},
-  {(long int) parser_tables___Parser___action_table_row335},
-  {(long int) parser_tables___Parser___action_table_row336},
-  {(long int) parser_tables___Parser___action_table_row337},
-  {(long int) parser_tables___Parser___action_table_row338},
-  {(long int) parser_tables___Parser___action_table_row339},
-  {(long int) parser_tables___Parser___action_table_row340},
-  {(long int) parser_tables___Parser___action_table_row341},
-  {(long int) parser_tables___Parser___action_table_row342},
-  {(long int) parser_tables___Parser___action_table_row343},
-  {(long int) parser_tables___Parser___action_table_row344},
-  {(long int) parser_tables___Parser___action_table_row345},
-  {(long int) parser_tables___Parser___action_table_row346},
-  {(long int) parser_tables___Parser___action_table_row347},
-  {(long int) parser_tables___Parser___action_table_row348},
-  {(long int) parser_tables___Parser___action_table_row349},
-  {(long int) parser_tables___Parser___action_table_row350},
-  {(long int) parser_tables___Parser___action_table_row351},
-  {(long int) parser_tables___Parser___action_table_row352},
-  {(long int) parser_tables___Parser___action_table_row353},
-  {(long int) parser_tables___Parser___action_table_row354},
-  {(long int) parser_tables___Parser___action_table_row355},
-  {(long int) parser_tables___Parser___action_table_row356},
-  {(long int) parser_tables___Parser___action_table_row357},
-  {(long int) parser_tables___Parser___action_table_row358},
-  {(long int) parser_tables___Parser___action_table_row359},
-  {(long int) parser_tables___Parser___action_table_row360},
-  {(long int) parser_tables___Parser___action_table_row361},
-  {(long int) parser_tables___Parser___action_table_row362},
-  {(long int) parser_tables___Parser___action_table_row363},
-  {(long int) parser_tables___Parser___action_table_row364},
-  {(long int) parser_tables___Parser___action_table_row365},
-  {(long int) parser_tables___Parser___action_table_row366},
-  {(long int) parser_tables___Parser___action_table_row367},
-  {(long int) parser_tables___Parser___action_table_row368},
-  {(long int) parser_tables___Parser___action_table_row369},
-  {(long int) parser_tables___Parser___action_table_row370},
-  {(long int) parser_tables___Parser___action_table_row371},
-  {(long int) parser_tables___Parser___action_table_row372},
-  {(long int) parser_tables___Parser___action_table_row373},
-  {(long int) parser_tables___Parser___action_table_row374},
-  {(long int) parser_tables___Parser___action_table_row375},
-  {(long int) parser_tables___Parser___action_table_row376},
-  {(long int) parser_tables___Parser___action_table_row377},
-  {(long int) parser_tables___Parser___action_table_row378},
-  {(long int) parser_tables___Parser___action_table_row379},
-  {(long int) parser_tables___Parser___action_table_row380},
-  {(long int) parser_tables___Parser___action_table_row381},
-  {(long int) parser_tables___Parser___action_table_row382},
-  {(long int) parser_tables___Parser___action_table_row383},
-  {(long int) parser_tables___Parser___action_table_row384},
-  {(long int) parser_tables___Parser___action_table_row385},
-  {(long int) parser_tables___Parser___action_table_row386},
-  {(long int) parser_tables___Parser___action_table_row387},
-  {(long int) parser_tables___Parser___action_table_row388},
-  {(long int) parser_tables___Parser___action_table_row389},
-  {(long int) parser_tables___Parser___action_table_row390},
-  {(long int) parser_tables___Parser___action_table_row391},
-  {(long int) parser_tables___Parser___action_table_row392},
-  {(long int) parser_tables___Parser___action_table_row393},
-  {(long int) parser_tables___Parser___action_table_row394},
-  {(long int) parser_tables___Parser___action_table_row395},
-  {(long int) parser_tables___Parser___action_table_row396},
-  {(long int) parser_tables___Parser___action_table_row397},
-  {(long int) parser_tables___Parser___action_table_row398},
-  {(long int) parser_tables___Parser___action_table_row399},
-  {(long int) parser_tables___Parser___action_table_row400},
-  {(long int) parser_tables___Parser___action_table_row401},
-  {(long int) parser_tables___Parser___action_table_row402},
-  {(long int) parser_tables___Parser___action_table_row403},
-  {(long int) parser_tables___Parser___action_table_row404},
-  {(long int) parser_tables___Parser___action_table_row405},
-  {(long int) parser_tables___Parser___action_table_row406},
-  {(long int) parser_tables___Parser___action_table_row407},
-  {(long int) parser_tables___Parser___action_table_row408},
-  {(long int) parser_tables___Parser___action_table_row409},
-  {(long int) parser_tables___Parser___action_table_row410},
-  {(long int) parser_tables___Parser___action_table_row411},
-  {(long int) parser_tables___Parser___action_table_row412},
-  {(long int) parser_tables___Parser___action_table_row413},
-  {(long int) parser_tables___Parser___action_table_row414},
-  {(long int) parser_tables___Parser___action_table_row415},
-  {(long int) parser_tables___Parser___action_table_row416},
-  {(long int) parser_tables___Parser___action_table_row417},
-  {(long int) parser_tables___Parser___action_table_row418},
-  {(long int) parser_tables___Parser___action_table_row419},
-  {(long int) parser_tables___Parser___action_table_row420},
-  {(long int) parser_tables___Parser___action_table_row421},
-  {(long int) parser_tables___Parser___action_table_row422},
-  {(long int) parser_tables___Parser___action_table_row423},
-  {(long int) parser_tables___Parser___action_table_row424},
-  {(long int) parser_tables___Parser___action_table_row425},
-  {(long int) parser_tables___Parser___action_table_row426},
-  {(long int) parser_tables___Parser___action_table_row427},
-  {(long int) parser_tables___Parser___action_table_row428},
-  {(long int) parser_tables___Parser___action_table_row429},
-  {(long int) parser_tables___Parser___action_table_row430},
-  {(long int) parser_tables___Parser___action_table_row431},
-  {(long int) parser_tables___Parser___action_table_row432},
-  {(long int) parser_tables___Parser___action_table_row433},
-  {(long int) parser_tables___Parser___action_table_row434},
-  {(long int) parser_tables___Parser___action_table_row435},
-  {(long int) parser_tables___Parser___action_table_row436},
-  {(long int) parser_tables___Parser___action_table_row437},
-  {(long int) parser_tables___Parser___action_table_row438},
-  {(long int) parser_tables___Parser___action_table_row439},
-  {(long int) parser_tables___Parser___action_table_row440},
-  {(long int) parser_tables___Parser___action_table_row441},
-  {(long int) parser_tables___Parser___action_table_row442},
-  {(long int) parser_tables___Parser___action_table_row443},
-  {(long int) parser_tables___Parser___action_table_row444},
-  {(long int) parser_tables___Parser___action_table_row445},
-  {(long int) parser_tables___Parser___action_table_row446},
-  {(long int) parser_tables___Parser___action_table_row447},
-  {(long int) parser_tables___Parser___action_table_row448},
-  {(long int) parser_tables___Parser___action_table_row449},
-  {(long int) parser_tables___Parser___action_table_row450},
-  {(long int) parser_tables___Parser___action_table_row451},
-  {(long int) parser_tables___Parser___action_table_row452},
-  {(long int) parser_tables___Parser___action_table_row453},
-  {(long int) parser_tables___Parser___action_table_row454},
-  {(long int) parser_tables___Parser___action_table_row455},
-  {(long int) parser_tables___Parser___action_table_row456},
-  {(long int) parser_tables___Parser___action_table_row457},
-  {(long int) parser_tables___Parser___action_table_row458},
-  {(long int) parser_tables___Parser___action_table_row459},
-  {(long int) parser_tables___Parser___action_table_row460},
-  {(long int) parser_tables___Parser___action_table_row461},
-  {(long int) parser_tables___Parser___action_table_row462},
-  {(long int) parser_tables___Parser___action_table_row463},
-  {(long int) parser_tables___Parser___action_table_row464},
-  {(long int) parser_tables___Parser___action_table_row465},
-  {(long int) parser_tables___Parser___action_table_row466},
-  {(long int) parser_tables___Parser___action_table_row467},
-  {(long int) parser_tables___Parser___action_table_row468},
-  {(long int) parser_tables___Parser___action_table_row469},
-  {(long int) parser_tables___Parser___action_table_row470},
-  {(long int) parser_tables___Parser___action_table_row471},
-  {(long int) parser_tables___Parser___action_table_row472},
-  {(long int) parser_tables___Parser___action_table_row473},
-  {(long int) parser_tables___Parser___action_table_row474},
-  {(long int) parser_tables___Parser___action_table_row475},
-  {(long int) parser_tables___Parser___action_table_row476},
-  {(long int) parser_tables___Parser___action_table_row477},
-  {(long int) parser_tables___Parser___action_table_row478},
-  {(long int) parser_tables___Parser___action_table_row479},
-  {(long int) parser_tables___Parser___action_table_row480},
-  {(long int) parser_tables___Parser___action_table_row481},
-  {(long int) parser_tables___Parser___action_table_row482},
-  {(long int) parser_tables___Parser___action_table_row483},
-  {(long int) parser_tables___Parser___action_table_row484},
-  {(long int) parser_tables___Parser___action_table_row485},
-  {(long int) parser_tables___Parser___action_table_row486},
-  {(long int) parser_tables___Parser___action_table_row487},
-  {(long int) parser_tables___Parser___action_table_row488},
-  {(long int) parser_tables___Parser___action_table_row489},
-  {(long int) parser_tables___Parser___action_table_row490},
-  {(long int) parser_tables___Parser___action_table_row491},
-  {(long int) parser_tables___Parser___action_table_row492},
-  {(long int) parser_tables___Parser___action_table_row493},
-  {(long int) parser_tables___Parser___action_table_row494},
-  {(long int) parser_tables___Parser___action_table_row495},
-  {(long int) parser_tables___Parser___action_table_row496},
-  {(long int) parser_tables___Parser___action_table_row497},
-  {(long int) parser_tables___Parser___action_table_row498},
-  {(long int) parser_tables___Parser___action_table_row499},
-  {(long int) parser_tables___Parser___action_table_row500},
-  {(long int) parser_tables___Parser___action_table_row501},
-  {(long int) parser_tables___Parser___action_table_row502},
-  {(long int) parser_tables___Parser___action_table_row503},
-  {(long int) parser_tables___Parser___action_table_row504},
-  {(long int) parser_tables___Parser___action_table_row505},
-  {(long int) parser_tables___Parser___action_table_row506},
-  {(long int) parser_tables___Parser___action_table_row507},
-  {(long int) parser_tables___Parser___action_table_row508},
-  {(long int) parser_tables___Parser___action_table_row509},
-  {(long int) parser_tables___Parser___action_table_row510},
-  {(long int) parser_tables___Parser___action_table_row511},
-  {(long int) parser_tables___Parser___action_table_row512},
-  {(long int) parser_tables___Parser___action_table_row513},
-  {(long int) parser_tables___Parser___action_table_row514},
-  {(long int) parser_tables___Parser___action_table_row515},
-  {(long int) parser_tables___Parser___action_table_row516},
-  {(long int) parser_tables___Parser___action_table_row517},
-  {(long int) parser_tables___Parser___action_table_row518},
-  {(long int) parser_tables___Parser___action_table_row519},
-  {(long int) parser_tables___Parser___action_table_row520},
-  {(long int) parser_tables___Parser___action_table_row521},
-  {(long int) parser_tables___Parser___action_table_row522},
-  {(long int) parser_tables___Parser___action_table_row523},
-  {(long int) parser_tables___Parser___action_table_row524},
-  {(long int) parser_tables___Parser___action_table_row525},
-  {(long int) parser_tables___Parser___action_table_row526},
-  {(long int) parser_tables___Parser___action_table_row527},
-  {(long int) parser_tables___Parser___action_table_row528},
-  {(long int) parser_tables___Parser___action_table_row529},
-  {(long int) parser_tables___Parser___action_table_row530},
-  {(long int) parser_tables___Parser___action_table_row531},
-  {(long int) parser_tables___Parser___action_table_row532},
-  {(long int) parser_tables___Parser___action_table_row533},
-  {(long int) parser_tables___Parser___action_table_row534},
-  {(long int) parser_tables___Parser___action_table_row535},
-  {(long int) parser_tables___Parser___action_table_row536},
-  {(long int) parser_tables___Parser___action_table_row537},
-  {(long int) parser_tables___Parser___action_table_row538},
-  {(long int) parser_tables___Parser___action_table_row539},
-  {(long int) parser_tables___Parser___action_table_row540},
-  {(long int) parser_tables___Parser___action_table_row541},
-  {(long int) parser_tables___Parser___action_table_row542},
-  {(long int) parser_tables___Parser___action_table_row543},
-  {(long int) parser_tables___Parser___action_table_row544},
-  {(long int) parser_tables___Parser___action_table_row545},
-  {(long int) parser_tables___Parser___action_table_row546},
-  {(long int) parser_tables___Parser___action_table_row547},
-  {(long int) parser_tables___Parser___action_table_row548},
-  {(long int) parser_tables___Parser___action_table_row549},
-  {(long int) parser_tables___Parser___action_table_row550},
-  {(long int) parser_tables___Parser___action_table_row551},
-  {(long int) parser_tables___Parser___action_table_row552},
-  {(long int) parser_tables___Parser___action_table_row553},
-  {(long int) parser_tables___Parser___action_table_row554},
-  {(long int) parser_tables___Parser___action_table_row555},
-  {(long int) parser_tables___Parser___action_table_row556},
-  {(long int) parser_tables___Parser___action_table_row557},
-  {(long int) parser_tables___Parser___action_table_row558},
-  {(long int) parser_tables___Parser___action_table_row559},
-  {(long int) parser_tables___Parser___action_table_row560},
-  {(long int) parser_tables___Parser___action_table_row561},
-  {(long int) parser_tables___Parser___action_table_row562},
-  {(long int) parser_tables___Parser___action_table_row563},
-  {(long int) parser_tables___Parser___action_table_row564},
-  {(long int) parser_tables___Parser___action_table_row565},
-  {(long int) parser_tables___Parser___action_table_row566},
-  {(long int) parser_tables___Parser___action_table_row567},
-  {(long int) parser_tables___Parser___action_table_row568},
-  {(long int) parser_tables___Parser___action_table_row569},
-  {(long int) parser_tables___Parser___action_table_row570},
-  {(long int) parser_tables___Parser___action_table_row571},
-  {(long int) parser_tables___Parser___action_table_row572},
-  {(long int) parser_tables___Parser___action_table_row573},
-  {(long int) parser_tables___Parser___action_table_row574},
-  {(long int) parser_tables___Parser___action_table_row575},
-  {(long int) parser_tables___Parser___action_table_row576},
-  {(long int) parser_tables___Parser___action_table_row577},
-  {(long int) parser_tables___Parser___action_table_row578},
-  {(long int) parser_tables___Parser___action_table_row579},
-  {(long int) parser_tables___Parser___action_table_row580},
-  {(long int) parser_tables___Parser___action_table_row581},
-  {(long int) parser_tables___Parser___action_table_row582},
-  {(long int) parser_tables___Parser___action_table_row583},
-  {(long int) parser_tables___Parser___action_table_row584},
-  {(long int) parser_tables___Parser___action_table_row585},
-  {(long int) parser_tables___Parser___action_table_row586},
-  {(long int) parser_tables___Parser___action_table_row587},
-  {(long int) parser_tables___Parser___action_table_row588},
-  {(long int) parser_tables___Parser___action_table_row589},
-  {(long int) parser_tables___Parser___action_table_row590},
-  {(long int) parser_tables___Parser___action_table_row591},
-  {(long int) parser_tables___Parser___action_table_row592},
-  {(long int) parser_tables___Parser___action_table_row593},
-  {(long int) parser_tables___Parser___action_table_row594},
-  {(long int) parser_tables___Parser___action_table_row595},
-  {(long int) parser_tables___Parser___action_table_row596},
-  {(long int) parser_tables___Parser___action_table_row597},
-  {(long int) parser_tables___Parser___action_table_row598},
-  {(long int) parser_tables___Parser___action_table_row599},
-  {(long int) parser_tables___Parser___action_table_row600},
-  {(long int) parser_tables___Parser___action_table_row601},
-  {(long int) parser_tables___Parser___action_table_row602},
-  {(long int) parser_tables___Parser___action_table_row603},
-  {(long int) parser_tables___Parser___action_table_row604},
-  {(long int) parser_tables___Parser___action_table_row605},
-  {(long int) parser_tables___Parser___action_table_row606},
-  {(long int) parser_tables___Parser___action_table_row607},
-  {(long int) parser_tables___Parser___action_table_row608},
-  {(long int) parser_tables___Parser___action_table_row609},
-  {(long int) parser_tables___Parser___action_table_row610},
-  {(long int) parser_tables___Parser___action_table_row611},
-  {(long int) parser_tables___Parser___action_table_row612},
-  {(long int) parser_tables___Parser___action_table_row613},
-  {(long int) parser_tables___Parser___action_table_row614},
-  {(long int) parser_tables___Parser___action_table_row615},
-  {(long int) parser_tables___Parser___action_table_row616},
-  {(long int) parser_tables___Parser___action_table_row617},
-  {(long int) parser_tables___Parser___action_table_row618},
-  {(long int) parser_tables___Parser___action_table_row619},
-  {(long int) parser_tables___Parser___action_table_row620},
-  {(long int) parser_tables___Parser___action_table_row621},
-  {(long int) parser_tables___Parser___action_table_row622},
-  {(long int) parser_tables___Parser___action_table_row623},
-  {(long int) parser_tables___Parser___action_table_row624},
-  {(long int) parser_tables___Parser___action_table_row625},
-  {(long int) parser_tables___Parser___action_table_row626},
-  {(long int) parser_tables___Parser___action_table_row627},
-  {(long int) parser_tables___Parser___action_table_row628},
-  {(long int) parser_tables___Parser___action_table_row629},
-  {(long int) parser_tables___Parser___action_table_row630},
-  {(long int) parser_tables___Parser___action_table_row631},
-  {(long int) parser_tables___Parser___action_table_row632},
-  {(long int) parser_tables___Parser___action_table_row633},
-  {(long int) parser_tables___Parser___action_table_row634},
-  {(long int) parser_tables___Parser___action_table_row635},
-  {(long int) parser_tables___Parser___action_table_row636},
-  {(long int) parser_tables___Parser___action_table_row637},
-  {(long int) parser_tables___Parser___action_table_row638},
-  {(long int) parser_tables___Parser___action_table_row639},
-  {(long int) parser_tables___Parser___action_table_row640},
-  {(long int) parser_tables___Parser___action_table_row641},
-  {(long int) parser_tables___Parser___action_table_row642},
-  {(long int) parser_tables___Parser___action_table_row643},
-  {(long int) parser_tables___Parser___action_table_row644},
-  {(long int) parser_tables___Parser___action_table_row645},
-  {(long int) parser_tables___Parser___action_table_row646},
-  {(long int) parser_tables___Parser___action_table_row647},
-  {(long int) parser_tables___Parser___action_table_row648},
-  {(long int) parser_tables___Parser___action_table_row649},
-  {(long int) parser_tables___Parser___action_table_row650},
-  {(long int) parser_tables___Parser___action_table_row651},
-  {(long int) parser_tables___Parser___action_table_row652},
-  {(long int) parser_tables___Parser___action_table_row653},
-  {(long int) parser_tables___Parser___action_table_row654},
-  {(long int) parser_tables___Parser___action_table_row655},
-  {(long int) parser_tables___Parser___action_table_row656},
-  {(long int) parser_tables___Parser___action_table_row657},
-  {(long int) parser_tables___Parser___action_table_row658},
-  {(long int) parser_tables___Parser___action_table_row659},
-  {(long int) parser_tables___Parser___action_table_row660},
-  {(long int) parser_tables___Parser___action_table_row661},
-  {(long int) parser_tables___Parser___action_table_row662},
-  {(long int) parser_tables___Parser___action_table_row663},
-  {(long int) parser_tables___Parser___action_table_row664},
-  {(long int) parser_tables___Parser___action_table_row665},
-  {(long int) parser_tables___Parser___action_table_row666},
-  {(long int) parser_tables___Parser___action_table_row667},
-  {(long int) parser_tables___Parser___action_table_row668},
-  {(long int) parser_tables___Parser___action_table_row669},
-  {(long int) parser_tables___Parser___action_table_row670},
-  {(long int) parser_tables___Parser___action_table_row671},
-  {(long int) parser_tables___Parser___action_table_row672},
-  {(long int) parser_tables___Parser___action_table_row673},
-  {(long int) parser_tables___Parser___action_table_row674},
-  {(long int) parser_tables___Parser___action_table_row675},
-  {(long int) parser_tables___Parser___action_table_row676},
-  {(long int) parser_tables___Parser___action_table_row677},
-  {(long int) parser_tables___Parser___action_table_row678},
-  {(long int) parser_tables___Parser___action_table_row679},
-  {(long int) parser_tables___Parser___action_table_row680},
-  {(long int) parser_tables___Parser___action_table_row681},
-  {(long int) parser_tables___Parser___action_table_row682},
-  {(long int) parser_tables___Parser___action_table_row683},
-  {(long int) parser_tables___Parser___action_table_row684},
-  {(long int) parser_tables___Parser___action_table_row685},
-  {(long int) parser_tables___Parser___action_table_row686},
-  {(long int) parser_tables___Parser___action_table_row687},
-  {(long int) parser_tables___Parser___action_table_row688},
-  {(long int) parser_tables___Parser___action_table_row689},
-  {(long int) parser_tables___Parser___action_table_row690},
-  {(long int) parser_tables___Parser___action_table_row691},
-  {(long int) parser_tables___Parser___action_table_row692},
-  {(long int) parser_tables___Parser___action_table_row693},
-  {(long int) parser_tables___Parser___action_table_row694},
-  {(long int) parser_tables___Parser___action_table_row695},
-  {(long int) parser_tables___Parser___action_table_row696},
-  {(long int) parser_tables___Parser___action_table_row697},
-  {(long int) parser_tables___Parser___action_table_row698},
-  {(long int) parser_tables___Parser___action_table_row699},
-  {(long int) parser_tables___Parser___action_table_row700},
-  {(long int) parser_tables___Parser___action_table_row701},
-  {(long int) parser_tables___Parser___action_table_row702},
-  {(long int) parser_tables___Parser___action_table_row703},
-  {(long int) parser_tables___Parser___action_table_row704},
-  {(long int) parser_tables___Parser___action_table_row705},
-  {(long int) parser_tables___Parser___action_table_row706},
-  {(long int) parser_tables___Parser___action_table_row707},
-  {(long int) parser_tables___Parser___action_table_row708},
-  {(long int) parser_tables___Parser___action_table_row709},
-  {(long int) parser_tables___Parser___action_table_row710},
-  {(long int) parser_tables___Parser___action_table_row711},
-  {(long int) parser_tables___Parser___action_table_row712},
-  {(long int) parser_tables___Parser___action_table_row713},
-  {(long int) parser_tables___Parser___action_table_row714},
-  {(long int) parser_tables___Parser___action_table_row715},
-  {(long int) parser_tables___Parser___action_table_row716},
-  {(long int) parser_tables___Parser___action_table_row717},
-  {(long int) parser_tables___Parser___action_table_row718},
-  {(long int) parser_tables___Parser___action_table_row719},
-  {(long int) parser_tables___Parser___action_table_row720},
-  {(long int) parser_tables___Parser___action_table_row721},
-  {(long int) parser_tables___Parser___action_table_row722},
-  {(long int) parser_tables___Parser___action_table_row723},
-  {(long int) parser_tables___Parser___action_table_row724},
-  {(long int) parser_tables___Parser___action_table_row725},
-  {(long int) parser_tables___Parser___action_table_row726},
-  {(long int) parser_tables___Parser___action_table_row727},
-  {(long int) parser_tables___Parser___action_table_row728},
-  {(long int) parser_tables___Parser___action_table_row729},
-  {(long int) parser_tables___Parser___action_table_row730},
-  {(long int) parser_tables___Parser___action_table_row731},
-  {(long int) parser_tables___Parser___action_table_row732},
-  {(long int) parser_tables___Parser___action_table_row733},
-  {(long int) parser_tables___Parser___action_table_row734},
-  {(long int) parser_tables___Parser___action_table_row735},
-  {(long int) parser_tables___Parser___action_table_row736},
-  {(long int) parser_tables___Parser___action_table_row737},
-  {(long int) parser_tables___Parser___action_table_row738},
-  {(long int) parser_tables___Parser___action_table_row739},
-  {(long int) parser_tables___Parser___action_table_row740},
-  {(long int) parser_tables___Parser___action_table_row741},
-  {(long int) parser_tables___Parser___action_table_row742},
-  {(long int) parser_tables___Parser___action_table_row743},
-  {(long int) parser_tables___Parser___action_table_row744},
-  {(long int) parser_tables___Parser___action_table_row745},
-  {(long int) parser_tables___Parser___action_table_row746},
-  {(long int) parser_tables___Parser___action_table_row747},
-  {(long int) parser_tables___Parser___action_table_row748},
-  {(long int) parser_tables___Parser___action_table_row749},
-  {(long int) parser_tables___Parser___action_table_row750},
-  {(long int) parser_tables___Parser___action_table_row751},
-  {(long int) parser_tables___Parser___action_table_row752},
-  {(long int) parser_tables___Parser___action_table_row753},
-  {(long int) parser_tables___Parser___action_table_row754},
-  {(long int) parser_tables___Parser___action_table_row755},
-  {(long int) parser_tables___Parser___action_table_row756},
-  {(long int) parser_tables___Parser___action_table_row757},
-  {(long int) parser_tables___Parser___action_table_row758},
-  {(long int) parser_tables___Parser___action_table_row759},
-  {(long int) parser_tables___Parser___action_table_row760},
-  {(long int) parser_tables___Parser___action_table_row761},
-  {(long int) parser_tables___Parser___action_table_row762},
-  {(long int) parser_tables___Parser___action_table_row763},
-  {(long int) parser_tables___Parser___action_table_row764},
-  {(long int) parser_tables___Parser___action_table_row765},
-  {(long int) parser_tables___Parser___action_table_row766},
-  {(long int) parser_tables___Parser___action_table_row767},
-  {(long int) parser_tables___Parser___action_table_row768},
-  {(long int) parser_tables___Parser___action_table_row769},
-  {(long int) parser_tables___Parser___action_table_row770},
-  {(long int) parser_tables___Parser___action_table_row771},
-  {(long int) parser_tables___Parser___action_table_row772},
-  {(long int) parser_tables___Parser___action_table_row773},
-  {(long int) parser_tables___Parser___action_table_row774},
-  {(long int) parser_tables___Parser___action_table_row775},
-  {(long int) parser_tables___Parser___action_table_row776},
-  {(long int) parser_tables___Parser___action_table_row777},
-  {(long int) parser_tables___Parser___action_table_row778},
-  {(long int) parser_tables___Parser___action_table_row779},
-  {(long int) parser_tables___Parser___action_table_row780},
-  {(long int) parser_tables___Parser___action_table_row781},
-  {(long int) parser_tables___Parser___action_table_row782},
-  {(long int) parser_tables___Parser___action_table_row783},
-  {(long int) parser_tables___Parser___action_table_row784},
-  {(long int) parser_tables___Parser___action_table_row785},
-  {(long int) parser_tables___Parser___action_table_row786},
-  {(long int) parser_tables___Parser___action_table_row787},
-  {(long int) parser_tables___Parser___action_table_row788},
-  {(long int) parser_tables___Parser___action_table_row789},
-  {(long int) parser_tables___Parser___action_table_row790},
-  {(long int) parser_tables___Parser___action_table_row791},
-  {(long int) parser_tables___Parser___action_table_row792},
-  {(long int) parser_tables___Parser___action_table_row793},
-  {(long int) parser_tables___Parser___action_table_row794},
-  {(long int) parser_tables___Parser___action_table_row795},
-  {(long int) parser_tables___Parser___action_table_row796},
-  {(long int) parser_tables___Parser___action_table_row797},
-  {(long int) parser_tables___Parser___action_table_row798},
-  {(long int) parser_tables___Parser___action_table_row799},
-  {(long int) parser_tables___Parser___action_table_row800},
-  {(long int) parser_tables___Parser___action_table_row801},
-  {(long int) parser_tables___Parser___action_table_row802},
-  {(long int) parser_tables___Parser___action_table_row803},
-  {(long int) parser_tables___Parser___action_table_row804},
-  {(long int) parser_tables___Parser___action_table_row805},
-  {(long int) parser_tables___Parser___action_table_row806},
-  {(long int) parser_tables___Parser___action_table_row807},
-  {(long int) parser_tables___Parser___action_table_row808},
-  {(long int) parser_tables___Parser___action_table_row809},
-  {(long int) parser_tables___Parser___action_table_row810},
-  {(long int) parser_tables___Parser___action_table_row811},
-  {(long int) parser_tables___Parser___action_table_row812},
-  {(long int) parser_tables___Parser___action_table_row813},
-  {(long int) parser_tables___Parser___action_table_row814},
-  {(long int) parser_tables___Parser___action_table_row815},
-  {(long int) parser_tables___Parser___action_table_row816},
-  {(long int) parser_tables___Parser___action_table_row817},
-  {(long int) parser_tables___Parser___action_table_row818},
-  {(long int) parser_tables___Parser___action_table_row819},
-  {(long int) parser_tables___Parser___action_table_row820},
-  {(long int) parser_tables___Parser___action_table_row821},
-  {(long int) parser_tables___Parser___action_table_row822},
-  {(long int) parser_tables___Parser___action_table_row823},
-  {(long int) parser_tables___Parser___action_table_row824},
-  {(long int) parser_tables___Parser___action_table_row825},
-  {(long int) parser_tables___Parser___action_table_row826},
-  {(long int) parser_tables___Parser___action_table_row827},
-  {(long int) parser_tables___Parser___action_table_row828},
-  {(long int) parser_tables___Parser___action_table_row829},
-  {(long int) parser_tables___Parser___action_table_row830},
-  {(long int) parser_tables___Parser___action_table_row831},
-  {(long int) parser_tables___Parser___action_table_row832},
-  {(long int) parser_tables___Parser___action_table_row833},
-  {(long int) parser_tables___Parser___action_table_row834},
-  {(long int) parser_tables___Parser___action_table_row835},
-  {(long int) parser_tables___Parser___action_table_row836},
-  {(long int) parser_tables___Parser___action_table_row837},
-  {(long int) parser_tables___Parser___action_table_row838},
-  {(long int) parser_tables___Parser___action_table_row839},
-  {(long int) parser_tables___Parser___action_table_row840},
-  {(long int) parser_tables___Parser___action_table_row841},
-  {(long int) parser_tables___Parser___action_table_row842},
-  {(long int) parser_tables___Parser___action_table_row843},
-  {(long int) parser_tables___Parser___action_table_row844},
-  {(long int) parser_tables___Parser___action_table_row845},
-  {(long int) parser_tables___Parser___action_table_row846},
-  {(long int) parser_tables___Parser___action_table_row847},
-  {(long int) parser_tables___Parser___action_table_row848},
-  {(long int) parser_tables___Parser___action_table_row849},
-  {(long int) parser_tables___Parser___action_table_row850},
-  {(long int) parser_tables___Parser___action_table_row851},
-  {(long int) parser_tables___Parser___action_table_row852},
-  {(long int) parser_tables___Parser___action_table_row853},
-  {(long int) parser_tables___Parser___action_table_row854},
-  {(long int) parser_tables___Parser___action_table_row855},
-  {(long int) parser_tables___Parser___action_table_row856},
-  {(long int) parser_tables___Parser___action_table_row857},
-  {(long int) parser_tables___Parser___action_table_row858},
-  {(long int) parser_tables___Parser___action_table_row859},
-  {(long int) parser_tables___Parser___action_table_row860},
-  {(long int) parser_tables___Parser___action_table_row861},
-  {(long int) parser_tables___Parser___action_table_row862},
-  {(long int) parser_tables___Parser___action_table_row863},
-  {(long int) parser_tables___Parser___action_table_row864},
-  {(long int) parser_tables___Parser___action_table_row865},
-  {(long int) parser_tables___Parser___action_table_row866},
-  {(long int) parser_tables___Parser___action_table_row867},
-  {(long int) parser_tables___Parser___action_table_row868},
-  {(long int) parser_tables___Parser___action_table_row869},
-  {(long int) parser_tables___Parser___action_table_row870},
-  {(long int) parser_tables___Parser___action_table_row871},
-  {(long int) parser_tables___Parser___action_table_row872},
-  {(long int) parser_tables___Parser___action_table_row873},
-  {(long int) parser_tables___Parser___action_table_row874},
-  {(long int) parser_tables___Parser___action_table_row875},
-  {(long int) parser_tables___Parser___action_table_row876},
-  {(long int) parser_tables___Parser___action_table_row877},
-  {(long int) parser_tables___Parser___action_table_row878},
-  {(long int) parser_tables___Parser___action_table_row879},
-  {(long int) parser_tables___Parser___action_table_row880},
-  {(long int) parser_tables___Parser___action_table_row881},
-  {(long int) parser_tables___Parser___action_table_row882},
-  {(long int) parser_tables___Parser___action_table_row883},
-  {(long int) parser_tables___Parser___action_table_row884},
-  {(long int) parser_tables___Parser___action_table_row885},
-  {(long int) parser_tables___Parser___action_table_row886},
-  {(long int) parser_tables___Parser___action_table_row887},
-  {(long int) parser_tables___Parser___action_table_row888},
-  {(long int) parser_tables___Parser___action_table_row889},
-  {(long int) parser_tables___Parser___action_table_row890},
-  {(long int) parser_tables___Parser___action_table_row891},
-  {(long int) parser_tables___Parser___action_table_row892},
-  {(long int) parser_tables___Parser___action_table_row893},
-  {(long int) parser_tables___Parser___action_table_row894},
-  {(long int) parser_tables___Parser___action_table_row895},
-  {(long int) parser_tables___Parser___action_table_row896},
-  {(long int) parser_tables___Parser___action_table_row897},
-  {(long int) parser_tables___Parser___action_table_row898},
-  {(long int) parser_tables___Parser___action_table_row899},
-  {(long int) parser_tables___Parser___action_table_row900},
-  {(long int) parser_tables___Parser___action_table_row901},
-  {(long int) parser_tables___Parser___action_table_row902},
-  {(long int) parser_tables___Parser___action_table_row903},
-  {(long int) parser_tables___Parser___action_table_row904},
-  {(long int) parser_tables___Parser___action_table_row905},
-  {(long int) parser_tables___Parser___action_table_row906},
-  {(long int) parser_tables___Parser___action_table_row907},
-  {(long int) parser_tables___Parser___action_table_row908},
-  {(long int) parser_tables___Parser___action_table_row909},
-  {(long int) parser_tables___Parser___action_table_row910},
-  {(long int) parser_tables___Parser___action_table_row911},
-  {(long int) parser_tables___Parser___action_table_row912},
-  {(long int) parser_tables___Parser___action_table_row913},
-  {(long int) parser_tables___Parser___action_table_row914},
-  {(long int) parser_tables___Parser___action_table_row915},
-  {(long int) parser_tables___Parser___action_table_row916},
-  {(long int) parser_tables___Parser___action_table_row917},
-  {(long int) parser_tables___Parser___action_table_row918},
-  {(long int) parser_tables___Parser___action_table_row919},
-  {(long int) parser_tables___Parser___action_table_row920},
-  {(long int) parser_tables___Parser___action_table_row921},
-  {(long int) parser_tables___Parser___action_table_row922},
-  {(long int) parser_tables___Parser___action_table_row923},
-  {(long int) parser_tables___Parser___action_table_row924},
-  {(long int) parser_tables___Parser___action_table_row925},
-  {(long int) parser_tables___Parser___action_table_row926},
-  {(long int) parser_tables___Parser___action_table_row927},
-  {(long int) parser_tables___Parser___action_table_row928},
-  {(long int) parser_tables___Parser___action_table_row929},
-  {(long int) parser_tables___Parser___action_table_row930},
-  {(long int) parser_tables___Parser___action_table_row931},
-  {(long int) parser_tables___Parser___action_table_row932},
-  {(long int) parser_tables___Parser___action_table_row933},
-  {(long int) parser_tables___Parser___action_table_row934},
-  {(long int) parser_tables___Parser___action_table_row935},
-  {(long int) parser_tables___Parser___action_table_row936},
-  {(long int) parser_tables___Parser___action_table_row937},
-  {(long int) parser_tables___Parser___action_table_row938},
-  {(long int) parser_tables___Parser___action_table_row939},
-  {(long int) parser_tables___Parser___action_table_row940},
-  {(long int) parser_tables___Parser___action_table_row941},
-  {(long int) parser_tables___Parser___action_table_row942},
-  {(long int) parser_tables___Parser___action_table_row943},
-  {(long int) parser_tables___Parser___action_table_row944},
-  {(long int) parser_tables___Parser___action_table_row945},
-  {(long int) parser_tables___Parser___action_table_row946},
-  {(long int) parser_tables___Parser___action_table_row947},
-  {(long int) parser_tables___Parser___action_table_row948},
-  {(long int) parser_tables___Parser___action_table_row949},
-  {(long int) parser_tables___Parser___action_table_row950},
-  {(long int) parser_tables___Parser___action_table_row951},
-  {(long int) parser_tables___Parser___action_table_row952},
-  {(long int) parser_tables___Parser___action_table_row953},
-  {(long int) parser_tables___Parser___action_table_row954},
-  {(long int) parser_tables___Parser___action_table_row955},
-  {(long int) parser_tables___Parser___action_table_row956},
-  {(long int) parser_tables___Parser___action_table_row957},
-  {(long int) parser_tables___Parser___action_table_row958},
-  {(long int) parser_tables___Parser___action_table_row959},
-  {(long int) parser_tables___Parser___action_table_row960},
-  {(long int) parser_tables___Parser___action_table_row961},
-  {(long int) parser_tables___Parser___action_table_row962},
-  {(long int) parser_tables___Parser___action_table_row963},
-  {(long int) parser_tables___Parser___action_table_row964},
-  {(long int) parser_tables___Parser___action_table_row965},
-  {(long int) parser_tables___Parser___action_table_row966},
-  {(long int) parser_tables___Parser___action_table_row967},
-  {(long int) parser_tables___Parser___action_table_row968},
-  {(long int) parser_tables___Parser___action_table_row969},
-  {(long int) parser_tables___Parser___action_table_row970},
-  {(long int) parser_tables___Parser___action_table_row971},
-  {(long int) parser_tables___Parser___action_table_row972},
-  {(long int) parser_tables___Parser___action_table_row973},
-  {(long int) parser_tables___Parser___action_table_row974},
-  {(long int) parser_tables___Parser___action_table_row975},
-  {(long int) parser_tables___Parser___action_table_row976},
-  {(long int) parser_tables___Parser___action_table_row977},
-  {(long int) parser_tables___Parser___action_table_row978},
-  {(long int) parser_tables___Parser___action_table_row979},
-  {(long int) parser_tables___Parser___action_table_row980},
-  {(long int) parser_tables___Parser___action_table_row981},
-  {(long int) parser_tables___Parser___action_table_row982},
-  {(long int) parser_tables___Parser___action_table_row983},
-  {(long int) parser_tables___Parser___action_table_row984},
-  {(long int) parser_tables___Parser___action_table_row985},
-  {(long int) parser_tables___Parser___action_table_row986},
-  {(long int) parser_tables___Parser___action_table_row987},
-  {(long int) parser_tables___Parser___action_table_row988},
-  {(long int) parser_tables___Parser___action_table_row989},
-  {(long int) parser_tables___Parser___action_table_row990},
-  {(long int) parser_tables___Parser___action_table_row991},
-  {(long int) parser_tables___Parser___action_table_row992},
-  {(long int) parser_tables___Parser___action_table_row993},
-  {(long int) parser_tables___Parser___action_table_row994},
-  {(long int) parser_tables___Parser___action_table_row995},
-  {(long int) parser_tables___Parser___action_table_row996},
-  {(long int) parser_tables___Parser___action_table_row997},
-  {(long int) parser_tables___Parser___action_table_row998},
-  {(long int) parser_tables___Parser___action_table_row999},
-  {(long int) parser_tables___Parser___action_table_row1000},
-  {(long int) parser_tables___Parser___action_table_row1001},
-  {(long int) parser_tables___Parser___action_table_row1002},
-  {(long int) parser_tables___Parser___action_table_row1003},
-  {(long int) parser_tables___Parser___action_table_row1004},
-  {(long int) parser_tables___Parser___action_table_row1005},
-  {(long int) parser_tables___Parser___action_table_row1006},
-  {(long int) parser_tables___Parser___action_table_row1007},
-  {(long int) parser_tables___Parser___action_table_row1008},
-  {(long int) parser_tables___Parser___action_table_row1009},
-  {(long int) parser_tables___Parser___action_table_row1010},
-  {(long int) parser_tables___Parser___action_table_row1011},
-  {(long int) parser_tables___Parser___action_table_row1012},
-  {(long int) parser_tables___Parser___action_table_row1013},
-  {(long int) parser_tables___Parser___action_table_row1014},
-  {(long int) parser_tables___Parser___action_table_row1015},
-  {(long int) parser_tables___Parser___action_table_row1016},
-  {(long int) parser_tables___Parser___action_table_row1017},
-  {(long int) parser_tables___Parser___action_table_row1018},
-  {(long int) parser_tables___Parser___action_table_row1019},
-  {(long int) parser_tables___Parser___action_table_row1020},
-  {(long int) parser_tables___Parser___action_table_row1021},
-  {(long int) parser_tables___Parser___action_table_row1022},
-  {(long int) parser_tables___Parser___action_table_row1023},
-  {(long int) parser_tables___Parser___action_table_row1024},
-  {(long int) parser_tables___Parser___action_table_row1025},
-  {(long int) parser_tables___Parser___action_table_row1026},
-  {(long int) parser_tables___Parser___action_table_row1027},
-  {(long int) parser_tables___Parser___action_table_row1028},
-  {(long int) parser_tables___Parser___action_table_row1029},
-  {(long int) parser_tables___Parser___action_table_row1030},
-  {(long int) parser_tables___Parser___action_table_row1031},
-  {(long int) parser_tables___Parser___action_table_row1032},
-  {(long int) parser_tables___Parser___action_table_row1033},
-  {(long int) parser_tables___Parser___action_table_row1034},
-  {(long int) parser_tables___Parser___action_table_row1035},
-  {(long int) parser_tables___Parser___action_table_row1036},
-  {(long int) parser_tables___Parser___action_table_row1037},
-  {(long int) parser_tables___Parser___action_table_row1038},
-  {(long int) parser_tables___Parser___action_table_row1039},
-  {(long int) parser_tables___Parser___action_table_row1040},
-  {(long int) parser_tables___Parser___action_table_row1041},
-  {(long int) parser_tables___Parser___action_table_row1042},
-  {(long int) parser_tables___Parser___action_table_row1043},
-  {(long int) parser_tables___Parser___action_table_row1044},
-  {(long int) parser_tables___Parser___action_table_row1045},
-  {(long int) parser_tables___Parser___action_table_row1046},
-  {(long int) parser_tables___Parser___action_table_row1047},
-  {(long int) parser_tables___Parser___action_table_row1048},
-  {(long int) parser_tables___Parser___action_table_row1049},
-  {(long int) parser_tables___Parser___action_table_row1050},
-  {(long int) parser_tables___Parser___action_table_row1051},
-  {(long int) parser_tables___Parser___action_table_row1052},
-  {(long int) parser_tables___Parser___action_table_row1053},
-  {(long int) parser_tables___Parser___action_table_row1054},
-  {(long int) parser_tables___Parser___action_table_row1055},
-  {(long int) parser_tables___Parser___action_table_row1056},
-  {(long int) parser_tables___Parser___action_table_row1057},
-  {(long int) parser_tables___Parser___action_table_row1058},
-  {(long int) parser_tables___Parser___action_table_row1059},
-  {(long int) parser_tables___Parser___action_table_row1060},
-  {(long int) parser_tables___Parser___action_table_row1061},
-  {(long int) parser_tables___Parser___action_table_row1062},
-  {(long int) parser_tables___Parser___action_table_row1063},
-  {(long int) parser_tables___Parser___action_table_row1064},
-  {(long int) parser_tables___Parser___action_table_row1065},
-  {(long int) parser_tables___Parser___action_table_row1066},
-  {(long int) parser_tables___Parser___action_table_row1067},
-  {(long int) parser_tables___Parser___action_table_row1068},
-  {(long int) parser_tables___Parser___action_table_row1069},
-  {(long int) parser_tables___Parser___action_table_row1070},
-  {(long int) parser_tables___Parser___action_table_row1071},
-  {(long int) parser_tables___Parser___action_table_row1072},
-  {(long int) parser_tables___Parser___action_table_row1073},
-  {(long int) parser_tables___Parser___action_table_row1074},
-  {(long int) parser_tables___Parser___action_table_row1075},
-  {(long int) parser_tables___Parser___action_table_row1076},
-  {(long int) parser_tables___Parser___action_table_row1077},
-  {(long int) parser_tables___Parser___action_table_row1078},
-  {(long int) parser_tables___Parser___action_table_row1079},
-  {(long int) parser_tables___Parser___action_table_row1080},
-  {(long int) parser_tables___Parser___action_table_row1081},
-  {(long int) parser_tables___Parser___action_table_row1082},
-  {(long int) parser_tables___Parser___action_table_row1083},
-  {(long int) parser_tables___Parser___action_table_row1084},
-  {(long int) parser_tables___Parser___action_table_row1085},
-  {(long int) parser_tables___Parser___action_table_row1086},
-  {(long int) parser_tables___Parser___action_table_row1087},
-  {(long int) parser_tables___Parser___action_table_row1088},
-  {(long int) parser_tables___Parser___action_table_row1089},
-  {(long int) parser_tables___Parser___action_table_row1090},
-  {(long int) parser_tables___Parser___action_table_row1091},
-  {(long int) parser_tables___Parser___action_table_row1092},
-  {(long int) parser_tables___Parser___action_table_row1093},
-  {(long int) parser_tables___Parser___action_table_row1094},
-  {(long int) parser_tables___Parser___action_table_row1095},
-  {(long int) parser_tables___Parser___action_table_row1096},
-  {(long int) parser_tables___Parser___action_table_row1097},
-  {(long int) parser_tables___Parser___action_table_row1098},
-  {(long int) parser_tables___Parser___action_table_row1099},
-  {(long int) parser_tables___Parser___action_table_row1100},
-  {(long int) parser_tables___Parser___action_table_row1101},
-  {(long int) parser_tables___Parser___action_table_row1102},
-  {(long int) parser_tables___Parser___action_table_row1103},
-  {(long int) parser_tables___Parser___action_table_row1104},
-  {(long int) parser_tables___Parser___action_table_row1105},
-  {(long int) parser_tables___Parser___action_table_row1106},
-  {(long int) parser_tables___Parser___action_table_row1107},
-  {(long int) parser_tables___Parser___action_table_row1108},
-  {(long int) parser_tables___Parser___action_table_row1109},
-  {(long int) parser_tables___Parser___action_table_row1110},
-  {(long int) parser_tables___Parser___action_table_row1111},
-  {(long int) parser_tables___Parser___action_table_row1112},
-  {(long int) parser_tables___Parser___action_table_row1113},
-  {(long int) parser_tables___Parser___action_table_row1114},
-  {(long int) parser_tables___Parser___action_table_row1115},
-  {(long int) parser_tables___Parser___action_table_row1116},
-  {(long int) parser_tables___Parser___action_table_row1117},
-  {(long int) parser_tables___Parser___action_table_row1118},
-  {(long int) parser_tables___Parser___action_table_row1119},
-  {(long int) parser_tables___Parser___action_table_row1120},
-  {(long int) parser_tables___Parser___action_table_row1121},
-  {(long int) parser_tables___Parser___action_table_row1122},
-  {(long int) parser_tables___Parser___action_table_row1123},
-  {(long int) parser_tables___Parser___action_table_row1124},
-  {(long int) parser_tables___Parser___action_table_row1125},
-  {(long int) parser_tables___Parser___action_table_row1126},
-  {(long int) parser_tables___Parser___action_table_row1127},
-  {(long int) parser_tables___Parser___action_table_row1128},
-  {(long int) parser_tables___Parser___action_table_row1129},
-  {(long int) parser_tables___Parser___action_table_row1130},
-  {(long int) parser_tables___Parser___action_table_row1131},
-  {(long int) parser_tables___Parser___action_table_row1132},
-  {(long int) parser_tables___Parser___action_table_row1133},
-  {(long int) parser_tables___Parser___action_table_row1134},
-  {(long int) parser_tables___Parser___action_table_row1135},
-  {(long int) parser_tables___Parser___action_table_row1136},
-  {(long int) parser_tables___Parser___action_table_row1137},
-  {(long int) parser_tables___Parser___action_table_row1138},
-  {(long int) parser_tables___Parser___action_table_row1139},
-  {(long int) parser_tables___Parser___action_table_row1140},
-  {(long int) parser_tables___Parser___action_table_row1141},
-  {(long int) parser_tables___Parser___action_table_row1142},
-  {(long int) parser_tables___Parser___action_table_row1143},
-  {(long int) parser_tables___Parser___action_table_row1144},
-  {(long int) parser_tables___Parser___build_goto_table},
-  {(long int) parser_tables___Parser___error_messages},
-  {(long int) parser_tables___Parser___errors},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute Parser::_lexer */
-/* 2: Attribute Parser::_stack */
-/* 3: Attribute Parser::_stack_pos */
-/* 4: Attribute Parser::_reduce_table */
-/* 5: Attribute Parser::_action_table */
-/* 6: Attribute Parser::_goto_table */
-val_t NEW_Parser(void) {
+const classtable_elt_t VFT_ParserTable[1210] = {
+  {(bigint) 59 /* 0: Identity */},
+  {(bigint) 3 /* 1: ParserTable < Object: superclass typecheck marker */},
+  {(bigint) 59 /* 2: ParserTable < ParserTable: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ParserTable < 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) 1 /* 40: ParserTable < ParserTable: superclass init_table position */},
+  {(bigint) parser_tables___ParserTable___build_action_table},
+  {(bigint) parser_tables___ParserTable___action_table_row1},
+  {(bigint) parser_tables___ParserTable___action_table_row2},
+  {(bigint) parser_tables___ParserTable___action_table_row3},
+  {(bigint) parser_tables___ParserTable___action_table_row4},
+  {(bigint) parser_tables___ParserTable___action_table_row5},
+  {(bigint) parser_tables___ParserTable___action_table_row6},
+  {(bigint) parser_tables___ParserTable___action_table_row7},
+  {(bigint) parser_tables___ParserTable___action_table_row8},
+  {(bigint) parser_tables___ParserTable___action_table_row9},
+  {(bigint) parser_tables___ParserTable___action_table_row10},
+  {(bigint) parser_tables___ParserTable___action_table_row11},
+  {(bigint) parser_tables___ParserTable___action_table_row12},
+  {(bigint) parser_tables___ParserTable___action_table_row13},
+  {(bigint) parser_tables___ParserTable___action_table_row14},
+  {(bigint) parser_tables___ParserTable___action_table_row15},
+  {(bigint) parser_tables___ParserTable___action_table_row16},
+  {(bigint) parser_tables___ParserTable___action_table_row17},
+  {(bigint) parser_tables___ParserTable___action_table_row18},
+  {(bigint) parser_tables___ParserTable___action_table_row19},
+  {(bigint) parser_tables___ParserTable___action_table_row20},
+  {(bigint) parser_tables___ParserTable___action_table_row21},
+  {(bigint) parser_tables___ParserTable___action_table_row22},
+  {(bigint) parser_tables___ParserTable___action_table_row23},
+  {(bigint) parser_tables___ParserTable___action_table_row24},
+  {(bigint) parser_tables___ParserTable___action_table_row25},
+  {(bigint) parser_tables___ParserTable___action_table_row26},
+  {(bigint) parser_tables___ParserTable___action_table_row27},
+  {(bigint) parser_tables___ParserTable___action_table_row28},
+  {(bigint) parser_tables___ParserTable___action_table_row29},
+  {(bigint) parser_tables___ParserTable___action_table_row30},
+  {(bigint) parser_tables___ParserTable___action_table_row31},
+  {(bigint) parser_tables___ParserTable___action_table_row32},
+  {(bigint) parser_tables___ParserTable___action_table_row33},
+  {(bigint) parser_tables___ParserTable___action_table_row34},
+  {(bigint) parser_tables___ParserTable___action_table_row35},
+  {(bigint) parser_tables___ParserTable___action_table_row36},
+  {(bigint) parser_tables___ParserTable___action_table_row37},
+  {(bigint) parser_tables___ParserTable___action_table_row38},
+  {(bigint) parser_tables___ParserTable___action_table_row39},
+  {(bigint) parser_tables___ParserTable___action_table_row40},
+  {(bigint) parser_tables___ParserTable___action_table_row41},
+  {(bigint) parser_tables___ParserTable___action_table_row42},
+  {(bigint) parser_tables___ParserTable___action_table_row43},
+  {(bigint) parser_tables___ParserTable___action_table_row44},
+  {(bigint) parser_tables___ParserTable___action_table_row45},
+  {(bigint) parser_tables___ParserTable___action_table_row46},
+  {(bigint) parser_tables___ParserTable___action_table_row47},
+  {(bigint) parser_tables___ParserTable___action_table_row48},
+  {(bigint) parser_tables___ParserTable___action_table_row49},
+  {(bigint) parser_tables___ParserTable___action_table_row50},
+  {(bigint) parser_tables___ParserTable___action_table_row51},
+  {(bigint) parser_tables___ParserTable___action_table_row52},
+  {(bigint) parser_tables___ParserTable___action_table_row53},
+  {(bigint) parser_tables___ParserTable___action_table_row54},
+  {(bigint) parser_tables___ParserTable___action_table_row55},
+  {(bigint) parser_tables___ParserTable___action_table_row56},
+  {(bigint) parser_tables___ParserTable___action_table_row57},
+  {(bigint) parser_tables___ParserTable___action_table_row58},
+  {(bigint) parser_tables___ParserTable___action_table_row59},
+  {(bigint) parser_tables___ParserTable___action_table_row60},
+  {(bigint) parser_tables___ParserTable___action_table_row61},
+  {(bigint) parser_tables___ParserTable___action_table_row62},
+  {(bigint) parser_tables___ParserTable___action_table_row63},
+  {(bigint) parser_tables___ParserTable___action_table_row64},
+  {(bigint) parser_tables___ParserTable___action_table_row65},
+  {(bigint) parser_tables___ParserTable___action_table_row66},
+  {(bigint) parser_tables___ParserTable___action_table_row67},
+  {(bigint) parser_tables___ParserTable___action_table_row68},
+  {(bigint) parser_tables___ParserTable___action_table_row69},
+  {(bigint) parser_tables___ParserTable___action_table_row70},
+  {(bigint) parser_tables___ParserTable___action_table_row71},
+  {(bigint) parser_tables___ParserTable___action_table_row72},
+  {(bigint) parser_tables___ParserTable___action_table_row73},
+  {(bigint) parser_tables___ParserTable___action_table_row74},
+  {(bigint) parser_tables___ParserTable___action_table_row75},
+  {(bigint) parser_tables___ParserTable___action_table_row76},
+  {(bigint) parser_tables___ParserTable___action_table_row77},
+  {(bigint) parser_tables___ParserTable___action_table_row78},
+  {(bigint) parser_tables___ParserTable___action_table_row79},
+  {(bigint) parser_tables___ParserTable___action_table_row80},
+  {(bigint) parser_tables___ParserTable___action_table_row81},
+  {(bigint) parser_tables___ParserTable___action_table_row82},
+  {(bigint) parser_tables___ParserTable___action_table_row83},
+  {(bigint) parser_tables___ParserTable___action_table_row84},
+  {(bigint) parser_tables___ParserTable___action_table_row85},
+  {(bigint) parser_tables___ParserTable___action_table_row86},
+  {(bigint) parser_tables___ParserTable___action_table_row87},
+  {(bigint) parser_tables___ParserTable___action_table_row88},
+  {(bigint) parser_tables___ParserTable___action_table_row89},
+  {(bigint) parser_tables___ParserTable___action_table_row90},
+  {(bigint) parser_tables___ParserTable___action_table_row91},
+  {(bigint) parser_tables___ParserTable___action_table_row92},
+  {(bigint) parser_tables___ParserTable___action_table_row93},
+  {(bigint) parser_tables___ParserTable___action_table_row94},
+  {(bigint) parser_tables___ParserTable___action_table_row95},
+  {(bigint) parser_tables___ParserTable___action_table_row96},
+  {(bigint) parser_tables___ParserTable___action_table_row97},
+  {(bigint) parser_tables___ParserTable___action_table_row98},
+  {(bigint) parser_tables___ParserTable___action_table_row99},
+  {(bigint) parser_tables___ParserTable___action_table_row100},
+  {(bigint) parser_tables___ParserTable___action_table_row101},
+  {(bigint) parser_tables___ParserTable___action_table_row102},
+  {(bigint) parser_tables___ParserTable___action_table_row103},
+  {(bigint) parser_tables___ParserTable___action_table_row104},
+  {(bigint) parser_tables___ParserTable___action_table_row105},
+  {(bigint) parser_tables___ParserTable___action_table_row106},
+  {(bigint) parser_tables___ParserTable___action_table_row107},
+  {(bigint) parser_tables___ParserTable___action_table_row108},
+  {(bigint) parser_tables___ParserTable___action_table_row109},
+  {(bigint) parser_tables___ParserTable___action_table_row110},
+  {(bigint) parser_tables___ParserTable___action_table_row111},
+  {(bigint) parser_tables___ParserTable___action_table_row112},
+  {(bigint) parser_tables___ParserTable___action_table_row113},
+  {(bigint) parser_tables___ParserTable___action_table_row114},
+  {(bigint) parser_tables___ParserTable___action_table_row115},
+  {(bigint) parser_tables___ParserTable___action_table_row116},
+  {(bigint) parser_tables___ParserTable___action_table_row117},
+  {(bigint) parser_tables___ParserTable___action_table_row118},
+  {(bigint) parser_tables___ParserTable___action_table_row119},
+  {(bigint) parser_tables___ParserTable___action_table_row120},
+  {(bigint) parser_tables___ParserTable___action_table_row121},
+  {(bigint) parser_tables___ParserTable___action_table_row122},
+  {(bigint) parser_tables___ParserTable___action_table_row123},
+  {(bigint) parser_tables___ParserTable___action_table_row124},
+  {(bigint) parser_tables___ParserTable___action_table_row125},
+  {(bigint) parser_tables___ParserTable___action_table_row126},
+  {(bigint) parser_tables___ParserTable___action_table_row127},
+  {(bigint) parser_tables___ParserTable___action_table_row128},
+  {(bigint) parser_tables___ParserTable___action_table_row129},
+  {(bigint) parser_tables___ParserTable___action_table_row130},
+  {(bigint) parser_tables___ParserTable___action_table_row131},
+  {(bigint) parser_tables___ParserTable___action_table_row132},
+  {(bigint) parser_tables___ParserTable___action_table_row133},
+  {(bigint) parser_tables___ParserTable___action_table_row134},
+  {(bigint) parser_tables___ParserTable___action_table_row135},
+  {(bigint) parser_tables___ParserTable___action_table_row136},
+  {(bigint) parser_tables___ParserTable___action_table_row137},
+  {(bigint) parser_tables___ParserTable___action_table_row138},
+  {(bigint) parser_tables___ParserTable___action_table_row139},
+  {(bigint) parser_tables___ParserTable___action_table_row140},
+  {(bigint) parser_tables___ParserTable___action_table_row141},
+  {(bigint) parser_tables___ParserTable___action_table_row142},
+  {(bigint) parser_tables___ParserTable___action_table_row143},
+  {(bigint) parser_tables___ParserTable___action_table_row144},
+  {(bigint) parser_tables___ParserTable___action_table_row145},
+  {(bigint) parser_tables___ParserTable___action_table_row146},
+  {(bigint) parser_tables___ParserTable___action_table_row147},
+  {(bigint) parser_tables___ParserTable___action_table_row148},
+  {(bigint) parser_tables___ParserTable___action_table_row149},
+  {(bigint) parser_tables___ParserTable___action_table_row150},
+  {(bigint) parser_tables___ParserTable___action_table_row151},
+  {(bigint) parser_tables___ParserTable___action_table_row152},
+  {(bigint) parser_tables___ParserTable___action_table_row153},
+  {(bigint) parser_tables___ParserTable___action_table_row154},
+  {(bigint) parser_tables___ParserTable___action_table_row155},
+  {(bigint) parser_tables___ParserTable___action_table_row156},
+  {(bigint) parser_tables___ParserTable___action_table_row157},
+  {(bigint) parser_tables___ParserTable___action_table_row158},
+  {(bigint) parser_tables___ParserTable___action_table_row159},
+  {(bigint) parser_tables___ParserTable___action_table_row160},
+  {(bigint) parser_tables___ParserTable___action_table_row161},
+  {(bigint) parser_tables___ParserTable___action_table_row162},
+  {(bigint) parser_tables___ParserTable___action_table_row163},
+  {(bigint) parser_tables___ParserTable___action_table_row164},
+  {(bigint) parser_tables___ParserTable___action_table_row165},
+  {(bigint) parser_tables___ParserTable___action_table_row166},
+  {(bigint) parser_tables___ParserTable___action_table_row167},
+  {(bigint) parser_tables___ParserTable___action_table_row168},
+  {(bigint) parser_tables___ParserTable___action_table_row169},
+  {(bigint) parser_tables___ParserTable___action_table_row170},
+  {(bigint) parser_tables___ParserTable___action_table_row171},
+  {(bigint) parser_tables___ParserTable___action_table_row172},
+  {(bigint) parser_tables___ParserTable___action_table_row173},
+  {(bigint) parser_tables___ParserTable___action_table_row174},
+  {(bigint) parser_tables___ParserTable___action_table_row175},
+  {(bigint) parser_tables___ParserTable___action_table_row176},
+  {(bigint) parser_tables___ParserTable___action_table_row177},
+  {(bigint) parser_tables___ParserTable___action_table_row178},
+  {(bigint) parser_tables___ParserTable___action_table_row179},
+  {(bigint) parser_tables___ParserTable___action_table_row180},
+  {(bigint) parser_tables___ParserTable___action_table_row181},
+  {(bigint) parser_tables___ParserTable___action_table_row182},
+  {(bigint) parser_tables___ParserTable___action_table_row183},
+  {(bigint) parser_tables___ParserTable___action_table_row184},
+  {(bigint) parser_tables___ParserTable___action_table_row185},
+  {(bigint) parser_tables___ParserTable___action_table_row186},
+  {(bigint) parser_tables___ParserTable___action_table_row187},
+  {(bigint) parser_tables___ParserTable___action_table_row188},
+  {(bigint) parser_tables___ParserTable___action_table_row189},
+  {(bigint) parser_tables___ParserTable___action_table_row190},
+  {(bigint) parser_tables___ParserTable___action_table_row191},
+  {(bigint) parser_tables___ParserTable___action_table_row192},
+  {(bigint) parser_tables___ParserTable___action_table_row193},
+  {(bigint) parser_tables___ParserTable___action_table_row194},
+  {(bigint) parser_tables___ParserTable___action_table_row195},
+  {(bigint) parser_tables___ParserTable___action_table_row196},
+  {(bigint) parser_tables___ParserTable___action_table_row197},
+  {(bigint) parser_tables___ParserTable___action_table_row198},
+  {(bigint) parser_tables___ParserTable___action_table_row199},
+  {(bigint) parser_tables___ParserTable___action_table_row200},
+  {(bigint) parser_tables___ParserTable___action_table_row201},
+  {(bigint) parser_tables___ParserTable___action_table_row202},
+  {(bigint) parser_tables___ParserTable___action_table_row203},
+  {(bigint) parser_tables___ParserTable___action_table_row204},
+  {(bigint) parser_tables___ParserTable___action_table_row205},
+  {(bigint) parser_tables___ParserTable___action_table_row206},
+  {(bigint) parser_tables___ParserTable___action_table_row207},
+  {(bigint) parser_tables___ParserTable___action_table_row208},
+  {(bigint) parser_tables___ParserTable___action_table_row209},
+  {(bigint) parser_tables___ParserTable___action_table_row210},
+  {(bigint) parser_tables___ParserTable___action_table_row211},
+  {(bigint) parser_tables___ParserTable___action_table_row212},
+  {(bigint) parser_tables___ParserTable___action_table_row213},
+  {(bigint) parser_tables___ParserTable___action_table_row214},
+  {(bigint) parser_tables___ParserTable___action_table_row215},
+  {(bigint) parser_tables___ParserTable___action_table_row216},
+  {(bigint) parser_tables___ParserTable___action_table_row217},
+  {(bigint) parser_tables___ParserTable___action_table_row218},
+  {(bigint) parser_tables___ParserTable___action_table_row219},
+  {(bigint) parser_tables___ParserTable___action_table_row220},
+  {(bigint) parser_tables___ParserTable___action_table_row221},
+  {(bigint) parser_tables___ParserTable___action_table_row222},
+  {(bigint) parser_tables___ParserTable___action_table_row223},
+  {(bigint) parser_tables___ParserTable___action_table_row224},
+  {(bigint) parser_tables___ParserTable___action_table_row225},
+  {(bigint) parser_tables___ParserTable___action_table_row226},
+  {(bigint) parser_tables___ParserTable___action_table_row227},
+  {(bigint) parser_tables___ParserTable___action_table_row228},
+  {(bigint) parser_tables___ParserTable___action_table_row229},
+  {(bigint) parser_tables___ParserTable___action_table_row230},
+  {(bigint) parser_tables___ParserTable___action_table_row231},
+  {(bigint) parser_tables___ParserTable___action_table_row232},
+  {(bigint) parser_tables___ParserTable___action_table_row233},
+  {(bigint) parser_tables___ParserTable___action_table_row234},
+  {(bigint) parser_tables___ParserTable___action_table_row235},
+  {(bigint) parser_tables___ParserTable___action_table_row236},
+  {(bigint) parser_tables___ParserTable___action_table_row237},
+  {(bigint) parser_tables___ParserTable___action_table_row238},
+  {(bigint) parser_tables___ParserTable___action_table_row239},
+  {(bigint) parser_tables___ParserTable___action_table_row240},
+  {(bigint) parser_tables___ParserTable___action_table_row241},
+  {(bigint) parser_tables___ParserTable___action_table_row242},
+  {(bigint) parser_tables___ParserTable___action_table_row243},
+  {(bigint) parser_tables___ParserTable___action_table_row244},
+  {(bigint) parser_tables___ParserTable___action_table_row245},
+  {(bigint) parser_tables___ParserTable___action_table_row246},
+  {(bigint) parser_tables___ParserTable___action_table_row247},
+  {(bigint) parser_tables___ParserTable___action_table_row248},
+  {(bigint) parser_tables___ParserTable___action_table_row249},
+  {(bigint) parser_tables___ParserTable___action_table_row250},
+  {(bigint) parser_tables___ParserTable___action_table_row251},
+  {(bigint) parser_tables___ParserTable___action_table_row252},
+  {(bigint) parser_tables___ParserTable___action_table_row253},
+  {(bigint) parser_tables___ParserTable___action_table_row254},
+  {(bigint) parser_tables___ParserTable___action_table_row255},
+  {(bigint) parser_tables___ParserTable___action_table_row256},
+  {(bigint) parser_tables___ParserTable___action_table_row257},
+  {(bigint) parser_tables___ParserTable___action_table_row258},
+  {(bigint) parser_tables___ParserTable___action_table_row259},
+  {(bigint) parser_tables___ParserTable___action_table_row260},
+  {(bigint) parser_tables___ParserTable___action_table_row261},
+  {(bigint) parser_tables___ParserTable___action_table_row262},
+  {(bigint) parser_tables___ParserTable___action_table_row263},
+  {(bigint) parser_tables___ParserTable___action_table_row264},
+  {(bigint) parser_tables___ParserTable___action_table_row265},
+  {(bigint) parser_tables___ParserTable___action_table_row266},
+  {(bigint) parser_tables___ParserTable___action_table_row267},
+  {(bigint) parser_tables___ParserTable___action_table_row268},
+  {(bigint) parser_tables___ParserTable___action_table_row269},
+  {(bigint) parser_tables___ParserTable___action_table_row270},
+  {(bigint) parser_tables___ParserTable___action_table_row271},
+  {(bigint) parser_tables___ParserTable___action_table_row272},
+  {(bigint) parser_tables___ParserTable___action_table_row273},
+  {(bigint) parser_tables___ParserTable___action_table_row274},
+  {(bigint) parser_tables___ParserTable___action_table_row275},
+  {(bigint) parser_tables___ParserTable___action_table_row276},
+  {(bigint) parser_tables___ParserTable___action_table_row277},
+  {(bigint) parser_tables___ParserTable___action_table_row278},
+  {(bigint) parser_tables___ParserTable___action_table_row279},
+  {(bigint) parser_tables___ParserTable___action_table_row280},
+  {(bigint) parser_tables___ParserTable___action_table_row281},
+  {(bigint) parser_tables___ParserTable___action_table_row282},
+  {(bigint) parser_tables___ParserTable___action_table_row283},
+  {(bigint) parser_tables___ParserTable___action_table_row284},
+  {(bigint) parser_tables___ParserTable___action_table_row285},
+  {(bigint) parser_tables___ParserTable___action_table_row286},
+  {(bigint) parser_tables___ParserTable___action_table_row287},
+  {(bigint) parser_tables___ParserTable___action_table_row288},
+  {(bigint) parser_tables___ParserTable___action_table_row289},
+  {(bigint) parser_tables___ParserTable___action_table_row290},
+  {(bigint) parser_tables___ParserTable___action_table_row291},
+  {(bigint) parser_tables___ParserTable___action_table_row292},
+  {(bigint) parser_tables___ParserTable___action_table_row293},
+  {(bigint) parser_tables___ParserTable___action_table_row294},
+  {(bigint) parser_tables___ParserTable___action_table_row295},
+  {(bigint) parser_tables___ParserTable___action_table_row296},
+  {(bigint) parser_tables___ParserTable___action_table_row297},
+  {(bigint) parser_tables___ParserTable___action_table_row298},
+  {(bigint) parser_tables___ParserTable___action_table_row299},
+  {(bigint) parser_tables___ParserTable___action_table_row300},
+  {(bigint) parser_tables___ParserTable___action_table_row301},
+  {(bigint) parser_tables___ParserTable___action_table_row302},
+  {(bigint) parser_tables___ParserTable___action_table_row303},
+  {(bigint) parser_tables___ParserTable___action_table_row304},
+  {(bigint) parser_tables___ParserTable___action_table_row305},
+  {(bigint) parser_tables___ParserTable___action_table_row306},
+  {(bigint) parser_tables___ParserTable___action_table_row307},
+  {(bigint) parser_tables___ParserTable___action_table_row308},
+  {(bigint) parser_tables___ParserTable___action_table_row309},
+  {(bigint) parser_tables___ParserTable___action_table_row310},
+  {(bigint) parser_tables___ParserTable___action_table_row311},
+  {(bigint) parser_tables___ParserTable___action_table_row312},
+  {(bigint) parser_tables___ParserTable___action_table_row313},
+  {(bigint) parser_tables___ParserTable___action_table_row314},
+  {(bigint) parser_tables___ParserTable___action_table_row315},
+  {(bigint) parser_tables___ParserTable___action_table_row316},
+  {(bigint) parser_tables___ParserTable___action_table_row317},
+  {(bigint) parser_tables___ParserTable___action_table_row318},
+  {(bigint) parser_tables___ParserTable___action_table_row319},
+  {(bigint) parser_tables___ParserTable___action_table_row320},
+  {(bigint) parser_tables___ParserTable___action_table_row321},
+  {(bigint) parser_tables___ParserTable___action_table_row322},
+  {(bigint) parser_tables___ParserTable___action_table_row323},
+  {(bigint) parser_tables___ParserTable___action_table_row324},
+  {(bigint) parser_tables___ParserTable___action_table_row325},
+  {(bigint) parser_tables___ParserTable___action_table_row326},
+  {(bigint) parser_tables___ParserTable___action_table_row327},
+  {(bigint) parser_tables___ParserTable___action_table_row328},
+  {(bigint) parser_tables___ParserTable___action_table_row329},
+  {(bigint) parser_tables___ParserTable___action_table_row330},
+  {(bigint) parser_tables___ParserTable___action_table_row331},
+  {(bigint) parser_tables___ParserTable___action_table_row332},
+  {(bigint) parser_tables___ParserTable___action_table_row333},
+  {(bigint) parser_tables___ParserTable___action_table_row334},
+  {(bigint) parser_tables___ParserTable___action_table_row335},
+  {(bigint) parser_tables___ParserTable___action_table_row336},
+  {(bigint) parser_tables___ParserTable___action_table_row337},
+  {(bigint) parser_tables___ParserTable___action_table_row338},
+  {(bigint) parser_tables___ParserTable___action_table_row339},
+  {(bigint) parser_tables___ParserTable___action_table_row340},
+  {(bigint) parser_tables___ParserTable___action_table_row341},
+  {(bigint) parser_tables___ParserTable___action_table_row342},
+  {(bigint) parser_tables___ParserTable___action_table_row343},
+  {(bigint) parser_tables___ParserTable___action_table_row344},
+  {(bigint) parser_tables___ParserTable___action_table_row345},
+  {(bigint) parser_tables___ParserTable___action_table_row346},
+  {(bigint) parser_tables___ParserTable___action_table_row347},
+  {(bigint) parser_tables___ParserTable___action_table_row348},
+  {(bigint) parser_tables___ParserTable___action_table_row349},
+  {(bigint) parser_tables___ParserTable___action_table_row350},
+  {(bigint) parser_tables___ParserTable___action_table_row351},
+  {(bigint) parser_tables___ParserTable___action_table_row352},
+  {(bigint) parser_tables___ParserTable___action_table_row353},
+  {(bigint) parser_tables___ParserTable___action_table_row354},
+  {(bigint) parser_tables___ParserTable___action_table_row355},
+  {(bigint) parser_tables___ParserTable___action_table_row356},
+  {(bigint) parser_tables___ParserTable___action_table_row357},
+  {(bigint) parser_tables___ParserTable___action_table_row358},
+  {(bigint) parser_tables___ParserTable___action_table_row359},
+  {(bigint) parser_tables___ParserTable___action_table_row360},
+  {(bigint) parser_tables___ParserTable___action_table_row361},
+  {(bigint) parser_tables___ParserTable___action_table_row362},
+  {(bigint) parser_tables___ParserTable___action_table_row363},
+  {(bigint) parser_tables___ParserTable___action_table_row364},
+  {(bigint) parser_tables___ParserTable___action_table_row365},
+  {(bigint) parser_tables___ParserTable___action_table_row366},
+  {(bigint) parser_tables___ParserTable___action_table_row367},
+  {(bigint) parser_tables___ParserTable___action_table_row368},
+  {(bigint) parser_tables___ParserTable___action_table_row369},
+  {(bigint) parser_tables___ParserTable___action_table_row370},
+  {(bigint) parser_tables___ParserTable___action_table_row371},
+  {(bigint) parser_tables___ParserTable___action_table_row372},
+  {(bigint) parser_tables___ParserTable___action_table_row373},
+  {(bigint) parser_tables___ParserTable___action_table_row374},
+  {(bigint) parser_tables___ParserTable___action_table_row375},
+  {(bigint) parser_tables___ParserTable___action_table_row376},
+  {(bigint) parser_tables___ParserTable___action_table_row377},
+  {(bigint) parser_tables___ParserTable___action_table_row378},
+  {(bigint) parser_tables___ParserTable___action_table_row379},
+  {(bigint) parser_tables___ParserTable___action_table_row380},
+  {(bigint) parser_tables___ParserTable___action_table_row381},
+  {(bigint) parser_tables___ParserTable___action_table_row382},
+  {(bigint) parser_tables___ParserTable___action_table_row383},
+  {(bigint) parser_tables___ParserTable___action_table_row384},
+  {(bigint) parser_tables___ParserTable___action_table_row385},
+  {(bigint) parser_tables___ParserTable___action_table_row386},
+  {(bigint) parser_tables___ParserTable___action_table_row387},
+  {(bigint) parser_tables___ParserTable___action_table_row388},
+  {(bigint) parser_tables___ParserTable___action_table_row389},
+  {(bigint) parser_tables___ParserTable___action_table_row390},
+  {(bigint) parser_tables___ParserTable___action_table_row391},
+  {(bigint) parser_tables___ParserTable___action_table_row392},
+  {(bigint) parser_tables___ParserTable___action_table_row393},
+  {(bigint) parser_tables___ParserTable___action_table_row394},
+  {(bigint) parser_tables___ParserTable___action_table_row395},
+  {(bigint) parser_tables___ParserTable___action_table_row396},
+  {(bigint) parser_tables___ParserTable___action_table_row397},
+  {(bigint) parser_tables___ParserTable___action_table_row398},
+  {(bigint) parser_tables___ParserTable___action_table_row399},
+  {(bigint) parser_tables___ParserTable___action_table_row400},
+  {(bigint) parser_tables___ParserTable___action_table_row401},
+  {(bigint) parser_tables___ParserTable___action_table_row402},
+  {(bigint) parser_tables___ParserTable___action_table_row403},
+  {(bigint) parser_tables___ParserTable___action_table_row404},
+  {(bigint) parser_tables___ParserTable___action_table_row405},
+  {(bigint) parser_tables___ParserTable___action_table_row406},
+  {(bigint) parser_tables___ParserTable___action_table_row407},
+  {(bigint) parser_tables___ParserTable___action_table_row408},
+  {(bigint) parser_tables___ParserTable___action_table_row409},
+  {(bigint) parser_tables___ParserTable___action_table_row410},
+  {(bigint) parser_tables___ParserTable___action_table_row411},
+  {(bigint) parser_tables___ParserTable___action_table_row412},
+  {(bigint) parser_tables___ParserTable___action_table_row413},
+  {(bigint) parser_tables___ParserTable___action_table_row414},
+  {(bigint) parser_tables___ParserTable___action_table_row415},
+  {(bigint) parser_tables___ParserTable___action_table_row416},
+  {(bigint) parser_tables___ParserTable___action_table_row417},
+  {(bigint) parser_tables___ParserTable___action_table_row418},
+  {(bigint) parser_tables___ParserTable___action_table_row419},
+  {(bigint) parser_tables___ParserTable___action_table_row420},
+  {(bigint) parser_tables___ParserTable___action_table_row421},
+  {(bigint) parser_tables___ParserTable___action_table_row422},
+  {(bigint) parser_tables___ParserTable___action_table_row423},
+  {(bigint) parser_tables___ParserTable___action_table_row424},
+  {(bigint) parser_tables___ParserTable___action_table_row425},
+  {(bigint) parser_tables___ParserTable___action_table_row426},
+  {(bigint) parser_tables___ParserTable___action_table_row427},
+  {(bigint) parser_tables___ParserTable___action_table_row428},
+  {(bigint) parser_tables___ParserTable___action_table_row429},
+  {(bigint) parser_tables___ParserTable___action_table_row430},
+  {(bigint) parser_tables___ParserTable___action_table_row431},
+  {(bigint) parser_tables___ParserTable___action_table_row432},
+  {(bigint) parser_tables___ParserTable___action_table_row433},
+  {(bigint) parser_tables___ParserTable___action_table_row434},
+  {(bigint) parser_tables___ParserTable___action_table_row435},
+  {(bigint) parser_tables___ParserTable___action_table_row436},
+  {(bigint) parser_tables___ParserTable___action_table_row437},
+  {(bigint) parser_tables___ParserTable___action_table_row438},
+  {(bigint) parser_tables___ParserTable___action_table_row439},
+  {(bigint) parser_tables___ParserTable___action_table_row440},
+  {(bigint) parser_tables___ParserTable___action_table_row441},
+  {(bigint) parser_tables___ParserTable___action_table_row442},
+  {(bigint) parser_tables___ParserTable___action_table_row443},
+  {(bigint) parser_tables___ParserTable___action_table_row444},
+  {(bigint) parser_tables___ParserTable___action_table_row445},
+  {(bigint) parser_tables___ParserTable___action_table_row446},
+  {(bigint) parser_tables___ParserTable___action_table_row447},
+  {(bigint) parser_tables___ParserTable___action_table_row448},
+  {(bigint) parser_tables___ParserTable___action_table_row449},
+  {(bigint) parser_tables___ParserTable___action_table_row450},
+  {(bigint) parser_tables___ParserTable___action_table_row451},
+  {(bigint) parser_tables___ParserTable___action_table_row452},
+  {(bigint) parser_tables___ParserTable___action_table_row453},
+  {(bigint) parser_tables___ParserTable___action_table_row454},
+  {(bigint) parser_tables___ParserTable___action_table_row455},
+  {(bigint) parser_tables___ParserTable___action_table_row456},
+  {(bigint) parser_tables___ParserTable___action_table_row457},
+  {(bigint) parser_tables___ParserTable___action_table_row458},
+  {(bigint) parser_tables___ParserTable___action_table_row459},
+  {(bigint) parser_tables___ParserTable___action_table_row460},
+  {(bigint) parser_tables___ParserTable___action_table_row461},
+  {(bigint) parser_tables___ParserTable___action_table_row462},
+  {(bigint) parser_tables___ParserTable___action_table_row463},
+  {(bigint) parser_tables___ParserTable___action_table_row464},
+  {(bigint) parser_tables___ParserTable___action_table_row465},
+  {(bigint) parser_tables___ParserTable___action_table_row466},
+  {(bigint) parser_tables___ParserTable___action_table_row467},
+  {(bigint) parser_tables___ParserTable___action_table_row468},
+  {(bigint) parser_tables___ParserTable___action_table_row469},
+  {(bigint) parser_tables___ParserTable___action_table_row470},
+  {(bigint) parser_tables___ParserTable___action_table_row471},
+  {(bigint) parser_tables___ParserTable___action_table_row472},
+  {(bigint) parser_tables___ParserTable___action_table_row473},
+  {(bigint) parser_tables___ParserTable___action_table_row474},
+  {(bigint) parser_tables___ParserTable___action_table_row475},
+  {(bigint) parser_tables___ParserTable___action_table_row476},
+  {(bigint) parser_tables___ParserTable___action_table_row477},
+  {(bigint) parser_tables___ParserTable___action_table_row478},
+  {(bigint) parser_tables___ParserTable___action_table_row479},
+  {(bigint) parser_tables___ParserTable___action_table_row480},
+  {(bigint) parser_tables___ParserTable___action_table_row481},
+  {(bigint) parser_tables___ParserTable___action_table_row482},
+  {(bigint) parser_tables___ParserTable___action_table_row483},
+  {(bigint) parser_tables___ParserTable___action_table_row484},
+  {(bigint) parser_tables___ParserTable___action_table_row485},
+  {(bigint) parser_tables___ParserTable___action_table_row486},
+  {(bigint) parser_tables___ParserTable___action_table_row487},
+  {(bigint) parser_tables___ParserTable___action_table_row488},
+  {(bigint) parser_tables___ParserTable___action_table_row489},
+  {(bigint) parser_tables___ParserTable___action_table_row490},
+  {(bigint) parser_tables___ParserTable___action_table_row491},
+  {(bigint) parser_tables___ParserTable___action_table_row492},
+  {(bigint) parser_tables___ParserTable___action_table_row493},
+  {(bigint) parser_tables___ParserTable___action_table_row494},
+  {(bigint) parser_tables___ParserTable___action_table_row495},
+  {(bigint) parser_tables___ParserTable___action_table_row496},
+  {(bigint) parser_tables___ParserTable___action_table_row497},
+  {(bigint) parser_tables___ParserTable___action_table_row498},
+  {(bigint) parser_tables___ParserTable___action_table_row499},
+  {(bigint) parser_tables___ParserTable___action_table_row500},
+  {(bigint) parser_tables___ParserTable___action_table_row501},
+  {(bigint) parser_tables___ParserTable___action_table_row502},
+  {(bigint) parser_tables___ParserTable___action_table_row503},
+  {(bigint) parser_tables___ParserTable___action_table_row504},
+  {(bigint) parser_tables___ParserTable___action_table_row505},
+  {(bigint) parser_tables___ParserTable___action_table_row506},
+  {(bigint) parser_tables___ParserTable___action_table_row507},
+  {(bigint) parser_tables___ParserTable___action_table_row508},
+  {(bigint) parser_tables___ParserTable___action_table_row509},
+  {(bigint) parser_tables___ParserTable___action_table_row510},
+  {(bigint) parser_tables___ParserTable___action_table_row511},
+  {(bigint) parser_tables___ParserTable___action_table_row512},
+  {(bigint) parser_tables___ParserTable___action_table_row513},
+  {(bigint) parser_tables___ParserTable___action_table_row514},
+  {(bigint) parser_tables___ParserTable___action_table_row515},
+  {(bigint) parser_tables___ParserTable___action_table_row516},
+  {(bigint) parser_tables___ParserTable___action_table_row517},
+  {(bigint) parser_tables___ParserTable___action_table_row518},
+  {(bigint) parser_tables___ParserTable___action_table_row519},
+  {(bigint) parser_tables___ParserTable___action_table_row520},
+  {(bigint) parser_tables___ParserTable___action_table_row521},
+  {(bigint) parser_tables___ParserTable___action_table_row522},
+  {(bigint) parser_tables___ParserTable___action_table_row523},
+  {(bigint) parser_tables___ParserTable___action_table_row524},
+  {(bigint) parser_tables___ParserTable___action_table_row525},
+  {(bigint) parser_tables___ParserTable___action_table_row526},
+  {(bigint) parser_tables___ParserTable___action_table_row527},
+  {(bigint) parser_tables___ParserTable___action_table_row528},
+  {(bigint) parser_tables___ParserTable___action_table_row529},
+  {(bigint) parser_tables___ParserTable___action_table_row530},
+  {(bigint) parser_tables___ParserTable___action_table_row531},
+  {(bigint) parser_tables___ParserTable___action_table_row532},
+  {(bigint) parser_tables___ParserTable___action_table_row533},
+  {(bigint) parser_tables___ParserTable___action_table_row534},
+  {(bigint) parser_tables___ParserTable___action_table_row535},
+  {(bigint) parser_tables___ParserTable___action_table_row536},
+  {(bigint) parser_tables___ParserTable___action_table_row537},
+  {(bigint) parser_tables___ParserTable___action_table_row538},
+  {(bigint) parser_tables___ParserTable___action_table_row539},
+  {(bigint) parser_tables___ParserTable___action_table_row540},
+  {(bigint) parser_tables___ParserTable___action_table_row541},
+  {(bigint) parser_tables___ParserTable___action_table_row542},
+  {(bigint) parser_tables___ParserTable___action_table_row543},
+  {(bigint) parser_tables___ParserTable___action_table_row544},
+  {(bigint) parser_tables___ParserTable___action_table_row545},
+  {(bigint) parser_tables___ParserTable___action_table_row546},
+  {(bigint) parser_tables___ParserTable___action_table_row547},
+  {(bigint) parser_tables___ParserTable___action_table_row548},
+  {(bigint) parser_tables___ParserTable___action_table_row549},
+  {(bigint) parser_tables___ParserTable___action_table_row550},
+  {(bigint) parser_tables___ParserTable___action_table_row551},
+  {(bigint) parser_tables___ParserTable___action_table_row552},
+  {(bigint) parser_tables___ParserTable___action_table_row553},
+  {(bigint) parser_tables___ParserTable___action_table_row554},
+  {(bigint) parser_tables___ParserTable___action_table_row555},
+  {(bigint) parser_tables___ParserTable___action_table_row556},
+  {(bigint) parser_tables___ParserTable___action_table_row557},
+  {(bigint) parser_tables___ParserTable___action_table_row558},
+  {(bigint) parser_tables___ParserTable___action_table_row559},
+  {(bigint) parser_tables___ParserTable___action_table_row560},
+  {(bigint) parser_tables___ParserTable___action_table_row561},
+  {(bigint) parser_tables___ParserTable___action_table_row562},
+  {(bigint) parser_tables___ParserTable___action_table_row563},
+  {(bigint) parser_tables___ParserTable___action_table_row564},
+  {(bigint) parser_tables___ParserTable___action_table_row565},
+  {(bigint) parser_tables___ParserTable___action_table_row566},
+  {(bigint) parser_tables___ParserTable___action_table_row567},
+  {(bigint) parser_tables___ParserTable___action_table_row568},
+  {(bigint) parser_tables___ParserTable___action_table_row569},
+  {(bigint) parser_tables___ParserTable___action_table_row570},
+  {(bigint) parser_tables___ParserTable___action_table_row571},
+  {(bigint) parser_tables___ParserTable___action_table_row572},
+  {(bigint) parser_tables___ParserTable___action_table_row573},
+  {(bigint) parser_tables___ParserTable___action_table_row574},
+  {(bigint) parser_tables___ParserTable___action_table_row575},
+  {(bigint) parser_tables___ParserTable___action_table_row576},
+  {(bigint) parser_tables___ParserTable___action_table_row577},
+  {(bigint) parser_tables___ParserTable___action_table_row578},
+  {(bigint) parser_tables___ParserTable___action_table_row579},
+  {(bigint) parser_tables___ParserTable___action_table_row580},
+  {(bigint) parser_tables___ParserTable___action_table_row581},
+  {(bigint) parser_tables___ParserTable___action_table_row582},
+  {(bigint) parser_tables___ParserTable___action_table_row583},
+  {(bigint) parser_tables___ParserTable___action_table_row584},
+  {(bigint) parser_tables___ParserTable___action_table_row585},
+  {(bigint) parser_tables___ParserTable___action_table_row586},
+  {(bigint) parser_tables___ParserTable___action_table_row587},
+  {(bigint) parser_tables___ParserTable___action_table_row588},
+  {(bigint) parser_tables___ParserTable___action_table_row589},
+  {(bigint) parser_tables___ParserTable___action_table_row590},
+  {(bigint) parser_tables___ParserTable___action_table_row591},
+  {(bigint) parser_tables___ParserTable___action_table_row592},
+  {(bigint) parser_tables___ParserTable___action_table_row593},
+  {(bigint) parser_tables___ParserTable___action_table_row594},
+  {(bigint) parser_tables___ParserTable___action_table_row595},
+  {(bigint) parser_tables___ParserTable___action_table_row596},
+  {(bigint) parser_tables___ParserTable___action_table_row597},
+  {(bigint) parser_tables___ParserTable___action_table_row598},
+  {(bigint) parser_tables___ParserTable___action_table_row599},
+  {(bigint) parser_tables___ParserTable___action_table_row600},
+  {(bigint) parser_tables___ParserTable___action_table_row601},
+  {(bigint) parser_tables___ParserTable___action_table_row602},
+  {(bigint) parser_tables___ParserTable___action_table_row603},
+  {(bigint) parser_tables___ParserTable___action_table_row604},
+  {(bigint) parser_tables___ParserTable___action_table_row605},
+  {(bigint) parser_tables___ParserTable___action_table_row606},
+  {(bigint) parser_tables___ParserTable___action_table_row607},
+  {(bigint) parser_tables___ParserTable___action_table_row608},
+  {(bigint) parser_tables___ParserTable___action_table_row609},
+  {(bigint) parser_tables___ParserTable___action_table_row610},
+  {(bigint) parser_tables___ParserTable___action_table_row611},
+  {(bigint) parser_tables___ParserTable___action_table_row612},
+  {(bigint) parser_tables___ParserTable___action_table_row613},
+  {(bigint) parser_tables___ParserTable___action_table_row614},
+  {(bigint) parser_tables___ParserTable___action_table_row615},
+  {(bigint) parser_tables___ParserTable___action_table_row616},
+  {(bigint) parser_tables___ParserTable___action_table_row617},
+  {(bigint) parser_tables___ParserTable___action_table_row618},
+  {(bigint) parser_tables___ParserTable___action_table_row619},
+  {(bigint) parser_tables___ParserTable___action_table_row620},
+  {(bigint) parser_tables___ParserTable___action_table_row621},
+  {(bigint) parser_tables___ParserTable___action_table_row622},
+  {(bigint) parser_tables___ParserTable___action_table_row623},
+  {(bigint) parser_tables___ParserTable___action_table_row624},
+  {(bigint) parser_tables___ParserTable___action_table_row625},
+  {(bigint) parser_tables___ParserTable___action_table_row626},
+  {(bigint) parser_tables___ParserTable___action_table_row627},
+  {(bigint) parser_tables___ParserTable___action_table_row628},
+  {(bigint) parser_tables___ParserTable___action_table_row629},
+  {(bigint) parser_tables___ParserTable___action_table_row630},
+  {(bigint) parser_tables___ParserTable___action_table_row631},
+  {(bigint) parser_tables___ParserTable___action_table_row632},
+  {(bigint) parser_tables___ParserTable___action_table_row633},
+  {(bigint) parser_tables___ParserTable___action_table_row634},
+  {(bigint) parser_tables___ParserTable___action_table_row635},
+  {(bigint) parser_tables___ParserTable___action_table_row636},
+  {(bigint) parser_tables___ParserTable___action_table_row637},
+  {(bigint) parser_tables___ParserTable___action_table_row638},
+  {(bigint) parser_tables___ParserTable___action_table_row639},
+  {(bigint) parser_tables___ParserTable___action_table_row640},
+  {(bigint) parser_tables___ParserTable___action_table_row641},
+  {(bigint) parser_tables___ParserTable___action_table_row642},
+  {(bigint) parser_tables___ParserTable___action_table_row643},
+  {(bigint) parser_tables___ParserTable___action_table_row644},
+  {(bigint) parser_tables___ParserTable___action_table_row645},
+  {(bigint) parser_tables___ParserTable___action_table_row646},
+  {(bigint) parser_tables___ParserTable___action_table_row647},
+  {(bigint) parser_tables___ParserTable___action_table_row648},
+  {(bigint) parser_tables___ParserTable___action_table_row649},
+  {(bigint) parser_tables___ParserTable___action_table_row650},
+  {(bigint) parser_tables___ParserTable___action_table_row651},
+  {(bigint) parser_tables___ParserTable___action_table_row652},
+  {(bigint) parser_tables___ParserTable___action_table_row653},
+  {(bigint) parser_tables___ParserTable___action_table_row654},
+  {(bigint) parser_tables___ParserTable___action_table_row655},
+  {(bigint) parser_tables___ParserTable___action_table_row656},
+  {(bigint) parser_tables___ParserTable___action_table_row657},
+  {(bigint) parser_tables___ParserTable___action_table_row658},
+  {(bigint) parser_tables___ParserTable___action_table_row659},
+  {(bigint) parser_tables___ParserTable___action_table_row660},
+  {(bigint) parser_tables___ParserTable___action_table_row661},
+  {(bigint) parser_tables___ParserTable___action_table_row662},
+  {(bigint) parser_tables___ParserTable___action_table_row663},
+  {(bigint) parser_tables___ParserTable___action_table_row664},
+  {(bigint) parser_tables___ParserTable___action_table_row665},
+  {(bigint) parser_tables___ParserTable___action_table_row666},
+  {(bigint) parser_tables___ParserTable___action_table_row667},
+  {(bigint) parser_tables___ParserTable___action_table_row668},
+  {(bigint) parser_tables___ParserTable___action_table_row669},
+  {(bigint) parser_tables___ParserTable___action_table_row670},
+  {(bigint) parser_tables___ParserTable___action_table_row671},
+  {(bigint) parser_tables___ParserTable___action_table_row672},
+  {(bigint) parser_tables___ParserTable___action_table_row673},
+  {(bigint) parser_tables___ParserTable___action_table_row674},
+  {(bigint) parser_tables___ParserTable___action_table_row675},
+  {(bigint) parser_tables___ParserTable___action_table_row676},
+  {(bigint) parser_tables___ParserTable___action_table_row677},
+  {(bigint) parser_tables___ParserTable___action_table_row678},
+  {(bigint) parser_tables___ParserTable___action_table_row679},
+  {(bigint) parser_tables___ParserTable___action_table_row680},
+  {(bigint) parser_tables___ParserTable___action_table_row681},
+  {(bigint) parser_tables___ParserTable___action_table_row682},
+  {(bigint) parser_tables___ParserTable___action_table_row683},
+  {(bigint) parser_tables___ParserTable___action_table_row684},
+  {(bigint) parser_tables___ParserTable___action_table_row685},
+  {(bigint) parser_tables___ParserTable___action_table_row686},
+  {(bigint) parser_tables___ParserTable___action_table_row687},
+  {(bigint) parser_tables___ParserTable___action_table_row688},
+  {(bigint) parser_tables___ParserTable___action_table_row689},
+  {(bigint) parser_tables___ParserTable___action_table_row690},
+  {(bigint) parser_tables___ParserTable___action_table_row691},
+  {(bigint) parser_tables___ParserTable___action_table_row692},
+  {(bigint) parser_tables___ParserTable___action_table_row693},
+  {(bigint) parser_tables___ParserTable___action_table_row694},
+  {(bigint) parser_tables___ParserTable___action_table_row695},
+  {(bigint) parser_tables___ParserTable___action_table_row696},
+  {(bigint) parser_tables___ParserTable___action_table_row697},
+  {(bigint) parser_tables___ParserTable___action_table_row698},
+  {(bigint) parser_tables___ParserTable___action_table_row699},
+  {(bigint) parser_tables___ParserTable___action_table_row700},
+  {(bigint) parser_tables___ParserTable___action_table_row701},
+  {(bigint) parser_tables___ParserTable___action_table_row702},
+  {(bigint) parser_tables___ParserTable___action_table_row703},
+  {(bigint) parser_tables___ParserTable___action_table_row704},
+  {(bigint) parser_tables___ParserTable___action_table_row705},
+  {(bigint) parser_tables___ParserTable___action_table_row706},
+  {(bigint) parser_tables___ParserTable___action_table_row707},
+  {(bigint) parser_tables___ParserTable___action_table_row708},
+  {(bigint) parser_tables___ParserTable___action_table_row709},
+  {(bigint) parser_tables___ParserTable___action_table_row710},
+  {(bigint) parser_tables___ParserTable___action_table_row711},
+  {(bigint) parser_tables___ParserTable___action_table_row712},
+  {(bigint) parser_tables___ParserTable___action_table_row713},
+  {(bigint) parser_tables___ParserTable___action_table_row714},
+  {(bigint) parser_tables___ParserTable___action_table_row715},
+  {(bigint) parser_tables___ParserTable___action_table_row716},
+  {(bigint) parser_tables___ParserTable___action_table_row717},
+  {(bigint) parser_tables___ParserTable___action_table_row718},
+  {(bigint) parser_tables___ParserTable___action_table_row719},
+  {(bigint) parser_tables___ParserTable___action_table_row720},
+  {(bigint) parser_tables___ParserTable___action_table_row721},
+  {(bigint) parser_tables___ParserTable___action_table_row722},
+  {(bigint) parser_tables___ParserTable___action_table_row723},
+  {(bigint) parser_tables___ParserTable___action_table_row724},
+  {(bigint) parser_tables___ParserTable___action_table_row725},
+  {(bigint) parser_tables___ParserTable___action_table_row726},
+  {(bigint) parser_tables___ParserTable___action_table_row727},
+  {(bigint) parser_tables___ParserTable___action_table_row728},
+  {(bigint) parser_tables___ParserTable___action_table_row729},
+  {(bigint) parser_tables___ParserTable___action_table_row730},
+  {(bigint) parser_tables___ParserTable___action_table_row731},
+  {(bigint) parser_tables___ParserTable___action_table_row732},
+  {(bigint) parser_tables___ParserTable___action_table_row733},
+  {(bigint) parser_tables___ParserTable___action_table_row734},
+  {(bigint) parser_tables___ParserTable___action_table_row735},
+  {(bigint) parser_tables___ParserTable___action_table_row736},
+  {(bigint) parser_tables___ParserTable___action_table_row737},
+  {(bigint) parser_tables___ParserTable___action_table_row738},
+  {(bigint) parser_tables___ParserTable___action_table_row739},
+  {(bigint) parser_tables___ParserTable___action_table_row740},
+  {(bigint) parser_tables___ParserTable___action_table_row741},
+  {(bigint) parser_tables___ParserTable___action_table_row742},
+  {(bigint) parser_tables___ParserTable___action_table_row743},
+  {(bigint) parser_tables___ParserTable___action_table_row744},
+  {(bigint) parser_tables___ParserTable___action_table_row745},
+  {(bigint) parser_tables___ParserTable___action_table_row746},
+  {(bigint) parser_tables___ParserTable___action_table_row747},
+  {(bigint) parser_tables___ParserTable___action_table_row748},
+  {(bigint) parser_tables___ParserTable___action_table_row749},
+  {(bigint) parser_tables___ParserTable___action_table_row750},
+  {(bigint) parser_tables___ParserTable___action_table_row751},
+  {(bigint) parser_tables___ParserTable___action_table_row752},
+  {(bigint) parser_tables___ParserTable___action_table_row753},
+  {(bigint) parser_tables___ParserTable___action_table_row754},
+  {(bigint) parser_tables___ParserTable___action_table_row755},
+  {(bigint) parser_tables___ParserTable___action_table_row756},
+  {(bigint) parser_tables___ParserTable___action_table_row757},
+  {(bigint) parser_tables___ParserTable___action_table_row758},
+  {(bigint) parser_tables___ParserTable___action_table_row759},
+  {(bigint) parser_tables___ParserTable___action_table_row760},
+  {(bigint) parser_tables___ParserTable___action_table_row761},
+  {(bigint) parser_tables___ParserTable___action_table_row762},
+  {(bigint) parser_tables___ParserTable___action_table_row763},
+  {(bigint) parser_tables___ParserTable___action_table_row764},
+  {(bigint) parser_tables___ParserTable___action_table_row765},
+  {(bigint) parser_tables___ParserTable___action_table_row766},
+  {(bigint) parser_tables___ParserTable___action_table_row767},
+  {(bigint) parser_tables___ParserTable___action_table_row768},
+  {(bigint) parser_tables___ParserTable___action_table_row769},
+  {(bigint) parser_tables___ParserTable___action_table_row770},
+  {(bigint) parser_tables___ParserTable___action_table_row771},
+  {(bigint) parser_tables___ParserTable___action_table_row772},
+  {(bigint) parser_tables___ParserTable___action_table_row773},
+  {(bigint) parser_tables___ParserTable___action_table_row774},
+  {(bigint) parser_tables___ParserTable___action_table_row775},
+  {(bigint) parser_tables___ParserTable___action_table_row776},
+  {(bigint) parser_tables___ParserTable___action_table_row777},
+  {(bigint) parser_tables___ParserTable___action_table_row778},
+  {(bigint) parser_tables___ParserTable___action_table_row779},
+  {(bigint) parser_tables___ParserTable___action_table_row780},
+  {(bigint) parser_tables___ParserTable___action_table_row781},
+  {(bigint) parser_tables___ParserTable___action_table_row782},
+  {(bigint) parser_tables___ParserTable___action_table_row783},
+  {(bigint) parser_tables___ParserTable___action_table_row784},
+  {(bigint) parser_tables___ParserTable___action_table_row785},
+  {(bigint) parser_tables___ParserTable___action_table_row786},
+  {(bigint) parser_tables___ParserTable___action_table_row787},
+  {(bigint) parser_tables___ParserTable___action_table_row788},
+  {(bigint) parser_tables___ParserTable___action_table_row789},
+  {(bigint) parser_tables___ParserTable___action_table_row790},
+  {(bigint) parser_tables___ParserTable___action_table_row791},
+  {(bigint) parser_tables___ParserTable___action_table_row792},
+  {(bigint) parser_tables___ParserTable___action_table_row793},
+  {(bigint) parser_tables___ParserTable___action_table_row794},
+  {(bigint) parser_tables___ParserTable___action_table_row795},
+  {(bigint) parser_tables___ParserTable___action_table_row796},
+  {(bigint) parser_tables___ParserTable___action_table_row797},
+  {(bigint) parser_tables___ParserTable___action_table_row798},
+  {(bigint) parser_tables___ParserTable___action_table_row799},
+  {(bigint) parser_tables___ParserTable___action_table_row800},
+  {(bigint) parser_tables___ParserTable___action_table_row801},
+  {(bigint) parser_tables___ParserTable___action_table_row802},
+  {(bigint) parser_tables___ParserTable___action_table_row803},
+  {(bigint) parser_tables___ParserTable___action_table_row804},
+  {(bigint) parser_tables___ParserTable___action_table_row805},
+  {(bigint) parser_tables___ParserTable___action_table_row806},
+  {(bigint) parser_tables___ParserTable___action_table_row807},
+  {(bigint) parser_tables___ParserTable___action_table_row808},
+  {(bigint) parser_tables___ParserTable___action_table_row809},
+  {(bigint) parser_tables___ParserTable___action_table_row810},
+  {(bigint) parser_tables___ParserTable___action_table_row811},
+  {(bigint) parser_tables___ParserTable___action_table_row812},
+  {(bigint) parser_tables___ParserTable___action_table_row813},
+  {(bigint) parser_tables___ParserTable___action_table_row814},
+  {(bigint) parser_tables___ParserTable___action_table_row815},
+  {(bigint) parser_tables___ParserTable___action_table_row816},
+  {(bigint) parser_tables___ParserTable___action_table_row817},
+  {(bigint) parser_tables___ParserTable___action_table_row818},
+  {(bigint) parser_tables___ParserTable___action_table_row819},
+  {(bigint) parser_tables___ParserTable___action_table_row820},
+  {(bigint) parser_tables___ParserTable___action_table_row821},
+  {(bigint) parser_tables___ParserTable___action_table_row822},
+  {(bigint) parser_tables___ParserTable___action_table_row823},
+  {(bigint) parser_tables___ParserTable___action_table_row824},
+  {(bigint) parser_tables___ParserTable___action_table_row825},
+  {(bigint) parser_tables___ParserTable___action_table_row826},
+  {(bigint) parser_tables___ParserTable___action_table_row827},
+  {(bigint) parser_tables___ParserTable___action_table_row828},
+  {(bigint) parser_tables___ParserTable___action_table_row829},
+  {(bigint) parser_tables___ParserTable___action_table_row830},
+  {(bigint) parser_tables___ParserTable___action_table_row831},
+  {(bigint) parser_tables___ParserTable___action_table_row832},
+  {(bigint) parser_tables___ParserTable___action_table_row833},
+  {(bigint) parser_tables___ParserTable___action_table_row834},
+  {(bigint) parser_tables___ParserTable___action_table_row835},
+  {(bigint) parser_tables___ParserTable___action_table_row836},
+  {(bigint) parser_tables___ParserTable___action_table_row837},
+  {(bigint) parser_tables___ParserTable___action_table_row838},
+  {(bigint) parser_tables___ParserTable___action_table_row839},
+  {(bigint) parser_tables___ParserTable___action_table_row840},
+  {(bigint) parser_tables___ParserTable___action_table_row841},
+  {(bigint) parser_tables___ParserTable___action_table_row842},
+  {(bigint) parser_tables___ParserTable___action_table_row843},
+  {(bigint) parser_tables___ParserTable___action_table_row844},
+  {(bigint) parser_tables___ParserTable___action_table_row845},
+  {(bigint) parser_tables___ParserTable___action_table_row846},
+  {(bigint) parser_tables___ParserTable___action_table_row847},
+  {(bigint) parser_tables___ParserTable___action_table_row848},
+  {(bigint) parser_tables___ParserTable___action_table_row849},
+  {(bigint) parser_tables___ParserTable___action_table_row850},
+  {(bigint) parser_tables___ParserTable___action_table_row851},
+  {(bigint) parser_tables___ParserTable___action_table_row852},
+  {(bigint) parser_tables___ParserTable___action_table_row853},
+  {(bigint) parser_tables___ParserTable___action_table_row854},
+  {(bigint) parser_tables___ParserTable___action_table_row855},
+  {(bigint) parser_tables___ParserTable___action_table_row856},
+  {(bigint) parser_tables___ParserTable___action_table_row857},
+  {(bigint) parser_tables___ParserTable___action_table_row858},
+  {(bigint) parser_tables___ParserTable___action_table_row859},
+  {(bigint) parser_tables___ParserTable___action_table_row860},
+  {(bigint) parser_tables___ParserTable___action_table_row861},
+  {(bigint) parser_tables___ParserTable___action_table_row862},
+  {(bigint) parser_tables___ParserTable___action_table_row863},
+  {(bigint) parser_tables___ParserTable___action_table_row864},
+  {(bigint) parser_tables___ParserTable___action_table_row865},
+  {(bigint) parser_tables___ParserTable___action_table_row866},
+  {(bigint) parser_tables___ParserTable___action_table_row867},
+  {(bigint) parser_tables___ParserTable___action_table_row868},
+  {(bigint) parser_tables___ParserTable___action_table_row869},
+  {(bigint) parser_tables___ParserTable___action_table_row870},
+  {(bigint) parser_tables___ParserTable___action_table_row871},
+  {(bigint) parser_tables___ParserTable___action_table_row872},
+  {(bigint) parser_tables___ParserTable___action_table_row873},
+  {(bigint) parser_tables___ParserTable___action_table_row874},
+  {(bigint) parser_tables___ParserTable___action_table_row875},
+  {(bigint) parser_tables___ParserTable___action_table_row876},
+  {(bigint) parser_tables___ParserTable___action_table_row877},
+  {(bigint) parser_tables___ParserTable___action_table_row878},
+  {(bigint) parser_tables___ParserTable___action_table_row879},
+  {(bigint) parser_tables___ParserTable___action_table_row880},
+  {(bigint) parser_tables___ParserTable___action_table_row881},
+  {(bigint) parser_tables___ParserTable___action_table_row882},
+  {(bigint) parser_tables___ParserTable___action_table_row883},
+  {(bigint) parser_tables___ParserTable___action_table_row884},
+  {(bigint) parser_tables___ParserTable___action_table_row885},
+  {(bigint) parser_tables___ParserTable___action_table_row886},
+  {(bigint) parser_tables___ParserTable___action_table_row887},
+  {(bigint) parser_tables___ParserTable___action_table_row888},
+  {(bigint) parser_tables___ParserTable___action_table_row889},
+  {(bigint) parser_tables___ParserTable___action_table_row890},
+  {(bigint) parser_tables___ParserTable___action_table_row891},
+  {(bigint) parser_tables___ParserTable___action_table_row892},
+  {(bigint) parser_tables___ParserTable___action_table_row893},
+  {(bigint) parser_tables___ParserTable___action_table_row894},
+  {(bigint) parser_tables___ParserTable___action_table_row895},
+  {(bigint) parser_tables___ParserTable___action_table_row896},
+  {(bigint) parser_tables___ParserTable___action_table_row897},
+  {(bigint) parser_tables___ParserTable___action_table_row898},
+  {(bigint) parser_tables___ParserTable___action_table_row899},
+  {(bigint) parser_tables___ParserTable___action_table_row900},
+  {(bigint) parser_tables___ParserTable___action_table_row901},
+  {(bigint) parser_tables___ParserTable___action_table_row902},
+  {(bigint) parser_tables___ParserTable___action_table_row903},
+  {(bigint) parser_tables___ParserTable___action_table_row904},
+  {(bigint) parser_tables___ParserTable___action_table_row905},
+  {(bigint) parser_tables___ParserTable___action_table_row906},
+  {(bigint) parser_tables___ParserTable___action_table_row907},
+  {(bigint) parser_tables___ParserTable___action_table_row908},
+  {(bigint) parser_tables___ParserTable___action_table_row909},
+  {(bigint) parser_tables___ParserTable___action_table_row910},
+  {(bigint) parser_tables___ParserTable___action_table_row911},
+  {(bigint) parser_tables___ParserTable___action_table_row912},
+  {(bigint) parser_tables___ParserTable___action_table_row913},
+  {(bigint) parser_tables___ParserTable___action_table_row914},
+  {(bigint) parser_tables___ParserTable___action_table_row915},
+  {(bigint) parser_tables___ParserTable___action_table_row916},
+  {(bigint) parser_tables___ParserTable___action_table_row917},
+  {(bigint) parser_tables___ParserTable___action_table_row918},
+  {(bigint) parser_tables___ParserTable___action_table_row919},
+  {(bigint) parser_tables___ParserTable___action_table_row920},
+  {(bigint) parser_tables___ParserTable___action_table_row921},
+  {(bigint) parser_tables___ParserTable___action_table_row922},
+  {(bigint) parser_tables___ParserTable___action_table_row923},
+  {(bigint) parser_tables___ParserTable___action_table_row924},
+  {(bigint) parser_tables___ParserTable___action_table_row925},
+  {(bigint) parser_tables___ParserTable___action_table_row926},
+  {(bigint) parser_tables___ParserTable___action_table_row927},
+  {(bigint) parser_tables___ParserTable___action_table_row928},
+  {(bigint) parser_tables___ParserTable___action_table_row929},
+  {(bigint) parser_tables___ParserTable___action_table_row930},
+  {(bigint) parser_tables___ParserTable___action_table_row931},
+  {(bigint) parser_tables___ParserTable___action_table_row932},
+  {(bigint) parser_tables___ParserTable___action_table_row933},
+  {(bigint) parser_tables___ParserTable___action_table_row934},
+  {(bigint) parser_tables___ParserTable___action_table_row935},
+  {(bigint) parser_tables___ParserTable___action_table_row936},
+  {(bigint) parser_tables___ParserTable___action_table_row937},
+  {(bigint) parser_tables___ParserTable___action_table_row938},
+  {(bigint) parser_tables___ParserTable___action_table_row939},
+  {(bigint) parser_tables___ParserTable___action_table_row940},
+  {(bigint) parser_tables___ParserTable___action_table_row941},
+  {(bigint) parser_tables___ParserTable___action_table_row942},
+  {(bigint) parser_tables___ParserTable___action_table_row943},
+  {(bigint) parser_tables___ParserTable___action_table_row944},
+  {(bigint) parser_tables___ParserTable___action_table_row945},
+  {(bigint) parser_tables___ParserTable___action_table_row946},
+  {(bigint) parser_tables___ParserTable___action_table_row947},
+  {(bigint) parser_tables___ParserTable___action_table_row948},
+  {(bigint) parser_tables___ParserTable___action_table_row949},
+  {(bigint) parser_tables___ParserTable___action_table_row950},
+  {(bigint) parser_tables___ParserTable___action_table_row951},
+  {(bigint) parser_tables___ParserTable___action_table_row952},
+  {(bigint) parser_tables___ParserTable___action_table_row953},
+  {(bigint) parser_tables___ParserTable___action_table_row954},
+  {(bigint) parser_tables___ParserTable___action_table_row955},
+  {(bigint) parser_tables___ParserTable___action_table_row956},
+  {(bigint) parser_tables___ParserTable___action_table_row957},
+  {(bigint) parser_tables___ParserTable___action_table_row958},
+  {(bigint) parser_tables___ParserTable___action_table_row959},
+  {(bigint) parser_tables___ParserTable___action_table_row960},
+  {(bigint) parser_tables___ParserTable___action_table_row961},
+  {(bigint) parser_tables___ParserTable___action_table_row962},
+  {(bigint) parser_tables___ParserTable___action_table_row963},
+  {(bigint) parser_tables___ParserTable___action_table_row964},
+  {(bigint) parser_tables___ParserTable___action_table_row965},
+  {(bigint) parser_tables___ParserTable___action_table_row966},
+  {(bigint) parser_tables___ParserTable___action_table_row967},
+  {(bigint) parser_tables___ParserTable___action_table_row968},
+  {(bigint) parser_tables___ParserTable___action_table_row969},
+  {(bigint) parser_tables___ParserTable___action_table_row970},
+  {(bigint) parser_tables___ParserTable___action_table_row971},
+  {(bigint) parser_tables___ParserTable___action_table_row972},
+  {(bigint) parser_tables___ParserTable___action_table_row973},
+  {(bigint) parser_tables___ParserTable___action_table_row974},
+  {(bigint) parser_tables___ParserTable___action_table_row975},
+  {(bigint) parser_tables___ParserTable___action_table_row976},
+  {(bigint) parser_tables___ParserTable___action_table_row977},
+  {(bigint) parser_tables___ParserTable___action_table_row978},
+  {(bigint) parser_tables___ParserTable___action_table_row979},
+  {(bigint) parser_tables___ParserTable___action_table_row980},
+  {(bigint) parser_tables___ParserTable___action_table_row981},
+  {(bigint) parser_tables___ParserTable___action_table_row982},
+  {(bigint) parser_tables___ParserTable___action_table_row983},
+  {(bigint) parser_tables___ParserTable___action_table_row984},
+  {(bigint) parser_tables___ParserTable___action_table_row985},
+  {(bigint) parser_tables___ParserTable___action_table_row986},
+  {(bigint) parser_tables___ParserTable___action_table_row987},
+  {(bigint) parser_tables___ParserTable___action_table_row988},
+  {(bigint) parser_tables___ParserTable___action_table_row989},
+  {(bigint) parser_tables___ParserTable___action_table_row990},
+  {(bigint) parser_tables___ParserTable___action_table_row991},
+  {(bigint) parser_tables___ParserTable___action_table_row992},
+  {(bigint) parser_tables___ParserTable___action_table_row993},
+  {(bigint) parser_tables___ParserTable___action_table_row994},
+  {(bigint) parser_tables___ParserTable___action_table_row995},
+  {(bigint) parser_tables___ParserTable___action_table_row996},
+  {(bigint) parser_tables___ParserTable___action_table_row997},
+  {(bigint) parser_tables___ParserTable___action_table_row998},
+  {(bigint) parser_tables___ParserTable___action_table_row999},
+  {(bigint) parser_tables___ParserTable___action_table_row1000},
+  {(bigint) parser_tables___ParserTable___action_table_row1001},
+  {(bigint) parser_tables___ParserTable___action_table_row1002},
+  {(bigint) parser_tables___ParserTable___action_table_row1003},
+  {(bigint) parser_tables___ParserTable___action_table_row1004},
+  {(bigint) parser_tables___ParserTable___action_table_row1005},
+  {(bigint) parser_tables___ParserTable___action_table_row1006},
+  {(bigint) parser_tables___ParserTable___action_table_row1007},
+  {(bigint) parser_tables___ParserTable___action_table_row1008},
+  {(bigint) parser_tables___ParserTable___action_table_row1009},
+  {(bigint) parser_tables___ParserTable___action_table_row1010},
+  {(bigint) parser_tables___ParserTable___action_table_row1011},
+  {(bigint) parser_tables___ParserTable___action_table_row1012},
+  {(bigint) parser_tables___ParserTable___action_table_row1013},
+  {(bigint) parser_tables___ParserTable___action_table_row1014},
+  {(bigint) parser_tables___ParserTable___action_table_row1015},
+  {(bigint) parser_tables___ParserTable___action_table_row1016},
+  {(bigint) parser_tables___ParserTable___action_table_row1017},
+  {(bigint) parser_tables___ParserTable___action_table_row1018},
+  {(bigint) parser_tables___ParserTable___action_table_row1019},
+  {(bigint) parser_tables___ParserTable___action_table_row1020},
+  {(bigint) parser_tables___ParserTable___action_table_row1021},
+  {(bigint) parser_tables___ParserTable___action_table_row1022},
+  {(bigint) parser_tables___ParserTable___action_table_row1023},
+  {(bigint) parser_tables___ParserTable___action_table_row1024},
+  {(bigint) parser_tables___ParserTable___action_table_row1025},
+  {(bigint) parser_tables___ParserTable___action_table_row1026},
+  {(bigint) parser_tables___ParserTable___action_table_row1027},
+  {(bigint) parser_tables___ParserTable___action_table_row1028},
+  {(bigint) parser_tables___ParserTable___action_table_row1029},
+  {(bigint) parser_tables___ParserTable___action_table_row1030},
+  {(bigint) parser_tables___ParserTable___action_table_row1031},
+  {(bigint) parser_tables___ParserTable___action_table_row1032},
+  {(bigint) parser_tables___ParserTable___action_table_row1033},
+  {(bigint) parser_tables___ParserTable___action_table_row1034},
+  {(bigint) parser_tables___ParserTable___action_table_row1035},
+  {(bigint) parser_tables___ParserTable___action_table_row1036},
+  {(bigint) parser_tables___ParserTable___action_table_row1037},
+  {(bigint) parser_tables___ParserTable___action_table_row1038},
+  {(bigint) parser_tables___ParserTable___action_table_row1039},
+  {(bigint) parser_tables___ParserTable___action_table_row1040},
+  {(bigint) parser_tables___ParserTable___action_table_row1041},
+  {(bigint) parser_tables___ParserTable___action_table_row1042},
+  {(bigint) parser_tables___ParserTable___action_table_row1043},
+  {(bigint) parser_tables___ParserTable___action_table_row1044},
+  {(bigint) parser_tables___ParserTable___action_table_row1045},
+  {(bigint) parser_tables___ParserTable___action_table_row1046},
+  {(bigint) parser_tables___ParserTable___action_table_row1047},
+  {(bigint) parser_tables___ParserTable___action_table_row1048},
+  {(bigint) parser_tables___ParserTable___action_table_row1049},
+  {(bigint) parser_tables___ParserTable___action_table_row1050},
+  {(bigint) parser_tables___ParserTable___action_table_row1051},
+  {(bigint) parser_tables___ParserTable___action_table_row1052},
+  {(bigint) parser_tables___ParserTable___action_table_row1053},
+  {(bigint) parser_tables___ParserTable___action_table_row1054},
+  {(bigint) parser_tables___ParserTable___action_table_row1055},
+  {(bigint) parser_tables___ParserTable___action_table_row1056},
+  {(bigint) parser_tables___ParserTable___action_table_row1057},
+  {(bigint) parser_tables___ParserTable___action_table_row1058},
+  {(bigint) parser_tables___ParserTable___action_table_row1059},
+  {(bigint) parser_tables___ParserTable___action_table_row1060},
+  {(bigint) parser_tables___ParserTable___action_table_row1061},
+  {(bigint) parser_tables___ParserTable___action_table_row1062},
+  {(bigint) parser_tables___ParserTable___action_table_row1063},
+  {(bigint) parser_tables___ParserTable___action_table_row1064},
+  {(bigint) parser_tables___ParserTable___action_table_row1065},
+  {(bigint) parser_tables___ParserTable___action_table_row1066},
+  {(bigint) parser_tables___ParserTable___action_table_row1067},
+  {(bigint) parser_tables___ParserTable___action_table_row1068},
+  {(bigint) parser_tables___ParserTable___action_table_row1069},
+  {(bigint) parser_tables___ParserTable___action_table_row1070},
+  {(bigint) parser_tables___ParserTable___action_table_row1071},
+  {(bigint) parser_tables___ParserTable___action_table_row1072},
+  {(bigint) parser_tables___ParserTable___action_table_row1073},
+  {(bigint) parser_tables___ParserTable___action_table_row1074},
+  {(bigint) parser_tables___ParserTable___action_table_row1075},
+  {(bigint) parser_tables___ParserTable___action_table_row1076},
+  {(bigint) parser_tables___ParserTable___action_table_row1077},
+  {(bigint) parser_tables___ParserTable___action_table_row1078},
+  {(bigint) parser_tables___ParserTable___action_table_row1079},
+  {(bigint) parser_tables___ParserTable___action_table_row1080},
+  {(bigint) parser_tables___ParserTable___action_table_row1081},
+  {(bigint) parser_tables___ParserTable___action_table_row1082},
+  {(bigint) parser_tables___ParserTable___action_table_row1083},
+  {(bigint) parser_tables___ParserTable___action_table_row1084},
+  {(bigint) parser_tables___ParserTable___action_table_row1085},
+  {(bigint) parser_tables___ParserTable___action_table_row1086},
+  {(bigint) parser_tables___ParserTable___action_table_row1087},
+  {(bigint) parser_tables___ParserTable___action_table_row1088},
+  {(bigint) parser_tables___ParserTable___action_table_row1089},
+  {(bigint) parser_tables___ParserTable___action_table_row1090},
+  {(bigint) parser_tables___ParserTable___action_table_row1091},
+  {(bigint) parser_tables___ParserTable___action_table_row1092},
+  {(bigint) parser_tables___ParserTable___action_table_row1093},
+  {(bigint) parser_tables___ParserTable___action_table_row1094},
+  {(bigint) parser_tables___ParserTable___action_table_row1095},
+  {(bigint) parser_tables___ParserTable___action_table_row1096},
+  {(bigint) parser_tables___ParserTable___action_table_row1097},
+  {(bigint) parser_tables___ParserTable___action_table_row1098},
+  {(bigint) parser_tables___ParserTable___action_table_row1099},
+  {(bigint) parser_tables___ParserTable___action_table_row1100},
+  {(bigint) parser_tables___ParserTable___action_table_row1101},
+  {(bigint) parser_tables___ParserTable___action_table_row1102},
+  {(bigint) parser_tables___ParserTable___action_table_row1103},
+  {(bigint) parser_tables___ParserTable___action_table_row1104},
+  {(bigint) parser_tables___ParserTable___action_table_row1105},
+  {(bigint) parser_tables___ParserTable___action_table_row1106},
+  {(bigint) parser_tables___ParserTable___action_table_row1107},
+  {(bigint) parser_tables___ParserTable___action_table_row1108},
+  {(bigint) parser_tables___ParserTable___action_table_row1109},
+  {(bigint) parser_tables___ParserTable___action_table_row1110},
+  {(bigint) parser_tables___ParserTable___action_table_row1111},
+  {(bigint) parser_tables___ParserTable___action_table_row1112},
+  {(bigint) parser_tables___ParserTable___action_table_row1113},
+  {(bigint) parser_tables___ParserTable___action_table_row1114},
+  {(bigint) parser_tables___ParserTable___action_table_row1115},
+  {(bigint) parser_tables___ParserTable___action_table_row1116},
+  {(bigint) parser_tables___ParserTable___action_table_row1117},
+  {(bigint) parser_tables___ParserTable___action_table_row1118},
+  {(bigint) parser_tables___ParserTable___action_table_row1119},
+  {(bigint) parser_tables___ParserTable___action_table_row1120},
+  {(bigint) parser_tables___ParserTable___action_table_row1121},
+  {(bigint) parser_tables___ParserTable___action_table_row1122},
+  {(bigint) parser_tables___ParserTable___action_table_row1123},
+  {(bigint) parser_tables___ParserTable___action_table_row1124},
+  {(bigint) parser_tables___ParserTable___action_table_row1125},
+  {(bigint) parser_tables___ParserTable___action_table_row1126},
+  {(bigint) parser_tables___ParserTable___action_table_row1127},
+  {(bigint) parser_tables___ParserTable___action_table_row1128},
+  {(bigint) parser_tables___ParserTable___action_table_row1129},
+  {(bigint) parser_tables___ParserTable___action_table_row1130},
+  {(bigint) parser_tables___ParserTable___action_table_row1131},
+  {(bigint) parser_tables___ParserTable___action_table_row1132},
+  {(bigint) parser_tables___ParserTable___action_table_row1133},
+  {(bigint) parser_tables___ParserTable___action_table_row1134},
+  {(bigint) parser_tables___ParserTable___action_table_row1135},
+  {(bigint) parser_tables___ParserTable___action_table_row1136},
+  {(bigint) parser_tables___ParserTable___action_table_row1137},
+  {(bigint) parser_tables___ParserTable___action_table_row1138},
+  {(bigint) parser_tables___ParserTable___action_table_row1139},
+  {(bigint) parser_tables___ParserTable___action_table_row1140},
+  {(bigint) parser_tables___ParserTable___action_table_row1141},
+  {(bigint) parser_tables___ParserTable___action_table_row1142},
+  {(bigint) parser_tables___ParserTable___action_table_row1143},
+  {(bigint) parser_tables___ParserTable___action_table_row1144},
+  {(bigint) parser_tables___ParserTable___action_table_row1145},
+  {(bigint) parser_tables___ParserTable___action_table_row1146},
+  {(bigint) parser_tables___ParserTable___action_table_row1147},
+  {(bigint) parser_tables___ParserTable___action_table_row1148},
+  {(bigint) parser_tables___ParserTable___action_table_row1149},
+  {(bigint) parser_tables___ParserTable___action_table_row1150},
+  {(bigint) parser_tables___ParserTable___action_table_row1151},
+  {(bigint) parser_tables___ParserTable___action_table_row1152},
+  {(bigint) parser_tables___ParserTable___action_table_row1153},
+  {(bigint) parser_tables___ParserTable___action_table_row1154},
+  {(bigint) parser_tables___ParserTable___action_table_row1155},
+  {(bigint) parser_tables___ParserTable___action_table_row1156},
+  {(bigint) parser_tables___ParserTable___action_table_row1157},
+  {(bigint) parser_tables___ParserTable___action_table_row1158},
+  {(bigint) parser_tables___ParserTable___action_table_row1159},
+  {(bigint) parser_tables___ParserTable___action_table_row1160},
+  {(bigint) parser_tables___ParserTable___action_table_row1161},
+  {(bigint) parser_tables___ParserTable___action_table_row1162},
+  {(bigint) parser_tables___ParserTable___action_table_row1163},
+  {(bigint) parser_tables___ParserTable___action_table_row1164},
+  {(bigint) parser_tables___ParserTable___action_table_row1165},
+  {(bigint) parser_tables___ParserTable___build_goto_table},
+  {(bigint) parser_tables___ParserTable___error_messages},
+  {(bigint) parser_tables___ParserTable___errors},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute ParserTable::_action_table */
+/* 2: Attribute ParserTable::_goto_table */
+val_t NEW_ParserTable(void) {
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 7);
-  obj->vft = (classtable_elt_t*)VFT_Parser;
-  ATTR_parser___Parser____stack_pos(obj) = TAG_Int((long int)0);
+  obj = alloc(sizeof(val_t) * 3);
+  obj->vft = (classtable_elt_t*)VFT_ParserTable;
+  ATTR_parser_tables___ParserTable____action_table(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_tables___ParserTable____goto_table(obj) =  NIT_NULL /*null*/;
   return OBJ2VAL(obj);
 }
-val_t NEW_parser___Parser___init(val_t p0) {
-  int init_table[2] = {0, 0};
-  val_t self = NEW_Parser();
-  parser___Parser___init(self, p0, init_table);
-  return self;
-}
 const classtable_elt_t VFT_State[46] = {
-  {(long int) 35 /* 0: Identity */},
-  {(long int) 3 /* 1: State < Object: superclass typecheck marker */},
-  {(long int) 35 /* 2: State < State: superclass typecheck marker */},
+  {(bigint) 35 /* 0: Identity */},
+  {(bigint) 3 /* 1: State < Object: superclass typecheck marker */},
+  {(bigint) 35 /* 2: State < State: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39199,39 +39476,39 @@ const classtable_elt_t VFT_State[46] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: State < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: State < State: superclass init_table position */},
-  {(long int) parser___State___state},
-  {(long int) parser___State___state__eq},
-  {(long int) parser___State___nodes},
-  {(long int) parser___State___nodes__eq},
-  {(long int) parser___State___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: State < 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) 1 /* 40: State < State: superclass init_table position */},
+  {(bigint) parser___State___state},
+  {(bigint) parser___State___state__eq},
+  {(bigint) parser___State___nodes},
+  {(bigint) parser___State___nodes__eq},
+  {(bigint) parser___State___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute State::_state */
@@ -39240,7 +39517,7 @@ val_t NEW_State(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_State;
-  ATTR_parser___State____state(obj) = TAG_Int((long int)0);
+  ATTR_parser___State____state(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_parser___State___init(val_t p0, val_t p1) {
@@ -39249,11 +39526,1253 @@ val_t NEW_parser___State___init(val_t p0, val_t p1) {
   parser___State___init(self, p0, p1, init_table);
   return self;
 }
+const classtable_elt_t VFT_Parser[1218] = {
+  {(bigint) 2519 /* 0: Identity */},
+  {(bigint) 3 /* 1: Parser < Object: superclass typecheck marker */},
+  {(bigint) 59 /* 2: Parser < ParserTable: superclass typecheck marker */},
+  {(bigint) 2519 /* 3: Parser < Parser: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Parser < 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) 1 /* 40: Parser < ParserTable: superclass init_table position */},
+  {(bigint) parser_tables___ParserTable___build_action_table},
+  {(bigint) parser_tables___ParserTable___action_table_row1},
+  {(bigint) parser_tables___ParserTable___action_table_row2},
+  {(bigint) parser_tables___ParserTable___action_table_row3},
+  {(bigint) parser_tables___ParserTable___action_table_row4},
+  {(bigint) parser_tables___ParserTable___action_table_row5},
+  {(bigint) parser_tables___ParserTable___action_table_row6},
+  {(bigint) parser_tables___ParserTable___action_table_row7},
+  {(bigint) parser_tables___ParserTable___action_table_row8},
+  {(bigint) parser_tables___ParserTable___action_table_row9},
+  {(bigint) parser_tables___ParserTable___action_table_row10},
+  {(bigint) parser_tables___ParserTable___action_table_row11},
+  {(bigint) parser_tables___ParserTable___action_table_row12},
+  {(bigint) parser_tables___ParserTable___action_table_row13},
+  {(bigint) parser_tables___ParserTable___action_table_row14},
+  {(bigint) parser_tables___ParserTable___action_table_row15},
+  {(bigint) parser_tables___ParserTable___action_table_row16},
+  {(bigint) parser_tables___ParserTable___action_table_row17},
+  {(bigint) parser_tables___ParserTable___action_table_row18},
+  {(bigint) parser_tables___ParserTable___action_table_row19},
+  {(bigint) parser_tables___ParserTable___action_table_row20},
+  {(bigint) parser_tables___ParserTable___action_table_row21},
+  {(bigint) parser_tables___ParserTable___action_table_row22},
+  {(bigint) parser_tables___ParserTable___action_table_row23},
+  {(bigint) parser_tables___ParserTable___action_table_row24},
+  {(bigint) parser_tables___ParserTable___action_table_row25},
+  {(bigint) parser_tables___ParserTable___action_table_row26},
+  {(bigint) parser_tables___ParserTable___action_table_row27},
+  {(bigint) parser_tables___ParserTable___action_table_row28},
+  {(bigint) parser_tables___ParserTable___action_table_row29},
+  {(bigint) parser_tables___ParserTable___action_table_row30},
+  {(bigint) parser_tables___ParserTable___action_table_row31},
+  {(bigint) parser_tables___ParserTable___action_table_row32},
+  {(bigint) parser_tables___ParserTable___action_table_row33},
+  {(bigint) parser_tables___ParserTable___action_table_row34},
+  {(bigint) parser_tables___ParserTable___action_table_row35},
+  {(bigint) parser_tables___ParserTable___action_table_row36},
+  {(bigint) parser_tables___ParserTable___action_table_row37},
+  {(bigint) parser_tables___ParserTable___action_table_row38},
+  {(bigint) parser_tables___ParserTable___action_table_row39},
+  {(bigint) parser_tables___ParserTable___action_table_row40},
+  {(bigint) parser_tables___ParserTable___action_table_row41},
+  {(bigint) parser_tables___ParserTable___action_table_row42},
+  {(bigint) parser_tables___ParserTable___action_table_row43},
+  {(bigint) parser_tables___ParserTable___action_table_row44},
+  {(bigint) parser_tables___ParserTable___action_table_row45},
+  {(bigint) parser_tables___ParserTable___action_table_row46},
+  {(bigint) parser_tables___ParserTable___action_table_row47},
+  {(bigint) parser_tables___ParserTable___action_table_row48},
+  {(bigint) parser_tables___ParserTable___action_table_row49},
+  {(bigint) parser_tables___ParserTable___action_table_row50},
+  {(bigint) parser_tables___ParserTable___action_table_row51},
+  {(bigint) parser_tables___ParserTable___action_table_row52},
+  {(bigint) parser_tables___ParserTable___action_table_row53},
+  {(bigint) parser_tables___ParserTable___action_table_row54},
+  {(bigint) parser_tables___ParserTable___action_table_row55},
+  {(bigint) parser_tables___ParserTable___action_table_row56},
+  {(bigint) parser_tables___ParserTable___action_table_row57},
+  {(bigint) parser_tables___ParserTable___action_table_row58},
+  {(bigint) parser_tables___ParserTable___action_table_row59},
+  {(bigint) parser_tables___ParserTable___action_table_row60},
+  {(bigint) parser_tables___ParserTable___action_table_row61},
+  {(bigint) parser_tables___ParserTable___action_table_row62},
+  {(bigint) parser_tables___ParserTable___action_table_row63},
+  {(bigint) parser_tables___ParserTable___action_table_row64},
+  {(bigint) parser_tables___ParserTable___action_table_row65},
+  {(bigint) parser_tables___ParserTable___action_table_row66},
+  {(bigint) parser_tables___ParserTable___action_table_row67},
+  {(bigint) parser_tables___ParserTable___action_table_row68},
+  {(bigint) parser_tables___ParserTable___action_table_row69},
+  {(bigint) parser_tables___ParserTable___action_table_row70},
+  {(bigint) parser_tables___ParserTable___action_table_row71},
+  {(bigint) parser_tables___ParserTable___action_table_row72},
+  {(bigint) parser_tables___ParserTable___action_table_row73},
+  {(bigint) parser_tables___ParserTable___action_table_row74},
+  {(bigint) parser_tables___ParserTable___action_table_row75},
+  {(bigint) parser_tables___ParserTable___action_table_row76},
+  {(bigint) parser_tables___ParserTable___action_table_row77},
+  {(bigint) parser_tables___ParserTable___action_table_row78},
+  {(bigint) parser_tables___ParserTable___action_table_row79},
+  {(bigint) parser_tables___ParserTable___action_table_row80},
+  {(bigint) parser_tables___ParserTable___action_table_row81},
+  {(bigint) parser_tables___ParserTable___action_table_row82},
+  {(bigint) parser_tables___ParserTable___action_table_row83},
+  {(bigint) parser_tables___ParserTable___action_table_row84},
+  {(bigint) parser_tables___ParserTable___action_table_row85},
+  {(bigint) parser_tables___ParserTable___action_table_row86},
+  {(bigint) parser_tables___ParserTable___action_table_row87},
+  {(bigint) parser_tables___ParserTable___action_table_row88},
+  {(bigint) parser_tables___ParserTable___action_table_row89},
+  {(bigint) parser_tables___ParserTable___action_table_row90},
+  {(bigint) parser_tables___ParserTable___action_table_row91},
+  {(bigint) parser_tables___ParserTable___action_table_row92},
+  {(bigint) parser_tables___ParserTable___action_table_row93},
+  {(bigint) parser_tables___ParserTable___action_table_row94},
+  {(bigint) parser_tables___ParserTable___action_table_row95},
+  {(bigint) parser_tables___ParserTable___action_table_row96},
+  {(bigint) parser_tables___ParserTable___action_table_row97},
+  {(bigint) parser_tables___ParserTable___action_table_row98},
+  {(bigint) parser_tables___ParserTable___action_table_row99},
+  {(bigint) parser_tables___ParserTable___action_table_row100},
+  {(bigint) parser_tables___ParserTable___action_table_row101},
+  {(bigint) parser_tables___ParserTable___action_table_row102},
+  {(bigint) parser_tables___ParserTable___action_table_row103},
+  {(bigint) parser_tables___ParserTable___action_table_row104},
+  {(bigint) parser_tables___ParserTable___action_table_row105},
+  {(bigint) parser_tables___ParserTable___action_table_row106},
+  {(bigint) parser_tables___ParserTable___action_table_row107},
+  {(bigint) parser_tables___ParserTable___action_table_row108},
+  {(bigint) parser_tables___ParserTable___action_table_row109},
+  {(bigint) parser_tables___ParserTable___action_table_row110},
+  {(bigint) parser_tables___ParserTable___action_table_row111},
+  {(bigint) parser_tables___ParserTable___action_table_row112},
+  {(bigint) parser_tables___ParserTable___action_table_row113},
+  {(bigint) parser_tables___ParserTable___action_table_row114},
+  {(bigint) parser_tables___ParserTable___action_table_row115},
+  {(bigint) parser_tables___ParserTable___action_table_row116},
+  {(bigint) parser_tables___ParserTable___action_table_row117},
+  {(bigint) parser_tables___ParserTable___action_table_row118},
+  {(bigint) parser_tables___ParserTable___action_table_row119},
+  {(bigint) parser_tables___ParserTable___action_table_row120},
+  {(bigint) parser_tables___ParserTable___action_table_row121},
+  {(bigint) parser_tables___ParserTable___action_table_row122},
+  {(bigint) parser_tables___ParserTable___action_table_row123},
+  {(bigint) parser_tables___ParserTable___action_table_row124},
+  {(bigint) parser_tables___ParserTable___action_table_row125},
+  {(bigint) parser_tables___ParserTable___action_table_row126},
+  {(bigint) parser_tables___ParserTable___action_table_row127},
+  {(bigint) parser_tables___ParserTable___action_table_row128},
+  {(bigint) parser_tables___ParserTable___action_table_row129},
+  {(bigint) parser_tables___ParserTable___action_table_row130},
+  {(bigint) parser_tables___ParserTable___action_table_row131},
+  {(bigint) parser_tables___ParserTable___action_table_row132},
+  {(bigint) parser_tables___ParserTable___action_table_row133},
+  {(bigint) parser_tables___ParserTable___action_table_row134},
+  {(bigint) parser_tables___ParserTable___action_table_row135},
+  {(bigint) parser_tables___ParserTable___action_table_row136},
+  {(bigint) parser_tables___ParserTable___action_table_row137},
+  {(bigint) parser_tables___ParserTable___action_table_row138},
+  {(bigint) parser_tables___ParserTable___action_table_row139},
+  {(bigint) parser_tables___ParserTable___action_table_row140},
+  {(bigint) parser_tables___ParserTable___action_table_row141},
+  {(bigint) parser_tables___ParserTable___action_table_row142},
+  {(bigint) parser_tables___ParserTable___action_table_row143},
+  {(bigint) parser_tables___ParserTable___action_table_row144},
+  {(bigint) parser_tables___ParserTable___action_table_row145},
+  {(bigint) parser_tables___ParserTable___action_table_row146},
+  {(bigint) parser_tables___ParserTable___action_table_row147},
+  {(bigint) parser_tables___ParserTable___action_table_row148},
+  {(bigint) parser_tables___ParserTable___action_table_row149},
+  {(bigint) parser_tables___ParserTable___action_table_row150},
+  {(bigint) parser_tables___ParserTable___action_table_row151},
+  {(bigint) parser_tables___ParserTable___action_table_row152},
+  {(bigint) parser_tables___ParserTable___action_table_row153},
+  {(bigint) parser_tables___ParserTable___action_table_row154},
+  {(bigint) parser_tables___ParserTable___action_table_row155},
+  {(bigint) parser_tables___ParserTable___action_table_row156},
+  {(bigint) parser_tables___ParserTable___action_table_row157},
+  {(bigint) parser_tables___ParserTable___action_table_row158},
+  {(bigint) parser_tables___ParserTable___action_table_row159},
+  {(bigint) parser_tables___ParserTable___action_table_row160},
+  {(bigint) parser_tables___ParserTable___action_table_row161},
+  {(bigint) parser_tables___ParserTable___action_table_row162},
+  {(bigint) parser_tables___ParserTable___action_table_row163},
+  {(bigint) parser_tables___ParserTable___action_table_row164},
+  {(bigint) parser_tables___ParserTable___action_table_row165},
+  {(bigint) parser_tables___ParserTable___action_table_row166},
+  {(bigint) parser_tables___ParserTable___action_table_row167},
+  {(bigint) parser_tables___ParserTable___action_table_row168},
+  {(bigint) parser_tables___ParserTable___action_table_row169},
+  {(bigint) parser_tables___ParserTable___action_table_row170},
+  {(bigint) parser_tables___ParserTable___action_table_row171},
+  {(bigint) parser_tables___ParserTable___action_table_row172},
+  {(bigint) parser_tables___ParserTable___action_table_row173},
+  {(bigint) parser_tables___ParserTable___action_table_row174},
+  {(bigint) parser_tables___ParserTable___action_table_row175},
+  {(bigint) parser_tables___ParserTable___action_table_row176},
+  {(bigint) parser_tables___ParserTable___action_table_row177},
+  {(bigint) parser_tables___ParserTable___action_table_row178},
+  {(bigint) parser_tables___ParserTable___action_table_row179},
+  {(bigint) parser_tables___ParserTable___action_table_row180},
+  {(bigint) parser_tables___ParserTable___action_table_row181},
+  {(bigint) parser_tables___ParserTable___action_table_row182},
+  {(bigint) parser_tables___ParserTable___action_table_row183},
+  {(bigint) parser_tables___ParserTable___action_table_row184},
+  {(bigint) parser_tables___ParserTable___action_table_row185},
+  {(bigint) parser_tables___ParserTable___action_table_row186},
+  {(bigint) parser_tables___ParserTable___action_table_row187},
+  {(bigint) parser_tables___ParserTable___action_table_row188},
+  {(bigint) parser_tables___ParserTable___action_table_row189},
+  {(bigint) parser_tables___ParserTable___action_table_row190},
+  {(bigint) parser_tables___ParserTable___action_table_row191},
+  {(bigint) parser_tables___ParserTable___action_table_row192},
+  {(bigint) parser_tables___ParserTable___action_table_row193},
+  {(bigint) parser_tables___ParserTable___action_table_row194},
+  {(bigint) parser_tables___ParserTable___action_table_row195},
+  {(bigint) parser_tables___ParserTable___action_table_row196},
+  {(bigint) parser_tables___ParserTable___action_table_row197},
+  {(bigint) parser_tables___ParserTable___action_table_row198},
+  {(bigint) parser_tables___ParserTable___action_table_row199},
+  {(bigint) parser_tables___ParserTable___action_table_row200},
+  {(bigint) parser_tables___ParserTable___action_table_row201},
+  {(bigint) parser_tables___ParserTable___action_table_row202},
+  {(bigint) parser_tables___ParserTable___action_table_row203},
+  {(bigint) parser_tables___ParserTable___action_table_row204},
+  {(bigint) parser_tables___ParserTable___action_table_row205},
+  {(bigint) parser_tables___ParserTable___action_table_row206},
+  {(bigint) parser_tables___ParserTable___action_table_row207},
+  {(bigint) parser_tables___ParserTable___action_table_row208},
+  {(bigint) parser_tables___ParserTable___action_table_row209},
+  {(bigint) parser_tables___ParserTable___action_table_row210},
+  {(bigint) parser_tables___ParserTable___action_table_row211},
+  {(bigint) parser_tables___ParserTable___action_table_row212},
+  {(bigint) parser_tables___ParserTable___action_table_row213},
+  {(bigint) parser_tables___ParserTable___action_table_row214},
+  {(bigint) parser_tables___ParserTable___action_table_row215},
+  {(bigint) parser_tables___ParserTable___action_table_row216},
+  {(bigint) parser_tables___ParserTable___action_table_row217},
+  {(bigint) parser_tables___ParserTable___action_table_row218},
+  {(bigint) parser_tables___ParserTable___action_table_row219},
+  {(bigint) parser_tables___ParserTable___action_table_row220},
+  {(bigint) parser_tables___ParserTable___action_table_row221},
+  {(bigint) parser_tables___ParserTable___action_table_row222},
+  {(bigint) parser_tables___ParserTable___action_table_row223},
+  {(bigint) parser_tables___ParserTable___action_table_row224},
+  {(bigint) parser_tables___ParserTable___action_table_row225},
+  {(bigint) parser_tables___ParserTable___action_table_row226},
+  {(bigint) parser_tables___ParserTable___action_table_row227},
+  {(bigint) parser_tables___ParserTable___action_table_row228},
+  {(bigint) parser_tables___ParserTable___action_table_row229},
+  {(bigint) parser_tables___ParserTable___action_table_row230},
+  {(bigint) parser_tables___ParserTable___action_table_row231},
+  {(bigint) parser_tables___ParserTable___action_table_row232},
+  {(bigint) parser_tables___ParserTable___action_table_row233},
+  {(bigint) parser_tables___ParserTable___action_table_row234},
+  {(bigint) parser_tables___ParserTable___action_table_row235},
+  {(bigint) parser_tables___ParserTable___action_table_row236},
+  {(bigint) parser_tables___ParserTable___action_table_row237},
+  {(bigint) parser_tables___ParserTable___action_table_row238},
+  {(bigint) parser_tables___ParserTable___action_table_row239},
+  {(bigint) parser_tables___ParserTable___action_table_row240},
+  {(bigint) parser_tables___ParserTable___action_table_row241},
+  {(bigint) parser_tables___ParserTable___action_table_row242},
+  {(bigint) parser_tables___ParserTable___action_table_row243},
+  {(bigint) parser_tables___ParserTable___action_table_row244},
+  {(bigint) parser_tables___ParserTable___action_table_row245},
+  {(bigint) parser_tables___ParserTable___action_table_row246},
+  {(bigint) parser_tables___ParserTable___action_table_row247},
+  {(bigint) parser_tables___ParserTable___action_table_row248},
+  {(bigint) parser_tables___ParserTable___action_table_row249},
+  {(bigint) parser_tables___ParserTable___action_table_row250},
+  {(bigint) parser_tables___ParserTable___action_table_row251},
+  {(bigint) parser_tables___ParserTable___action_table_row252},
+  {(bigint) parser_tables___ParserTable___action_table_row253},
+  {(bigint) parser_tables___ParserTable___action_table_row254},
+  {(bigint) parser_tables___ParserTable___action_table_row255},
+  {(bigint) parser_tables___ParserTable___action_table_row256},
+  {(bigint) parser_tables___ParserTable___action_table_row257},
+  {(bigint) parser_tables___ParserTable___action_table_row258},
+  {(bigint) parser_tables___ParserTable___action_table_row259},
+  {(bigint) parser_tables___ParserTable___action_table_row260},
+  {(bigint) parser_tables___ParserTable___action_table_row261},
+  {(bigint) parser_tables___ParserTable___action_table_row262},
+  {(bigint) parser_tables___ParserTable___action_table_row263},
+  {(bigint) parser_tables___ParserTable___action_table_row264},
+  {(bigint) parser_tables___ParserTable___action_table_row265},
+  {(bigint) parser_tables___ParserTable___action_table_row266},
+  {(bigint) parser_tables___ParserTable___action_table_row267},
+  {(bigint) parser_tables___ParserTable___action_table_row268},
+  {(bigint) parser_tables___ParserTable___action_table_row269},
+  {(bigint) parser_tables___ParserTable___action_table_row270},
+  {(bigint) parser_tables___ParserTable___action_table_row271},
+  {(bigint) parser_tables___ParserTable___action_table_row272},
+  {(bigint) parser_tables___ParserTable___action_table_row273},
+  {(bigint) parser_tables___ParserTable___action_table_row274},
+  {(bigint) parser_tables___ParserTable___action_table_row275},
+  {(bigint) parser_tables___ParserTable___action_table_row276},
+  {(bigint) parser_tables___ParserTable___action_table_row277},
+  {(bigint) parser_tables___ParserTable___action_table_row278},
+  {(bigint) parser_tables___ParserTable___action_table_row279},
+  {(bigint) parser_tables___ParserTable___action_table_row280},
+  {(bigint) parser_tables___ParserTable___action_table_row281},
+  {(bigint) parser_tables___ParserTable___action_table_row282},
+  {(bigint) parser_tables___ParserTable___action_table_row283},
+  {(bigint) parser_tables___ParserTable___action_table_row284},
+  {(bigint) parser_tables___ParserTable___action_table_row285},
+  {(bigint) parser_tables___ParserTable___action_table_row286},
+  {(bigint) parser_tables___ParserTable___action_table_row287},
+  {(bigint) parser_tables___ParserTable___action_table_row288},
+  {(bigint) parser_tables___ParserTable___action_table_row289},
+  {(bigint) parser_tables___ParserTable___action_table_row290},
+  {(bigint) parser_tables___ParserTable___action_table_row291},
+  {(bigint) parser_tables___ParserTable___action_table_row292},
+  {(bigint) parser_tables___ParserTable___action_table_row293},
+  {(bigint) parser_tables___ParserTable___action_table_row294},
+  {(bigint) parser_tables___ParserTable___action_table_row295},
+  {(bigint) parser_tables___ParserTable___action_table_row296},
+  {(bigint) parser_tables___ParserTable___action_table_row297},
+  {(bigint) parser_tables___ParserTable___action_table_row298},
+  {(bigint) parser_tables___ParserTable___action_table_row299},
+  {(bigint) parser_tables___ParserTable___action_table_row300},
+  {(bigint) parser_tables___ParserTable___action_table_row301},
+  {(bigint) parser_tables___ParserTable___action_table_row302},
+  {(bigint) parser_tables___ParserTable___action_table_row303},
+  {(bigint) parser_tables___ParserTable___action_table_row304},
+  {(bigint) parser_tables___ParserTable___action_table_row305},
+  {(bigint) parser_tables___ParserTable___action_table_row306},
+  {(bigint) parser_tables___ParserTable___action_table_row307},
+  {(bigint) parser_tables___ParserTable___action_table_row308},
+  {(bigint) parser_tables___ParserTable___action_table_row309},
+  {(bigint) parser_tables___ParserTable___action_table_row310},
+  {(bigint) parser_tables___ParserTable___action_table_row311},
+  {(bigint) parser_tables___ParserTable___action_table_row312},
+  {(bigint) parser_tables___ParserTable___action_table_row313},
+  {(bigint) parser_tables___ParserTable___action_table_row314},
+  {(bigint) parser_tables___ParserTable___action_table_row315},
+  {(bigint) parser_tables___ParserTable___action_table_row316},
+  {(bigint) parser_tables___ParserTable___action_table_row317},
+  {(bigint) parser_tables___ParserTable___action_table_row318},
+  {(bigint) parser_tables___ParserTable___action_table_row319},
+  {(bigint) parser_tables___ParserTable___action_table_row320},
+  {(bigint) parser_tables___ParserTable___action_table_row321},
+  {(bigint) parser_tables___ParserTable___action_table_row322},
+  {(bigint) parser_tables___ParserTable___action_table_row323},
+  {(bigint) parser_tables___ParserTable___action_table_row324},
+  {(bigint) parser_tables___ParserTable___action_table_row325},
+  {(bigint) parser_tables___ParserTable___action_table_row326},
+  {(bigint) parser_tables___ParserTable___action_table_row327},
+  {(bigint) parser_tables___ParserTable___action_table_row328},
+  {(bigint) parser_tables___ParserTable___action_table_row329},
+  {(bigint) parser_tables___ParserTable___action_table_row330},
+  {(bigint) parser_tables___ParserTable___action_table_row331},
+  {(bigint) parser_tables___ParserTable___action_table_row332},
+  {(bigint) parser_tables___ParserTable___action_table_row333},
+  {(bigint) parser_tables___ParserTable___action_table_row334},
+  {(bigint) parser_tables___ParserTable___action_table_row335},
+  {(bigint) parser_tables___ParserTable___action_table_row336},
+  {(bigint) parser_tables___ParserTable___action_table_row337},
+  {(bigint) parser_tables___ParserTable___action_table_row338},
+  {(bigint) parser_tables___ParserTable___action_table_row339},
+  {(bigint) parser_tables___ParserTable___action_table_row340},
+  {(bigint) parser_tables___ParserTable___action_table_row341},
+  {(bigint) parser_tables___ParserTable___action_table_row342},
+  {(bigint) parser_tables___ParserTable___action_table_row343},
+  {(bigint) parser_tables___ParserTable___action_table_row344},
+  {(bigint) parser_tables___ParserTable___action_table_row345},
+  {(bigint) parser_tables___ParserTable___action_table_row346},
+  {(bigint) parser_tables___ParserTable___action_table_row347},
+  {(bigint) parser_tables___ParserTable___action_table_row348},
+  {(bigint) parser_tables___ParserTable___action_table_row349},
+  {(bigint) parser_tables___ParserTable___action_table_row350},
+  {(bigint) parser_tables___ParserTable___action_table_row351},
+  {(bigint) parser_tables___ParserTable___action_table_row352},
+  {(bigint) parser_tables___ParserTable___action_table_row353},
+  {(bigint) parser_tables___ParserTable___action_table_row354},
+  {(bigint) parser_tables___ParserTable___action_table_row355},
+  {(bigint) parser_tables___ParserTable___action_table_row356},
+  {(bigint) parser_tables___ParserTable___action_table_row357},
+  {(bigint) parser_tables___ParserTable___action_table_row358},
+  {(bigint) parser_tables___ParserTable___action_table_row359},
+  {(bigint) parser_tables___ParserTable___action_table_row360},
+  {(bigint) parser_tables___ParserTable___action_table_row361},
+  {(bigint) parser_tables___ParserTable___action_table_row362},
+  {(bigint) parser_tables___ParserTable___action_table_row363},
+  {(bigint) parser_tables___ParserTable___action_table_row364},
+  {(bigint) parser_tables___ParserTable___action_table_row365},
+  {(bigint) parser_tables___ParserTable___action_table_row366},
+  {(bigint) parser_tables___ParserTable___action_table_row367},
+  {(bigint) parser_tables___ParserTable___action_table_row368},
+  {(bigint) parser_tables___ParserTable___action_table_row369},
+  {(bigint) parser_tables___ParserTable___action_table_row370},
+  {(bigint) parser_tables___ParserTable___action_table_row371},
+  {(bigint) parser_tables___ParserTable___action_table_row372},
+  {(bigint) parser_tables___ParserTable___action_table_row373},
+  {(bigint) parser_tables___ParserTable___action_table_row374},
+  {(bigint) parser_tables___ParserTable___action_table_row375},
+  {(bigint) parser_tables___ParserTable___action_table_row376},
+  {(bigint) parser_tables___ParserTable___action_table_row377},
+  {(bigint) parser_tables___ParserTable___action_table_row378},
+  {(bigint) parser_tables___ParserTable___action_table_row379},
+  {(bigint) parser_tables___ParserTable___action_table_row380},
+  {(bigint) parser_tables___ParserTable___action_table_row381},
+  {(bigint) parser_tables___ParserTable___action_table_row382},
+  {(bigint) parser_tables___ParserTable___action_table_row383},
+  {(bigint) parser_tables___ParserTable___action_table_row384},
+  {(bigint) parser_tables___ParserTable___action_table_row385},
+  {(bigint) parser_tables___ParserTable___action_table_row386},
+  {(bigint) parser_tables___ParserTable___action_table_row387},
+  {(bigint) parser_tables___ParserTable___action_table_row388},
+  {(bigint) parser_tables___ParserTable___action_table_row389},
+  {(bigint) parser_tables___ParserTable___action_table_row390},
+  {(bigint) parser_tables___ParserTable___action_table_row391},
+  {(bigint) parser_tables___ParserTable___action_table_row392},
+  {(bigint) parser_tables___ParserTable___action_table_row393},
+  {(bigint) parser_tables___ParserTable___action_table_row394},
+  {(bigint) parser_tables___ParserTable___action_table_row395},
+  {(bigint) parser_tables___ParserTable___action_table_row396},
+  {(bigint) parser_tables___ParserTable___action_table_row397},
+  {(bigint) parser_tables___ParserTable___action_table_row398},
+  {(bigint) parser_tables___ParserTable___action_table_row399},
+  {(bigint) parser_tables___ParserTable___action_table_row400},
+  {(bigint) parser_tables___ParserTable___action_table_row401},
+  {(bigint) parser_tables___ParserTable___action_table_row402},
+  {(bigint) parser_tables___ParserTable___action_table_row403},
+  {(bigint) parser_tables___ParserTable___action_table_row404},
+  {(bigint) parser_tables___ParserTable___action_table_row405},
+  {(bigint) parser_tables___ParserTable___action_table_row406},
+  {(bigint) parser_tables___ParserTable___action_table_row407},
+  {(bigint) parser_tables___ParserTable___action_table_row408},
+  {(bigint) parser_tables___ParserTable___action_table_row409},
+  {(bigint) parser_tables___ParserTable___action_table_row410},
+  {(bigint) parser_tables___ParserTable___action_table_row411},
+  {(bigint) parser_tables___ParserTable___action_table_row412},
+  {(bigint) parser_tables___ParserTable___action_table_row413},
+  {(bigint) parser_tables___ParserTable___action_table_row414},
+  {(bigint) parser_tables___ParserTable___action_table_row415},
+  {(bigint) parser_tables___ParserTable___action_table_row416},
+  {(bigint) parser_tables___ParserTable___action_table_row417},
+  {(bigint) parser_tables___ParserTable___action_table_row418},
+  {(bigint) parser_tables___ParserTable___action_table_row419},
+  {(bigint) parser_tables___ParserTable___action_table_row420},
+  {(bigint) parser_tables___ParserTable___action_table_row421},
+  {(bigint) parser_tables___ParserTable___action_table_row422},
+  {(bigint) parser_tables___ParserTable___action_table_row423},
+  {(bigint) parser_tables___ParserTable___action_table_row424},
+  {(bigint) parser_tables___ParserTable___action_table_row425},
+  {(bigint) parser_tables___ParserTable___action_table_row426},
+  {(bigint) parser_tables___ParserTable___action_table_row427},
+  {(bigint) parser_tables___ParserTable___action_table_row428},
+  {(bigint) parser_tables___ParserTable___action_table_row429},
+  {(bigint) parser_tables___ParserTable___action_table_row430},
+  {(bigint) parser_tables___ParserTable___action_table_row431},
+  {(bigint) parser_tables___ParserTable___action_table_row432},
+  {(bigint) parser_tables___ParserTable___action_table_row433},
+  {(bigint) parser_tables___ParserTable___action_table_row434},
+  {(bigint) parser_tables___ParserTable___action_table_row435},
+  {(bigint) parser_tables___ParserTable___action_table_row436},
+  {(bigint) parser_tables___ParserTable___action_table_row437},
+  {(bigint) parser_tables___ParserTable___action_table_row438},
+  {(bigint) parser_tables___ParserTable___action_table_row439},
+  {(bigint) parser_tables___ParserTable___action_table_row440},
+  {(bigint) parser_tables___ParserTable___action_table_row441},
+  {(bigint) parser_tables___ParserTable___action_table_row442},
+  {(bigint) parser_tables___ParserTable___action_table_row443},
+  {(bigint) parser_tables___ParserTable___action_table_row444},
+  {(bigint) parser_tables___ParserTable___action_table_row445},
+  {(bigint) parser_tables___ParserTable___action_table_row446},
+  {(bigint) parser_tables___ParserTable___action_table_row447},
+  {(bigint) parser_tables___ParserTable___action_table_row448},
+  {(bigint) parser_tables___ParserTable___action_table_row449},
+  {(bigint) parser_tables___ParserTable___action_table_row450},
+  {(bigint) parser_tables___ParserTable___action_table_row451},
+  {(bigint) parser_tables___ParserTable___action_table_row452},
+  {(bigint) parser_tables___ParserTable___action_table_row453},
+  {(bigint) parser_tables___ParserTable___action_table_row454},
+  {(bigint) parser_tables___ParserTable___action_table_row455},
+  {(bigint) parser_tables___ParserTable___action_table_row456},
+  {(bigint) parser_tables___ParserTable___action_table_row457},
+  {(bigint) parser_tables___ParserTable___action_table_row458},
+  {(bigint) parser_tables___ParserTable___action_table_row459},
+  {(bigint) parser_tables___ParserTable___action_table_row460},
+  {(bigint) parser_tables___ParserTable___action_table_row461},
+  {(bigint) parser_tables___ParserTable___action_table_row462},
+  {(bigint) parser_tables___ParserTable___action_table_row463},
+  {(bigint) parser_tables___ParserTable___action_table_row464},
+  {(bigint) parser_tables___ParserTable___action_table_row465},
+  {(bigint) parser_tables___ParserTable___action_table_row466},
+  {(bigint) parser_tables___ParserTable___action_table_row467},
+  {(bigint) parser_tables___ParserTable___action_table_row468},
+  {(bigint) parser_tables___ParserTable___action_table_row469},
+  {(bigint) parser_tables___ParserTable___action_table_row470},
+  {(bigint) parser_tables___ParserTable___action_table_row471},
+  {(bigint) parser_tables___ParserTable___action_table_row472},
+  {(bigint) parser_tables___ParserTable___action_table_row473},
+  {(bigint) parser_tables___ParserTable___action_table_row474},
+  {(bigint) parser_tables___ParserTable___action_table_row475},
+  {(bigint) parser_tables___ParserTable___action_table_row476},
+  {(bigint) parser_tables___ParserTable___action_table_row477},
+  {(bigint) parser_tables___ParserTable___action_table_row478},
+  {(bigint) parser_tables___ParserTable___action_table_row479},
+  {(bigint) parser_tables___ParserTable___action_table_row480},
+  {(bigint) parser_tables___ParserTable___action_table_row481},
+  {(bigint) parser_tables___ParserTable___action_table_row482},
+  {(bigint) parser_tables___ParserTable___action_table_row483},
+  {(bigint) parser_tables___ParserTable___action_table_row484},
+  {(bigint) parser_tables___ParserTable___action_table_row485},
+  {(bigint) parser_tables___ParserTable___action_table_row486},
+  {(bigint) parser_tables___ParserTable___action_table_row487},
+  {(bigint) parser_tables___ParserTable___action_table_row488},
+  {(bigint) parser_tables___ParserTable___action_table_row489},
+  {(bigint) parser_tables___ParserTable___action_table_row490},
+  {(bigint) parser_tables___ParserTable___action_table_row491},
+  {(bigint) parser_tables___ParserTable___action_table_row492},
+  {(bigint) parser_tables___ParserTable___action_table_row493},
+  {(bigint) parser_tables___ParserTable___action_table_row494},
+  {(bigint) parser_tables___ParserTable___action_table_row495},
+  {(bigint) parser_tables___ParserTable___action_table_row496},
+  {(bigint) parser_tables___ParserTable___action_table_row497},
+  {(bigint) parser_tables___ParserTable___action_table_row498},
+  {(bigint) parser_tables___ParserTable___action_table_row499},
+  {(bigint) parser_tables___ParserTable___action_table_row500},
+  {(bigint) parser_tables___ParserTable___action_table_row501},
+  {(bigint) parser_tables___ParserTable___action_table_row502},
+  {(bigint) parser_tables___ParserTable___action_table_row503},
+  {(bigint) parser_tables___ParserTable___action_table_row504},
+  {(bigint) parser_tables___ParserTable___action_table_row505},
+  {(bigint) parser_tables___ParserTable___action_table_row506},
+  {(bigint) parser_tables___ParserTable___action_table_row507},
+  {(bigint) parser_tables___ParserTable___action_table_row508},
+  {(bigint) parser_tables___ParserTable___action_table_row509},
+  {(bigint) parser_tables___ParserTable___action_table_row510},
+  {(bigint) parser_tables___ParserTable___action_table_row511},
+  {(bigint) parser_tables___ParserTable___action_table_row512},
+  {(bigint) parser_tables___ParserTable___action_table_row513},
+  {(bigint) parser_tables___ParserTable___action_table_row514},
+  {(bigint) parser_tables___ParserTable___action_table_row515},
+  {(bigint) parser_tables___ParserTable___action_table_row516},
+  {(bigint) parser_tables___ParserTable___action_table_row517},
+  {(bigint) parser_tables___ParserTable___action_table_row518},
+  {(bigint) parser_tables___ParserTable___action_table_row519},
+  {(bigint) parser_tables___ParserTable___action_table_row520},
+  {(bigint) parser_tables___ParserTable___action_table_row521},
+  {(bigint) parser_tables___ParserTable___action_table_row522},
+  {(bigint) parser_tables___ParserTable___action_table_row523},
+  {(bigint) parser_tables___ParserTable___action_table_row524},
+  {(bigint) parser_tables___ParserTable___action_table_row525},
+  {(bigint) parser_tables___ParserTable___action_table_row526},
+  {(bigint) parser_tables___ParserTable___action_table_row527},
+  {(bigint) parser_tables___ParserTable___action_table_row528},
+  {(bigint) parser_tables___ParserTable___action_table_row529},
+  {(bigint) parser_tables___ParserTable___action_table_row530},
+  {(bigint) parser_tables___ParserTable___action_table_row531},
+  {(bigint) parser_tables___ParserTable___action_table_row532},
+  {(bigint) parser_tables___ParserTable___action_table_row533},
+  {(bigint) parser_tables___ParserTable___action_table_row534},
+  {(bigint) parser_tables___ParserTable___action_table_row535},
+  {(bigint) parser_tables___ParserTable___action_table_row536},
+  {(bigint) parser_tables___ParserTable___action_table_row537},
+  {(bigint) parser_tables___ParserTable___action_table_row538},
+  {(bigint) parser_tables___ParserTable___action_table_row539},
+  {(bigint) parser_tables___ParserTable___action_table_row540},
+  {(bigint) parser_tables___ParserTable___action_table_row541},
+  {(bigint) parser_tables___ParserTable___action_table_row542},
+  {(bigint) parser_tables___ParserTable___action_table_row543},
+  {(bigint) parser_tables___ParserTable___action_table_row544},
+  {(bigint) parser_tables___ParserTable___action_table_row545},
+  {(bigint) parser_tables___ParserTable___action_table_row546},
+  {(bigint) parser_tables___ParserTable___action_table_row547},
+  {(bigint) parser_tables___ParserTable___action_table_row548},
+  {(bigint) parser_tables___ParserTable___action_table_row549},
+  {(bigint) parser_tables___ParserTable___action_table_row550},
+  {(bigint) parser_tables___ParserTable___action_table_row551},
+  {(bigint) parser_tables___ParserTable___action_table_row552},
+  {(bigint) parser_tables___ParserTable___action_table_row553},
+  {(bigint) parser_tables___ParserTable___action_table_row554},
+  {(bigint) parser_tables___ParserTable___action_table_row555},
+  {(bigint) parser_tables___ParserTable___action_table_row556},
+  {(bigint) parser_tables___ParserTable___action_table_row557},
+  {(bigint) parser_tables___ParserTable___action_table_row558},
+  {(bigint) parser_tables___ParserTable___action_table_row559},
+  {(bigint) parser_tables___ParserTable___action_table_row560},
+  {(bigint) parser_tables___ParserTable___action_table_row561},
+  {(bigint) parser_tables___ParserTable___action_table_row562},
+  {(bigint) parser_tables___ParserTable___action_table_row563},
+  {(bigint) parser_tables___ParserTable___action_table_row564},
+  {(bigint) parser_tables___ParserTable___action_table_row565},
+  {(bigint) parser_tables___ParserTable___action_table_row566},
+  {(bigint) parser_tables___ParserTable___action_table_row567},
+  {(bigint) parser_tables___ParserTable___action_table_row568},
+  {(bigint) parser_tables___ParserTable___action_table_row569},
+  {(bigint) parser_tables___ParserTable___action_table_row570},
+  {(bigint) parser_tables___ParserTable___action_table_row571},
+  {(bigint) parser_tables___ParserTable___action_table_row572},
+  {(bigint) parser_tables___ParserTable___action_table_row573},
+  {(bigint) parser_tables___ParserTable___action_table_row574},
+  {(bigint) parser_tables___ParserTable___action_table_row575},
+  {(bigint) parser_tables___ParserTable___action_table_row576},
+  {(bigint) parser_tables___ParserTable___action_table_row577},
+  {(bigint) parser_tables___ParserTable___action_table_row578},
+  {(bigint) parser_tables___ParserTable___action_table_row579},
+  {(bigint) parser_tables___ParserTable___action_table_row580},
+  {(bigint) parser_tables___ParserTable___action_table_row581},
+  {(bigint) parser_tables___ParserTable___action_table_row582},
+  {(bigint) parser_tables___ParserTable___action_table_row583},
+  {(bigint) parser_tables___ParserTable___action_table_row584},
+  {(bigint) parser_tables___ParserTable___action_table_row585},
+  {(bigint) parser_tables___ParserTable___action_table_row586},
+  {(bigint) parser_tables___ParserTable___action_table_row587},
+  {(bigint) parser_tables___ParserTable___action_table_row588},
+  {(bigint) parser_tables___ParserTable___action_table_row589},
+  {(bigint) parser_tables___ParserTable___action_table_row590},
+  {(bigint) parser_tables___ParserTable___action_table_row591},
+  {(bigint) parser_tables___ParserTable___action_table_row592},
+  {(bigint) parser_tables___ParserTable___action_table_row593},
+  {(bigint) parser_tables___ParserTable___action_table_row594},
+  {(bigint) parser_tables___ParserTable___action_table_row595},
+  {(bigint) parser_tables___ParserTable___action_table_row596},
+  {(bigint) parser_tables___ParserTable___action_table_row597},
+  {(bigint) parser_tables___ParserTable___action_table_row598},
+  {(bigint) parser_tables___ParserTable___action_table_row599},
+  {(bigint) parser_tables___ParserTable___action_table_row600},
+  {(bigint) parser_tables___ParserTable___action_table_row601},
+  {(bigint) parser_tables___ParserTable___action_table_row602},
+  {(bigint) parser_tables___ParserTable___action_table_row603},
+  {(bigint) parser_tables___ParserTable___action_table_row604},
+  {(bigint) parser_tables___ParserTable___action_table_row605},
+  {(bigint) parser_tables___ParserTable___action_table_row606},
+  {(bigint) parser_tables___ParserTable___action_table_row607},
+  {(bigint) parser_tables___ParserTable___action_table_row608},
+  {(bigint) parser_tables___ParserTable___action_table_row609},
+  {(bigint) parser_tables___ParserTable___action_table_row610},
+  {(bigint) parser_tables___ParserTable___action_table_row611},
+  {(bigint) parser_tables___ParserTable___action_table_row612},
+  {(bigint) parser_tables___ParserTable___action_table_row613},
+  {(bigint) parser_tables___ParserTable___action_table_row614},
+  {(bigint) parser_tables___ParserTable___action_table_row615},
+  {(bigint) parser_tables___ParserTable___action_table_row616},
+  {(bigint) parser_tables___ParserTable___action_table_row617},
+  {(bigint) parser_tables___ParserTable___action_table_row618},
+  {(bigint) parser_tables___ParserTable___action_table_row619},
+  {(bigint) parser_tables___ParserTable___action_table_row620},
+  {(bigint) parser_tables___ParserTable___action_table_row621},
+  {(bigint) parser_tables___ParserTable___action_table_row622},
+  {(bigint) parser_tables___ParserTable___action_table_row623},
+  {(bigint) parser_tables___ParserTable___action_table_row624},
+  {(bigint) parser_tables___ParserTable___action_table_row625},
+  {(bigint) parser_tables___ParserTable___action_table_row626},
+  {(bigint) parser_tables___ParserTable___action_table_row627},
+  {(bigint) parser_tables___ParserTable___action_table_row628},
+  {(bigint) parser_tables___ParserTable___action_table_row629},
+  {(bigint) parser_tables___ParserTable___action_table_row630},
+  {(bigint) parser_tables___ParserTable___action_table_row631},
+  {(bigint) parser_tables___ParserTable___action_table_row632},
+  {(bigint) parser_tables___ParserTable___action_table_row633},
+  {(bigint) parser_tables___ParserTable___action_table_row634},
+  {(bigint) parser_tables___ParserTable___action_table_row635},
+  {(bigint) parser_tables___ParserTable___action_table_row636},
+  {(bigint) parser_tables___ParserTable___action_table_row637},
+  {(bigint) parser_tables___ParserTable___action_table_row638},
+  {(bigint) parser_tables___ParserTable___action_table_row639},
+  {(bigint) parser_tables___ParserTable___action_table_row640},
+  {(bigint) parser_tables___ParserTable___action_table_row641},
+  {(bigint) parser_tables___ParserTable___action_table_row642},
+  {(bigint) parser_tables___ParserTable___action_table_row643},
+  {(bigint) parser_tables___ParserTable___action_table_row644},
+  {(bigint) parser_tables___ParserTable___action_table_row645},
+  {(bigint) parser_tables___ParserTable___action_table_row646},
+  {(bigint) parser_tables___ParserTable___action_table_row647},
+  {(bigint) parser_tables___ParserTable___action_table_row648},
+  {(bigint) parser_tables___ParserTable___action_table_row649},
+  {(bigint) parser_tables___ParserTable___action_table_row650},
+  {(bigint) parser_tables___ParserTable___action_table_row651},
+  {(bigint) parser_tables___ParserTable___action_table_row652},
+  {(bigint) parser_tables___ParserTable___action_table_row653},
+  {(bigint) parser_tables___ParserTable___action_table_row654},
+  {(bigint) parser_tables___ParserTable___action_table_row655},
+  {(bigint) parser_tables___ParserTable___action_table_row656},
+  {(bigint) parser_tables___ParserTable___action_table_row657},
+  {(bigint) parser_tables___ParserTable___action_table_row658},
+  {(bigint) parser_tables___ParserTable___action_table_row659},
+  {(bigint) parser_tables___ParserTable___action_table_row660},
+  {(bigint) parser_tables___ParserTable___action_table_row661},
+  {(bigint) parser_tables___ParserTable___action_table_row662},
+  {(bigint) parser_tables___ParserTable___action_table_row663},
+  {(bigint) parser_tables___ParserTable___action_table_row664},
+  {(bigint) parser_tables___ParserTable___action_table_row665},
+  {(bigint) parser_tables___ParserTable___action_table_row666},
+  {(bigint) parser_tables___ParserTable___action_table_row667},
+  {(bigint) parser_tables___ParserTable___action_table_row668},
+  {(bigint) parser_tables___ParserTable___action_table_row669},
+  {(bigint) parser_tables___ParserTable___action_table_row670},
+  {(bigint) parser_tables___ParserTable___action_table_row671},
+  {(bigint) parser_tables___ParserTable___action_table_row672},
+  {(bigint) parser_tables___ParserTable___action_table_row673},
+  {(bigint) parser_tables___ParserTable___action_table_row674},
+  {(bigint) parser_tables___ParserTable___action_table_row675},
+  {(bigint) parser_tables___ParserTable___action_table_row676},
+  {(bigint) parser_tables___ParserTable___action_table_row677},
+  {(bigint) parser_tables___ParserTable___action_table_row678},
+  {(bigint) parser_tables___ParserTable___action_table_row679},
+  {(bigint) parser_tables___ParserTable___action_table_row680},
+  {(bigint) parser_tables___ParserTable___action_table_row681},
+  {(bigint) parser_tables___ParserTable___action_table_row682},
+  {(bigint) parser_tables___ParserTable___action_table_row683},
+  {(bigint) parser_tables___ParserTable___action_table_row684},
+  {(bigint) parser_tables___ParserTable___action_table_row685},
+  {(bigint) parser_tables___ParserTable___action_table_row686},
+  {(bigint) parser_tables___ParserTable___action_table_row687},
+  {(bigint) parser_tables___ParserTable___action_table_row688},
+  {(bigint) parser_tables___ParserTable___action_table_row689},
+  {(bigint) parser_tables___ParserTable___action_table_row690},
+  {(bigint) parser_tables___ParserTable___action_table_row691},
+  {(bigint) parser_tables___ParserTable___action_table_row692},
+  {(bigint) parser_tables___ParserTable___action_table_row693},
+  {(bigint) parser_tables___ParserTable___action_table_row694},
+  {(bigint) parser_tables___ParserTable___action_table_row695},
+  {(bigint) parser_tables___ParserTable___action_table_row696},
+  {(bigint) parser_tables___ParserTable___action_table_row697},
+  {(bigint) parser_tables___ParserTable___action_table_row698},
+  {(bigint) parser_tables___ParserTable___action_table_row699},
+  {(bigint) parser_tables___ParserTable___action_table_row700},
+  {(bigint) parser_tables___ParserTable___action_table_row701},
+  {(bigint) parser_tables___ParserTable___action_table_row702},
+  {(bigint) parser_tables___ParserTable___action_table_row703},
+  {(bigint) parser_tables___ParserTable___action_table_row704},
+  {(bigint) parser_tables___ParserTable___action_table_row705},
+  {(bigint) parser_tables___ParserTable___action_table_row706},
+  {(bigint) parser_tables___ParserTable___action_table_row707},
+  {(bigint) parser_tables___ParserTable___action_table_row708},
+  {(bigint) parser_tables___ParserTable___action_table_row709},
+  {(bigint) parser_tables___ParserTable___action_table_row710},
+  {(bigint) parser_tables___ParserTable___action_table_row711},
+  {(bigint) parser_tables___ParserTable___action_table_row712},
+  {(bigint) parser_tables___ParserTable___action_table_row713},
+  {(bigint) parser_tables___ParserTable___action_table_row714},
+  {(bigint) parser_tables___ParserTable___action_table_row715},
+  {(bigint) parser_tables___ParserTable___action_table_row716},
+  {(bigint) parser_tables___ParserTable___action_table_row717},
+  {(bigint) parser_tables___ParserTable___action_table_row718},
+  {(bigint) parser_tables___ParserTable___action_table_row719},
+  {(bigint) parser_tables___ParserTable___action_table_row720},
+  {(bigint) parser_tables___ParserTable___action_table_row721},
+  {(bigint) parser_tables___ParserTable___action_table_row722},
+  {(bigint) parser_tables___ParserTable___action_table_row723},
+  {(bigint) parser_tables___ParserTable___action_table_row724},
+  {(bigint) parser_tables___ParserTable___action_table_row725},
+  {(bigint) parser_tables___ParserTable___action_table_row726},
+  {(bigint) parser_tables___ParserTable___action_table_row727},
+  {(bigint) parser_tables___ParserTable___action_table_row728},
+  {(bigint) parser_tables___ParserTable___action_table_row729},
+  {(bigint) parser_tables___ParserTable___action_table_row730},
+  {(bigint) parser_tables___ParserTable___action_table_row731},
+  {(bigint) parser_tables___ParserTable___action_table_row732},
+  {(bigint) parser_tables___ParserTable___action_table_row733},
+  {(bigint) parser_tables___ParserTable___action_table_row734},
+  {(bigint) parser_tables___ParserTable___action_table_row735},
+  {(bigint) parser_tables___ParserTable___action_table_row736},
+  {(bigint) parser_tables___ParserTable___action_table_row737},
+  {(bigint) parser_tables___ParserTable___action_table_row738},
+  {(bigint) parser_tables___ParserTable___action_table_row739},
+  {(bigint) parser_tables___ParserTable___action_table_row740},
+  {(bigint) parser_tables___ParserTable___action_table_row741},
+  {(bigint) parser_tables___ParserTable___action_table_row742},
+  {(bigint) parser_tables___ParserTable___action_table_row743},
+  {(bigint) parser_tables___ParserTable___action_table_row744},
+  {(bigint) parser_tables___ParserTable___action_table_row745},
+  {(bigint) parser_tables___ParserTable___action_table_row746},
+  {(bigint) parser_tables___ParserTable___action_table_row747},
+  {(bigint) parser_tables___ParserTable___action_table_row748},
+  {(bigint) parser_tables___ParserTable___action_table_row749},
+  {(bigint) parser_tables___ParserTable___action_table_row750},
+  {(bigint) parser_tables___ParserTable___action_table_row751},
+  {(bigint) parser_tables___ParserTable___action_table_row752},
+  {(bigint) parser_tables___ParserTable___action_table_row753},
+  {(bigint) parser_tables___ParserTable___action_table_row754},
+  {(bigint) parser_tables___ParserTable___action_table_row755},
+  {(bigint) parser_tables___ParserTable___action_table_row756},
+  {(bigint) parser_tables___ParserTable___action_table_row757},
+  {(bigint) parser_tables___ParserTable___action_table_row758},
+  {(bigint) parser_tables___ParserTable___action_table_row759},
+  {(bigint) parser_tables___ParserTable___action_table_row760},
+  {(bigint) parser_tables___ParserTable___action_table_row761},
+  {(bigint) parser_tables___ParserTable___action_table_row762},
+  {(bigint) parser_tables___ParserTable___action_table_row763},
+  {(bigint) parser_tables___ParserTable___action_table_row764},
+  {(bigint) parser_tables___ParserTable___action_table_row765},
+  {(bigint) parser_tables___ParserTable___action_table_row766},
+  {(bigint) parser_tables___ParserTable___action_table_row767},
+  {(bigint) parser_tables___ParserTable___action_table_row768},
+  {(bigint) parser_tables___ParserTable___action_table_row769},
+  {(bigint) parser_tables___ParserTable___action_table_row770},
+  {(bigint) parser_tables___ParserTable___action_table_row771},
+  {(bigint) parser_tables___ParserTable___action_table_row772},
+  {(bigint) parser_tables___ParserTable___action_table_row773},
+  {(bigint) parser_tables___ParserTable___action_table_row774},
+  {(bigint) parser_tables___ParserTable___action_table_row775},
+  {(bigint) parser_tables___ParserTable___action_table_row776},
+  {(bigint) parser_tables___ParserTable___action_table_row777},
+  {(bigint) parser_tables___ParserTable___action_table_row778},
+  {(bigint) parser_tables___ParserTable___action_table_row779},
+  {(bigint) parser_tables___ParserTable___action_table_row780},
+  {(bigint) parser_tables___ParserTable___action_table_row781},
+  {(bigint) parser_tables___ParserTable___action_table_row782},
+  {(bigint) parser_tables___ParserTable___action_table_row783},
+  {(bigint) parser_tables___ParserTable___action_table_row784},
+  {(bigint) parser_tables___ParserTable___action_table_row785},
+  {(bigint) parser_tables___ParserTable___action_table_row786},
+  {(bigint) parser_tables___ParserTable___action_table_row787},
+  {(bigint) parser_tables___ParserTable___action_table_row788},
+  {(bigint) parser_tables___ParserTable___action_table_row789},
+  {(bigint) parser_tables___ParserTable___action_table_row790},
+  {(bigint) parser_tables___ParserTable___action_table_row791},
+  {(bigint) parser_tables___ParserTable___action_table_row792},
+  {(bigint) parser_tables___ParserTable___action_table_row793},
+  {(bigint) parser_tables___ParserTable___action_table_row794},
+  {(bigint) parser_tables___ParserTable___action_table_row795},
+  {(bigint) parser_tables___ParserTable___action_table_row796},
+  {(bigint) parser_tables___ParserTable___action_table_row797},
+  {(bigint) parser_tables___ParserTable___action_table_row798},
+  {(bigint) parser_tables___ParserTable___action_table_row799},
+  {(bigint) parser_tables___ParserTable___action_table_row800},
+  {(bigint) parser_tables___ParserTable___action_table_row801},
+  {(bigint) parser_tables___ParserTable___action_table_row802},
+  {(bigint) parser_tables___ParserTable___action_table_row803},
+  {(bigint) parser_tables___ParserTable___action_table_row804},
+  {(bigint) parser_tables___ParserTable___action_table_row805},
+  {(bigint) parser_tables___ParserTable___action_table_row806},
+  {(bigint) parser_tables___ParserTable___action_table_row807},
+  {(bigint) parser_tables___ParserTable___action_table_row808},
+  {(bigint) parser_tables___ParserTable___action_table_row809},
+  {(bigint) parser_tables___ParserTable___action_table_row810},
+  {(bigint) parser_tables___ParserTable___action_table_row811},
+  {(bigint) parser_tables___ParserTable___action_table_row812},
+  {(bigint) parser_tables___ParserTable___action_table_row813},
+  {(bigint) parser_tables___ParserTable___action_table_row814},
+  {(bigint) parser_tables___ParserTable___action_table_row815},
+  {(bigint) parser_tables___ParserTable___action_table_row816},
+  {(bigint) parser_tables___ParserTable___action_table_row817},
+  {(bigint) parser_tables___ParserTable___action_table_row818},
+  {(bigint) parser_tables___ParserTable___action_table_row819},
+  {(bigint) parser_tables___ParserTable___action_table_row820},
+  {(bigint) parser_tables___ParserTable___action_table_row821},
+  {(bigint) parser_tables___ParserTable___action_table_row822},
+  {(bigint) parser_tables___ParserTable___action_table_row823},
+  {(bigint) parser_tables___ParserTable___action_table_row824},
+  {(bigint) parser_tables___ParserTable___action_table_row825},
+  {(bigint) parser_tables___ParserTable___action_table_row826},
+  {(bigint) parser_tables___ParserTable___action_table_row827},
+  {(bigint) parser_tables___ParserTable___action_table_row828},
+  {(bigint) parser_tables___ParserTable___action_table_row829},
+  {(bigint) parser_tables___ParserTable___action_table_row830},
+  {(bigint) parser_tables___ParserTable___action_table_row831},
+  {(bigint) parser_tables___ParserTable___action_table_row832},
+  {(bigint) parser_tables___ParserTable___action_table_row833},
+  {(bigint) parser_tables___ParserTable___action_table_row834},
+  {(bigint) parser_tables___ParserTable___action_table_row835},
+  {(bigint) parser_tables___ParserTable___action_table_row836},
+  {(bigint) parser_tables___ParserTable___action_table_row837},
+  {(bigint) parser_tables___ParserTable___action_table_row838},
+  {(bigint) parser_tables___ParserTable___action_table_row839},
+  {(bigint) parser_tables___ParserTable___action_table_row840},
+  {(bigint) parser_tables___ParserTable___action_table_row841},
+  {(bigint) parser_tables___ParserTable___action_table_row842},
+  {(bigint) parser_tables___ParserTable___action_table_row843},
+  {(bigint) parser_tables___ParserTable___action_table_row844},
+  {(bigint) parser_tables___ParserTable___action_table_row845},
+  {(bigint) parser_tables___ParserTable___action_table_row846},
+  {(bigint) parser_tables___ParserTable___action_table_row847},
+  {(bigint) parser_tables___ParserTable___action_table_row848},
+  {(bigint) parser_tables___ParserTable___action_table_row849},
+  {(bigint) parser_tables___ParserTable___action_table_row850},
+  {(bigint) parser_tables___ParserTable___action_table_row851},
+  {(bigint) parser_tables___ParserTable___action_table_row852},
+  {(bigint) parser_tables___ParserTable___action_table_row853},
+  {(bigint) parser_tables___ParserTable___action_table_row854},
+  {(bigint) parser_tables___ParserTable___action_table_row855},
+  {(bigint) parser_tables___ParserTable___action_table_row856},
+  {(bigint) parser_tables___ParserTable___action_table_row857},
+  {(bigint) parser_tables___ParserTable___action_table_row858},
+  {(bigint) parser_tables___ParserTable___action_table_row859},
+  {(bigint) parser_tables___ParserTable___action_table_row860},
+  {(bigint) parser_tables___ParserTable___action_table_row861},
+  {(bigint) parser_tables___ParserTable___action_table_row862},
+  {(bigint) parser_tables___ParserTable___action_table_row863},
+  {(bigint) parser_tables___ParserTable___action_table_row864},
+  {(bigint) parser_tables___ParserTable___action_table_row865},
+  {(bigint) parser_tables___ParserTable___action_table_row866},
+  {(bigint) parser_tables___ParserTable___action_table_row867},
+  {(bigint) parser_tables___ParserTable___action_table_row868},
+  {(bigint) parser_tables___ParserTable___action_table_row869},
+  {(bigint) parser_tables___ParserTable___action_table_row870},
+  {(bigint) parser_tables___ParserTable___action_table_row871},
+  {(bigint) parser_tables___ParserTable___action_table_row872},
+  {(bigint) parser_tables___ParserTable___action_table_row873},
+  {(bigint) parser_tables___ParserTable___action_table_row874},
+  {(bigint) parser_tables___ParserTable___action_table_row875},
+  {(bigint) parser_tables___ParserTable___action_table_row876},
+  {(bigint) parser_tables___ParserTable___action_table_row877},
+  {(bigint) parser_tables___ParserTable___action_table_row878},
+  {(bigint) parser_tables___ParserTable___action_table_row879},
+  {(bigint) parser_tables___ParserTable___action_table_row880},
+  {(bigint) parser_tables___ParserTable___action_table_row881},
+  {(bigint) parser_tables___ParserTable___action_table_row882},
+  {(bigint) parser_tables___ParserTable___action_table_row883},
+  {(bigint) parser_tables___ParserTable___action_table_row884},
+  {(bigint) parser_tables___ParserTable___action_table_row885},
+  {(bigint) parser_tables___ParserTable___action_table_row886},
+  {(bigint) parser_tables___ParserTable___action_table_row887},
+  {(bigint) parser_tables___ParserTable___action_table_row888},
+  {(bigint) parser_tables___ParserTable___action_table_row889},
+  {(bigint) parser_tables___ParserTable___action_table_row890},
+  {(bigint) parser_tables___ParserTable___action_table_row891},
+  {(bigint) parser_tables___ParserTable___action_table_row892},
+  {(bigint) parser_tables___ParserTable___action_table_row893},
+  {(bigint) parser_tables___ParserTable___action_table_row894},
+  {(bigint) parser_tables___ParserTable___action_table_row895},
+  {(bigint) parser_tables___ParserTable___action_table_row896},
+  {(bigint) parser_tables___ParserTable___action_table_row897},
+  {(bigint) parser_tables___ParserTable___action_table_row898},
+  {(bigint) parser_tables___ParserTable___action_table_row899},
+  {(bigint) parser_tables___ParserTable___action_table_row900},
+  {(bigint) parser_tables___ParserTable___action_table_row901},
+  {(bigint) parser_tables___ParserTable___action_table_row902},
+  {(bigint) parser_tables___ParserTable___action_table_row903},
+  {(bigint) parser_tables___ParserTable___action_table_row904},
+  {(bigint) parser_tables___ParserTable___action_table_row905},
+  {(bigint) parser_tables___ParserTable___action_table_row906},
+  {(bigint) parser_tables___ParserTable___action_table_row907},
+  {(bigint) parser_tables___ParserTable___action_table_row908},
+  {(bigint) parser_tables___ParserTable___action_table_row909},
+  {(bigint) parser_tables___ParserTable___action_table_row910},
+  {(bigint) parser_tables___ParserTable___action_table_row911},
+  {(bigint) parser_tables___ParserTable___action_table_row912},
+  {(bigint) parser_tables___ParserTable___action_table_row913},
+  {(bigint) parser_tables___ParserTable___action_table_row914},
+  {(bigint) parser_tables___ParserTable___action_table_row915},
+  {(bigint) parser_tables___ParserTable___action_table_row916},
+  {(bigint) parser_tables___ParserTable___action_table_row917},
+  {(bigint) parser_tables___ParserTable___action_table_row918},
+  {(bigint) parser_tables___ParserTable___action_table_row919},
+  {(bigint) parser_tables___ParserTable___action_table_row920},
+  {(bigint) parser_tables___ParserTable___action_table_row921},
+  {(bigint) parser_tables___ParserTable___action_table_row922},
+  {(bigint) parser_tables___ParserTable___action_table_row923},
+  {(bigint) parser_tables___ParserTable___action_table_row924},
+  {(bigint) parser_tables___ParserTable___action_table_row925},
+  {(bigint) parser_tables___ParserTable___action_table_row926},
+  {(bigint) parser_tables___ParserTable___action_table_row927},
+  {(bigint) parser_tables___ParserTable___action_table_row928},
+  {(bigint) parser_tables___ParserTable___action_table_row929},
+  {(bigint) parser_tables___ParserTable___action_table_row930},
+  {(bigint) parser_tables___ParserTable___action_table_row931},
+  {(bigint) parser_tables___ParserTable___action_table_row932},
+  {(bigint) parser_tables___ParserTable___action_table_row933},
+  {(bigint) parser_tables___ParserTable___action_table_row934},
+  {(bigint) parser_tables___ParserTable___action_table_row935},
+  {(bigint) parser_tables___ParserTable___action_table_row936},
+  {(bigint) parser_tables___ParserTable___action_table_row937},
+  {(bigint) parser_tables___ParserTable___action_table_row938},
+  {(bigint) parser_tables___ParserTable___action_table_row939},
+  {(bigint) parser_tables___ParserTable___action_table_row940},
+  {(bigint) parser_tables___ParserTable___action_table_row941},
+  {(bigint) parser_tables___ParserTable___action_table_row942},
+  {(bigint) parser_tables___ParserTable___action_table_row943},
+  {(bigint) parser_tables___ParserTable___action_table_row944},
+  {(bigint) parser_tables___ParserTable___action_table_row945},
+  {(bigint) parser_tables___ParserTable___action_table_row946},
+  {(bigint) parser_tables___ParserTable___action_table_row947},
+  {(bigint) parser_tables___ParserTable___action_table_row948},
+  {(bigint) parser_tables___ParserTable___action_table_row949},
+  {(bigint) parser_tables___ParserTable___action_table_row950},
+  {(bigint) parser_tables___ParserTable___action_table_row951},
+  {(bigint) parser_tables___ParserTable___action_table_row952},
+  {(bigint) parser_tables___ParserTable___action_table_row953},
+  {(bigint) parser_tables___ParserTable___action_table_row954},
+  {(bigint) parser_tables___ParserTable___action_table_row955},
+  {(bigint) parser_tables___ParserTable___action_table_row956},
+  {(bigint) parser_tables___ParserTable___action_table_row957},
+  {(bigint) parser_tables___ParserTable___action_table_row958},
+  {(bigint) parser_tables___ParserTable___action_table_row959},
+  {(bigint) parser_tables___ParserTable___action_table_row960},
+  {(bigint) parser_tables___ParserTable___action_table_row961},
+  {(bigint) parser_tables___ParserTable___action_table_row962},
+  {(bigint) parser_tables___ParserTable___action_table_row963},
+  {(bigint) parser_tables___ParserTable___action_table_row964},
+  {(bigint) parser_tables___ParserTable___action_table_row965},
+  {(bigint) parser_tables___ParserTable___action_table_row966},
+  {(bigint) parser_tables___ParserTable___action_table_row967},
+  {(bigint) parser_tables___ParserTable___action_table_row968},
+  {(bigint) parser_tables___ParserTable___action_table_row969},
+  {(bigint) parser_tables___ParserTable___action_table_row970},
+  {(bigint) parser_tables___ParserTable___action_table_row971},
+  {(bigint) parser_tables___ParserTable___action_table_row972},
+  {(bigint) parser_tables___ParserTable___action_table_row973},
+  {(bigint) parser_tables___ParserTable___action_table_row974},
+  {(bigint) parser_tables___ParserTable___action_table_row975},
+  {(bigint) parser_tables___ParserTable___action_table_row976},
+  {(bigint) parser_tables___ParserTable___action_table_row977},
+  {(bigint) parser_tables___ParserTable___action_table_row978},
+  {(bigint) parser_tables___ParserTable___action_table_row979},
+  {(bigint) parser_tables___ParserTable___action_table_row980},
+  {(bigint) parser_tables___ParserTable___action_table_row981},
+  {(bigint) parser_tables___ParserTable___action_table_row982},
+  {(bigint) parser_tables___ParserTable___action_table_row983},
+  {(bigint) parser_tables___ParserTable___action_table_row984},
+  {(bigint) parser_tables___ParserTable___action_table_row985},
+  {(bigint) parser_tables___ParserTable___action_table_row986},
+  {(bigint) parser_tables___ParserTable___action_table_row987},
+  {(bigint) parser_tables___ParserTable___action_table_row988},
+  {(bigint) parser_tables___ParserTable___action_table_row989},
+  {(bigint) parser_tables___ParserTable___action_table_row990},
+  {(bigint) parser_tables___ParserTable___action_table_row991},
+  {(bigint) parser_tables___ParserTable___action_table_row992},
+  {(bigint) parser_tables___ParserTable___action_table_row993},
+  {(bigint) parser_tables___ParserTable___action_table_row994},
+  {(bigint) parser_tables___ParserTable___action_table_row995},
+  {(bigint) parser_tables___ParserTable___action_table_row996},
+  {(bigint) parser_tables___ParserTable___action_table_row997},
+  {(bigint) parser_tables___ParserTable___action_table_row998},
+  {(bigint) parser_tables___ParserTable___action_table_row999},
+  {(bigint) parser_tables___ParserTable___action_table_row1000},
+  {(bigint) parser_tables___ParserTable___action_table_row1001},
+  {(bigint) parser_tables___ParserTable___action_table_row1002},
+  {(bigint) parser_tables___ParserTable___action_table_row1003},
+  {(bigint) parser_tables___ParserTable___action_table_row1004},
+  {(bigint) parser_tables___ParserTable___action_table_row1005},
+  {(bigint) parser_tables___ParserTable___action_table_row1006},
+  {(bigint) parser_tables___ParserTable___action_table_row1007},
+  {(bigint) parser_tables___ParserTable___action_table_row1008},
+  {(bigint) parser_tables___ParserTable___action_table_row1009},
+  {(bigint) parser_tables___ParserTable___action_table_row1010},
+  {(bigint) parser_tables___ParserTable___action_table_row1011},
+  {(bigint) parser_tables___ParserTable___action_table_row1012},
+  {(bigint) parser_tables___ParserTable___action_table_row1013},
+  {(bigint) parser_tables___ParserTable___action_table_row1014},
+  {(bigint) parser_tables___ParserTable___action_table_row1015},
+  {(bigint) parser_tables___ParserTable___action_table_row1016},
+  {(bigint) parser_tables___ParserTable___action_table_row1017},
+  {(bigint) parser_tables___ParserTable___action_table_row1018},
+  {(bigint) parser_tables___ParserTable___action_table_row1019},
+  {(bigint) parser_tables___ParserTable___action_table_row1020},
+  {(bigint) parser_tables___ParserTable___action_table_row1021},
+  {(bigint) parser_tables___ParserTable___action_table_row1022},
+  {(bigint) parser_tables___ParserTable___action_table_row1023},
+  {(bigint) parser_tables___ParserTable___action_table_row1024},
+  {(bigint) parser_tables___ParserTable___action_table_row1025},
+  {(bigint) parser_tables___ParserTable___action_table_row1026},
+  {(bigint) parser_tables___ParserTable___action_table_row1027},
+  {(bigint) parser_tables___ParserTable___action_table_row1028},
+  {(bigint) parser_tables___ParserTable___action_table_row1029},
+  {(bigint) parser_tables___ParserTable___action_table_row1030},
+  {(bigint) parser_tables___ParserTable___action_table_row1031},
+  {(bigint) parser_tables___ParserTable___action_table_row1032},
+  {(bigint) parser_tables___ParserTable___action_table_row1033},
+  {(bigint) parser_tables___ParserTable___action_table_row1034},
+  {(bigint) parser_tables___ParserTable___action_table_row1035},
+  {(bigint) parser_tables___ParserTable___action_table_row1036},
+  {(bigint) parser_tables___ParserTable___action_table_row1037},
+  {(bigint) parser_tables___ParserTable___action_table_row1038},
+  {(bigint) parser_tables___ParserTable___action_table_row1039},
+  {(bigint) parser_tables___ParserTable___action_table_row1040},
+  {(bigint) parser_tables___ParserTable___action_table_row1041},
+  {(bigint) parser_tables___ParserTable___action_table_row1042},
+  {(bigint) parser_tables___ParserTable___action_table_row1043},
+  {(bigint) parser_tables___ParserTable___action_table_row1044},
+  {(bigint) parser_tables___ParserTable___action_table_row1045},
+  {(bigint) parser_tables___ParserTable___action_table_row1046},
+  {(bigint) parser_tables___ParserTable___action_table_row1047},
+  {(bigint) parser_tables___ParserTable___action_table_row1048},
+  {(bigint) parser_tables___ParserTable___action_table_row1049},
+  {(bigint) parser_tables___ParserTable___action_table_row1050},
+  {(bigint) parser_tables___ParserTable___action_table_row1051},
+  {(bigint) parser_tables___ParserTable___action_table_row1052},
+  {(bigint) parser_tables___ParserTable___action_table_row1053},
+  {(bigint) parser_tables___ParserTable___action_table_row1054},
+  {(bigint) parser_tables___ParserTable___action_table_row1055},
+  {(bigint) parser_tables___ParserTable___action_table_row1056},
+  {(bigint) parser_tables___ParserTable___action_table_row1057},
+  {(bigint) parser_tables___ParserTable___action_table_row1058},
+  {(bigint) parser_tables___ParserTable___action_table_row1059},
+  {(bigint) parser_tables___ParserTable___action_table_row1060},
+  {(bigint) parser_tables___ParserTable___action_table_row1061},
+  {(bigint) parser_tables___ParserTable___action_table_row1062},
+  {(bigint) parser_tables___ParserTable___action_table_row1063},
+  {(bigint) parser_tables___ParserTable___action_table_row1064},
+  {(bigint) parser_tables___ParserTable___action_table_row1065},
+  {(bigint) parser_tables___ParserTable___action_table_row1066},
+  {(bigint) parser_tables___ParserTable___action_table_row1067},
+  {(bigint) parser_tables___ParserTable___action_table_row1068},
+  {(bigint) parser_tables___ParserTable___action_table_row1069},
+  {(bigint) parser_tables___ParserTable___action_table_row1070},
+  {(bigint) parser_tables___ParserTable___action_table_row1071},
+  {(bigint) parser_tables___ParserTable___action_table_row1072},
+  {(bigint) parser_tables___ParserTable___action_table_row1073},
+  {(bigint) parser_tables___ParserTable___action_table_row1074},
+  {(bigint) parser_tables___ParserTable___action_table_row1075},
+  {(bigint) parser_tables___ParserTable___action_table_row1076},
+  {(bigint) parser_tables___ParserTable___action_table_row1077},
+  {(bigint) parser_tables___ParserTable___action_table_row1078},
+  {(bigint) parser_tables___ParserTable___action_table_row1079},
+  {(bigint) parser_tables___ParserTable___action_table_row1080},
+  {(bigint) parser_tables___ParserTable___action_table_row1081},
+  {(bigint) parser_tables___ParserTable___action_table_row1082},
+  {(bigint) parser_tables___ParserTable___action_table_row1083},
+  {(bigint) parser_tables___ParserTable___action_table_row1084},
+  {(bigint) parser_tables___ParserTable___action_table_row1085},
+  {(bigint) parser_tables___ParserTable___action_table_row1086},
+  {(bigint) parser_tables___ParserTable___action_table_row1087},
+  {(bigint) parser_tables___ParserTable___action_table_row1088},
+  {(bigint) parser_tables___ParserTable___action_table_row1089},
+  {(bigint) parser_tables___ParserTable___action_table_row1090},
+  {(bigint) parser_tables___ParserTable___action_table_row1091},
+  {(bigint) parser_tables___ParserTable___action_table_row1092},
+  {(bigint) parser_tables___ParserTable___action_table_row1093},
+  {(bigint) parser_tables___ParserTable___action_table_row1094},
+  {(bigint) parser_tables___ParserTable___action_table_row1095},
+  {(bigint) parser_tables___ParserTable___action_table_row1096},
+  {(bigint) parser_tables___ParserTable___action_table_row1097},
+  {(bigint) parser_tables___ParserTable___action_table_row1098},
+  {(bigint) parser_tables___ParserTable___action_table_row1099},
+  {(bigint) parser_tables___ParserTable___action_table_row1100},
+  {(bigint) parser_tables___ParserTable___action_table_row1101},
+  {(bigint) parser_tables___ParserTable___action_table_row1102},
+  {(bigint) parser_tables___ParserTable___action_table_row1103},
+  {(bigint) parser_tables___ParserTable___action_table_row1104},
+  {(bigint) parser_tables___ParserTable___action_table_row1105},
+  {(bigint) parser_tables___ParserTable___action_table_row1106},
+  {(bigint) parser_tables___ParserTable___action_table_row1107},
+  {(bigint) parser_tables___ParserTable___action_table_row1108},
+  {(bigint) parser_tables___ParserTable___action_table_row1109},
+  {(bigint) parser_tables___ParserTable___action_table_row1110},
+  {(bigint) parser_tables___ParserTable___action_table_row1111},
+  {(bigint) parser_tables___ParserTable___action_table_row1112},
+  {(bigint) parser_tables___ParserTable___action_table_row1113},
+  {(bigint) parser_tables___ParserTable___action_table_row1114},
+  {(bigint) parser_tables___ParserTable___action_table_row1115},
+  {(bigint) parser_tables___ParserTable___action_table_row1116},
+  {(bigint) parser_tables___ParserTable___action_table_row1117},
+  {(bigint) parser_tables___ParserTable___action_table_row1118},
+  {(bigint) parser_tables___ParserTable___action_table_row1119},
+  {(bigint) parser_tables___ParserTable___action_table_row1120},
+  {(bigint) parser_tables___ParserTable___action_table_row1121},
+  {(bigint) parser_tables___ParserTable___action_table_row1122},
+  {(bigint) parser_tables___ParserTable___action_table_row1123},
+  {(bigint) parser_tables___ParserTable___action_table_row1124},
+  {(bigint) parser_tables___ParserTable___action_table_row1125},
+  {(bigint) parser_tables___ParserTable___action_table_row1126},
+  {(bigint) parser_tables___ParserTable___action_table_row1127},
+  {(bigint) parser_tables___ParserTable___action_table_row1128},
+  {(bigint) parser_tables___ParserTable___action_table_row1129},
+  {(bigint) parser_tables___ParserTable___action_table_row1130},
+  {(bigint) parser_tables___ParserTable___action_table_row1131},
+  {(bigint) parser_tables___ParserTable___action_table_row1132},
+  {(bigint) parser_tables___ParserTable___action_table_row1133},
+  {(bigint) parser_tables___ParserTable___action_table_row1134},
+  {(bigint) parser_tables___ParserTable___action_table_row1135},
+  {(bigint) parser_tables___ParserTable___action_table_row1136},
+  {(bigint) parser_tables___ParserTable___action_table_row1137},
+  {(bigint) parser_tables___ParserTable___action_table_row1138},
+  {(bigint) parser_tables___ParserTable___action_table_row1139},
+  {(bigint) parser_tables___ParserTable___action_table_row1140},
+  {(bigint) parser_tables___ParserTable___action_table_row1141},
+  {(bigint) parser_tables___ParserTable___action_table_row1142},
+  {(bigint) parser_tables___ParserTable___action_table_row1143},
+  {(bigint) parser_tables___ParserTable___action_table_row1144},
+  {(bigint) parser_tables___ParserTable___action_table_row1145},
+  {(bigint) parser_tables___ParserTable___action_table_row1146},
+  {(bigint) parser_tables___ParserTable___action_table_row1147},
+  {(bigint) parser_tables___ParserTable___action_table_row1148},
+  {(bigint) parser_tables___ParserTable___action_table_row1149},
+  {(bigint) parser_tables___ParserTable___action_table_row1150},
+  {(bigint) parser_tables___ParserTable___action_table_row1151},
+  {(bigint) parser_tables___ParserTable___action_table_row1152},
+  {(bigint) parser_tables___ParserTable___action_table_row1153},
+  {(bigint) parser_tables___ParserTable___action_table_row1154},
+  {(bigint) parser_tables___ParserTable___action_table_row1155},
+  {(bigint) parser_tables___ParserTable___action_table_row1156},
+  {(bigint) parser_tables___ParserTable___action_table_row1157},
+  {(bigint) parser_tables___ParserTable___action_table_row1158},
+  {(bigint) parser_tables___ParserTable___action_table_row1159},
+  {(bigint) parser_tables___ParserTable___action_table_row1160},
+  {(bigint) parser_tables___ParserTable___action_table_row1161},
+  {(bigint) parser_tables___ParserTable___action_table_row1162},
+  {(bigint) parser_tables___ParserTable___action_table_row1163},
+  {(bigint) parser_tables___ParserTable___action_table_row1164},
+  {(bigint) parser_tables___ParserTable___action_table_row1165},
+  {(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___Parser___init},
+  {(bigint) parser___Parser___go_to},
+  {(bigint) parser___Parser___push},
+  {(bigint) parser___Parser___state},
+  {(bigint) parser___Parser___pop},
+  {(bigint) parser___Parser___parse},
+  {(bigint) parser___Parser___build_reduce_table},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute Parser::_action_table */
+/* 2: Attribute Parser::_goto_table */
+/* 3: Attribute Parser::_lexer */
+/* 4: Attribute Parser::_stack */
+/* 5: Attribute Parser::_stack_pos */
+/* 6: Attribute Parser::_reduce_table */
+val_t NEW_Parser(void) {
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 7);
+  obj->vft = (classtable_elt_t*)VFT_Parser;
+  ATTR_parser_tables___ParserTable____action_table(obj) =  NIT_NULL /*null*/;
+  ATTR_parser_tables___ParserTable____goto_table(obj) =  NIT_NULL /*null*/;
+  ATTR_parser___Parser____stack_pos(obj) = TAG_Int((bigint)0);
+  return OBJ2VAL(obj);
+}
+val_t NEW_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] = {
-  {(long int) 207 /* 0: Identity */},
-  {(long int) 3 /* 1: SearchTokensVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: SearchTokensVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 207 /* 3: SearchTokensVisitor < SearchTokensVisitor: superclass typecheck marker */},
+  {(bigint) 207 /* 0: Identity */},
+  {(bigint) 3 /* 1: SearchTokensVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: SearchTokensVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 207 /* 3: SearchTokensVisitor < SearchTokensVisitor: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39263,37 +40782,37 @@ const classtable_elt_t VFT_SearchTokensVisitor[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: SearchTokensVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: SearchTokensVisitor < Visitor: superclass init_table position */},
-  {(long int) parser___SearchTokensVisitor___visit},
-  {(long int) 2 /* 42: SearchTokensVisitor < SearchTokensVisitor: superclass init_table position */},
-  {(long int) parser___SearchTokensVisitor___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: SearchTokensVisitor < 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) 1 /* 40: SearchTokensVisitor < Visitor: superclass init_table position */},
+  {(bigint) parser___SearchTokensVisitor___visit},
+  {(bigint) 2 /* 42: SearchTokensVisitor < SearchTokensVisitor: superclass init_table position */},
+  {(bigint) parser___SearchTokensVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute SearchTokensVisitor::_untokenned_nodes */
@@ -39311,9 +40830,9 @@ val_t NEW_parser___SearchTokensVisitor___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction[42] = {
-  {(long int) 39 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction < ReduceAction: superclass typecheck marker */},
+  {(bigint) 39 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction < ReduceAction: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39324,35 +40843,35 @@ const classtable_elt_t VFT_ReduceAction[42] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction___action},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction < 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) 1 /* 40: ReduceAction < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction___action},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction(void) {
@@ -39362,10 +40881,10 @@ val_t NEW_ReduceAction(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_ReduceAction0[44] = {
-  {(long int) 2487 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction0 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction0 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2487 /* 3: ReduceAction0 < ReduceAction0: superclass typecheck marker */},
+  {(bigint) 2503 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction0 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction0 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2503 /* 3: ReduceAction0 < ReduceAction0: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39375,37 +40894,37 @@ const classtable_elt_t VFT_ReduceAction0[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction0 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction0 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction0___action},
-  {(long int) 2 /* 42: ReduceAction0 < ReduceAction0: superclass init_table position */},
-  {(long int) parser___ReduceAction0___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction0 < 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) 1 /* 40: ReduceAction0 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction0___action},
+  {(bigint) 2 /* 42: ReduceAction0 < ReduceAction0: superclass init_table position */},
+  {(bigint) parser___ReduceAction0___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction0(void) {
@@ -39421,10 +40940,10 @@ val_t NEW_parser___ReduceAction0___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction1[44] = {
-  {(long int) 2483 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction1 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction1 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2483 /* 3: ReduceAction1 < ReduceAction1: superclass typecheck marker */},
+  {(bigint) 2499 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction1 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction1 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2499 /* 3: ReduceAction1 < ReduceAction1: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39434,37 +40953,37 @@ const classtable_elt_t VFT_ReduceAction1[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction1 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction1 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction1___action},
-  {(long int) 2 /* 42: ReduceAction1 < ReduceAction1: superclass init_table position */},
-  {(long int) parser___ReduceAction1___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction1 < 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) 1 /* 40: ReduceAction1 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction1___action},
+  {(bigint) 2 /* 42: ReduceAction1 < ReduceAction1: superclass init_table position */},
+  {(bigint) parser___ReduceAction1___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction1(void) {
@@ -39480,10 +40999,10 @@ val_t NEW_parser___ReduceAction1___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction2[44] = {
-  {(long int) 2039 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction2 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction2 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2039 /* 3: ReduceAction2 < ReduceAction2: superclass typecheck marker */},
+  {(bigint) 2055 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction2 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction2 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2055 /* 3: ReduceAction2 < ReduceAction2: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39493,37 +41012,37 @@ const classtable_elt_t VFT_ReduceAction2[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction2 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction2 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction2___action},
-  {(long int) 2 /* 42: ReduceAction2 < ReduceAction2: superclass init_table position */},
-  {(long int) parser___ReduceAction2___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction2 < 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) 1 /* 40: ReduceAction2 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction2___action},
+  {(bigint) 2 /* 42: ReduceAction2 < ReduceAction2: superclass init_table position */},
+  {(bigint) parser___ReduceAction2___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction2(void) {
@@ -39539,10 +41058,10 @@ val_t NEW_parser___ReduceAction2___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction3[44] = {
-  {(long int) 1595 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction3 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction3 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1595 /* 3: ReduceAction3 < ReduceAction3: superclass typecheck marker */},
+  {(bigint) 1611 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction3 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction3 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1611 /* 3: ReduceAction3 < ReduceAction3: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39552,37 +41071,37 @@ const classtable_elt_t VFT_ReduceAction3[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction3 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction3 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction3___action},
-  {(long int) 2 /* 42: ReduceAction3 < ReduceAction3: superclass init_table position */},
-  {(long int) parser___ReduceAction3___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction3 < 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) 1 /* 40: ReduceAction3 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction3___action},
+  {(bigint) 2 /* 42: ReduceAction3 < ReduceAction3: superclass init_table position */},
+  {(bigint) parser___ReduceAction3___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction3(void) {
@@ -39598,10 +41117,10 @@ val_t NEW_parser___ReduceAction3___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction4[44] = {
-  {(long int) 1151 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction4 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction4 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1151 /* 3: ReduceAction4 < ReduceAction4: superclass typecheck marker */},
+  {(bigint) 1167 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction4 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction4 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1167 /* 3: ReduceAction4 < ReduceAction4: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39611,37 +41130,37 @@ const classtable_elt_t VFT_ReduceAction4[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction4 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction4 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction4___action},
-  {(long int) 2 /* 42: ReduceAction4 < ReduceAction4: superclass init_table position */},
-  {(long int) parser___ReduceAction4___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction4 < 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) 1 /* 40: ReduceAction4 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction4___action},
+  {(bigint) 2 /* 42: ReduceAction4 < ReduceAction4: superclass init_table position */},
+  {(bigint) parser___ReduceAction4___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction4(void) {
@@ -39657,10 +41176,10 @@ val_t NEW_parser___ReduceAction4___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction5[44] = {
-  {(long int) 707 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction5 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction5 < ReduceAction: superclass typecheck marker */},
-  {(long int) 707 /* 3: ReduceAction5 < ReduceAction5: superclass typecheck marker */},
+  {(bigint) 723 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction5 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction5 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 723 /* 3: ReduceAction5 < ReduceAction5: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39670,37 +41189,37 @@ const classtable_elt_t VFT_ReduceAction5[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction5 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction5 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction5___action},
-  {(long int) 2 /* 42: ReduceAction5 < ReduceAction5: superclass init_table position */},
-  {(long int) parser___ReduceAction5___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction5 < 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) 1 /* 40: ReduceAction5 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction5___action},
+  {(bigint) 2 /* 42: ReduceAction5 < ReduceAction5: superclass init_table position */},
+  {(bigint) parser___ReduceAction5___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction5(void) {
@@ -39716,10 +41235,10 @@ val_t NEW_parser___ReduceAction5___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction6[44] = {
-  {(long int) 387 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction6 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction6 < ReduceAction: superclass typecheck marker */},
-  {(long int) 387 /* 3: ReduceAction6 < ReduceAction6: superclass typecheck marker */},
+  {(bigint) 387 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction6 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction6 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 387 /* 3: ReduceAction6 < ReduceAction6: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39729,37 +41248,37 @@ const classtable_elt_t VFT_ReduceAction6[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction6 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction6 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction6___action},
-  {(long int) 2 /* 42: ReduceAction6 < ReduceAction6: superclass init_table position */},
-  {(long int) parser___ReduceAction6___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction6 < 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) 1 /* 40: ReduceAction6 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction6___action},
+  {(bigint) 2 /* 42: ReduceAction6 < ReduceAction6: superclass init_table position */},
+  {(bigint) parser___ReduceAction6___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction6(void) {
@@ -39775,10 +41294,10 @@ val_t NEW_parser___ReduceAction6___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction7[44] = {
-  {(long int) 343 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction7 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction7 < ReduceAction: superclass typecheck marker */},
-  {(long int) 343 /* 3: ReduceAction7 < ReduceAction7: superclass typecheck marker */},
+  {(bigint) 343 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction7 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction7 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 343 /* 3: ReduceAction7 < ReduceAction7: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39788,37 +41307,37 @@ const classtable_elt_t VFT_ReduceAction7[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction7 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction7 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction7___action},
-  {(long int) 2 /* 42: ReduceAction7 < ReduceAction7: superclass init_table position */},
-  {(long int) parser___ReduceAction7___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction7 < 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) 1 /* 40: ReduceAction7 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction7___action},
+  {(bigint) 2 /* 42: ReduceAction7 < ReduceAction7: superclass init_table position */},
+  {(bigint) parser___ReduceAction7___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction7(void) {
@@ -39834,10 +41353,10 @@ val_t NEW_parser___ReduceAction7___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction8[44] = {
-  {(long int) 299 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction8 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction8 < ReduceAction: superclass typecheck marker */},
-  {(long int) 299 /* 3: ReduceAction8 < ReduceAction8: superclass typecheck marker */},
+  {(bigint) 299 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction8 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction8 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 299 /* 3: ReduceAction8 < ReduceAction8: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39847,37 +41366,37 @@ const classtable_elt_t VFT_ReduceAction8[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction8 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction8 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction8___action},
-  {(long int) 2 /* 42: ReduceAction8 < ReduceAction8: superclass init_table position */},
-  {(long int) parser___ReduceAction8___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction8 < 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) 1 /* 40: ReduceAction8 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction8___action},
+  {(bigint) 2 /* 42: ReduceAction8 < ReduceAction8: superclass init_table position */},
+  {(bigint) parser___ReduceAction8___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction8(void) {
@@ -39893,10 +41412,10 @@ val_t NEW_parser___ReduceAction8___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction9[44] = {
-  {(long int) 255 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction9 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction9 < ReduceAction: superclass typecheck marker */},
-  {(long int) 255 /* 3: ReduceAction9 < ReduceAction9: superclass typecheck marker */},
+  {(bigint) 255 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction9 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction9 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 255 /* 3: ReduceAction9 < ReduceAction9: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39906,37 +41425,37 @@ const classtable_elt_t VFT_ReduceAction9[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction9 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction9 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction9___action},
-  {(long int) 2 /* 42: ReduceAction9 < ReduceAction9: superclass init_table position */},
-  {(long int) parser___ReduceAction9___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction9 < 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) 1 /* 40: ReduceAction9 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction9___action},
+  {(bigint) 2 /* 42: ReduceAction9 < ReduceAction9: superclass init_table position */},
+  {(bigint) parser___ReduceAction9___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction9(void) {
@@ -39952,10 +41471,10 @@ val_t NEW_parser___ReduceAction9___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction10[44] = {
-  {(long int) 2479 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction10 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction10 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2479 /* 3: ReduceAction10 < ReduceAction10: superclass typecheck marker */},
+  {(bigint) 2495 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction10 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction10 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2495 /* 3: ReduceAction10 < ReduceAction10: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -39965,37 +41484,37 @@ const classtable_elt_t VFT_ReduceAction10[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction10 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction10 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction10___action},
-  {(long int) 2 /* 42: ReduceAction10 < ReduceAction10: superclass init_table position */},
-  {(long int) parser___ReduceAction10___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction10 < 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) 1 /* 40: ReduceAction10 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction10___action},
+  {(bigint) 2 /* 42: ReduceAction10 < ReduceAction10: superclass init_table position */},
+  {(bigint) parser___ReduceAction10___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction10(void) {
@@ -40011,10 +41530,10 @@ val_t NEW_parser___ReduceAction10___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction11[44] = {
-  {(long int) 2435 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction11 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction11 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2435 /* 3: ReduceAction11 < ReduceAction11: superclass typecheck marker */},
+  {(bigint) 2451 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction11 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction11 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2451 /* 3: ReduceAction11 < ReduceAction11: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40024,37 +41543,37 @@ const classtable_elt_t VFT_ReduceAction11[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction11 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction11 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction11___action},
-  {(long int) 2 /* 42: ReduceAction11 < ReduceAction11: superclass init_table position */},
-  {(long int) parser___ReduceAction11___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction11 < 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) 1 /* 40: ReduceAction11 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction11___action},
+  {(bigint) 2 /* 42: ReduceAction11 < ReduceAction11: superclass init_table position */},
+  {(bigint) parser___ReduceAction11___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction11(void) {
@@ -40070,10 +41589,10 @@ val_t NEW_parser___ReduceAction11___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction12[44] = {
-  {(long int) 2391 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction12 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction12 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2391 /* 3: ReduceAction12 < ReduceAction12: superclass typecheck marker */},
+  {(bigint) 2407 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction12 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction12 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2407 /* 3: ReduceAction12 < ReduceAction12: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40083,37 +41602,37 @@ const classtable_elt_t VFT_ReduceAction12[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction12 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction12 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction12___action},
-  {(long int) 2 /* 42: ReduceAction12 < ReduceAction12: superclass init_table position */},
-  {(long int) parser___ReduceAction12___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction12 < 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) 1 /* 40: ReduceAction12 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction12___action},
+  {(bigint) 2 /* 42: ReduceAction12 < ReduceAction12: superclass init_table position */},
+  {(bigint) parser___ReduceAction12___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction12(void) {
@@ -40129,10 +41648,10 @@ val_t NEW_parser___ReduceAction12___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction13[44] = {
-  {(long int) 2347 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction13 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction13 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2347 /* 3: ReduceAction13 < ReduceAction13: superclass typecheck marker */},
+  {(bigint) 2363 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction13 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction13 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2363 /* 3: ReduceAction13 < ReduceAction13: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40142,37 +41661,37 @@ const classtable_elt_t VFT_ReduceAction13[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction13 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction13 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction13___action},
-  {(long int) 2 /* 42: ReduceAction13 < ReduceAction13: superclass init_table position */},
-  {(long int) parser___ReduceAction13___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction13 < 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) 1 /* 40: ReduceAction13 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction13___action},
+  {(bigint) 2 /* 42: ReduceAction13 < ReduceAction13: superclass init_table position */},
+  {(bigint) parser___ReduceAction13___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction13(void) {
@@ -40188,10 +41707,10 @@ val_t NEW_parser___ReduceAction13___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction14[44] = {
-  {(long int) 2303 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction14 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction14 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2303 /* 3: ReduceAction14 < ReduceAction14: superclass typecheck marker */},
+  {(bigint) 2319 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction14 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction14 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2319 /* 3: ReduceAction14 < ReduceAction14: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40201,37 +41720,37 @@ const classtable_elt_t VFT_ReduceAction14[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction14 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction14 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction14___action},
-  {(long int) 2 /* 42: ReduceAction14 < ReduceAction14: superclass init_table position */},
-  {(long int) parser___ReduceAction14___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction14 < 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) 1 /* 40: ReduceAction14 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction14___action},
+  {(bigint) 2 /* 42: ReduceAction14 < ReduceAction14: superclass init_table position */},
+  {(bigint) parser___ReduceAction14___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction14(void) {
@@ -40247,10 +41766,10 @@ val_t NEW_parser___ReduceAction14___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction15[44] = {
-  {(long int) 2259 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction15 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction15 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2259 /* 3: ReduceAction15 < ReduceAction15: superclass typecheck marker */},
+  {(bigint) 2275 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction15 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction15 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2275 /* 3: ReduceAction15 < ReduceAction15: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40260,37 +41779,37 @@ const classtable_elt_t VFT_ReduceAction15[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction15 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction15 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction15___action},
-  {(long int) 2 /* 42: ReduceAction15 < ReduceAction15: superclass init_table position */},
-  {(long int) parser___ReduceAction15___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction15 < 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) 1 /* 40: ReduceAction15 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction15___action},
+  {(bigint) 2 /* 42: ReduceAction15 < ReduceAction15: superclass init_table position */},
+  {(bigint) parser___ReduceAction15___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction15(void) {
@@ -40306,10 +41825,10 @@ val_t NEW_parser___ReduceAction15___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction16[44] = {
-  {(long int) 2215 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction16 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction16 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2215 /* 3: ReduceAction16 < ReduceAction16: superclass typecheck marker */},
+  {(bigint) 2231 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction16 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction16 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2231 /* 3: ReduceAction16 < ReduceAction16: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40319,37 +41838,37 @@ const classtable_elt_t VFT_ReduceAction16[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction16 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction16 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction16___action},
-  {(long int) 2 /* 42: ReduceAction16 < ReduceAction16: superclass init_table position */},
-  {(long int) parser___ReduceAction16___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction16 < 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) 1 /* 40: ReduceAction16 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction16___action},
+  {(bigint) 2 /* 42: ReduceAction16 < ReduceAction16: superclass init_table position */},
+  {(bigint) parser___ReduceAction16___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction16(void) {
@@ -40365,10 +41884,10 @@ val_t NEW_parser___ReduceAction16___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction17[44] = {
-  {(long int) 2171 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction17 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction17 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2171 /* 3: ReduceAction17 < ReduceAction17: superclass typecheck marker */},
+  {(bigint) 2187 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction17 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction17 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2187 /* 3: ReduceAction17 < ReduceAction17: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40378,37 +41897,37 @@ const classtable_elt_t VFT_ReduceAction17[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction17 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction17 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction17___action},
-  {(long int) 2 /* 42: ReduceAction17 < ReduceAction17: superclass init_table position */},
-  {(long int) parser___ReduceAction17___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction17 < 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) 1 /* 40: ReduceAction17 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction17___action},
+  {(bigint) 2 /* 42: ReduceAction17 < ReduceAction17: superclass init_table position */},
+  {(bigint) parser___ReduceAction17___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction17(void) {
@@ -40424,10 +41943,10 @@ val_t NEW_parser___ReduceAction17___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction18[44] = {
-  {(long int) 2127 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction18 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction18 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2127 /* 3: ReduceAction18 < ReduceAction18: superclass typecheck marker */},
+  {(bigint) 2143 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction18 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction18 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2143 /* 3: ReduceAction18 < ReduceAction18: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40437,37 +41956,37 @@ const classtable_elt_t VFT_ReduceAction18[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction18 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction18 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction18___action},
-  {(long int) 2 /* 42: ReduceAction18 < ReduceAction18: superclass init_table position */},
-  {(long int) parser___ReduceAction18___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction18 < 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) 1 /* 40: ReduceAction18 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction18___action},
+  {(bigint) 2 /* 42: ReduceAction18 < ReduceAction18: superclass init_table position */},
+  {(bigint) parser___ReduceAction18___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction18(void) {
@@ -40483,10 +42002,10 @@ val_t NEW_parser___ReduceAction18___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction19[44] = {
-  {(long int) 2083 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction19 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction19 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2083 /* 3: ReduceAction19 < ReduceAction19: superclass typecheck marker */},
+  {(bigint) 2099 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction19 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction19 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2099 /* 3: ReduceAction19 < ReduceAction19: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40496,37 +42015,37 @@ const classtable_elt_t VFT_ReduceAction19[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction19 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction19 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction19___action},
-  {(long int) 2 /* 42: ReduceAction19 < ReduceAction19: superclass init_table position */},
-  {(long int) parser___ReduceAction19___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction19 < 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) 1 /* 40: ReduceAction19 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction19___action},
+  {(bigint) 2 /* 42: ReduceAction19 < ReduceAction19: superclass init_table position */},
+  {(bigint) parser___ReduceAction19___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction19(void) {
@@ -40542,10 +42061,10 @@ val_t NEW_parser___ReduceAction19___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction20[44] = {
-  {(long int) 2035 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction20 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction20 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2035 /* 3: ReduceAction20 < ReduceAction20: superclass typecheck marker */},
+  {(bigint) 2051 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction20 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction20 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2051 /* 3: ReduceAction20 < ReduceAction20: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40555,37 +42074,37 @@ const classtable_elt_t VFT_ReduceAction20[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction20 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction20 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction20___action},
-  {(long int) 2 /* 42: ReduceAction20 < ReduceAction20: superclass init_table position */},
-  {(long int) parser___ReduceAction20___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction20 < 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) 1 /* 40: ReduceAction20 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction20___action},
+  {(bigint) 2 /* 42: ReduceAction20 < ReduceAction20: superclass init_table position */},
+  {(bigint) parser___ReduceAction20___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction20(void) {
@@ -40601,10 +42120,10 @@ val_t NEW_parser___ReduceAction20___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction21[44] = {
-  {(long int) 1991 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction21 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction21 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1991 /* 3: ReduceAction21 < ReduceAction21: superclass typecheck marker */},
+  {(bigint) 2007 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction21 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction21 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2007 /* 3: ReduceAction21 < ReduceAction21: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40614,37 +42133,37 @@ const classtable_elt_t VFT_ReduceAction21[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction21 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction21 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction21___action},
-  {(long int) 2 /* 42: ReduceAction21 < ReduceAction21: superclass init_table position */},
-  {(long int) parser___ReduceAction21___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction21 < 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) 1 /* 40: ReduceAction21 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction21___action},
+  {(bigint) 2 /* 42: ReduceAction21 < ReduceAction21: superclass init_table position */},
+  {(bigint) parser___ReduceAction21___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction21(void) {
@@ -40660,10 +42179,10 @@ val_t NEW_parser___ReduceAction21___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction22[44] = {
-  {(long int) 1947 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction22 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction22 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1947 /* 3: ReduceAction22 < ReduceAction22: superclass typecheck marker */},
+  {(bigint) 1963 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction22 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction22 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1963 /* 3: ReduceAction22 < ReduceAction22: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40673,37 +42192,37 @@ const classtable_elt_t VFT_ReduceAction22[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction22 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction22 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction22___action},
-  {(long int) 2 /* 42: ReduceAction22 < ReduceAction22: superclass init_table position */},
-  {(long int) parser___ReduceAction22___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction22 < 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) 1 /* 40: ReduceAction22 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction22___action},
+  {(bigint) 2 /* 42: ReduceAction22 < ReduceAction22: superclass init_table position */},
+  {(bigint) parser___ReduceAction22___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction22(void) {
@@ -40719,10 +42238,10 @@ val_t NEW_parser___ReduceAction22___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction23[44] = {
-  {(long int) 1903 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction23 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction23 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1903 /* 3: ReduceAction23 < ReduceAction23: superclass typecheck marker */},
+  {(bigint) 1919 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction23 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction23 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1919 /* 3: ReduceAction23 < ReduceAction23: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40732,37 +42251,37 @@ const classtable_elt_t VFT_ReduceAction23[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction23 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction23 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction23___action},
-  {(long int) 2 /* 42: ReduceAction23 < ReduceAction23: superclass init_table position */},
-  {(long int) parser___ReduceAction23___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction23 < 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) 1 /* 40: ReduceAction23 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction23___action},
+  {(bigint) 2 /* 42: ReduceAction23 < ReduceAction23: superclass init_table position */},
+  {(bigint) parser___ReduceAction23___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction23(void) {
@@ -40778,10 +42297,10 @@ val_t NEW_parser___ReduceAction23___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction24[44] = {
-  {(long int) 1859 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction24 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction24 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1859 /* 3: ReduceAction24 < ReduceAction24: superclass typecheck marker */},
+  {(bigint) 1875 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction24 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction24 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1875 /* 3: ReduceAction24 < ReduceAction24: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40791,37 +42310,37 @@ const classtable_elt_t VFT_ReduceAction24[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction24 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction24 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction24___action},
-  {(long int) 2 /* 42: ReduceAction24 < ReduceAction24: superclass init_table position */},
-  {(long int) parser___ReduceAction24___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction24 < 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) 1 /* 40: ReduceAction24 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction24___action},
+  {(bigint) 2 /* 42: ReduceAction24 < ReduceAction24: superclass init_table position */},
+  {(bigint) parser___ReduceAction24___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction24(void) {
@@ -40837,10 +42356,10 @@ val_t NEW_parser___ReduceAction24___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction25[44] = {
-  {(long int) 1815 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction25 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction25 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1815 /* 3: ReduceAction25 < ReduceAction25: superclass typecheck marker */},
+  {(bigint) 1831 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction25 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction25 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1831 /* 3: ReduceAction25 < ReduceAction25: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40850,37 +42369,37 @@ const classtable_elt_t VFT_ReduceAction25[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction25 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction25 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction25___action},
-  {(long int) 2 /* 42: ReduceAction25 < ReduceAction25: superclass init_table position */},
-  {(long int) parser___ReduceAction25___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction25 < 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) 1 /* 40: ReduceAction25 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction25___action},
+  {(bigint) 2 /* 42: ReduceAction25 < ReduceAction25: superclass init_table position */},
+  {(bigint) parser___ReduceAction25___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction25(void) {
@@ -40896,10 +42415,10 @@ val_t NEW_parser___ReduceAction25___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction26[44] = {
-  {(long int) 1771 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction26 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction26 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1771 /* 3: ReduceAction26 < ReduceAction26: superclass typecheck marker */},
+  {(bigint) 1787 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction26 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction26 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1787 /* 3: ReduceAction26 < ReduceAction26: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40909,37 +42428,37 @@ const classtable_elt_t VFT_ReduceAction26[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction26 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction26 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction26___action},
-  {(long int) 2 /* 42: ReduceAction26 < ReduceAction26: superclass init_table position */},
-  {(long int) parser___ReduceAction26___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction26 < 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) 1 /* 40: ReduceAction26 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction26___action},
+  {(bigint) 2 /* 42: ReduceAction26 < ReduceAction26: superclass init_table position */},
+  {(bigint) parser___ReduceAction26___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction26(void) {
@@ -40955,10 +42474,10 @@ val_t NEW_parser___ReduceAction26___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction27[44] = {
-  {(long int) 1727 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction27 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction27 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1727 /* 3: ReduceAction27 < ReduceAction27: superclass typecheck marker */},
+  {(bigint) 1743 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction27 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction27 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1743 /* 3: ReduceAction27 < ReduceAction27: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -40968,37 +42487,37 @@ const classtable_elt_t VFT_ReduceAction27[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction27 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction27 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction27___action},
-  {(long int) 2 /* 42: ReduceAction27 < ReduceAction27: superclass init_table position */},
-  {(long int) parser___ReduceAction27___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction27 < 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) 1 /* 40: ReduceAction27 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction27___action},
+  {(bigint) 2 /* 42: ReduceAction27 < ReduceAction27: superclass init_table position */},
+  {(bigint) parser___ReduceAction27___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction27(void) {
@@ -41014,10 +42533,10 @@ val_t NEW_parser___ReduceAction27___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction28[44] = {
-  {(long int) 1683 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction28 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction28 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1683 /* 3: ReduceAction28 < ReduceAction28: superclass typecheck marker */},
+  {(bigint) 1699 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction28 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction28 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1699 /* 3: ReduceAction28 < ReduceAction28: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41027,37 +42546,37 @@ const classtable_elt_t VFT_ReduceAction28[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction28 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction28 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction28___action},
-  {(long int) 2 /* 42: ReduceAction28 < ReduceAction28: superclass init_table position */},
-  {(long int) parser___ReduceAction28___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction28 < 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) 1 /* 40: ReduceAction28 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction28___action},
+  {(bigint) 2 /* 42: ReduceAction28 < ReduceAction28: superclass init_table position */},
+  {(bigint) parser___ReduceAction28___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction28(void) {
@@ -41073,10 +42592,10 @@ val_t NEW_parser___ReduceAction28___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction29[44] = {
-  {(long int) 1639 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction29 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction29 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1639 /* 3: ReduceAction29 < ReduceAction29: superclass typecheck marker */},
+  {(bigint) 1655 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction29 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction29 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1655 /* 3: ReduceAction29 < ReduceAction29: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41086,37 +42605,37 @@ const classtable_elt_t VFT_ReduceAction29[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction29 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction29 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction29___action},
-  {(long int) 2 /* 42: ReduceAction29 < ReduceAction29: superclass init_table position */},
-  {(long int) parser___ReduceAction29___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction29 < 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) 1 /* 40: ReduceAction29 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction29___action},
+  {(bigint) 2 /* 42: ReduceAction29 < ReduceAction29: superclass init_table position */},
+  {(bigint) parser___ReduceAction29___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction29(void) {
@@ -41132,10 +42651,10 @@ val_t NEW_parser___ReduceAction29___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction30[44] = {
-  {(long int) 1591 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction30 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction30 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1591 /* 3: ReduceAction30 < ReduceAction30: superclass typecheck marker */},
+  {(bigint) 1607 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction30 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction30 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1607 /* 3: ReduceAction30 < ReduceAction30: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41145,37 +42664,37 @@ const classtable_elt_t VFT_ReduceAction30[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction30 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction30 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction30___action},
-  {(long int) 2 /* 42: ReduceAction30 < ReduceAction30: superclass init_table position */},
-  {(long int) parser___ReduceAction30___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction30 < 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) 1 /* 40: ReduceAction30 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction30___action},
+  {(bigint) 2 /* 42: ReduceAction30 < ReduceAction30: superclass init_table position */},
+  {(bigint) parser___ReduceAction30___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction30(void) {
@@ -41191,10 +42710,10 @@ val_t NEW_parser___ReduceAction30___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction31[44] = {
-  {(long int) 1547 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction31 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction31 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1547 /* 3: ReduceAction31 < ReduceAction31: superclass typecheck marker */},
+  {(bigint) 1563 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction31 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction31 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1563 /* 3: ReduceAction31 < ReduceAction31: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41204,37 +42723,37 @@ const classtable_elt_t VFT_ReduceAction31[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction31 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction31 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction31___action},
-  {(long int) 2 /* 42: ReduceAction31 < ReduceAction31: superclass init_table position */},
-  {(long int) parser___ReduceAction31___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction31 < 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) 1 /* 40: ReduceAction31 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction31___action},
+  {(bigint) 2 /* 42: ReduceAction31 < ReduceAction31: superclass init_table position */},
+  {(bigint) parser___ReduceAction31___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction31(void) {
@@ -41250,10 +42769,10 @@ val_t NEW_parser___ReduceAction31___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction32[44] = {
-  {(long int) 1503 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction32 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction32 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1503 /* 3: ReduceAction32 < ReduceAction32: superclass typecheck marker */},
+  {(bigint) 1519 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction32 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction32 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1519 /* 3: ReduceAction32 < ReduceAction32: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41263,37 +42782,37 @@ const classtable_elt_t VFT_ReduceAction32[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction32 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction32 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction32___action},
-  {(long int) 2 /* 42: ReduceAction32 < ReduceAction32: superclass init_table position */},
-  {(long int) parser___ReduceAction32___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction32 < 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) 1 /* 40: ReduceAction32 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction32___action},
+  {(bigint) 2 /* 42: ReduceAction32 < ReduceAction32: superclass init_table position */},
+  {(bigint) parser___ReduceAction32___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction32(void) {
@@ -41309,10 +42828,10 @@ val_t NEW_parser___ReduceAction32___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction33[44] = {
-  {(long int) 1459 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction33 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction33 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1459 /* 3: ReduceAction33 < ReduceAction33: superclass typecheck marker */},
+  {(bigint) 1475 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction33 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction33 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1475 /* 3: ReduceAction33 < ReduceAction33: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41322,37 +42841,37 @@ const classtable_elt_t VFT_ReduceAction33[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction33 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction33 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction33___action},
-  {(long int) 2 /* 42: ReduceAction33 < ReduceAction33: superclass init_table position */},
-  {(long int) parser___ReduceAction33___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction33 < 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) 1 /* 40: ReduceAction33 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction33___action},
+  {(bigint) 2 /* 42: ReduceAction33 < ReduceAction33: superclass init_table position */},
+  {(bigint) parser___ReduceAction33___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction33(void) {
@@ -41368,10 +42887,10 @@ val_t NEW_parser___ReduceAction33___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction34[44] = {
-  {(long int) 1415 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction34 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction34 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1415 /* 3: ReduceAction34 < ReduceAction34: superclass typecheck marker */},
+  {(bigint) 1431 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction34 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction34 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1431 /* 3: ReduceAction34 < ReduceAction34: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41381,37 +42900,37 @@ const classtable_elt_t VFT_ReduceAction34[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction34 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction34 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction34___action},
-  {(long int) 2 /* 42: ReduceAction34 < ReduceAction34: superclass init_table position */},
-  {(long int) parser___ReduceAction34___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction34 < 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) 1 /* 40: ReduceAction34 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction34___action},
+  {(bigint) 2 /* 42: ReduceAction34 < ReduceAction34: superclass init_table position */},
+  {(bigint) parser___ReduceAction34___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction34(void) {
@@ -41427,10 +42946,10 @@ val_t NEW_parser___ReduceAction34___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction35[44] = {
-  {(long int) 1371 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction35 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction35 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1371 /* 3: ReduceAction35 < ReduceAction35: superclass typecheck marker */},
+  {(bigint) 1387 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction35 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction35 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1387 /* 3: ReduceAction35 < ReduceAction35: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41440,37 +42959,37 @@ const classtable_elt_t VFT_ReduceAction35[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction35 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction35 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction35___action},
-  {(long int) 2 /* 42: ReduceAction35 < ReduceAction35: superclass init_table position */},
-  {(long int) parser___ReduceAction35___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction35 < 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) 1 /* 40: ReduceAction35 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction35___action},
+  {(bigint) 2 /* 42: ReduceAction35 < ReduceAction35: superclass init_table position */},
+  {(bigint) parser___ReduceAction35___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction35(void) {
@@ -41486,10 +43005,10 @@ val_t NEW_parser___ReduceAction35___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction36[44] = {
-  {(long int) 1327 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction36 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction36 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1327 /* 3: ReduceAction36 < ReduceAction36: superclass typecheck marker */},
+  {(bigint) 1343 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction36 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction36 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1343 /* 3: ReduceAction36 < ReduceAction36: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41499,37 +43018,37 @@ const classtable_elt_t VFT_ReduceAction36[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction36 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction36 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction36___action},
-  {(long int) 2 /* 42: ReduceAction36 < ReduceAction36: superclass init_table position */},
-  {(long int) parser___ReduceAction36___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction36 < 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) 1 /* 40: ReduceAction36 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction36___action},
+  {(bigint) 2 /* 42: ReduceAction36 < ReduceAction36: superclass init_table position */},
+  {(bigint) parser___ReduceAction36___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction36(void) {
@@ -41545,10 +43064,10 @@ val_t NEW_parser___ReduceAction36___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction37[44] = {
-  {(long int) 1283 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction37 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction37 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1283 /* 3: ReduceAction37 < ReduceAction37: superclass typecheck marker */},
+  {(bigint) 1299 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction37 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction37 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1299 /* 3: ReduceAction37 < ReduceAction37: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41558,37 +43077,37 @@ const classtable_elt_t VFT_ReduceAction37[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction37 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction37 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction37___action},
-  {(long int) 2 /* 42: ReduceAction37 < ReduceAction37: superclass init_table position */},
-  {(long int) parser___ReduceAction37___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction37 < 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) 1 /* 40: ReduceAction37 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction37___action},
+  {(bigint) 2 /* 42: ReduceAction37 < ReduceAction37: superclass init_table position */},
+  {(bigint) parser___ReduceAction37___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction37(void) {
@@ -41604,10 +43123,10 @@ val_t NEW_parser___ReduceAction37___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction38[44] = {
-  {(long int) 1239 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction38 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction38 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1239 /* 3: ReduceAction38 < ReduceAction38: superclass typecheck marker */},
+  {(bigint) 1255 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction38 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction38 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1255 /* 3: ReduceAction38 < ReduceAction38: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41617,37 +43136,37 @@ const classtable_elt_t VFT_ReduceAction38[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction38 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction38 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction38___action},
-  {(long int) 2 /* 42: ReduceAction38 < ReduceAction38: superclass init_table position */},
-  {(long int) parser___ReduceAction38___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction38 < 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) 1 /* 40: ReduceAction38 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction38___action},
+  {(bigint) 2 /* 42: ReduceAction38 < ReduceAction38: superclass init_table position */},
+  {(bigint) parser___ReduceAction38___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction38(void) {
@@ -41663,10 +43182,10 @@ val_t NEW_parser___ReduceAction38___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction39[44] = {
-  {(long int) 1195 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction39 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction39 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1195 /* 3: ReduceAction39 < ReduceAction39: superclass typecheck marker */},
+  {(bigint) 1211 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction39 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction39 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1211 /* 3: ReduceAction39 < ReduceAction39: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41676,37 +43195,37 @@ const classtable_elt_t VFT_ReduceAction39[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction39 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction39 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction39___action},
-  {(long int) 2 /* 42: ReduceAction39 < ReduceAction39: superclass init_table position */},
-  {(long int) parser___ReduceAction39___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction39 < 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) 1 /* 40: ReduceAction39 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction39___action},
+  {(bigint) 2 /* 42: ReduceAction39 < ReduceAction39: superclass init_table position */},
+  {(bigint) parser___ReduceAction39___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction39(void) {
@@ -41722,10 +43241,10 @@ val_t NEW_parser___ReduceAction39___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction40[44] = {
-  {(long int) 1147 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction40 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction40 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1147 /* 3: ReduceAction40 < ReduceAction40: superclass typecheck marker */},
+  {(bigint) 1163 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction40 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction40 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1163 /* 3: ReduceAction40 < ReduceAction40: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41735,37 +43254,37 @@ const classtable_elt_t VFT_ReduceAction40[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction40 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction40 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction40___action},
-  {(long int) 2 /* 42: ReduceAction40 < ReduceAction40: superclass init_table position */},
-  {(long int) parser___ReduceAction40___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction40 < 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) 1 /* 40: ReduceAction40 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction40___action},
+  {(bigint) 2 /* 42: ReduceAction40 < ReduceAction40: superclass init_table position */},
+  {(bigint) parser___ReduceAction40___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction40(void) {
@@ -41781,10 +43300,10 @@ val_t NEW_parser___ReduceAction40___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction41[44] = {
-  {(long int) 1103 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction41 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction41 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1103 /* 3: ReduceAction41 < ReduceAction41: superclass typecheck marker */},
+  {(bigint) 1119 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction41 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction41 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1119 /* 3: ReduceAction41 < ReduceAction41: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41794,37 +43313,37 @@ const classtable_elt_t VFT_ReduceAction41[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction41 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction41 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction41___action},
-  {(long int) 2 /* 42: ReduceAction41 < ReduceAction41: superclass init_table position */},
-  {(long int) parser___ReduceAction41___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction41 < 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) 1 /* 40: ReduceAction41 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction41___action},
+  {(bigint) 2 /* 42: ReduceAction41 < ReduceAction41: superclass init_table position */},
+  {(bigint) parser___ReduceAction41___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction41(void) {
@@ -41840,10 +43359,10 @@ val_t NEW_parser___ReduceAction41___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction42[44] = {
-  {(long int) 1059 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction42 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction42 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1059 /* 3: ReduceAction42 < ReduceAction42: superclass typecheck marker */},
+  {(bigint) 1075 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction42 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction42 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1075 /* 3: ReduceAction42 < ReduceAction42: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41853,37 +43372,37 @@ const classtable_elt_t VFT_ReduceAction42[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction42 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction42 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction42___action},
-  {(long int) 2 /* 42: ReduceAction42 < ReduceAction42: superclass init_table position */},
-  {(long int) parser___ReduceAction42___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction42 < 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) 1 /* 40: ReduceAction42 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction42___action},
+  {(bigint) 2 /* 42: ReduceAction42 < ReduceAction42: superclass init_table position */},
+  {(bigint) parser___ReduceAction42___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction42(void) {
@@ -41899,10 +43418,10 @@ val_t NEW_parser___ReduceAction42___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction43[44] = {
-  {(long int) 1015 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction43 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction43 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1015 /* 3: ReduceAction43 < ReduceAction43: superclass typecheck marker */},
+  {(bigint) 1031 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction43 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction43 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1031 /* 3: ReduceAction43 < ReduceAction43: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41912,37 +43431,37 @@ const classtable_elt_t VFT_ReduceAction43[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction43 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction43 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction43___action},
-  {(long int) 2 /* 42: ReduceAction43 < ReduceAction43: superclass init_table position */},
-  {(long int) parser___ReduceAction43___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction43 < 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) 1 /* 40: ReduceAction43 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction43___action},
+  {(bigint) 2 /* 42: ReduceAction43 < ReduceAction43: superclass init_table position */},
+  {(bigint) parser___ReduceAction43___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction43(void) {
@@ -41958,10 +43477,10 @@ val_t NEW_parser___ReduceAction43___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction44[44] = {
-  {(long int) 971 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction44 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction44 < ReduceAction: superclass typecheck marker */},
-  {(long int) 971 /* 3: ReduceAction44 < ReduceAction44: superclass typecheck marker */},
+  {(bigint) 987 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction44 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction44 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 987 /* 3: ReduceAction44 < ReduceAction44: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -41971,37 +43490,37 @@ const classtable_elt_t VFT_ReduceAction44[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction44 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction44 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction44___action},
-  {(long int) 2 /* 42: ReduceAction44 < ReduceAction44: superclass init_table position */},
-  {(long int) parser___ReduceAction44___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction44 < 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) 1 /* 40: ReduceAction44 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction44___action},
+  {(bigint) 2 /* 42: ReduceAction44 < ReduceAction44: superclass init_table position */},
+  {(bigint) parser___ReduceAction44___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction44(void) {
@@ -42017,10 +43536,10 @@ val_t NEW_parser___ReduceAction44___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction45[44] = {
-  {(long int) 927 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction45 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction45 < ReduceAction: superclass typecheck marker */},
-  {(long int) 927 /* 3: ReduceAction45 < ReduceAction45: superclass typecheck marker */},
+  {(bigint) 943 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction45 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction45 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 943 /* 3: ReduceAction45 < ReduceAction45: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42030,37 +43549,37 @@ const classtable_elt_t VFT_ReduceAction45[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction45 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction45 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction45___action},
-  {(long int) 2 /* 42: ReduceAction45 < ReduceAction45: superclass init_table position */},
-  {(long int) parser___ReduceAction45___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction45 < 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) 1 /* 40: ReduceAction45 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction45___action},
+  {(bigint) 2 /* 42: ReduceAction45 < ReduceAction45: superclass init_table position */},
+  {(bigint) parser___ReduceAction45___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction45(void) {
@@ -42076,10 +43595,10 @@ val_t NEW_parser___ReduceAction45___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction46[44] = {
-  {(long int) 883 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction46 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction46 < ReduceAction: superclass typecheck marker */},
-  {(long int) 883 /* 3: ReduceAction46 < ReduceAction46: superclass typecheck marker */},
+  {(bigint) 899 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction46 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction46 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 899 /* 3: ReduceAction46 < ReduceAction46: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42089,37 +43608,37 @@ const classtable_elt_t VFT_ReduceAction46[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction46 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction46 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction46___action},
-  {(long int) 2 /* 42: ReduceAction46 < ReduceAction46: superclass init_table position */},
-  {(long int) parser___ReduceAction46___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction46 < 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) 1 /* 40: ReduceAction46 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction46___action},
+  {(bigint) 2 /* 42: ReduceAction46 < ReduceAction46: superclass init_table position */},
+  {(bigint) parser___ReduceAction46___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction46(void) {
@@ -42135,10 +43654,10 @@ val_t NEW_parser___ReduceAction46___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction47[44] = {
-  {(long int) 839 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction47 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction47 < ReduceAction: superclass typecheck marker */},
-  {(long int) 839 /* 3: ReduceAction47 < ReduceAction47: superclass typecheck marker */},
+  {(bigint) 855 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction47 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction47 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 855 /* 3: ReduceAction47 < ReduceAction47: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42148,37 +43667,37 @@ const classtable_elt_t VFT_ReduceAction47[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction47 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction47 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction47___action},
-  {(long int) 2 /* 42: ReduceAction47 < ReduceAction47: superclass init_table position */},
-  {(long int) parser___ReduceAction47___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction47 < 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) 1 /* 40: ReduceAction47 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction47___action},
+  {(bigint) 2 /* 42: ReduceAction47 < ReduceAction47: superclass init_table position */},
+  {(bigint) parser___ReduceAction47___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction47(void) {
@@ -42194,10 +43713,10 @@ val_t NEW_parser___ReduceAction47___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction48[44] = {
-  {(long int) 795 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction48 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction48 < ReduceAction: superclass typecheck marker */},
-  {(long int) 795 /* 3: ReduceAction48 < ReduceAction48: superclass typecheck marker */},
+  {(bigint) 811 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction48 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction48 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 811 /* 3: ReduceAction48 < ReduceAction48: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42207,37 +43726,37 @@ const classtable_elt_t VFT_ReduceAction48[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction48 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction48 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction48___action},
-  {(long int) 2 /* 42: ReduceAction48 < ReduceAction48: superclass init_table position */},
-  {(long int) parser___ReduceAction48___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction48 < 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) 1 /* 40: ReduceAction48 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction48___action},
+  {(bigint) 2 /* 42: ReduceAction48 < ReduceAction48: superclass init_table position */},
+  {(bigint) parser___ReduceAction48___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction48(void) {
@@ -42253,10 +43772,10 @@ val_t NEW_parser___ReduceAction48___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction49[44] = {
-  {(long int) 751 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction49 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction49 < ReduceAction: superclass typecheck marker */},
-  {(long int) 751 /* 3: ReduceAction49 < ReduceAction49: superclass typecheck marker */},
+  {(bigint) 767 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction49 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction49 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 767 /* 3: ReduceAction49 < ReduceAction49: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42266,37 +43785,37 @@ const classtable_elt_t VFT_ReduceAction49[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction49 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction49 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction49___action},
-  {(long int) 2 /* 42: ReduceAction49 < ReduceAction49: superclass init_table position */},
-  {(long int) parser___ReduceAction49___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction49 < 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) 1 /* 40: ReduceAction49 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction49___action},
+  {(bigint) 2 /* 42: ReduceAction49 < ReduceAction49: superclass init_table position */},
+  {(bigint) parser___ReduceAction49___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction49(void) {
@@ -42312,10 +43831,10 @@ val_t NEW_parser___ReduceAction49___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction50[44] = {
-  {(long int) 703 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction50 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction50 < ReduceAction: superclass typecheck marker */},
-  {(long int) 703 /* 3: ReduceAction50 < ReduceAction50: superclass typecheck marker */},
+  {(bigint) 719 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction50 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction50 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 719 /* 3: ReduceAction50 < ReduceAction50: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42325,37 +43844,37 @@ const classtable_elt_t VFT_ReduceAction50[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction50 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction50 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction50___action},
-  {(long int) 2 /* 42: ReduceAction50 < ReduceAction50: superclass init_table position */},
-  {(long int) parser___ReduceAction50___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction50 < 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) 1 /* 40: ReduceAction50 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction50___action},
+  {(bigint) 2 /* 42: ReduceAction50 < ReduceAction50: superclass init_table position */},
+  {(bigint) parser___ReduceAction50___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction50(void) {
@@ -42371,10 +43890,10 @@ val_t NEW_parser___ReduceAction50___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction51[44] = {
-  {(long int) 659 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction51 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction51 < ReduceAction: superclass typecheck marker */},
-  {(long int) 659 /* 3: ReduceAction51 < ReduceAction51: superclass typecheck marker */},
+  {(bigint) 675 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction51 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction51 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 675 /* 3: ReduceAction51 < ReduceAction51: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42384,37 +43903,37 @@ const classtable_elt_t VFT_ReduceAction51[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction51 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction51 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction51___action},
-  {(long int) 2 /* 42: ReduceAction51 < ReduceAction51: superclass init_table position */},
-  {(long int) parser___ReduceAction51___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction51 < 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) 1 /* 40: ReduceAction51 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction51___action},
+  {(bigint) 2 /* 42: ReduceAction51 < ReduceAction51: superclass init_table position */},
+  {(bigint) parser___ReduceAction51___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction51(void) {
@@ -42430,10 +43949,10 @@ val_t NEW_parser___ReduceAction51___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction52[44] = {
-  {(long int) 615 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction52 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction52 < ReduceAction: superclass typecheck marker */},
-  {(long int) 615 /* 3: ReduceAction52 < ReduceAction52: superclass typecheck marker */},
+  {(bigint) 631 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction52 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction52 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 631 /* 3: ReduceAction52 < ReduceAction52: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42443,37 +43962,37 @@ const classtable_elt_t VFT_ReduceAction52[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction52 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction52 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction52___action},
-  {(long int) 2 /* 42: ReduceAction52 < ReduceAction52: superclass init_table position */},
-  {(long int) parser___ReduceAction52___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction52 < 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) 1 /* 40: ReduceAction52 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction52___action},
+  {(bigint) 2 /* 42: ReduceAction52 < ReduceAction52: superclass init_table position */},
+  {(bigint) parser___ReduceAction52___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction52(void) {
@@ -42489,10 +44008,10 @@ val_t NEW_parser___ReduceAction52___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction53[44] = {
-  {(long int) 571 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction53 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction53 < ReduceAction: superclass typecheck marker */},
-  {(long int) 571 /* 3: ReduceAction53 < ReduceAction53: superclass typecheck marker */},
+  {(bigint) 587 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction53 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction53 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 587 /* 3: ReduceAction53 < ReduceAction53: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42502,37 +44021,37 @@ const classtable_elt_t VFT_ReduceAction53[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction53 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction53 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction53___action},
-  {(long int) 2 /* 42: ReduceAction53 < ReduceAction53: superclass init_table position */},
-  {(long int) parser___ReduceAction53___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction53 < 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) 1 /* 40: ReduceAction53 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction53___action},
+  {(bigint) 2 /* 42: ReduceAction53 < ReduceAction53: superclass init_table position */},
+  {(bigint) parser___ReduceAction53___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction53(void) {
@@ -42548,10 +44067,10 @@ val_t NEW_parser___ReduceAction53___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction54[44] = {
-  {(long int) 527 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction54 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction54 < ReduceAction: superclass typecheck marker */},
-  {(long int) 527 /* 3: ReduceAction54 < ReduceAction54: superclass typecheck marker */},
+  {(bigint) 543 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction54 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction54 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 543 /* 3: ReduceAction54 < ReduceAction54: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42561,37 +44080,37 @@ const classtable_elt_t VFT_ReduceAction54[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction54 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction54 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction54___action},
-  {(long int) 2 /* 42: ReduceAction54 < ReduceAction54: superclass init_table position */},
-  {(long int) parser___ReduceAction54___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction54 < 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) 1 /* 40: ReduceAction54 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction54___action},
+  {(bigint) 2 /* 42: ReduceAction54 < ReduceAction54: superclass init_table position */},
+  {(bigint) parser___ReduceAction54___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction54(void) {
@@ -42607,10 +44126,10 @@ val_t NEW_parser___ReduceAction54___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction55[44] = {
-  {(long int) 483 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction55 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction55 < ReduceAction: superclass typecheck marker */},
-  {(long int) 483 /* 3: ReduceAction55 < ReduceAction55: superclass typecheck marker */},
+  {(bigint) 499 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction55 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction55 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 499 /* 3: ReduceAction55 < ReduceAction55: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42620,37 +44139,37 @@ const classtable_elt_t VFT_ReduceAction55[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction55 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction55 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction55___action},
-  {(long int) 2 /* 42: ReduceAction55 < ReduceAction55: superclass init_table position */},
-  {(long int) parser___ReduceAction55___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction55 < 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) 1 /* 40: ReduceAction55 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction55___action},
+  {(bigint) 2 /* 42: ReduceAction55 < ReduceAction55: superclass init_table position */},
+  {(bigint) parser___ReduceAction55___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction55(void) {
@@ -42666,10 +44185,10 @@ val_t NEW_parser___ReduceAction55___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction56[44] = {
-  {(long int) 439 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction56 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction56 < ReduceAction: superclass typecheck marker */},
-  {(long int) 439 /* 3: ReduceAction56 < ReduceAction56: superclass typecheck marker */},
+  {(bigint) 455 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction56 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction56 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 455 /* 3: ReduceAction56 < ReduceAction56: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42679,37 +44198,37 @@ const classtable_elt_t VFT_ReduceAction56[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction56 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction56 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction56___action},
-  {(long int) 2 /* 42: ReduceAction56 < ReduceAction56: superclass init_table position */},
-  {(long int) parser___ReduceAction56___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction56 < 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) 1 /* 40: ReduceAction56 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction56___action},
+  {(bigint) 2 /* 42: ReduceAction56 < ReduceAction56: superclass init_table position */},
+  {(bigint) parser___ReduceAction56___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction56(void) {
@@ -42725,10 +44244,10 @@ val_t NEW_parser___ReduceAction56___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction57[44] = {
-  {(long int) 399 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction57 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction57 < ReduceAction: superclass typecheck marker */},
-  {(long int) 399 /* 3: ReduceAction57 < ReduceAction57: superclass typecheck marker */},
+  {(bigint) 411 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction57 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction57 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 411 /* 3: ReduceAction57 < ReduceAction57: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42738,37 +44257,37 @@ const classtable_elt_t VFT_ReduceAction57[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction57 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction57 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction57___action},
-  {(long int) 2 /* 42: ReduceAction57 < ReduceAction57: superclass init_table position */},
-  {(long int) parser___ReduceAction57___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction57 < 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) 1 /* 40: ReduceAction57 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction57___action},
+  {(bigint) 2 /* 42: ReduceAction57 < ReduceAction57: superclass init_table position */},
+  {(bigint) parser___ReduceAction57___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction57(void) {
@@ -42784,10 +44303,10 @@ val_t NEW_parser___ReduceAction57___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction58[44] = {
-  {(long int) 395 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction58 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction58 < ReduceAction: superclass typecheck marker */},
-  {(long int) 395 /* 3: ReduceAction58 < ReduceAction58: superclass typecheck marker */},
+  {(bigint) 395 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction58 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction58 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 395 /* 3: ReduceAction58 < ReduceAction58: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42797,37 +44316,37 @@ const classtable_elt_t VFT_ReduceAction58[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction58 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction58 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction58___action},
-  {(long int) 2 /* 42: ReduceAction58 < ReduceAction58: superclass init_table position */},
-  {(long int) parser___ReduceAction58___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction58 < 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) 1 /* 40: ReduceAction58 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction58___action},
+  {(bigint) 2 /* 42: ReduceAction58 < ReduceAction58: superclass init_table position */},
+  {(bigint) parser___ReduceAction58___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction58(void) {
@@ -42843,10 +44362,10 @@ val_t NEW_parser___ReduceAction58___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction59[44] = {
-  {(long int) 391 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction59 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction59 < ReduceAction: superclass typecheck marker */},
-  {(long int) 391 /* 3: ReduceAction59 < ReduceAction59: superclass typecheck marker */},
+  {(bigint) 391 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction59 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction59 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 391 /* 3: ReduceAction59 < ReduceAction59: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42856,37 +44375,37 @@ const classtable_elt_t VFT_ReduceAction59[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction59 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction59 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction59___action},
-  {(long int) 2 /* 42: ReduceAction59 < ReduceAction59: superclass init_table position */},
-  {(long int) parser___ReduceAction59___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction59 < 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) 1 /* 40: ReduceAction59 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction59___action},
+  {(bigint) 2 /* 42: ReduceAction59 < ReduceAction59: superclass init_table position */},
+  {(bigint) parser___ReduceAction59___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction59(void) {
@@ -42902,10 +44421,10 @@ val_t NEW_parser___ReduceAction59___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction60[44] = {
-  {(long int) 383 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction60 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction60 < ReduceAction: superclass typecheck marker */},
-  {(long int) 383 /* 3: ReduceAction60 < ReduceAction60: superclass typecheck marker */},
+  {(bigint) 383 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction60 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction60 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 383 /* 3: ReduceAction60 < ReduceAction60: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42915,37 +44434,37 @@ const classtable_elt_t VFT_ReduceAction60[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction60 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction60 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction60___action},
-  {(long int) 2 /* 42: ReduceAction60 < ReduceAction60: superclass init_table position */},
-  {(long int) parser___ReduceAction60___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction60 < 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) 1 /* 40: ReduceAction60 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction60___action},
+  {(bigint) 2 /* 42: ReduceAction60 < ReduceAction60: superclass init_table position */},
+  {(bigint) parser___ReduceAction60___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction60(void) {
@@ -42961,10 +44480,10 @@ val_t NEW_parser___ReduceAction60___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction61[44] = {
-  {(long int) 379 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction61 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction61 < ReduceAction: superclass typecheck marker */},
-  {(long int) 379 /* 3: ReduceAction61 < ReduceAction61: superclass typecheck marker */},
+  {(bigint) 379 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction61 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction61 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 379 /* 3: ReduceAction61 < ReduceAction61: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -42974,37 +44493,37 @@ const classtable_elt_t VFT_ReduceAction61[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction61 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction61 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction61___action},
-  {(long int) 2 /* 42: ReduceAction61 < ReduceAction61: superclass init_table position */},
-  {(long int) parser___ReduceAction61___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction61 < 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) 1 /* 40: ReduceAction61 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction61___action},
+  {(bigint) 2 /* 42: ReduceAction61 < ReduceAction61: superclass init_table position */},
+  {(bigint) parser___ReduceAction61___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction61(void) {
@@ -43020,10 +44539,10 @@ val_t NEW_parser___ReduceAction61___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction62[44] = {
-  {(long int) 375 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction62 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction62 < ReduceAction: superclass typecheck marker */},
-  {(long int) 375 /* 3: ReduceAction62 < ReduceAction62: superclass typecheck marker */},
+  {(bigint) 375 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction62 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction62 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 375 /* 3: ReduceAction62 < ReduceAction62: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43033,37 +44552,37 @@ const classtable_elt_t VFT_ReduceAction62[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction62 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction62 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction62___action},
-  {(long int) 2 /* 42: ReduceAction62 < ReduceAction62: superclass init_table position */},
-  {(long int) parser___ReduceAction62___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction62 < 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) 1 /* 40: ReduceAction62 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction62___action},
+  {(bigint) 2 /* 42: ReduceAction62 < ReduceAction62: superclass init_table position */},
+  {(bigint) parser___ReduceAction62___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction62(void) {
@@ -43079,10 +44598,10 @@ val_t NEW_parser___ReduceAction62___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction63[44] = {
-  {(long int) 371 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction63 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction63 < ReduceAction: superclass typecheck marker */},
-  {(long int) 371 /* 3: ReduceAction63 < ReduceAction63: superclass typecheck marker */},
+  {(bigint) 371 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction63 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction63 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 371 /* 3: ReduceAction63 < ReduceAction63: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43092,37 +44611,37 @@ const classtable_elt_t VFT_ReduceAction63[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction63 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction63 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction63___action},
-  {(long int) 2 /* 42: ReduceAction63 < ReduceAction63: superclass init_table position */},
-  {(long int) parser___ReduceAction63___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction63 < 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) 1 /* 40: ReduceAction63 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction63___action},
+  {(bigint) 2 /* 42: ReduceAction63 < ReduceAction63: superclass init_table position */},
+  {(bigint) parser___ReduceAction63___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction63(void) {
@@ -43138,10 +44657,10 @@ val_t NEW_parser___ReduceAction63___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction64[44] = {
-  {(long int) 367 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction64 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction64 < ReduceAction: superclass typecheck marker */},
-  {(long int) 367 /* 3: ReduceAction64 < ReduceAction64: superclass typecheck marker */},
+  {(bigint) 367 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction64 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction64 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 367 /* 3: ReduceAction64 < ReduceAction64: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43151,37 +44670,37 @@ const classtable_elt_t VFT_ReduceAction64[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction64 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction64 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction64___action},
-  {(long int) 2 /* 42: ReduceAction64 < ReduceAction64: superclass init_table position */},
-  {(long int) parser___ReduceAction64___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction64 < 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) 1 /* 40: ReduceAction64 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction64___action},
+  {(bigint) 2 /* 42: ReduceAction64 < ReduceAction64: superclass init_table position */},
+  {(bigint) parser___ReduceAction64___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction64(void) {
@@ -43197,10 +44716,10 @@ val_t NEW_parser___ReduceAction64___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction65[44] = {
-  {(long int) 363 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction65 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction65 < ReduceAction: superclass typecheck marker */},
-  {(long int) 363 /* 3: ReduceAction65 < ReduceAction65: superclass typecheck marker */},
+  {(bigint) 363 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction65 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction65 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 363 /* 3: ReduceAction65 < ReduceAction65: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43210,37 +44729,37 @@ const classtable_elt_t VFT_ReduceAction65[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction65 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction65 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction65___action},
-  {(long int) 2 /* 42: ReduceAction65 < ReduceAction65: superclass init_table position */},
-  {(long int) parser___ReduceAction65___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction65 < 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) 1 /* 40: ReduceAction65 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction65___action},
+  {(bigint) 2 /* 42: ReduceAction65 < ReduceAction65: superclass init_table position */},
+  {(bigint) parser___ReduceAction65___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction65(void) {
@@ -43256,10 +44775,10 @@ val_t NEW_parser___ReduceAction65___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction66[44] = {
-  {(long int) 359 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction66 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction66 < ReduceAction: superclass typecheck marker */},
-  {(long int) 359 /* 3: ReduceAction66 < ReduceAction66: superclass typecheck marker */},
+  {(bigint) 359 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction66 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction66 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 359 /* 3: ReduceAction66 < ReduceAction66: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43269,37 +44788,37 @@ const classtable_elt_t VFT_ReduceAction66[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction66 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction66 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction66___action},
-  {(long int) 2 /* 42: ReduceAction66 < ReduceAction66: superclass init_table position */},
-  {(long int) parser___ReduceAction66___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction66 < 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) 1 /* 40: ReduceAction66 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction66___action},
+  {(bigint) 2 /* 42: ReduceAction66 < ReduceAction66: superclass init_table position */},
+  {(bigint) parser___ReduceAction66___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction66(void) {
@@ -43315,10 +44834,10 @@ val_t NEW_parser___ReduceAction66___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction67[44] = {
-  {(long int) 355 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction67 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction67 < ReduceAction: superclass typecheck marker */},
-  {(long int) 355 /* 3: ReduceAction67 < ReduceAction67: superclass typecheck marker */},
+  {(bigint) 355 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction67 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction67 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 355 /* 3: ReduceAction67 < ReduceAction67: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43328,37 +44847,37 @@ const classtable_elt_t VFT_ReduceAction67[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction67 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction67 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction67___action},
-  {(long int) 2 /* 42: ReduceAction67 < ReduceAction67: superclass init_table position */},
-  {(long int) parser___ReduceAction67___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction67 < 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) 1 /* 40: ReduceAction67 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction67___action},
+  {(bigint) 2 /* 42: ReduceAction67 < ReduceAction67: superclass init_table position */},
+  {(bigint) parser___ReduceAction67___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction67(void) {
@@ -43374,10 +44893,10 @@ val_t NEW_parser___ReduceAction67___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction68[44] = {
-  {(long int) 351 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction68 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction68 < ReduceAction: superclass typecheck marker */},
-  {(long int) 351 /* 3: ReduceAction68 < ReduceAction68: superclass typecheck marker */},
+  {(bigint) 351 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction68 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction68 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 351 /* 3: ReduceAction68 < ReduceAction68: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43387,37 +44906,37 @@ const classtable_elt_t VFT_ReduceAction68[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction68 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction68 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction68___action},
-  {(long int) 2 /* 42: ReduceAction68 < ReduceAction68: superclass init_table position */},
-  {(long int) parser___ReduceAction68___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction68 < 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) 1 /* 40: ReduceAction68 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction68___action},
+  {(bigint) 2 /* 42: ReduceAction68 < ReduceAction68: superclass init_table position */},
+  {(bigint) parser___ReduceAction68___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction68(void) {
@@ -43433,10 +44952,10 @@ val_t NEW_parser___ReduceAction68___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction69[44] = {
-  {(long int) 347 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction69 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction69 < ReduceAction: superclass typecheck marker */},
-  {(long int) 347 /* 3: ReduceAction69 < ReduceAction69: superclass typecheck marker */},
+  {(bigint) 347 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction69 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction69 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 347 /* 3: ReduceAction69 < ReduceAction69: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43446,37 +44965,37 @@ const classtable_elt_t VFT_ReduceAction69[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction69 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction69 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction69___action},
-  {(long int) 2 /* 42: ReduceAction69 < ReduceAction69: superclass init_table position */},
-  {(long int) parser___ReduceAction69___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction69 < 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) 1 /* 40: ReduceAction69 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction69___action},
+  {(bigint) 2 /* 42: ReduceAction69 < ReduceAction69: superclass init_table position */},
+  {(bigint) parser___ReduceAction69___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction69(void) {
@@ -43492,10 +45011,10 @@ val_t NEW_parser___ReduceAction69___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction70[44] = {
-  {(long int) 339 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction70 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction70 < ReduceAction: superclass typecheck marker */},
-  {(long int) 339 /* 3: ReduceAction70 < ReduceAction70: superclass typecheck marker */},
+  {(bigint) 339 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction70 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction70 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 339 /* 3: ReduceAction70 < ReduceAction70: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43505,37 +45024,37 @@ const classtable_elt_t VFT_ReduceAction70[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction70 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction70 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction70___action},
-  {(long int) 2 /* 42: ReduceAction70 < ReduceAction70: superclass init_table position */},
-  {(long int) parser___ReduceAction70___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction70 < 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) 1 /* 40: ReduceAction70 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction70___action},
+  {(bigint) 2 /* 42: ReduceAction70 < ReduceAction70: superclass init_table position */},
+  {(bigint) parser___ReduceAction70___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction70(void) {
@@ -43551,10 +45070,10 @@ val_t NEW_parser___ReduceAction70___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction71[44] = {
-  {(long int) 335 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction71 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction71 < ReduceAction: superclass typecheck marker */},
-  {(long int) 335 /* 3: ReduceAction71 < ReduceAction71: superclass typecheck marker */},
+  {(bigint) 335 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction71 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction71 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 335 /* 3: ReduceAction71 < ReduceAction71: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43564,37 +45083,37 @@ const classtable_elt_t VFT_ReduceAction71[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction71 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction71 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction71___action},
-  {(long int) 2 /* 42: ReduceAction71 < ReduceAction71: superclass init_table position */},
-  {(long int) parser___ReduceAction71___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction71 < 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) 1 /* 40: ReduceAction71 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction71___action},
+  {(bigint) 2 /* 42: ReduceAction71 < ReduceAction71: superclass init_table position */},
+  {(bigint) parser___ReduceAction71___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction71(void) {
@@ -43610,10 +45129,10 @@ val_t NEW_parser___ReduceAction71___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction72[44] = {
-  {(long int) 331 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction72 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction72 < ReduceAction: superclass typecheck marker */},
-  {(long int) 331 /* 3: ReduceAction72 < ReduceAction72: superclass typecheck marker */},
+  {(bigint) 331 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction72 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction72 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 331 /* 3: ReduceAction72 < ReduceAction72: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43623,37 +45142,37 @@ const classtable_elt_t VFT_ReduceAction72[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction72 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction72 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction72___action},
-  {(long int) 2 /* 42: ReduceAction72 < ReduceAction72: superclass init_table position */},
-  {(long int) parser___ReduceAction72___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction72 < 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) 1 /* 40: ReduceAction72 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction72___action},
+  {(bigint) 2 /* 42: ReduceAction72 < ReduceAction72: superclass init_table position */},
+  {(bigint) parser___ReduceAction72___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction72(void) {
@@ -43669,10 +45188,10 @@ val_t NEW_parser___ReduceAction72___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction73[44] = {
-  {(long int) 327 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction73 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction73 < ReduceAction: superclass typecheck marker */},
-  {(long int) 327 /* 3: ReduceAction73 < ReduceAction73: superclass typecheck marker */},
+  {(bigint) 327 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction73 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction73 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 327 /* 3: ReduceAction73 < ReduceAction73: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43682,37 +45201,37 @@ const classtable_elt_t VFT_ReduceAction73[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction73 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction73 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction73___action},
-  {(long int) 2 /* 42: ReduceAction73 < ReduceAction73: superclass init_table position */},
-  {(long int) parser___ReduceAction73___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction73 < 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) 1 /* 40: ReduceAction73 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction73___action},
+  {(bigint) 2 /* 42: ReduceAction73 < ReduceAction73: superclass init_table position */},
+  {(bigint) parser___ReduceAction73___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction73(void) {
@@ -43728,10 +45247,10 @@ val_t NEW_parser___ReduceAction73___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction74[44] = {
-  {(long int) 323 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction74 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction74 < ReduceAction: superclass typecheck marker */},
-  {(long int) 323 /* 3: ReduceAction74 < ReduceAction74: superclass typecheck marker */},
+  {(bigint) 323 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction74 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction74 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 323 /* 3: ReduceAction74 < ReduceAction74: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43741,37 +45260,37 @@ const classtable_elt_t VFT_ReduceAction74[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction74 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction74 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction74___action},
-  {(long int) 2 /* 42: ReduceAction74 < ReduceAction74: superclass init_table position */},
-  {(long int) parser___ReduceAction74___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction74 < 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) 1 /* 40: ReduceAction74 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction74___action},
+  {(bigint) 2 /* 42: ReduceAction74 < ReduceAction74: superclass init_table position */},
+  {(bigint) parser___ReduceAction74___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction74(void) {
@@ -43787,10 +45306,10 @@ val_t NEW_parser___ReduceAction74___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction75[44] = {
-  {(long int) 319 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction75 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction75 < ReduceAction: superclass typecheck marker */},
-  {(long int) 319 /* 3: ReduceAction75 < ReduceAction75: superclass typecheck marker */},
+  {(bigint) 319 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction75 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction75 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 319 /* 3: ReduceAction75 < ReduceAction75: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43800,37 +45319,37 @@ const classtable_elt_t VFT_ReduceAction75[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction75 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction75 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction75___action},
-  {(long int) 2 /* 42: ReduceAction75 < ReduceAction75: superclass init_table position */},
-  {(long int) parser___ReduceAction75___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction75 < 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) 1 /* 40: ReduceAction75 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction75___action},
+  {(bigint) 2 /* 42: ReduceAction75 < ReduceAction75: superclass init_table position */},
+  {(bigint) parser___ReduceAction75___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction75(void) {
@@ -43846,10 +45365,10 @@ val_t NEW_parser___ReduceAction75___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction76[44] = {
-  {(long int) 315 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction76 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction76 < ReduceAction: superclass typecheck marker */},
-  {(long int) 315 /* 3: ReduceAction76 < ReduceAction76: superclass typecheck marker */},
+  {(bigint) 315 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction76 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction76 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 315 /* 3: ReduceAction76 < ReduceAction76: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43859,37 +45378,37 @@ const classtable_elt_t VFT_ReduceAction76[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction76 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction76 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction76___action},
-  {(long int) 2 /* 42: ReduceAction76 < ReduceAction76: superclass init_table position */},
-  {(long int) parser___ReduceAction76___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction76 < 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) 1 /* 40: ReduceAction76 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction76___action},
+  {(bigint) 2 /* 42: ReduceAction76 < ReduceAction76: superclass init_table position */},
+  {(bigint) parser___ReduceAction76___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction76(void) {
@@ -43905,10 +45424,10 @@ val_t NEW_parser___ReduceAction76___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction77[44] = {
-  {(long int) 311 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction77 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction77 < ReduceAction: superclass typecheck marker */},
-  {(long int) 311 /* 3: ReduceAction77 < ReduceAction77: superclass typecheck marker */},
+  {(bigint) 311 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction77 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction77 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 311 /* 3: ReduceAction77 < ReduceAction77: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43918,37 +45437,37 @@ const classtable_elt_t VFT_ReduceAction77[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction77 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction77 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction77___action},
-  {(long int) 2 /* 42: ReduceAction77 < ReduceAction77: superclass init_table position */},
-  {(long int) parser___ReduceAction77___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction77 < 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) 1 /* 40: ReduceAction77 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction77___action},
+  {(bigint) 2 /* 42: ReduceAction77 < ReduceAction77: superclass init_table position */},
+  {(bigint) parser___ReduceAction77___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction77(void) {
@@ -43964,10 +45483,10 @@ val_t NEW_parser___ReduceAction77___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction78[44] = {
-  {(long int) 307 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction78 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction78 < ReduceAction: superclass typecheck marker */},
-  {(long int) 307 /* 3: ReduceAction78 < ReduceAction78: superclass typecheck marker */},
+  {(bigint) 307 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction78 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction78 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 307 /* 3: ReduceAction78 < ReduceAction78: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -43977,37 +45496,37 @@ const classtable_elt_t VFT_ReduceAction78[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction78 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction78 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction78___action},
-  {(long int) 2 /* 42: ReduceAction78 < ReduceAction78: superclass init_table position */},
-  {(long int) parser___ReduceAction78___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction78 < 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) 1 /* 40: ReduceAction78 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction78___action},
+  {(bigint) 2 /* 42: ReduceAction78 < ReduceAction78: superclass init_table position */},
+  {(bigint) parser___ReduceAction78___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction78(void) {
@@ -44023,10 +45542,10 @@ val_t NEW_parser___ReduceAction78___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction79[44] = {
-  {(long int) 303 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction79 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction79 < ReduceAction: superclass typecheck marker */},
-  {(long int) 303 /* 3: ReduceAction79 < ReduceAction79: superclass typecheck marker */},
+  {(bigint) 303 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction79 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction79 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 303 /* 3: ReduceAction79 < ReduceAction79: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44036,37 +45555,37 @@ const classtable_elt_t VFT_ReduceAction79[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction79 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction79 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction79___action},
-  {(long int) 2 /* 42: ReduceAction79 < ReduceAction79: superclass init_table position */},
-  {(long int) parser___ReduceAction79___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction79 < 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) 1 /* 40: ReduceAction79 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction79___action},
+  {(bigint) 2 /* 42: ReduceAction79 < ReduceAction79: superclass init_table position */},
+  {(bigint) parser___ReduceAction79___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction79(void) {
@@ -44082,10 +45601,10 @@ val_t NEW_parser___ReduceAction79___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction80[44] = {
-  {(long int) 295 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction80 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction80 < ReduceAction: superclass typecheck marker */},
-  {(long int) 295 /* 3: ReduceAction80 < ReduceAction80: superclass typecheck marker */},
+  {(bigint) 295 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction80 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction80 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 295 /* 3: ReduceAction80 < ReduceAction80: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44095,37 +45614,37 @@ const classtable_elt_t VFT_ReduceAction80[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction80 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction80 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction80___action},
-  {(long int) 2 /* 42: ReduceAction80 < ReduceAction80: superclass init_table position */},
-  {(long int) parser___ReduceAction80___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction80 < 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) 1 /* 40: ReduceAction80 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction80___action},
+  {(bigint) 2 /* 42: ReduceAction80 < ReduceAction80: superclass init_table position */},
+  {(bigint) parser___ReduceAction80___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction80(void) {
@@ -44141,10 +45660,10 @@ val_t NEW_parser___ReduceAction80___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction81[44] = {
-  {(long int) 291 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction81 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction81 < ReduceAction: superclass typecheck marker */},
-  {(long int) 291 /* 3: ReduceAction81 < ReduceAction81: superclass typecheck marker */},
+  {(bigint) 291 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction81 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction81 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 291 /* 3: ReduceAction81 < ReduceAction81: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44154,37 +45673,37 @@ const classtable_elt_t VFT_ReduceAction81[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction81 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction81 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction81___action},
-  {(long int) 2 /* 42: ReduceAction81 < ReduceAction81: superclass init_table position */},
-  {(long int) parser___ReduceAction81___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction81 < 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) 1 /* 40: ReduceAction81 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction81___action},
+  {(bigint) 2 /* 42: ReduceAction81 < ReduceAction81: superclass init_table position */},
+  {(bigint) parser___ReduceAction81___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction81(void) {
@@ -44200,10 +45719,10 @@ val_t NEW_parser___ReduceAction81___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction82[44] = {
-  {(long int) 287 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction82 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction82 < ReduceAction: superclass typecheck marker */},
-  {(long int) 287 /* 3: ReduceAction82 < ReduceAction82: superclass typecheck marker */},
+  {(bigint) 287 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction82 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction82 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 287 /* 3: ReduceAction82 < ReduceAction82: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44213,37 +45732,37 @@ const classtable_elt_t VFT_ReduceAction82[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction82 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction82 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction82___action},
-  {(long int) 2 /* 42: ReduceAction82 < ReduceAction82: superclass init_table position */},
-  {(long int) parser___ReduceAction82___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction82 < 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) 1 /* 40: ReduceAction82 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction82___action},
+  {(bigint) 2 /* 42: ReduceAction82 < ReduceAction82: superclass init_table position */},
+  {(bigint) parser___ReduceAction82___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction82(void) {
@@ -44259,10 +45778,10 @@ val_t NEW_parser___ReduceAction82___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction83[44] = {
-  {(long int) 283 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction83 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction83 < ReduceAction: superclass typecheck marker */},
-  {(long int) 283 /* 3: ReduceAction83 < ReduceAction83: superclass typecheck marker */},
+  {(bigint) 283 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction83 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction83 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 283 /* 3: ReduceAction83 < ReduceAction83: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44272,37 +45791,37 @@ const classtable_elt_t VFT_ReduceAction83[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction83 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction83 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction83___action},
-  {(long int) 2 /* 42: ReduceAction83 < ReduceAction83: superclass init_table position */},
-  {(long int) parser___ReduceAction83___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction83 < 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) 1 /* 40: ReduceAction83 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction83___action},
+  {(bigint) 2 /* 42: ReduceAction83 < ReduceAction83: superclass init_table position */},
+  {(bigint) parser___ReduceAction83___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction83(void) {
@@ -44318,10 +45837,10 @@ val_t NEW_parser___ReduceAction83___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction84[44] = {
-  {(long int) 279 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction84 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction84 < ReduceAction: superclass typecheck marker */},
-  {(long int) 279 /* 3: ReduceAction84 < ReduceAction84: superclass typecheck marker */},
+  {(bigint) 279 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction84 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction84 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 279 /* 3: ReduceAction84 < ReduceAction84: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44331,37 +45850,37 @@ const classtable_elt_t VFT_ReduceAction84[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction84 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction84 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction84___action},
-  {(long int) 2 /* 42: ReduceAction84 < ReduceAction84: superclass init_table position */},
-  {(long int) parser___ReduceAction84___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction84 < 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) 1 /* 40: ReduceAction84 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction84___action},
+  {(bigint) 2 /* 42: ReduceAction84 < ReduceAction84: superclass init_table position */},
+  {(bigint) parser___ReduceAction84___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction84(void) {
@@ -44377,10 +45896,10 @@ val_t NEW_parser___ReduceAction84___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction85[44] = {
-  {(long int) 275 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction85 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction85 < ReduceAction: superclass typecheck marker */},
-  {(long int) 275 /* 3: ReduceAction85 < ReduceAction85: superclass typecheck marker */},
+  {(bigint) 275 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction85 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction85 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 275 /* 3: ReduceAction85 < ReduceAction85: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44390,37 +45909,37 @@ const classtable_elt_t VFT_ReduceAction85[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction85 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction85 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction85___action},
-  {(long int) 2 /* 42: ReduceAction85 < ReduceAction85: superclass init_table position */},
-  {(long int) parser___ReduceAction85___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction85 < 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) 1 /* 40: ReduceAction85 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction85___action},
+  {(bigint) 2 /* 42: ReduceAction85 < ReduceAction85: superclass init_table position */},
+  {(bigint) parser___ReduceAction85___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction85(void) {
@@ -44436,10 +45955,10 @@ val_t NEW_parser___ReduceAction85___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction86[44] = {
-  {(long int) 271 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction86 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction86 < ReduceAction: superclass typecheck marker */},
-  {(long int) 271 /* 3: ReduceAction86 < ReduceAction86: superclass typecheck marker */},
+  {(bigint) 271 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction86 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction86 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 271 /* 3: ReduceAction86 < ReduceAction86: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44449,37 +45968,37 @@ const classtable_elt_t VFT_ReduceAction86[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction86 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction86 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction86___action},
-  {(long int) 2 /* 42: ReduceAction86 < ReduceAction86: superclass init_table position */},
-  {(long int) parser___ReduceAction86___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction86 < 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) 1 /* 40: ReduceAction86 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction86___action},
+  {(bigint) 2 /* 42: ReduceAction86 < ReduceAction86: superclass init_table position */},
+  {(bigint) parser___ReduceAction86___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction86(void) {
@@ -44495,10 +46014,10 @@ val_t NEW_parser___ReduceAction86___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction87[44] = {
-  {(long int) 267 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction87 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction87 < ReduceAction: superclass typecheck marker */},
-  {(long int) 267 /* 3: ReduceAction87 < ReduceAction87: superclass typecheck marker */},
+  {(bigint) 267 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction87 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction87 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 267 /* 3: ReduceAction87 < ReduceAction87: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44508,37 +46027,37 @@ const classtable_elt_t VFT_ReduceAction87[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction87 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction87 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction87___action},
-  {(long int) 2 /* 42: ReduceAction87 < ReduceAction87: superclass init_table position */},
-  {(long int) parser___ReduceAction87___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction87 < 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) 1 /* 40: ReduceAction87 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction87___action},
+  {(bigint) 2 /* 42: ReduceAction87 < ReduceAction87: superclass init_table position */},
+  {(bigint) parser___ReduceAction87___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction87(void) {
@@ -44554,10 +46073,10 @@ val_t NEW_parser___ReduceAction87___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction88[44] = {
-  {(long int) 263 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction88 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction88 < ReduceAction: superclass typecheck marker */},
-  {(long int) 263 /* 3: ReduceAction88 < ReduceAction88: superclass typecheck marker */},
+  {(bigint) 263 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction88 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction88 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 263 /* 3: ReduceAction88 < ReduceAction88: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44567,37 +46086,37 @@ const classtable_elt_t VFT_ReduceAction88[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction88 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction88 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction88___action},
-  {(long int) 2 /* 42: ReduceAction88 < ReduceAction88: superclass init_table position */},
-  {(long int) parser___ReduceAction88___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction88 < 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) 1 /* 40: ReduceAction88 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction88___action},
+  {(bigint) 2 /* 42: ReduceAction88 < ReduceAction88: superclass init_table position */},
+  {(bigint) parser___ReduceAction88___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction88(void) {
@@ -44613,10 +46132,10 @@ val_t NEW_parser___ReduceAction88___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction89[44] = {
-  {(long int) 259 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction89 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction89 < ReduceAction: superclass typecheck marker */},
-  {(long int) 259 /* 3: ReduceAction89 < ReduceAction89: superclass typecheck marker */},
+  {(bigint) 259 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction89 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction89 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 259 /* 3: ReduceAction89 < ReduceAction89: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44626,37 +46145,37 @@ const classtable_elt_t VFT_ReduceAction89[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction89 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction89 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction89___action},
-  {(long int) 2 /* 42: ReduceAction89 < ReduceAction89: superclass init_table position */},
-  {(long int) parser___ReduceAction89___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction89 < 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) 1 /* 40: ReduceAction89 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction89___action},
+  {(bigint) 2 /* 42: ReduceAction89 < ReduceAction89: superclass init_table position */},
+  {(bigint) parser___ReduceAction89___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction89(void) {
@@ -44672,10 +46191,10 @@ val_t NEW_parser___ReduceAction89___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction90[44] = {
-  {(long int) 251 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction90 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction90 < ReduceAction: superclass typecheck marker */},
-  {(long int) 251 /* 3: ReduceAction90 < ReduceAction90: superclass typecheck marker */},
+  {(bigint) 251 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction90 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction90 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 251 /* 3: ReduceAction90 < ReduceAction90: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44685,37 +46204,37 @@ const classtable_elt_t VFT_ReduceAction90[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction90 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction90 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction90___action},
-  {(long int) 2 /* 42: ReduceAction90 < ReduceAction90: superclass init_table position */},
-  {(long int) parser___ReduceAction90___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction90 < 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) 1 /* 40: ReduceAction90 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction90___action},
+  {(bigint) 2 /* 42: ReduceAction90 < ReduceAction90: superclass init_table position */},
+  {(bigint) parser___ReduceAction90___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction90(void) {
@@ -44731,10 +46250,10 @@ val_t NEW_parser___ReduceAction90___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction91[44] = {
-  {(long int) 247 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction91 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction91 < ReduceAction: superclass typecheck marker */},
-  {(long int) 247 /* 3: ReduceAction91 < ReduceAction91: superclass typecheck marker */},
+  {(bigint) 247 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction91 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction91 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 247 /* 3: ReduceAction91 < ReduceAction91: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44744,37 +46263,37 @@ const classtable_elt_t VFT_ReduceAction91[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction91 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction91 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction91___action},
-  {(long int) 2 /* 42: ReduceAction91 < ReduceAction91: superclass init_table position */},
-  {(long int) parser___ReduceAction91___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction91 < 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) 1 /* 40: ReduceAction91 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction91___action},
+  {(bigint) 2 /* 42: ReduceAction91 < ReduceAction91: superclass init_table position */},
+  {(bigint) parser___ReduceAction91___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction91(void) {
@@ -44790,10 +46309,10 @@ val_t NEW_parser___ReduceAction91___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction92[44] = {
-  {(long int) 243 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction92 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction92 < ReduceAction: superclass typecheck marker */},
-  {(long int) 243 /* 3: ReduceAction92 < ReduceAction92: superclass typecheck marker */},
+  {(bigint) 243 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction92 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction92 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 243 /* 3: ReduceAction92 < ReduceAction92: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44803,37 +46322,37 @@ const classtable_elt_t VFT_ReduceAction92[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction92 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction92 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction92___action},
-  {(long int) 2 /* 42: ReduceAction92 < ReduceAction92: superclass init_table position */},
-  {(long int) parser___ReduceAction92___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction92 < 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) 1 /* 40: ReduceAction92 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction92___action},
+  {(bigint) 2 /* 42: ReduceAction92 < ReduceAction92: superclass init_table position */},
+  {(bigint) parser___ReduceAction92___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction92(void) {
@@ -44849,10 +46368,10 @@ val_t NEW_parser___ReduceAction92___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction93[44] = {
-  {(long int) 239 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction93 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction93 < ReduceAction: superclass typecheck marker */},
-  {(long int) 239 /* 3: ReduceAction93 < ReduceAction93: superclass typecheck marker */},
+  {(bigint) 239 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction93 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction93 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 239 /* 3: ReduceAction93 < ReduceAction93: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44862,37 +46381,37 @@ const classtable_elt_t VFT_ReduceAction93[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction93 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction93 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction93___action},
-  {(long int) 2 /* 42: ReduceAction93 < ReduceAction93: superclass init_table position */},
-  {(long int) parser___ReduceAction93___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction93 < 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) 1 /* 40: ReduceAction93 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction93___action},
+  {(bigint) 2 /* 42: ReduceAction93 < ReduceAction93: superclass init_table position */},
+  {(bigint) parser___ReduceAction93___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction93(void) {
@@ -44908,10 +46427,10 @@ val_t NEW_parser___ReduceAction93___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction94[44] = {
-  {(long int) 235 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction94 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction94 < ReduceAction: superclass typecheck marker */},
-  {(long int) 235 /* 3: ReduceAction94 < ReduceAction94: superclass typecheck marker */},
+  {(bigint) 235 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction94 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction94 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 235 /* 3: ReduceAction94 < ReduceAction94: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44921,37 +46440,37 @@ const classtable_elt_t VFT_ReduceAction94[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction94 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction94 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction94___action},
-  {(long int) 2 /* 42: ReduceAction94 < ReduceAction94: superclass init_table position */},
-  {(long int) parser___ReduceAction94___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction94 < 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) 1 /* 40: ReduceAction94 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction94___action},
+  {(bigint) 2 /* 42: ReduceAction94 < ReduceAction94: superclass init_table position */},
+  {(bigint) parser___ReduceAction94___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction94(void) {
@@ -44967,10 +46486,10 @@ val_t NEW_parser___ReduceAction94___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction95[44] = {
-  {(long int) 231 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction95 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction95 < ReduceAction: superclass typecheck marker */},
-  {(long int) 231 /* 3: ReduceAction95 < ReduceAction95: superclass typecheck marker */},
+  {(bigint) 231 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction95 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction95 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 231 /* 3: ReduceAction95 < ReduceAction95: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -44980,37 +46499,37 @@ const classtable_elt_t VFT_ReduceAction95[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction95 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction95 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction95___action},
-  {(long int) 2 /* 42: ReduceAction95 < ReduceAction95: superclass init_table position */},
-  {(long int) parser___ReduceAction95___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction95 < 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) 1 /* 40: ReduceAction95 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction95___action},
+  {(bigint) 2 /* 42: ReduceAction95 < ReduceAction95: superclass init_table position */},
+  {(bigint) parser___ReduceAction95___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction95(void) {
@@ -45026,10 +46545,10 @@ val_t NEW_parser___ReduceAction95___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction96[44] = {
-  {(long int) 227 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction96 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction96 < ReduceAction: superclass typecheck marker */},
-  {(long int) 227 /* 3: ReduceAction96 < ReduceAction96: superclass typecheck marker */},
+  {(bigint) 227 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction96 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction96 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 227 /* 3: ReduceAction96 < ReduceAction96: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45039,37 +46558,37 @@ const classtable_elt_t VFT_ReduceAction96[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction96 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction96 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction96___action},
-  {(long int) 2 /* 42: ReduceAction96 < ReduceAction96: superclass init_table position */},
-  {(long int) parser___ReduceAction96___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction96 < 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) 1 /* 40: ReduceAction96 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction96___action},
+  {(bigint) 2 /* 42: ReduceAction96 < ReduceAction96: superclass init_table position */},
+  {(bigint) parser___ReduceAction96___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction96(void) {
@@ -45085,10 +46604,10 @@ val_t NEW_parser___ReduceAction96___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction97[44] = {
-  {(long int) 223 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction97 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction97 < ReduceAction: superclass typecheck marker */},
-  {(long int) 223 /* 3: ReduceAction97 < ReduceAction97: superclass typecheck marker */},
+  {(bigint) 223 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction97 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction97 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 223 /* 3: ReduceAction97 < ReduceAction97: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45098,37 +46617,37 @@ const classtable_elt_t VFT_ReduceAction97[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction97 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction97 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction97___action},
-  {(long int) 2 /* 42: ReduceAction97 < ReduceAction97: superclass init_table position */},
-  {(long int) parser___ReduceAction97___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction97 < 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) 1 /* 40: ReduceAction97 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction97___action},
+  {(bigint) 2 /* 42: ReduceAction97 < ReduceAction97: superclass init_table position */},
+  {(bigint) parser___ReduceAction97___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction97(void) {
@@ -45144,10 +46663,10 @@ val_t NEW_parser___ReduceAction97___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction98[44] = {
-  {(long int) 219 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction98 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction98 < ReduceAction: superclass typecheck marker */},
-  {(long int) 219 /* 3: ReduceAction98 < ReduceAction98: superclass typecheck marker */},
+  {(bigint) 219 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction98 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction98 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 219 /* 3: ReduceAction98 < ReduceAction98: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45157,37 +46676,37 @@ const classtable_elt_t VFT_ReduceAction98[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction98 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction98 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction98___action},
-  {(long int) 2 /* 42: ReduceAction98 < ReduceAction98: superclass init_table position */},
-  {(long int) parser___ReduceAction98___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction98 < 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) 1 /* 40: ReduceAction98 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction98___action},
+  {(bigint) 2 /* 42: ReduceAction98 < ReduceAction98: superclass init_table position */},
+  {(bigint) parser___ReduceAction98___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction98(void) {
@@ -45203,10 +46722,10 @@ val_t NEW_parser___ReduceAction98___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction99[44] = {
-  {(long int) 215 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction99 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction99 < ReduceAction: superclass typecheck marker */},
-  {(long int) 215 /* 3: ReduceAction99 < ReduceAction99: superclass typecheck marker */},
+  {(bigint) 215 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction99 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction99 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 215 /* 3: ReduceAction99 < ReduceAction99: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45216,37 +46735,37 @@ const classtable_elt_t VFT_ReduceAction99[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction99 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction99 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction99___action},
-  {(long int) 2 /* 42: ReduceAction99 < ReduceAction99: superclass init_table position */},
-  {(long int) parser___ReduceAction99___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction99 < 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) 1 /* 40: ReduceAction99 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction99___action},
+  {(bigint) 2 /* 42: ReduceAction99 < ReduceAction99: superclass init_table position */},
+  {(bigint) parser___ReduceAction99___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction99(void) {
@@ -45262,10 +46781,10 @@ val_t NEW_parser___ReduceAction99___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction100[44] = {
-  {(long int) 2475 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction100 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction100 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2475 /* 3: ReduceAction100 < ReduceAction100: superclass typecheck marker */},
+  {(bigint) 2491 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction100 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction100 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2491 /* 3: ReduceAction100 < ReduceAction100: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45275,37 +46794,37 @@ const classtable_elt_t VFT_ReduceAction100[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction100 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction100 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction100___action},
-  {(long int) 2 /* 42: ReduceAction100 < ReduceAction100: superclass init_table position */},
-  {(long int) parser___ReduceAction100___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction100 < 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) 1 /* 40: ReduceAction100 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction100___action},
+  {(bigint) 2 /* 42: ReduceAction100 < ReduceAction100: superclass init_table position */},
+  {(bigint) parser___ReduceAction100___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction100(void) {
@@ -45321,10 +46840,10 @@ val_t NEW_parser___ReduceAction100___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction101[44] = {
-  {(long int) 2471 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction101 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction101 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2471 /* 3: ReduceAction101 < ReduceAction101: superclass typecheck marker */},
+  {(bigint) 2487 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction101 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction101 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2487 /* 3: ReduceAction101 < ReduceAction101: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45334,37 +46853,37 @@ const classtable_elt_t VFT_ReduceAction101[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction101 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction101 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction101___action},
-  {(long int) 2 /* 42: ReduceAction101 < ReduceAction101: superclass init_table position */},
-  {(long int) parser___ReduceAction101___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction101 < 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) 1 /* 40: ReduceAction101 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction101___action},
+  {(bigint) 2 /* 42: ReduceAction101 < ReduceAction101: superclass init_table position */},
+  {(bigint) parser___ReduceAction101___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction101(void) {
@@ -45380,10 +46899,10 @@ val_t NEW_parser___ReduceAction101___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction102[44] = {
-  {(long int) 2467 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction102 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction102 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2467 /* 3: ReduceAction102 < ReduceAction102: superclass typecheck marker */},
+  {(bigint) 2483 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction102 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction102 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2483 /* 3: ReduceAction102 < ReduceAction102: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45393,37 +46912,37 @@ const classtable_elt_t VFT_ReduceAction102[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction102 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction102 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction102___action},
-  {(long int) 2 /* 42: ReduceAction102 < ReduceAction102: superclass init_table position */},
-  {(long int) parser___ReduceAction102___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction102 < 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) 1 /* 40: ReduceAction102 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction102___action},
+  {(bigint) 2 /* 42: ReduceAction102 < ReduceAction102: superclass init_table position */},
+  {(bigint) parser___ReduceAction102___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction102(void) {
@@ -45439,10 +46958,10 @@ val_t NEW_parser___ReduceAction102___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction103[44] = {
-  {(long int) 2463 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction103 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction103 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2463 /* 3: ReduceAction103 < ReduceAction103: superclass typecheck marker */},
+  {(bigint) 2479 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction103 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction103 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2479 /* 3: ReduceAction103 < ReduceAction103: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45452,37 +46971,37 @@ const classtable_elt_t VFT_ReduceAction103[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction103 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction103 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction103___action},
-  {(long int) 2 /* 42: ReduceAction103 < ReduceAction103: superclass init_table position */},
-  {(long int) parser___ReduceAction103___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction103 < 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) 1 /* 40: ReduceAction103 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction103___action},
+  {(bigint) 2 /* 42: ReduceAction103 < ReduceAction103: superclass init_table position */},
+  {(bigint) parser___ReduceAction103___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction103(void) {
@@ -45498,10 +47017,10 @@ val_t NEW_parser___ReduceAction103___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction104[44] = {
-  {(long int) 2459 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction104 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction104 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2459 /* 3: ReduceAction104 < ReduceAction104: superclass typecheck marker */},
+  {(bigint) 2475 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction104 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction104 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2475 /* 3: ReduceAction104 < ReduceAction104: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45511,37 +47030,37 @@ const classtable_elt_t VFT_ReduceAction104[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction104 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction104 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction104___action},
-  {(long int) 2 /* 42: ReduceAction104 < ReduceAction104: superclass init_table position */},
-  {(long int) parser___ReduceAction104___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction104 < 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) 1 /* 40: ReduceAction104 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction104___action},
+  {(bigint) 2 /* 42: ReduceAction104 < ReduceAction104: superclass init_table position */},
+  {(bigint) parser___ReduceAction104___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction104(void) {
@@ -45557,10 +47076,10 @@ val_t NEW_parser___ReduceAction104___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction105[44] = {
-  {(long int) 2455 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction105 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction105 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2455 /* 3: ReduceAction105 < ReduceAction105: superclass typecheck marker */},
+  {(bigint) 2471 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction105 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction105 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2471 /* 3: ReduceAction105 < ReduceAction105: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45570,37 +47089,37 @@ const classtable_elt_t VFT_ReduceAction105[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction105 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction105 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction105___action},
-  {(long int) 2 /* 42: ReduceAction105 < ReduceAction105: superclass init_table position */},
-  {(long int) parser___ReduceAction105___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction105 < 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) 1 /* 40: ReduceAction105 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction105___action},
+  {(bigint) 2 /* 42: ReduceAction105 < ReduceAction105: superclass init_table position */},
+  {(bigint) parser___ReduceAction105___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction105(void) {
@@ -45616,10 +47135,10 @@ val_t NEW_parser___ReduceAction105___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction106[44] = {
-  {(long int) 2451 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction106 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction106 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2451 /* 3: ReduceAction106 < ReduceAction106: superclass typecheck marker */},
+  {(bigint) 2467 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction106 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction106 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2467 /* 3: ReduceAction106 < ReduceAction106: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45629,37 +47148,37 @@ const classtable_elt_t VFT_ReduceAction106[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction106 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction106 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction106___action},
-  {(long int) 2 /* 42: ReduceAction106 < ReduceAction106: superclass init_table position */},
-  {(long int) parser___ReduceAction106___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction106 < 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) 1 /* 40: ReduceAction106 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction106___action},
+  {(bigint) 2 /* 42: ReduceAction106 < ReduceAction106: superclass init_table position */},
+  {(bigint) parser___ReduceAction106___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction106(void) {
@@ -45675,10 +47194,10 @@ val_t NEW_parser___ReduceAction106___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction107[44] = {
-  {(long int) 2447 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction107 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction107 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2447 /* 3: ReduceAction107 < ReduceAction107: superclass typecheck marker */},
+  {(bigint) 2463 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction107 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction107 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2463 /* 3: ReduceAction107 < ReduceAction107: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45688,37 +47207,37 @@ const classtable_elt_t VFT_ReduceAction107[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction107 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction107 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction107___action},
-  {(long int) 2 /* 42: ReduceAction107 < ReduceAction107: superclass init_table position */},
-  {(long int) parser___ReduceAction107___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction107 < 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) 1 /* 40: ReduceAction107 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction107___action},
+  {(bigint) 2 /* 42: ReduceAction107 < ReduceAction107: superclass init_table position */},
+  {(bigint) parser___ReduceAction107___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction107(void) {
@@ -45734,10 +47253,10 @@ val_t NEW_parser___ReduceAction107___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction108[44] = {
-  {(long int) 2443 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction108 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction108 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2443 /* 3: ReduceAction108 < ReduceAction108: superclass typecheck marker */},
+  {(bigint) 2459 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction108 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction108 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2459 /* 3: ReduceAction108 < ReduceAction108: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45747,37 +47266,37 @@ const classtable_elt_t VFT_ReduceAction108[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction108 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction108 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction108___action},
-  {(long int) 2 /* 42: ReduceAction108 < ReduceAction108: superclass init_table position */},
-  {(long int) parser___ReduceAction108___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction108 < 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) 1 /* 40: ReduceAction108 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction108___action},
+  {(bigint) 2 /* 42: ReduceAction108 < ReduceAction108: superclass init_table position */},
+  {(bigint) parser___ReduceAction108___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction108(void) {
@@ -45793,10 +47312,10 @@ val_t NEW_parser___ReduceAction108___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction109[44] = {
-  {(long int) 2439 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction109 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction109 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2439 /* 3: ReduceAction109 < ReduceAction109: superclass typecheck marker */},
+  {(bigint) 2455 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction109 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction109 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2455 /* 3: ReduceAction109 < ReduceAction109: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45806,37 +47325,37 @@ const classtable_elt_t VFT_ReduceAction109[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction109 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction109 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction109___action},
-  {(long int) 2 /* 42: ReduceAction109 < ReduceAction109: superclass init_table position */},
-  {(long int) parser___ReduceAction109___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction109 < 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) 1 /* 40: ReduceAction109 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction109___action},
+  {(bigint) 2 /* 42: ReduceAction109 < ReduceAction109: superclass init_table position */},
+  {(bigint) parser___ReduceAction109___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction109(void) {
@@ -45852,10 +47371,10 @@ val_t NEW_parser___ReduceAction109___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction110[44] = {
-  {(long int) 2431 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction110 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction110 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2431 /* 3: ReduceAction110 < ReduceAction110: superclass typecheck marker */},
+  {(bigint) 2447 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction110 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction110 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2447 /* 3: ReduceAction110 < ReduceAction110: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45865,37 +47384,37 @@ const classtable_elt_t VFT_ReduceAction110[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction110 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction110 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction110___action},
-  {(long int) 2 /* 42: ReduceAction110 < ReduceAction110: superclass init_table position */},
-  {(long int) parser___ReduceAction110___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction110 < 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) 1 /* 40: ReduceAction110 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction110___action},
+  {(bigint) 2 /* 42: ReduceAction110 < ReduceAction110: superclass init_table position */},
+  {(bigint) parser___ReduceAction110___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction110(void) {
@@ -45911,10 +47430,10 @@ val_t NEW_parser___ReduceAction110___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction111[44] = {
-  {(long int) 2427 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction111 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction111 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2427 /* 3: ReduceAction111 < ReduceAction111: superclass typecheck marker */},
+  {(bigint) 2443 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction111 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction111 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2443 /* 3: ReduceAction111 < ReduceAction111: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45924,37 +47443,37 @@ const classtable_elt_t VFT_ReduceAction111[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction111 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction111 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction111___action},
-  {(long int) 2 /* 42: ReduceAction111 < ReduceAction111: superclass init_table position */},
-  {(long int) parser___ReduceAction111___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction111 < 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) 1 /* 40: ReduceAction111 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction111___action},
+  {(bigint) 2 /* 42: ReduceAction111 < ReduceAction111: superclass init_table position */},
+  {(bigint) parser___ReduceAction111___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction111(void) {
@@ -45970,10 +47489,10 @@ val_t NEW_parser___ReduceAction111___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction112[44] = {
-  {(long int) 2423 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction112 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction112 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2423 /* 3: ReduceAction112 < ReduceAction112: superclass typecheck marker */},
+  {(bigint) 2439 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction112 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction112 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2439 /* 3: ReduceAction112 < ReduceAction112: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -45983,37 +47502,37 @@ const classtable_elt_t VFT_ReduceAction112[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction112 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction112 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction112___action},
-  {(long int) 2 /* 42: ReduceAction112 < ReduceAction112: superclass init_table position */},
-  {(long int) parser___ReduceAction112___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction112 < 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) 1 /* 40: ReduceAction112 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction112___action},
+  {(bigint) 2 /* 42: ReduceAction112 < ReduceAction112: superclass init_table position */},
+  {(bigint) parser___ReduceAction112___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction112(void) {
@@ -46029,10 +47548,10 @@ val_t NEW_parser___ReduceAction112___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction113[44] = {
-  {(long int) 2419 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction113 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction113 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2419 /* 3: ReduceAction113 < ReduceAction113: superclass typecheck marker */},
+  {(bigint) 2435 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction113 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction113 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2435 /* 3: ReduceAction113 < ReduceAction113: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46042,37 +47561,37 @@ const classtable_elt_t VFT_ReduceAction113[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction113 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction113 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction113___action},
-  {(long int) 2 /* 42: ReduceAction113 < ReduceAction113: superclass init_table position */},
-  {(long int) parser___ReduceAction113___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction113 < 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) 1 /* 40: ReduceAction113 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction113___action},
+  {(bigint) 2 /* 42: ReduceAction113 < ReduceAction113: superclass init_table position */},
+  {(bigint) parser___ReduceAction113___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction113(void) {
@@ -46088,10 +47607,10 @@ val_t NEW_parser___ReduceAction113___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction114[44] = {
-  {(long int) 2415 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction114 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction114 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2415 /* 3: ReduceAction114 < ReduceAction114: superclass typecheck marker */},
+  {(bigint) 2431 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction114 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction114 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2431 /* 3: ReduceAction114 < ReduceAction114: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46101,37 +47620,37 @@ const classtable_elt_t VFT_ReduceAction114[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction114 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction114 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction114___action},
-  {(long int) 2 /* 42: ReduceAction114 < ReduceAction114: superclass init_table position */},
-  {(long int) parser___ReduceAction114___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction114 < 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) 1 /* 40: ReduceAction114 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction114___action},
+  {(bigint) 2 /* 42: ReduceAction114 < ReduceAction114: superclass init_table position */},
+  {(bigint) parser___ReduceAction114___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction114(void) {
@@ -46147,10 +47666,10 @@ val_t NEW_parser___ReduceAction114___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction115[44] = {
-  {(long int) 2411 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction115 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction115 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2411 /* 3: ReduceAction115 < ReduceAction115: superclass typecheck marker */},
+  {(bigint) 2427 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction115 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction115 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2427 /* 3: ReduceAction115 < ReduceAction115: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46160,37 +47679,37 @@ const classtable_elt_t VFT_ReduceAction115[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction115 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction115 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction115___action},
-  {(long int) 2 /* 42: ReduceAction115 < ReduceAction115: superclass init_table position */},
-  {(long int) parser___ReduceAction115___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction115 < 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) 1 /* 40: ReduceAction115 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction115___action},
+  {(bigint) 2 /* 42: ReduceAction115 < ReduceAction115: superclass init_table position */},
+  {(bigint) parser___ReduceAction115___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction115(void) {
@@ -46206,10 +47725,10 @@ val_t NEW_parser___ReduceAction115___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction116[44] = {
-  {(long int) 2407 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction116 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction116 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2407 /* 3: ReduceAction116 < ReduceAction116: superclass typecheck marker */},
+  {(bigint) 2423 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction116 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction116 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2423 /* 3: ReduceAction116 < ReduceAction116: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46219,37 +47738,37 @@ const classtable_elt_t VFT_ReduceAction116[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction116 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction116 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction116___action},
-  {(long int) 2 /* 42: ReduceAction116 < ReduceAction116: superclass init_table position */},
-  {(long int) parser___ReduceAction116___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction116 < 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) 1 /* 40: ReduceAction116 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction116___action},
+  {(bigint) 2 /* 42: ReduceAction116 < ReduceAction116: superclass init_table position */},
+  {(bigint) parser___ReduceAction116___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction116(void) {
@@ -46265,10 +47784,10 @@ val_t NEW_parser___ReduceAction116___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction117[44] = {
-  {(long int) 2403 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction117 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction117 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2403 /* 3: ReduceAction117 < ReduceAction117: superclass typecheck marker */},
+  {(bigint) 2419 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction117 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction117 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2419 /* 3: ReduceAction117 < ReduceAction117: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46278,37 +47797,37 @@ const classtable_elt_t VFT_ReduceAction117[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction117 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction117 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction117___action},
-  {(long int) 2 /* 42: ReduceAction117 < ReduceAction117: superclass init_table position */},
-  {(long int) parser___ReduceAction117___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction117 < 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) 1 /* 40: ReduceAction117 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction117___action},
+  {(bigint) 2 /* 42: ReduceAction117 < ReduceAction117: superclass init_table position */},
+  {(bigint) parser___ReduceAction117___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction117(void) {
@@ -46324,10 +47843,10 @@ val_t NEW_parser___ReduceAction117___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction118[44] = {
-  {(long int) 2399 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction118 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction118 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2399 /* 3: ReduceAction118 < ReduceAction118: superclass typecheck marker */},
+  {(bigint) 2415 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction118 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction118 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2415 /* 3: ReduceAction118 < ReduceAction118: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46337,37 +47856,37 @@ const classtable_elt_t VFT_ReduceAction118[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction118 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction118 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction118___action},
-  {(long int) 2 /* 42: ReduceAction118 < ReduceAction118: superclass init_table position */},
-  {(long int) parser___ReduceAction118___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction118 < 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) 1 /* 40: ReduceAction118 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction118___action},
+  {(bigint) 2 /* 42: ReduceAction118 < ReduceAction118: superclass init_table position */},
+  {(bigint) parser___ReduceAction118___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction118(void) {
@@ -46383,10 +47902,10 @@ val_t NEW_parser___ReduceAction118___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction119[44] = {
-  {(long int) 2395 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction119 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction119 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2395 /* 3: ReduceAction119 < ReduceAction119: superclass typecheck marker */},
+  {(bigint) 2411 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction119 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction119 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2411 /* 3: ReduceAction119 < ReduceAction119: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46396,37 +47915,37 @@ const classtable_elt_t VFT_ReduceAction119[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction119 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction119 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction119___action},
-  {(long int) 2 /* 42: ReduceAction119 < ReduceAction119: superclass init_table position */},
-  {(long int) parser___ReduceAction119___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction119 < 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) 1 /* 40: ReduceAction119 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction119___action},
+  {(bigint) 2 /* 42: ReduceAction119 < ReduceAction119: superclass init_table position */},
+  {(bigint) parser___ReduceAction119___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction119(void) {
@@ -46442,10 +47961,10 @@ val_t NEW_parser___ReduceAction119___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction120[44] = {
-  {(long int) 2387 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction120 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction120 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2387 /* 3: ReduceAction120 < ReduceAction120: superclass typecheck marker */},
+  {(bigint) 2403 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction120 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction120 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2403 /* 3: ReduceAction120 < ReduceAction120: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46455,37 +47974,37 @@ const classtable_elt_t VFT_ReduceAction120[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction120 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction120 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction120___action},
-  {(long int) 2 /* 42: ReduceAction120 < ReduceAction120: superclass init_table position */},
-  {(long int) parser___ReduceAction120___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction120 < 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) 1 /* 40: ReduceAction120 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction120___action},
+  {(bigint) 2 /* 42: ReduceAction120 < ReduceAction120: superclass init_table position */},
+  {(bigint) parser___ReduceAction120___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction120(void) {
@@ -46501,10 +48020,10 @@ val_t NEW_parser___ReduceAction120___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction121[44] = {
-  {(long int) 2383 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction121 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction121 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2383 /* 3: ReduceAction121 < ReduceAction121: superclass typecheck marker */},
+  {(bigint) 2399 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction121 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction121 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2399 /* 3: ReduceAction121 < ReduceAction121: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46514,37 +48033,37 @@ const classtable_elt_t VFT_ReduceAction121[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction121 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction121 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction121___action},
-  {(long int) 2 /* 42: ReduceAction121 < ReduceAction121: superclass init_table position */},
-  {(long int) parser___ReduceAction121___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction121 < 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) 1 /* 40: ReduceAction121 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction121___action},
+  {(bigint) 2 /* 42: ReduceAction121 < ReduceAction121: superclass init_table position */},
+  {(bigint) parser___ReduceAction121___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction121(void) {
@@ -46560,10 +48079,10 @@ val_t NEW_parser___ReduceAction121___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction122[44] = {
-  {(long int) 2379 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction122 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction122 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2379 /* 3: ReduceAction122 < ReduceAction122: superclass typecheck marker */},
+  {(bigint) 2395 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction122 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction122 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2395 /* 3: ReduceAction122 < ReduceAction122: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46573,37 +48092,37 @@ const classtable_elt_t VFT_ReduceAction122[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction122 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction122 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction122___action},
-  {(long int) 2 /* 42: ReduceAction122 < ReduceAction122: superclass init_table position */},
-  {(long int) parser___ReduceAction122___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction122 < 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) 1 /* 40: ReduceAction122 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction122___action},
+  {(bigint) 2 /* 42: ReduceAction122 < ReduceAction122: superclass init_table position */},
+  {(bigint) parser___ReduceAction122___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction122(void) {
@@ -46619,10 +48138,10 @@ val_t NEW_parser___ReduceAction122___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction123[44] = {
-  {(long int) 2375 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction123 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction123 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2375 /* 3: ReduceAction123 < ReduceAction123: superclass typecheck marker */},
+  {(bigint) 2391 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction123 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction123 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2391 /* 3: ReduceAction123 < ReduceAction123: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46632,37 +48151,37 @@ const classtable_elt_t VFT_ReduceAction123[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction123 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction123 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction123___action},
-  {(long int) 2 /* 42: ReduceAction123 < ReduceAction123: superclass init_table position */},
-  {(long int) parser___ReduceAction123___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction123 < 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) 1 /* 40: ReduceAction123 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction123___action},
+  {(bigint) 2 /* 42: ReduceAction123 < ReduceAction123: superclass init_table position */},
+  {(bigint) parser___ReduceAction123___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction123(void) {
@@ -46678,10 +48197,10 @@ val_t NEW_parser___ReduceAction123___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction124[44] = {
-  {(long int) 2371 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction124 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction124 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2371 /* 3: ReduceAction124 < ReduceAction124: superclass typecheck marker */},
+  {(bigint) 2387 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction124 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction124 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2387 /* 3: ReduceAction124 < ReduceAction124: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46691,37 +48210,37 @@ const classtable_elt_t VFT_ReduceAction124[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction124 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction124 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction124___action},
-  {(long int) 2 /* 42: ReduceAction124 < ReduceAction124: superclass init_table position */},
-  {(long int) parser___ReduceAction124___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction124 < 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) 1 /* 40: ReduceAction124 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction124___action},
+  {(bigint) 2 /* 42: ReduceAction124 < ReduceAction124: superclass init_table position */},
+  {(bigint) parser___ReduceAction124___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction124(void) {
@@ -46737,10 +48256,10 @@ val_t NEW_parser___ReduceAction124___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction125[44] = {
-  {(long int) 2367 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction125 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction125 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2367 /* 3: ReduceAction125 < ReduceAction125: superclass typecheck marker */},
+  {(bigint) 2383 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction125 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction125 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2383 /* 3: ReduceAction125 < ReduceAction125: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46750,37 +48269,37 @@ const classtable_elt_t VFT_ReduceAction125[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction125 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction125 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction125___action},
-  {(long int) 2 /* 42: ReduceAction125 < ReduceAction125: superclass init_table position */},
-  {(long int) parser___ReduceAction125___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction125 < 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) 1 /* 40: ReduceAction125 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction125___action},
+  {(bigint) 2 /* 42: ReduceAction125 < ReduceAction125: superclass init_table position */},
+  {(bigint) parser___ReduceAction125___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction125(void) {
@@ -46796,10 +48315,10 @@ val_t NEW_parser___ReduceAction125___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction126[44] = {
-  {(long int) 2363 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction126 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction126 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2363 /* 3: ReduceAction126 < ReduceAction126: superclass typecheck marker */},
+  {(bigint) 2379 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction126 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction126 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2379 /* 3: ReduceAction126 < ReduceAction126: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46809,37 +48328,37 @@ const classtable_elt_t VFT_ReduceAction126[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction126 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction126 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction126___action},
-  {(long int) 2 /* 42: ReduceAction126 < ReduceAction126: superclass init_table position */},
-  {(long int) parser___ReduceAction126___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction126 < 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) 1 /* 40: ReduceAction126 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction126___action},
+  {(bigint) 2 /* 42: ReduceAction126 < ReduceAction126: superclass init_table position */},
+  {(bigint) parser___ReduceAction126___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction126(void) {
@@ -46855,10 +48374,10 @@ val_t NEW_parser___ReduceAction126___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction127[44] = {
-  {(long int) 2359 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction127 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction127 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2359 /* 3: ReduceAction127 < ReduceAction127: superclass typecheck marker */},
+  {(bigint) 2375 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction127 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction127 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2375 /* 3: ReduceAction127 < ReduceAction127: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46868,37 +48387,37 @@ const classtable_elt_t VFT_ReduceAction127[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction127 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction127 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction127___action},
-  {(long int) 2 /* 42: ReduceAction127 < ReduceAction127: superclass init_table position */},
-  {(long int) parser___ReduceAction127___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction127 < 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) 1 /* 40: ReduceAction127 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction127___action},
+  {(bigint) 2 /* 42: ReduceAction127 < ReduceAction127: superclass init_table position */},
+  {(bigint) parser___ReduceAction127___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction127(void) {
@@ -46914,10 +48433,10 @@ val_t NEW_parser___ReduceAction127___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction128[44] = {
-  {(long int) 2355 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction128 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction128 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2355 /* 3: ReduceAction128 < ReduceAction128: superclass typecheck marker */},
+  {(bigint) 2371 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction128 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction128 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2371 /* 3: ReduceAction128 < ReduceAction128: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46927,37 +48446,37 @@ const classtable_elt_t VFT_ReduceAction128[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction128 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction128 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction128___action},
-  {(long int) 2 /* 42: ReduceAction128 < ReduceAction128: superclass init_table position */},
-  {(long int) parser___ReduceAction128___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction128 < 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) 1 /* 40: ReduceAction128 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction128___action},
+  {(bigint) 2 /* 42: ReduceAction128 < ReduceAction128: superclass init_table position */},
+  {(bigint) parser___ReduceAction128___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction128(void) {
@@ -46973,10 +48492,10 @@ val_t NEW_parser___ReduceAction128___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction129[44] = {
-  {(long int) 2351 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction129 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction129 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2351 /* 3: ReduceAction129 < ReduceAction129: superclass typecheck marker */},
+  {(bigint) 2367 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction129 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction129 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2367 /* 3: ReduceAction129 < ReduceAction129: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -46986,37 +48505,37 @@ const classtable_elt_t VFT_ReduceAction129[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction129 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction129 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction129___action},
-  {(long int) 2 /* 42: ReduceAction129 < ReduceAction129: superclass init_table position */},
-  {(long int) parser___ReduceAction129___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction129 < 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) 1 /* 40: ReduceAction129 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction129___action},
+  {(bigint) 2 /* 42: ReduceAction129 < ReduceAction129: superclass init_table position */},
+  {(bigint) parser___ReduceAction129___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction129(void) {
@@ -47032,10 +48551,10 @@ val_t NEW_parser___ReduceAction129___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction130[44] = {
-  {(long int) 2343 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction130 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction130 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2343 /* 3: ReduceAction130 < ReduceAction130: superclass typecheck marker */},
+  {(bigint) 2359 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction130 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction130 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2359 /* 3: ReduceAction130 < ReduceAction130: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47045,37 +48564,37 @@ const classtable_elt_t VFT_ReduceAction130[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction130 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction130 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction130___action},
-  {(long int) 2 /* 42: ReduceAction130 < ReduceAction130: superclass init_table position */},
-  {(long int) parser___ReduceAction130___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction130 < 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) 1 /* 40: ReduceAction130 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction130___action},
+  {(bigint) 2 /* 42: ReduceAction130 < ReduceAction130: superclass init_table position */},
+  {(bigint) parser___ReduceAction130___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction130(void) {
@@ -47091,10 +48610,10 @@ val_t NEW_parser___ReduceAction130___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction131[44] = {
-  {(long int) 2339 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction131 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction131 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2339 /* 3: ReduceAction131 < ReduceAction131: superclass typecheck marker */},
+  {(bigint) 2355 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction131 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction131 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2355 /* 3: ReduceAction131 < ReduceAction131: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47104,37 +48623,37 @@ const classtable_elt_t VFT_ReduceAction131[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction131 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction131 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction131___action},
-  {(long int) 2 /* 42: ReduceAction131 < ReduceAction131: superclass init_table position */},
-  {(long int) parser___ReduceAction131___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction131 < 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) 1 /* 40: ReduceAction131 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction131___action},
+  {(bigint) 2 /* 42: ReduceAction131 < ReduceAction131: superclass init_table position */},
+  {(bigint) parser___ReduceAction131___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction131(void) {
@@ -47150,10 +48669,10 @@ val_t NEW_parser___ReduceAction131___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction132[44] = {
-  {(long int) 2335 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction132 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction132 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2335 /* 3: ReduceAction132 < ReduceAction132: superclass typecheck marker */},
+  {(bigint) 2351 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction132 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction132 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2351 /* 3: ReduceAction132 < ReduceAction132: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47163,37 +48682,37 @@ const classtable_elt_t VFT_ReduceAction132[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction132 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction132 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction132___action},
-  {(long int) 2 /* 42: ReduceAction132 < ReduceAction132: superclass init_table position */},
-  {(long int) parser___ReduceAction132___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction132 < 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) 1 /* 40: ReduceAction132 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction132___action},
+  {(bigint) 2 /* 42: ReduceAction132 < ReduceAction132: superclass init_table position */},
+  {(bigint) parser___ReduceAction132___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction132(void) {
@@ -47209,10 +48728,10 @@ val_t NEW_parser___ReduceAction132___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction133[44] = {
-  {(long int) 2331 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction133 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction133 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2331 /* 3: ReduceAction133 < ReduceAction133: superclass typecheck marker */},
+  {(bigint) 2347 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction133 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction133 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2347 /* 3: ReduceAction133 < ReduceAction133: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47222,37 +48741,37 @@ const classtable_elt_t VFT_ReduceAction133[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction133 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction133 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction133___action},
-  {(long int) 2 /* 42: ReduceAction133 < ReduceAction133: superclass init_table position */},
-  {(long int) parser___ReduceAction133___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction133 < 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) 1 /* 40: ReduceAction133 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction133___action},
+  {(bigint) 2 /* 42: ReduceAction133 < ReduceAction133: superclass init_table position */},
+  {(bigint) parser___ReduceAction133___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction133(void) {
@@ -47268,10 +48787,10 @@ val_t NEW_parser___ReduceAction133___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction134[44] = {
-  {(long int) 2327 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction134 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction134 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2327 /* 3: ReduceAction134 < ReduceAction134: superclass typecheck marker */},
+  {(bigint) 2343 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction134 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction134 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2343 /* 3: ReduceAction134 < ReduceAction134: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47281,37 +48800,37 @@ const classtable_elt_t VFT_ReduceAction134[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction134 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction134 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction134___action},
-  {(long int) 2 /* 42: ReduceAction134 < ReduceAction134: superclass init_table position */},
-  {(long int) parser___ReduceAction134___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction134 < 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) 1 /* 40: ReduceAction134 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction134___action},
+  {(bigint) 2 /* 42: ReduceAction134 < ReduceAction134: superclass init_table position */},
+  {(bigint) parser___ReduceAction134___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction134(void) {
@@ -47327,10 +48846,10 @@ val_t NEW_parser___ReduceAction134___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction135[44] = {
-  {(long int) 2323 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction135 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction135 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2323 /* 3: ReduceAction135 < ReduceAction135: superclass typecheck marker */},
+  {(bigint) 2339 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction135 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction135 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2339 /* 3: ReduceAction135 < ReduceAction135: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47340,37 +48859,37 @@ const classtable_elt_t VFT_ReduceAction135[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction135 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction135 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction135___action},
-  {(long int) 2 /* 42: ReduceAction135 < ReduceAction135: superclass init_table position */},
-  {(long int) parser___ReduceAction135___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction135 < 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) 1 /* 40: ReduceAction135 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction135___action},
+  {(bigint) 2 /* 42: ReduceAction135 < ReduceAction135: superclass init_table position */},
+  {(bigint) parser___ReduceAction135___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction135(void) {
@@ -47386,10 +48905,10 @@ val_t NEW_parser___ReduceAction135___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction136[44] = {
-  {(long int) 2319 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction136 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction136 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2319 /* 3: ReduceAction136 < ReduceAction136: superclass typecheck marker */},
+  {(bigint) 2335 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction136 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction136 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2335 /* 3: ReduceAction136 < ReduceAction136: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47399,37 +48918,37 @@ const classtable_elt_t VFT_ReduceAction136[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction136 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction136 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction136___action},
-  {(long int) 2 /* 42: ReduceAction136 < ReduceAction136: superclass init_table position */},
-  {(long int) parser___ReduceAction136___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction136 < 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) 1 /* 40: ReduceAction136 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction136___action},
+  {(bigint) 2 /* 42: ReduceAction136 < ReduceAction136: superclass init_table position */},
+  {(bigint) parser___ReduceAction136___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction136(void) {
@@ -47445,10 +48964,10 @@ val_t NEW_parser___ReduceAction136___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction137[44] = {
-  {(long int) 2315 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction137 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction137 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2315 /* 3: ReduceAction137 < ReduceAction137: superclass typecheck marker */},
+  {(bigint) 2331 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction137 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction137 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2331 /* 3: ReduceAction137 < ReduceAction137: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47458,37 +48977,37 @@ const classtable_elt_t VFT_ReduceAction137[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction137 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction137 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction137___action},
-  {(long int) 2 /* 42: ReduceAction137 < ReduceAction137: superclass init_table position */},
-  {(long int) parser___ReduceAction137___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction137 < 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) 1 /* 40: ReduceAction137 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction137___action},
+  {(bigint) 2 /* 42: ReduceAction137 < ReduceAction137: superclass init_table position */},
+  {(bigint) parser___ReduceAction137___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction137(void) {
@@ -47504,10 +49023,10 @@ val_t NEW_parser___ReduceAction137___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction138[44] = {
-  {(long int) 2311 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction138 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction138 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2311 /* 3: ReduceAction138 < ReduceAction138: superclass typecheck marker */},
+  {(bigint) 2327 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction138 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction138 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2327 /* 3: ReduceAction138 < ReduceAction138: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47517,37 +49036,37 @@ const classtable_elt_t VFT_ReduceAction138[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction138 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction138 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction138___action},
-  {(long int) 2 /* 42: ReduceAction138 < ReduceAction138: superclass init_table position */},
-  {(long int) parser___ReduceAction138___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction138 < 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) 1 /* 40: ReduceAction138 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction138___action},
+  {(bigint) 2 /* 42: ReduceAction138 < ReduceAction138: superclass init_table position */},
+  {(bigint) parser___ReduceAction138___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction138(void) {
@@ -47563,10 +49082,10 @@ val_t NEW_parser___ReduceAction138___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction139[44] = {
-  {(long int) 2307 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction139 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction139 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2307 /* 3: ReduceAction139 < ReduceAction139: superclass typecheck marker */},
+  {(bigint) 2323 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction139 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction139 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2323 /* 3: ReduceAction139 < ReduceAction139: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47576,37 +49095,37 @@ const classtable_elt_t VFT_ReduceAction139[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction139 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction139 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction139___action},
-  {(long int) 2 /* 42: ReduceAction139 < ReduceAction139: superclass init_table position */},
-  {(long int) parser___ReduceAction139___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction139 < 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) 1 /* 40: ReduceAction139 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction139___action},
+  {(bigint) 2 /* 42: ReduceAction139 < ReduceAction139: superclass init_table position */},
+  {(bigint) parser___ReduceAction139___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction139(void) {
@@ -47622,10 +49141,10 @@ val_t NEW_parser___ReduceAction139___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction140[44] = {
-  {(long int) 2299 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction140 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction140 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2299 /* 3: ReduceAction140 < ReduceAction140: superclass typecheck marker */},
+  {(bigint) 2315 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction140 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction140 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2315 /* 3: ReduceAction140 < ReduceAction140: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47635,37 +49154,37 @@ const classtable_elt_t VFT_ReduceAction140[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction140 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction140 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction140___action},
-  {(long int) 2 /* 42: ReduceAction140 < ReduceAction140: superclass init_table position */},
-  {(long int) parser___ReduceAction140___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction140 < 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) 1 /* 40: ReduceAction140 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction140___action},
+  {(bigint) 2 /* 42: ReduceAction140 < ReduceAction140: superclass init_table position */},
+  {(bigint) parser___ReduceAction140___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction140(void) {
@@ -47681,10 +49200,10 @@ val_t NEW_parser___ReduceAction140___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction141[44] = {
-  {(long int) 2295 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction141 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction141 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2295 /* 3: ReduceAction141 < ReduceAction141: superclass typecheck marker */},
+  {(bigint) 2311 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction141 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction141 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2311 /* 3: ReduceAction141 < ReduceAction141: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47694,37 +49213,37 @@ const classtable_elt_t VFT_ReduceAction141[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction141 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction141 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction141___action},
-  {(long int) 2 /* 42: ReduceAction141 < ReduceAction141: superclass init_table position */},
-  {(long int) parser___ReduceAction141___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction141 < 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) 1 /* 40: ReduceAction141 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction141___action},
+  {(bigint) 2 /* 42: ReduceAction141 < ReduceAction141: superclass init_table position */},
+  {(bigint) parser___ReduceAction141___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction141(void) {
@@ -47740,10 +49259,10 @@ val_t NEW_parser___ReduceAction141___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction142[44] = {
-  {(long int) 2291 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction142 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction142 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2291 /* 3: ReduceAction142 < ReduceAction142: superclass typecheck marker */},
+  {(bigint) 2307 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction142 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction142 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2307 /* 3: ReduceAction142 < ReduceAction142: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47753,37 +49272,37 @@ const classtable_elt_t VFT_ReduceAction142[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction142 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction142 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction142___action},
-  {(long int) 2 /* 42: ReduceAction142 < ReduceAction142: superclass init_table position */},
-  {(long int) parser___ReduceAction142___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction142 < 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) 1 /* 40: ReduceAction142 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction142___action},
+  {(bigint) 2 /* 42: ReduceAction142 < ReduceAction142: superclass init_table position */},
+  {(bigint) parser___ReduceAction142___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction142(void) {
@@ -47799,10 +49318,10 @@ val_t NEW_parser___ReduceAction142___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction143[44] = {
-  {(long int) 2287 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction143 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction143 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2287 /* 3: ReduceAction143 < ReduceAction143: superclass typecheck marker */},
+  {(bigint) 2303 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction143 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction143 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2303 /* 3: ReduceAction143 < ReduceAction143: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47812,37 +49331,37 @@ const classtable_elt_t VFT_ReduceAction143[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction143 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction143 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction143___action},
-  {(long int) 2 /* 42: ReduceAction143 < ReduceAction143: superclass init_table position */},
-  {(long int) parser___ReduceAction143___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction143 < 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) 1 /* 40: ReduceAction143 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction143___action},
+  {(bigint) 2 /* 42: ReduceAction143 < ReduceAction143: superclass init_table position */},
+  {(bigint) parser___ReduceAction143___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction143(void) {
@@ -47858,10 +49377,10 @@ val_t NEW_parser___ReduceAction143___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction144[44] = {
-  {(long int) 2283 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction144 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction144 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2283 /* 3: ReduceAction144 < ReduceAction144: superclass typecheck marker */},
+  {(bigint) 2299 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction144 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction144 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2299 /* 3: ReduceAction144 < ReduceAction144: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47871,37 +49390,37 @@ const classtable_elt_t VFT_ReduceAction144[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction144 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction144 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction144___action},
-  {(long int) 2 /* 42: ReduceAction144 < ReduceAction144: superclass init_table position */},
-  {(long int) parser___ReduceAction144___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction144 < 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) 1 /* 40: ReduceAction144 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction144___action},
+  {(bigint) 2 /* 42: ReduceAction144 < ReduceAction144: superclass init_table position */},
+  {(bigint) parser___ReduceAction144___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction144(void) {
@@ -47917,10 +49436,10 @@ val_t NEW_parser___ReduceAction144___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction145[44] = {
-  {(long int) 2279 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction145 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction145 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2279 /* 3: ReduceAction145 < ReduceAction145: superclass typecheck marker */},
+  {(bigint) 2295 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction145 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction145 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2295 /* 3: ReduceAction145 < ReduceAction145: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47930,37 +49449,37 @@ const classtable_elt_t VFT_ReduceAction145[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction145 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction145 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction145___action},
-  {(long int) 2 /* 42: ReduceAction145 < ReduceAction145: superclass init_table position */},
-  {(long int) parser___ReduceAction145___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction145 < 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) 1 /* 40: ReduceAction145 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction145___action},
+  {(bigint) 2 /* 42: ReduceAction145 < ReduceAction145: superclass init_table position */},
+  {(bigint) parser___ReduceAction145___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction145(void) {
@@ -47976,10 +49495,10 @@ val_t NEW_parser___ReduceAction145___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction146[44] = {
-  {(long int) 2275 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction146 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction146 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2275 /* 3: ReduceAction146 < ReduceAction146: superclass typecheck marker */},
+  {(bigint) 2291 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction146 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction146 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2291 /* 3: ReduceAction146 < ReduceAction146: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -47989,37 +49508,37 @@ const classtable_elt_t VFT_ReduceAction146[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction146 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction146 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction146___action},
-  {(long int) 2 /* 42: ReduceAction146 < ReduceAction146: superclass init_table position */},
-  {(long int) parser___ReduceAction146___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction146 < 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) 1 /* 40: ReduceAction146 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction146___action},
+  {(bigint) 2 /* 42: ReduceAction146 < ReduceAction146: superclass init_table position */},
+  {(bigint) parser___ReduceAction146___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction146(void) {
@@ -48035,10 +49554,10 @@ val_t NEW_parser___ReduceAction146___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction147[44] = {
-  {(long int) 2271 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction147 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction147 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2271 /* 3: ReduceAction147 < ReduceAction147: superclass typecheck marker */},
+  {(bigint) 2287 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction147 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction147 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2287 /* 3: ReduceAction147 < ReduceAction147: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48048,37 +49567,37 @@ const classtable_elt_t VFT_ReduceAction147[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction147 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction147 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction147___action},
-  {(long int) 2 /* 42: ReduceAction147 < ReduceAction147: superclass init_table position */},
-  {(long int) parser___ReduceAction147___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction147 < 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) 1 /* 40: ReduceAction147 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction147___action},
+  {(bigint) 2 /* 42: ReduceAction147 < ReduceAction147: superclass init_table position */},
+  {(bigint) parser___ReduceAction147___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction147(void) {
@@ -48094,10 +49613,10 @@ val_t NEW_parser___ReduceAction147___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction148[44] = {
-  {(long int) 2267 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction148 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction148 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2267 /* 3: ReduceAction148 < ReduceAction148: superclass typecheck marker */},
+  {(bigint) 2283 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction148 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction148 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2283 /* 3: ReduceAction148 < ReduceAction148: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48107,37 +49626,37 @@ const classtable_elt_t VFT_ReduceAction148[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction148 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction148 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction148___action},
-  {(long int) 2 /* 42: ReduceAction148 < ReduceAction148: superclass init_table position */},
-  {(long int) parser___ReduceAction148___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction148 < 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) 1 /* 40: ReduceAction148 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction148___action},
+  {(bigint) 2 /* 42: ReduceAction148 < ReduceAction148: superclass init_table position */},
+  {(bigint) parser___ReduceAction148___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction148(void) {
@@ -48153,10 +49672,10 @@ val_t NEW_parser___ReduceAction148___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction149[44] = {
-  {(long int) 2263 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction149 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction149 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2263 /* 3: ReduceAction149 < ReduceAction149: superclass typecheck marker */},
+  {(bigint) 2279 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction149 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction149 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2279 /* 3: ReduceAction149 < ReduceAction149: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48166,37 +49685,37 @@ const classtable_elt_t VFT_ReduceAction149[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction149 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction149 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction149___action},
-  {(long int) 2 /* 42: ReduceAction149 < ReduceAction149: superclass init_table position */},
-  {(long int) parser___ReduceAction149___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction149 < 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) 1 /* 40: ReduceAction149 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction149___action},
+  {(bigint) 2 /* 42: ReduceAction149 < ReduceAction149: superclass init_table position */},
+  {(bigint) parser___ReduceAction149___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction149(void) {
@@ -48212,10 +49731,10 @@ val_t NEW_parser___ReduceAction149___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction150[44] = {
-  {(long int) 2255 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction150 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction150 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2255 /* 3: ReduceAction150 < ReduceAction150: superclass typecheck marker */},
+  {(bigint) 2271 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction150 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction150 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2271 /* 3: ReduceAction150 < ReduceAction150: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48225,37 +49744,37 @@ const classtable_elt_t VFT_ReduceAction150[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction150 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction150 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction150___action},
-  {(long int) 2 /* 42: ReduceAction150 < ReduceAction150: superclass init_table position */},
-  {(long int) parser___ReduceAction150___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction150 < 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) 1 /* 40: ReduceAction150 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction150___action},
+  {(bigint) 2 /* 42: ReduceAction150 < ReduceAction150: superclass init_table position */},
+  {(bigint) parser___ReduceAction150___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction150(void) {
@@ -48271,10 +49790,10 @@ val_t NEW_parser___ReduceAction150___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction151[44] = {
-  {(long int) 2251 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction151 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction151 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2251 /* 3: ReduceAction151 < ReduceAction151: superclass typecheck marker */},
+  {(bigint) 2267 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction151 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction151 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2267 /* 3: ReduceAction151 < ReduceAction151: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48284,37 +49803,37 @@ const classtable_elt_t VFT_ReduceAction151[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction151 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction151 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction151___action},
-  {(long int) 2 /* 42: ReduceAction151 < ReduceAction151: superclass init_table position */},
-  {(long int) parser___ReduceAction151___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction151 < 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) 1 /* 40: ReduceAction151 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction151___action},
+  {(bigint) 2 /* 42: ReduceAction151 < ReduceAction151: superclass init_table position */},
+  {(bigint) parser___ReduceAction151___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction151(void) {
@@ -48330,10 +49849,10 @@ val_t NEW_parser___ReduceAction151___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction152[44] = {
-  {(long int) 2247 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction152 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction152 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2247 /* 3: ReduceAction152 < ReduceAction152: superclass typecheck marker */},
+  {(bigint) 2263 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction152 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction152 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2263 /* 3: ReduceAction152 < ReduceAction152: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48343,37 +49862,37 @@ const classtable_elt_t VFT_ReduceAction152[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction152 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction152 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction152___action},
-  {(long int) 2 /* 42: ReduceAction152 < ReduceAction152: superclass init_table position */},
-  {(long int) parser___ReduceAction152___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction152 < 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) 1 /* 40: ReduceAction152 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction152___action},
+  {(bigint) 2 /* 42: ReduceAction152 < ReduceAction152: superclass init_table position */},
+  {(bigint) parser___ReduceAction152___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction152(void) {
@@ -48389,10 +49908,10 @@ val_t NEW_parser___ReduceAction152___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction153[44] = {
-  {(long int) 2243 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction153 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction153 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2243 /* 3: ReduceAction153 < ReduceAction153: superclass typecheck marker */},
+  {(bigint) 2259 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction153 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction153 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2259 /* 3: ReduceAction153 < ReduceAction153: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48402,37 +49921,37 @@ const classtable_elt_t VFT_ReduceAction153[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction153 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction153 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction153___action},
-  {(long int) 2 /* 42: ReduceAction153 < ReduceAction153: superclass init_table position */},
-  {(long int) parser___ReduceAction153___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction153 < 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) 1 /* 40: ReduceAction153 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction153___action},
+  {(bigint) 2 /* 42: ReduceAction153 < ReduceAction153: superclass init_table position */},
+  {(bigint) parser___ReduceAction153___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction153(void) {
@@ -48448,10 +49967,10 @@ val_t NEW_parser___ReduceAction153___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction154[44] = {
-  {(long int) 2239 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction154 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction154 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2239 /* 3: ReduceAction154 < ReduceAction154: superclass typecheck marker */},
+  {(bigint) 2255 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction154 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction154 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2255 /* 3: ReduceAction154 < ReduceAction154: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48461,37 +49980,37 @@ const classtable_elt_t VFT_ReduceAction154[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction154 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction154 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction154___action},
-  {(long int) 2 /* 42: ReduceAction154 < ReduceAction154: superclass init_table position */},
-  {(long int) parser___ReduceAction154___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction154 < 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) 1 /* 40: ReduceAction154 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction154___action},
+  {(bigint) 2 /* 42: ReduceAction154 < ReduceAction154: superclass init_table position */},
+  {(bigint) parser___ReduceAction154___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction154(void) {
@@ -48507,10 +50026,10 @@ val_t NEW_parser___ReduceAction154___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction155[44] = {
-  {(long int) 2235 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction155 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction155 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2235 /* 3: ReduceAction155 < ReduceAction155: superclass typecheck marker */},
+  {(bigint) 2251 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction155 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction155 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2251 /* 3: ReduceAction155 < ReduceAction155: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48520,37 +50039,37 @@ const classtable_elt_t VFT_ReduceAction155[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction155 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction155 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction155___action},
-  {(long int) 2 /* 42: ReduceAction155 < ReduceAction155: superclass init_table position */},
-  {(long int) parser___ReduceAction155___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction155 < 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) 1 /* 40: ReduceAction155 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction155___action},
+  {(bigint) 2 /* 42: ReduceAction155 < ReduceAction155: superclass init_table position */},
+  {(bigint) parser___ReduceAction155___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction155(void) {
@@ -48566,10 +50085,10 @@ val_t NEW_parser___ReduceAction155___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction156[44] = {
-  {(long int) 2231 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction156 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction156 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2231 /* 3: ReduceAction156 < ReduceAction156: superclass typecheck marker */},
+  {(bigint) 2247 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction156 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction156 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2247 /* 3: ReduceAction156 < ReduceAction156: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48579,37 +50098,37 @@ const classtable_elt_t VFT_ReduceAction156[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction156 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction156 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction156___action},
-  {(long int) 2 /* 42: ReduceAction156 < ReduceAction156: superclass init_table position */},
-  {(long int) parser___ReduceAction156___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction156 < 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) 1 /* 40: ReduceAction156 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction156___action},
+  {(bigint) 2 /* 42: ReduceAction156 < ReduceAction156: superclass init_table position */},
+  {(bigint) parser___ReduceAction156___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction156(void) {
@@ -48625,10 +50144,10 @@ val_t NEW_parser___ReduceAction156___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction157[44] = {
-  {(long int) 2227 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction157 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction157 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2227 /* 3: ReduceAction157 < ReduceAction157: superclass typecheck marker */},
+  {(bigint) 2243 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction157 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction157 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2243 /* 3: ReduceAction157 < ReduceAction157: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48638,37 +50157,37 @@ const classtable_elt_t VFT_ReduceAction157[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction157 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction157 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction157___action},
-  {(long int) 2 /* 42: ReduceAction157 < ReduceAction157: superclass init_table position */},
-  {(long int) parser___ReduceAction157___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction157 < 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) 1 /* 40: ReduceAction157 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction157___action},
+  {(bigint) 2 /* 42: ReduceAction157 < ReduceAction157: superclass init_table position */},
+  {(bigint) parser___ReduceAction157___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction157(void) {
@@ -48684,10 +50203,10 @@ val_t NEW_parser___ReduceAction157___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction158[44] = {
-  {(long int) 2223 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction158 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction158 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2223 /* 3: ReduceAction158 < ReduceAction158: superclass typecheck marker */},
+  {(bigint) 2239 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction158 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction158 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2239 /* 3: ReduceAction158 < ReduceAction158: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48697,37 +50216,37 @@ const classtable_elt_t VFT_ReduceAction158[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction158 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction158 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction158___action},
-  {(long int) 2 /* 42: ReduceAction158 < ReduceAction158: superclass init_table position */},
-  {(long int) parser___ReduceAction158___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction158 < 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) 1 /* 40: ReduceAction158 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction158___action},
+  {(bigint) 2 /* 42: ReduceAction158 < ReduceAction158: superclass init_table position */},
+  {(bigint) parser___ReduceAction158___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction158(void) {
@@ -48743,10 +50262,10 @@ val_t NEW_parser___ReduceAction158___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction159[44] = {
-  {(long int) 2219 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction159 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction159 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2219 /* 3: ReduceAction159 < ReduceAction159: superclass typecheck marker */},
+  {(bigint) 2235 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction159 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction159 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2235 /* 3: ReduceAction159 < ReduceAction159: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48756,37 +50275,37 @@ const classtable_elt_t VFT_ReduceAction159[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction159 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction159 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction159___action},
-  {(long int) 2 /* 42: ReduceAction159 < ReduceAction159: superclass init_table position */},
-  {(long int) parser___ReduceAction159___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction159 < 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) 1 /* 40: ReduceAction159 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction159___action},
+  {(bigint) 2 /* 42: ReduceAction159 < ReduceAction159: superclass init_table position */},
+  {(bigint) parser___ReduceAction159___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction159(void) {
@@ -48802,10 +50321,10 @@ val_t NEW_parser___ReduceAction159___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction160[44] = {
-  {(long int) 2211 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction160 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction160 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2211 /* 3: ReduceAction160 < ReduceAction160: superclass typecheck marker */},
+  {(bigint) 2227 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction160 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction160 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2227 /* 3: ReduceAction160 < ReduceAction160: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48815,37 +50334,37 @@ const classtable_elt_t VFT_ReduceAction160[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction160 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction160 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction160___action},
-  {(long int) 2 /* 42: ReduceAction160 < ReduceAction160: superclass init_table position */},
-  {(long int) parser___ReduceAction160___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction160 < 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) 1 /* 40: ReduceAction160 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction160___action},
+  {(bigint) 2 /* 42: ReduceAction160 < ReduceAction160: superclass init_table position */},
+  {(bigint) parser___ReduceAction160___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction160(void) {
@@ -48861,10 +50380,10 @@ val_t NEW_parser___ReduceAction160___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction161[44] = {
-  {(long int) 2207 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction161 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction161 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2207 /* 3: ReduceAction161 < ReduceAction161: superclass typecheck marker */},
+  {(bigint) 2223 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction161 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction161 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2223 /* 3: ReduceAction161 < ReduceAction161: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48874,37 +50393,37 @@ const classtable_elt_t VFT_ReduceAction161[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction161 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction161 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction161___action},
-  {(long int) 2 /* 42: ReduceAction161 < ReduceAction161: superclass init_table position */},
-  {(long int) parser___ReduceAction161___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction161 < 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) 1 /* 40: ReduceAction161 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction161___action},
+  {(bigint) 2 /* 42: ReduceAction161 < ReduceAction161: superclass init_table position */},
+  {(bigint) parser___ReduceAction161___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction161(void) {
@@ -48920,10 +50439,10 @@ val_t NEW_parser___ReduceAction161___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction162[44] = {
-  {(long int) 2203 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction162 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction162 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2203 /* 3: ReduceAction162 < ReduceAction162: superclass typecheck marker */},
+  {(bigint) 2219 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction162 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction162 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2219 /* 3: ReduceAction162 < ReduceAction162: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48933,37 +50452,37 @@ const classtable_elt_t VFT_ReduceAction162[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction162 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction162 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction162___action},
-  {(long int) 2 /* 42: ReduceAction162 < ReduceAction162: superclass init_table position */},
-  {(long int) parser___ReduceAction162___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction162 < 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) 1 /* 40: ReduceAction162 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction162___action},
+  {(bigint) 2 /* 42: ReduceAction162 < ReduceAction162: superclass init_table position */},
+  {(bigint) parser___ReduceAction162___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction162(void) {
@@ -48979,10 +50498,10 @@ val_t NEW_parser___ReduceAction162___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction163[44] = {
-  {(long int) 2199 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction163 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction163 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2199 /* 3: ReduceAction163 < ReduceAction163: superclass typecheck marker */},
+  {(bigint) 2215 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction163 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction163 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2215 /* 3: ReduceAction163 < ReduceAction163: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -48992,37 +50511,37 @@ const classtable_elt_t VFT_ReduceAction163[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction163 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction163 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction163___action},
-  {(long int) 2 /* 42: ReduceAction163 < ReduceAction163: superclass init_table position */},
-  {(long int) parser___ReduceAction163___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction163 < 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) 1 /* 40: ReduceAction163 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction163___action},
+  {(bigint) 2 /* 42: ReduceAction163 < ReduceAction163: superclass init_table position */},
+  {(bigint) parser___ReduceAction163___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction163(void) {
@@ -49038,10 +50557,10 @@ val_t NEW_parser___ReduceAction163___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction164[44] = {
-  {(long int) 2195 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction164 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction164 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2195 /* 3: ReduceAction164 < ReduceAction164: superclass typecheck marker */},
+  {(bigint) 2211 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction164 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction164 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2211 /* 3: ReduceAction164 < ReduceAction164: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49051,37 +50570,37 @@ const classtable_elt_t VFT_ReduceAction164[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction164 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction164 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction164___action},
-  {(long int) 2 /* 42: ReduceAction164 < ReduceAction164: superclass init_table position */},
-  {(long int) parser___ReduceAction164___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction164 < 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) 1 /* 40: ReduceAction164 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction164___action},
+  {(bigint) 2 /* 42: ReduceAction164 < ReduceAction164: superclass init_table position */},
+  {(bigint) parser___ReduceAction164___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction164(void) {
@@ -49097,10 +50616,10 @@ val_t NEW_parser___ReduceAction164___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction165[44] = {
-  {(long int) 2191 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction165 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction165 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2191 /* 3: ReduceAction165 < ReduceAction165: superclass typecheck marker */},
+  {(bigint) 2207 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction165 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction165 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2207 /* 3: ReduceAction165 < ReduceAction165: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49110,37 +50629,37 @@ const classtable_elt_t VFT_ReduceAction165[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction165 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction165 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction165___action},
-  {(long int) 2 /* 42: ReduceAction165 < ReduceAction165: superclass init_table position */},
-  {(long int) parser___ReduceAction165___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction165 < 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) 1 /* 40: ReduceAction165 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction165___action},
+  {(bigint) 2 /* 42: ReduceAction165 < ReduceAction165: superclass init_table position */},
+  {(bigint) parser___ReduceAction165___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction165(void) {
@@ -49156,10 +50675,10 @@ val_t NEW_parser___ReduceAction165___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction166[44] = {
-  {(long int) 2187 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction166 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction166 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2187 /* 3: ReduceAction166 < ReduceAction166: superclass typecheck marker */},
+  {(bigint) 2203 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction166 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction166 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2203 /* 3: ReduceAction166 < ReduceAction166: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49169,37 +50688,37 @@ const classtable_elt_t VFT_ReduceAction166[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction166 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction166 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction166___action},
-  {(long int) 2 /* 42: ReduceAction166 < ReduceAction166: superclass init_table position */},
-  {(long int) parser___ReduceAction166___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction166 < 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) 1 /* 40: ReduceAction166 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction166___action},
+  {(bigint) 2 /* 42: ReduceAction166 < ReduceAction166: superclass init_table position */},
+  {(bigint) parser___ReduceAction166___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction166(void) {
@@ -49215,10 +50734,10 @@ val_t NEW_parser___ReduceAction166___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction167[44] = {
-  {(long int) 2183 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction167 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction167 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2183 /* 3: ReduceAction167 < ReduceAction167: superclass typecheck marker */},
+  {(bigint) 2199 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction167 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction167 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2199 /* 3: ReduceAction167 < ReduceAction167: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49228,37 +50747,37 @@ const classtable_elt_t VFT_ReduceAction167[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction167 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction167 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction167___action},
-  {(long int) 2 /* 42: ReduceAction167 < ReduceAction167: superclass init_table position */},
-  {(long int) parser___ReduceAction167___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction167 < 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) 1 /* 40: ReduceAction167 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction167___action},
+  {(bigint) 2 /* 42: ReduceAction167 < ReduceAction167: superclass init_table position */},
+  {(bigint) parser___ReduceAction167___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction167(void) {
@@ -49274,10 +50793,10 @@ val_t NEW_parser___ReduceAction167___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction168[44] = {
-  {(long int) 2179 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction168 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction168 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2179 /* 3: ReduceAction168 < ReduceAction168: superclass typecheck marker */},
+  {(bigint) 2195 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction168 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction168 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2195 /* 3: ReduceAction168 < ReduceAction168: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49287,37 +50806,37 @@ const classtable_elt_t VFT_ReduceAction168[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction168 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction168 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction168___action},
-  {(long int) 2 /* 42: ReduceAction168 < ReduceAction168: superclass init_table position */},
-  {(long int) parser___ReduceAction168___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction168 < 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) 1 /* 40: ReduceAction168 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction168___action},
+  {(bigint) 2 /* 42: ReduceAction168 < ReduceAction168: superclass init_table position */},
+  {(bigint) parser___ReduceAction168___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction168(void) {
@@ -49333,10 +50852,10 @@ val_t NEW_parser___ReduceAction168___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction169[44] = {
-  {(long int) 2175 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction169 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction169 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2175 /* 3: ReduceAction169 < ReduceAction169: superclass typecheck marker */},
+  {(bigint) 2191 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction169 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction169 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2191 /* 3: ReduceAction169 < ReduceAction169: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49346,37 +50865,37 @@ const classtable_elt_t VFT_ReduceAction169[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction169 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction169 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction169___action},
-  {(long int) 2 /* 42: ReduceAction169 < ReduceAction169: superclass init_table position */},
-  {(long int) parser___ReduceAction169___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction169 < 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) 1 /* 40: ReduceAction169 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction169___action},
+  {(bigint) 2 /* 42: ReduceAction169 < ReduceAction169: superclass init_table position */},
+  {(bigint) parser___ReduceAction169___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction169(void) {
@@ -49392,10 +50911,10 @@ val_t NEW_parser___ReduceAction169___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction170[44] = {
-  {(long int) 2167 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction170 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction170 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2167 /* 3: ReduceAction170 < ReduceAction170: superclass typecheck marker */},
+  {(bigint) 2183 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction170 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction170 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2183 /* 3: ReduceAction170 < ReduceAction170: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49405,37 +50924,37 @@ const classtable_elt_t VFT_ReduceAction170[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction170 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction170 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction170___action},
-  {(long int) 2 /* 42: ReduceAction170 < ReduceAction170: superclass init_table position */},
-  {(long int) parser___ReduceAction170___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction170 < 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) 1 /* 40: ReduceAction170 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction170___action},
+  {(bigint) 2 /* 42: ReduceAction170 < ReduceAction170: superclass init_table position */},
+  {(bigint) parser___ReduceAction170___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction170(void) {
@@ -49451,10 +50970,10 @@ val_t NEW_parser___ReduceAction170___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction171[44] = {
-  {(long int) 2163 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction171 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction171 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2163 /* 3: ReduceAction171 < ReduceAction171: superclass typecheck marker */},
+  {(bigint) 2179 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction171 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction171 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2179 /* 3: ReduceAction171 < ReduceAction171: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49464,37 +50983,37 @@ const classtable_elt_t VFT_ReduceAction171[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction171 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction171 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction171___action},
-  {(long int) 2 /* 42: ReduceAction171 < ReduceAction171: superclass init_table position */},
-  {(long int) parser___ReduceAction171___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction171 < 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) 1 /* 40: ReduceAction171 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction171___action},
+  {(bigint) 2 /* 42: ReduceAction171 < ReduceAction171: superclass init_table position */},
+  {(bigint) parser___ReduceAction171___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction171(void) {
@@ -49510,10 +51029,10 @@ val_t NEW_parser___ReduceAction171___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction172[44] = {
-  {(long int) 2159 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction172 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction172 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2159 /* 3: ReduceAction172 < ReduceAction172: superclass typecheck marker */},
+  {(bigint) 2175 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction172 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction172 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2175 /* 3: ReduceAction172 < ReduceAction172: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49523,37 +51042,37 @@ const classtable_elt_t VFT_ReduceAction172[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction172 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction172 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction172___action},
-  {(long int) 2 /* 42: ReduceAction172 < ReduceAction172: superclass init_table position */},
-  {(long int) parser___ReduceAction172___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction172 < 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) 1 /* 40: ReduceAction172 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction172___action},
+  {(bigint) 2 /* 42: ReduceAction172 < ReduceAction172: superclass init_table position */},
+  {(bigint) parser___ReduceAction172___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction172(void) {
@@ -49569,10 +51088,10 @@ val_t NEW_parser___ReduceAction172___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction173[44] = {
-  {(long int) 2155 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction173 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction173 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2155 /* 3: ReduceAction173 < ReduceAction173: superclass typecheck marker */},
+  {(bigint) 2171 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction173 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction173 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2171 /* 3: ReduceAction173 < ReduceAction173: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49582,37 +51101,37 @@ const classtable_elt_t VFT_ReduceAction173[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction173 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction173 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction173___action},
-  {(long int) 2 /* 42: ReduceAction173 < ReduceAction173: superclass init_table position */},
-  {(long int) parser___ReduceAction173___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction173 < 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) 1 /* 40: ReduceAction173 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction173___action},
+  {(bigint) 2 /* 42: ReduceAction173 < ReduceAction173: superclass init_table position */},
+  {(bigint) parser___ReduceAction173___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction173(void) {
@@ -49628,10 +51147,10 @@ val_t NEW_parser___ReduceAction173___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction174[44] = {
-  {(long int) 2151 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction174 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction174 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2151 /* 3: ReduceAction174 < ReduceAction174: superclass typecheck marker */},
+  {(bigint) 2167 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction174 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction174 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2167 /* 3: ReduceAction174 < ReduceAction174: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49641,37 +51160,37 @@ const classtable_elt_t VFT_ReduceAction174[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction174 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction174 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction174___action},
-  {(long int) 2 /* 42: ReduceAction174 < ReduceAction174: superclass init_table position */},
-  {(long int) parser___ReduceAction174___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction174 < 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) 1 /* 40: ReduceAction174 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction174___action},
+  {(bigint) 2 /* 42: ReduceAction174 < ReduceAction174: superclass init_table position */},
+  {(bigint) parser___ReduceAction174___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction174(void) {
@@ -49687,10 +51206,10 @@ val_t NEW_parser___ReduceAction174___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction175[44] = {
-  {(long int) 2147 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction175 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction175 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2147 /* 3: ReduceAction175 < ReduceAction175: superclass typecheck marker */},
+  {(bigint) 2163 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction175 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction175 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2163 /* 3: ReduceAction175 < ReduceAction175: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49700,37 +51219,37 @@ const classtable_elt_t VFT_ReduceAction175[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction175 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction175 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction175___action},
-  {(long int) 2 /* 42: ReduceAction175 < ReduceAction175: superclass init_table position */},
-  {(long int) parser___ReduceAction175___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction175 < 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) 1 /* 40: ReduceAction175 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction175___action},
+  {(bigint) 2 /* 42: ReduceAction175 < ReduceAction175: superclass init_table position */},
+  {(bigint) parser___ReduceAction175___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction175(void) {
@@ -49746,10 +51265,10 @@ val_t NEW_parser___ReduceAction175___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction176[44] = {
-  {(long int) 2143 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction176 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction176 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2143 /* 3: ReduceAction176 < ReduceAction176: superclass typecheck marker */},
+  {(bigint) 2159 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction176 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction176 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2159 /* 3: ReduceAction176 < ReduceAction176: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49759,37 +51278,37 @@ const classtable_elt_t VFT_ReduceAction176[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction176 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction176 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction176___action},
-  {(long int) 2 /* 42: ReduceAction176 < ReduceAction176: superclass init_table position */},
-  {(long int) parser___ReduceAction176___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction176 < 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) 1 /* 40: ReduceAction176 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction176___action},
+  {(bigint) 2 /* 42: ReduceAction176 < ReduceAction176: superclass init_table position */},
+  {(bigint) parser___ReduceAction176___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction176(void) {
@@ -49805,10 +51324,10 @@ val_t NEW_parser___ReduceAction176___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction177[44] = {
-  {(long int) 2139 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction177 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction177 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2139 /* 3: ReduceAction177 < ReduceAction177: superclass typecheck marker */},
+  {(bigint) 2155 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction177 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction177 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2155 /* 3: ReduceAction177 < ReduceAction177: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49818,37 +51337,37 @@ const classtable_elt_t VFT_ReduceAction177[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction177 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction177 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction177___action},
-  {(long int) 2 /* 42: ReduceAction177 < ReduceAction177: superclass init_table position */},
-  {(long int) parser___ReduceAction177___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction177 < 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) 1 /* 40: ReduceAction177 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction177___action},
+  {(bigint) 2 /* 42: ReduceAction177 < ReduceAction177: superclass init_table position */},
+  {(bigint) parser___ReduceAction177___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction177(void) {
@@ -49864,10 +51383,10 @@ val_t NEW_parser___ReduceAction177___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction178[44] = {
-  {(long int) 2135 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction178 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction178 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2135 /* 3: ReduceAction178 < ReduceAction178: superclass typecheck marker */},
+  {(bigint) 2151 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction178 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction178 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2151 /* 3: ReduceAction178 < ReduceAction178: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49877,37 +51396,37 @@ const classtable_elt_t VFT_ReduceAction178[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction178 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction178 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction178___action},
-  {(long int) 2 /* 42: ReduceAction178 < ReduceAction178: superclass init_table position */},
-  {(long int) parser___ReduceAction178___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction178 < 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) 1 /* 40: ReduceAction178 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction178___action},
+  {(bigint) 2 /* 42: ReduceAction178 < ReduceAction178: superclass init_table position */},
+  {(bigint) parser___ReduceAction178___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction178(void) {
@@ -49923,10 +51442,10 @@ val_t NEW_parser___ReduceAction178___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction179[44] = {
-  {(long int) 2131 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction179 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction179 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2131 /* 3: ReduceAction179 < ReduceAction179: superclass typecheck marker */},
+  {(bigint) 2147 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction179 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction179 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2147 /* 3: ReduceAction179 < ReduceAction179: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49936,37 +51455,37 @@ const classtable_elt_t VFT_ReduceAction179[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction179 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction179 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction179___action},
-  {(long int) 2 /* 42: ReduceAction179 < ReduceAction179: superclass init_table position */},
-  {(long int) parser___ReduceAction179___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction179 < 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) 1 /* 40: ReduceAction179 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction179___action},
+  {(bigint) 2 /* 42: ReduceAction179 < ReduceAction179: superclass init_table position */},
+  {(bigint) parser___ReduceAction179___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction179(void) {
@@ -49982,10 +51501,10 @@ val_t NEW_parser___ReduceAction179___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction180[44] = {
-  {(long int) 2123 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction180 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction180 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2123 /* 3: ReduceAction180 < ReduceAction180: superclass typecheck marker */},
+  {(bigint) 2139 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction180 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction180 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2139 /* 3: ReduceAction180 < ReduceAction180: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -49995,37 +51514,37 @@ const classtable_elt_t VFT_ReduceAction180[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction180 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction180 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction180___action},
-  {(long int) 2 /* 42: ReduceAction180 < ReduceAction180: superclass init_table position */},
-  {(long int) parser___ReduceAction180___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction180 < 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) 1 /* 40: ReduceAction180 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction180___action},
+  {(bigint) 2 /* 42: ReduceAction180 < ReduceAction180: superclass init_table position */},
+  {(bigint) parser___ReduceAction180___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction180(void) {
@@ -50041,10 +51560,10 @@ val_t NEW_parser___ReduceAction180___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction181[44] = {
-  {(long int) 2119 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction181 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction181 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2119 /* 3: ReduceAction181 < ReduceAction181: superclass typecheck marker */},
+  {(bigint) 2135 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction181 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction181 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2135 /* 3: ReduceAction181 < ReduceAction181: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50054,37 +51573,37 @@ const classtable_elt_t VFT_ReduceAction181[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction181 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction181 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction181___action},
-  {(long int) 2 /* 42: ReduceAction181 < ReduceAction181: superclass init_table position */},
-  {(long int) parser___ReduceAction181___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction181 < 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) 1 /* 40: ReduceAction181 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction181___action},
+  {(bigint) 2 /* 42: ReduceAction181 < ReduceAction181: superclass init_table position */},
+  {(bigint) parser___ReduceAction181___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction181(void) {
@@ -50100,10 +51619,10 @@ val_t NEW_parser___ReduceAction181___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction182[44] = {
-  {(long int) 2115 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction182 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction182 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2115 /* 3: ReduceAction182 < ReduceAction182: superclass typecheck marker */},
+  {(bigint) 2131 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction182 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction182 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2131 /* 3: ReduceAction182 < ReduceAction182: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50113,37 +51632,37 @@ const classtable_elt_t VFT_ReduceAction182[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction182 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction182 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction182___action},
-  {(long int) 2 /* 42: ReduceAction182 < ReduceAction182: superclass init_table position */},
-  {(long int) parser___ReduceAction182___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction182 < 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) 1 /* 40: ReduceAction182 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction182___action},
+  {(bigint) 2 /* 42: ReduceAction182 < ReduceAction182: superclass init_table position */},
+  {(bigint) parser___ReduceAction182___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction182(void) {
@@ -50159,10 +51678,10 @@ val_t NEW_parser___ReduceAction182___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction183[44] = {
-  {(long int) 2111 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction183 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction183 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2111 /* 3: ReduceAction183 < ReduceAction183: superclass typecheck marker */},
+  {(bigint) 2127 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction183 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction183 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2127 /* 3: ReduceAction183 < ReduceAction183: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50172,37 +51691,37 @@ const classtable_elt_t VFT_ReduceAction183[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction183 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction183 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction183___action},
-  {(long int) 2 /* 42: ReduceAction183 < ReduceAction183: superclass init_table position */},
-  {(long int) parser___ReduceAction183___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction183 < 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) 1 /* 40: ReduceAction183 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction183___action},
+  {(bigint) 2 /* 42: ReduceAction183 < ReduceAction183: superclass init_table position */},
+  {(bigint) parser___ReduceAction183___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction183(void) {
@@ -50218,10 +51737,10 @@ val_t NEW_parser___ReduceAction183___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction184[44] = {
-  {(long int) 2107 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction184 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction184 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2107 /* 3: ReduceAction184 < ReduceAction184: superclass typecheck marker */},
+  {(bigint) 2123 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction184 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction184 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2123 /* 3: ReduceAction184 < ReduceAction184: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50231,37 +51750,37 @@ const classtable_elt_t VFT_ReduceAction184[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction184 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction184 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction184___action},
-  {(long int) 2 /* 42: ReduceAction184 < ReduceAction184: superclass init_table position */},
-  {(long int) parser___ReduceAction184___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction184 < 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) 1 /* 40: ReduceAction184 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction184___action},
+  {(bigint) 2 /* 42: ReduceAction184 < ReduceAction184: superclass init_table position */},
+  {(bigint) parser___ReduceAction184___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction184(void) {
@@ -50277,10 +51796,10 @@ val_t NEW_parser___ReduceAction184___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction185[44] = {
-  {(long int) 2103 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction185 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction185 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2103 /* 3: ReduceAction185 < ReduceAction185: superclass typecheck marker */},
+  {(bigint) 2119 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction185 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction185 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2119 /* 3: ReduceAction185 < ReduceAction185: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50290,37 +51809,37 @@ const classtable_elt_t VFT_ReduceAction185[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction185 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction185 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction185___action},
-  {(long int) 2 /* 42: ReduceAction185 < ReduceAction185: superclass init_table position */},
-  {(long int) parser___ReduceAction185___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction185 < 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) 1 /* 40: ReduceAction185 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction185___action},
+  {(bigint) 2 /* 42: ReduceAction185 < ReduceAction185: superclass init_table position */},
+  {(bigint) parser___ReduceAction185___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction185(void) {
@@ -50336,10 +51855,10 @@ val_t NEW_parser___ReduceAction185___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction186[44] = {
-  {(long int) 2099 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction186 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction186 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2099 /* 3: ReduceAction186 < ReduceAction186: superclass typecheck marker */},
+  {(bigint) 2115 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction186 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction186 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2115 /* 3: ReduceAction186 < ReduceAction186: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50349,37 +51868,37 @@ const classtable_elt_t VFT_ReduceAction186[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction186 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction186 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction186___action},
-  {(long int) 2 /* 42: ReduceAction186 < ReduceAction186: superclass init_table position */},
-  {(long int) parser___ReduceAction186___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction186 < 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) 1 /* 40: ReduceAction186 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction186___action},
+  {(bigint) 2 /* 42: ReduceAction186 < ReduceAction186: superclass init_table position */},
+  {(bigint) parser___ReduceAction186___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction186(void) {
@@ -50395,10 +51914,10 @@ val_t NEW_parser___ReduceAction186___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction187[44] = {
-  {(long int) 2095 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction187 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction187 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2095 /* 3: ReduceAction187 < ReduceAction187: superclass typecheck marker */},
+  {(bigint) 2111 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction187 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction187 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2111 /* 3: ReduceAction187 < ReduceAction187: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50408,37 +51927,37 @@ const classtable_elt_t VFT_ReduceAction187[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction187 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction187 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction187___action},
-  {(long int) 2 /* 42: ReduceAction187 < ReduceAction187: superclass init_table position */},
-  {(long int) parser___ReduceAction187___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction187 < 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) 1 /* 40: ReduceAction187 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction187___action},
+  {(bigint) 2 /* 42: ReduceAction187 < ReduceAction187: superclass init_table position */},
+  {(bigint) parser___ReduceAction187___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction187(void) {
@@ -50454,10 +51973,10 @@ val_t NEW_parser___ReduceAction187___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction188[44] = {
-  {(long int) 2091 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction188 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction188 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2091 /* 3: ReduceAction188 < ReduceAction188: superclass typecheck marker */},
+  {(bigint) 2107 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction188 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction188 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2107 /* 3: ReduceAction188 < ReduceAction188: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50467,37 +51986,37 @@ const classtable_elt_t VFT_ReduceAction188[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction188 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction188 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction188___action},
-  {(long int) 2 /* 42: ReduceAction188 < ReduceAction188: superclass init_table position */},
-  {(long int) parser___ReduceAction188___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction188 < 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) 1 /* 40: ReduceAction188 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction188___action},
+  {(bigint) 2 /* 42: ReduceAction188 < ReduceAction188: superclass init_table position */},
+  {(bigint) parser___ReduceAction188___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction188(void) {
@@ -50513,10 +52032,10 @@ val_t NEW_parser___ReduceAction188___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction189[44] = {
-  {(long int) 2087 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction189 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction189 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2087 /* 3: ReduceAction189 < ReduceAction189: superclass typecheck marker */},
+  {(bigint) 2103 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction189 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction189 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2103 /* 3: ReduceAction189 < ReduceAction189: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50526,37 +52045,37 @@ const classtable_elt_t VFT_ReduceAction189[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction189 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction189 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction189___action},
-  {(long int) 2 /* 42: ReduceAction189 < ReduceAction189: superclass init_table position */},
-  {(long int) parser___ReduceAction189___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction189 < 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) 1 /* 40: ReduceAction189 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction189___action},
+  {(bigint) 2 /* 42: ReduceAction189 < ReduceAction189: superclass init_table position */},
+  {(bigint) parser___ReduceAction189___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction189(void) {
@@ -50572,10 +52091,10 @@ val_t NEW_parser___ReduceAction189___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction190[44] = {
-  {(long int) 2079 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction190 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction190 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2079 /* 3: ReduceAction190 < ReduceAction190: superclass typecheck marker */},
+  {(bigint) 2095 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction190 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction190 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2095 /* 3: ReduceAction190 < ReduceAction190: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50585,37 +52104,37 @@ const classtable_elt_t VFT_ReduceAction190[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction190 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction190 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction190___action},
-  {(long int) 2 /* 42: ReduceAction190 < ReduceAction190: superclass init_table position */},
-  {(long int) parser___ReduceAction190___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction190 < 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) 1 /* 40: ReduceAction190 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction190___action},
+  {(bigint) 2 /* 42: ReduceAction190 < ReduceAction190: superclass init_table position */},
+  {(bigint) parser___ReduceAction190___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction190(void) {
@@ -50631,10 +52150,10 @@ val_t NEW_parser___ReduceAction190___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction191[44] = {
-  {(long int) 2075 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction191 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction191 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2075 /* 3: ReduceAction191 < ReduceAction191: superclass typecheck marker */},
+  {(bigint) 2091 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction191 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction191 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2091 /* 3: ReduceAction191 < ReduceAction191: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50644,37 +52163,37 @@ const classtable_elt_t VFT_ReduceAction191[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction191 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction191 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction191___action},
-  {(long int) 2 /* 42: ReduceAction191 < ReduceAction191: superclass init_table position */},
-  {(long int) parser___ReduceAction191___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction191 < 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) 1 /* 40: ReduceAction191 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction191___action},
+  {(bigint) 2 /* 42: ReduceAction191 < ReduceAction191: superclass init_table position */},
+  {(bigint) parser___ReduceAction191___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction191(void) {
@@ -50690,10 +52209,10 @@ val_t NEW_parser___ReduceAction191___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction192[44] = {
-  {(long int) 2071 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction192 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction192 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2071 /* 3: ReduceAction192 < ReduceAction192: superclass typecheck marker */},
+  {(bigint) 2087 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction192 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction192 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2087 /* 3: ReduceAction192 < ReduceAction192: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50703,37 +52222,37 @@ const classtable_elt_t VFT_ReduceAction192[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction192 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction192 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction192___action},
-  {(long int) 2 /* 42: ReduceAction192 < ReduceAction192: superclass init_table position */},
-  {(long int) parser___ReduceAction192___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction192 < 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) 1 /* 40: ReduceAction192 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction192___action},
+  {(bigint) 2 /* 42: ReduceAction192 < ReduceAction192: superclass init_table position */},
+  {(bigint) parser___ReduceAction192___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction192(void) {
@@ -50749,10 +52268,10 @@ val_t NEW_parser___ReduceAction192___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction193[44] = {
-  {(long int) 2067 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction193 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction193 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2067 /* 3: ReduceAction193 < ReduceAction193: superclass typecheck marker */},
+  {(bigint) 2083 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction193 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction193 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2083 /* 3: ReduceAction193 < ReduceAction193: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50762,37 +52281,37 @@ const classtable_elt_t VFT_ReduceAction193[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction193 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction193 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction193___action},
-  {(long int) 2 /* 42: ReduceAction193 < ReduceAction193: superclass init_table position */},
-  {(long int) parser___ReduceAction193___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction193 < 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) 1 /* 40: ReduceAction193 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction193___action},
+  {(bigint) 2 /* 42: ReduceAction193 < ReduceAction193: superclass init_table position */},
+  {(bigint) parser___ReduceAction193___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction193(void) {
@@ -50808,10 +52327,10 @@ val_t NEW_parser___ReduceAction193___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction194[44] = {
-  {(long int) 2063 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction194 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction194 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2063 /* 3: ReduceAction194 < ReduceAction194: superclass typecheck marker */},
+  {(bigint) 2079 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction194 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction194 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2079 /* 3: ReduceAction194 < ReduceAction194: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50821,37 +52340,37 @@ const classtable_elt_t VFT_ReduceAction194[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction194 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction194 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction194___action},
-  {(long int) 2 /* 42: ReduceAction194 < ReduceAction194: superclass init_table position */},
-  {(long int) parser___ReduceAction194___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction194 < 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) 1 /* 40: ReduceAction194 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction194___action},
+  {(bigint) 2 /* 42: ReduceAction194 < ReduceAction194: superclass init_table position */},
+  {(bigint) parser___ReduceAction194___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction194(void) {
@@ -50867,10 +52386,10 @@ val_t NEW_parser___ReduceAction194___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction195[44] = {
-  {(long int) 2059 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction195 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction195 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2059 /* 3: ReduceAction195 < ReduceAction195: superclass typecheck marker */},
+  {(bigint) 2075 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction195 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction195 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2075 /* 3: ReduceAction195 < ReduceAction195: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50880,37 +52399,37 @@ const classtable_elt_t VFT_ReduceAction195[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction195 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction195 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction195___action},
-  {(long int) 2 /* 42: ReduceAction195 < ReduceAction195: superclass init_table position */},
-  {(long int) parser___ReduceAction195___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction195 < 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) 1 /* 40: ReduceAction195 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction195___action},
+  {(bigint) 2 /* 42: ReduceAction195 < ReduceAction195: superclass init_table position */},
+  {(bigint) parser___ReduceAction195___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction195(void) {
@@ -50926,10 +52445,10 @@ val_t NEW_parser___ReduceAction195___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction196[44] = {
-  {(long int) 2055 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction196 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction196 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2055 /* 3: ReduceAction196 < ReduceAction196: superclass typecheck marker */},
+  {(bigint) 2071 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction196 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction196 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2071 /* 3: ReduceAction196 < ReduceAction196: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50939,37 +52458,37 @@ const classtable_elt_t VFT_ReduceAction196[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction196 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction196 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction196___action},
-  {(long int) 2 /* 42: ReduceAction196 < ReduceAction196: superclass init_table position */},
-  {(long int) parser___ReduceAction196___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction196 < 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) 1 /* 40: ReduceAction196 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction196___action},
+  {(bigint) 2 /* 42: ReduceAction196 < ReduceAction196: superclass init_table position */},
+  {(bigint) parser___ReduceAction196___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction196(void) {
@@ -50985,10 +52504,10 @@ val_t NEW_parser___ReduceAction196___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction197[44] = {
-  {(long int) 2051 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction197 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction197 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2051 /* 3: ReduceAction197 < ReduceAction197: superclass typecheck marker */},
+  {(bigint) 2067 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction197 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction197 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2067 /* 3: ReduceAction197 < ReduceAction197: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -50998,37 +52517,37 @@ const classtable_elt_t VFT_ReduceAction197[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction197 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction197 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction197___action},
-  {(long int) 2 /* 42: ReduceAction197 < ReduceAction197: superclass init_table position */},
-  {(long int) parser___ReduceAction197___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction197 < 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) 1 /* 40: ReduceAction197 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction197___action},
+  {(bigint) 2 /* 42: ReduceAction197 < ReduceAction197: superclass init_table position */},
+  {(bigint) parser___ReduceAction197___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction197(void) {
@@ -51044,10 +52563,10 @@ val_t NEW_parser___ReduceAction197___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction198[44] = {
-  {(long int) 2047 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction198 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction198 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2047 /* 3: ReduceAction198 < ReduceAction198: superclass typecheck marker */},
+  {(bigint) 2063 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction198 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction198 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2063 /* 3: ReduceAction198 < ReduceAction198: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51057,37 +52576,37 @@ const classtable_elt_t VFT_ReduceAction198[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction198 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction198 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction198___action},
-  {(long int) 2 /* 42: ReduceAction198 < ReduceAction198: superclass init_table position */},
-  {(long int) parser___ReduceAction198___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction198 < 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) 1 /* 40: ReduceAction198 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction198___action},
+  {(bigint) 2 /* 42: ReduceAction198 < ReduceAction198: superclass init_table position */},
+  {(bigint) parser___ReduceAction198___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction198(void) {
@@ -51103,10 +52622,10 @@ val_t NEW_parser___ReduceAction198___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction199[44] = {
-  {(long int) 2043 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction199 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction199 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2043 /* 3: ReduceAction199 < ReduceAction199: superclass typecheck marker */},
+  {(bigint) 2059 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction199 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction199 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2059 /* 3: ReduceAction199 < ReduceAction199: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51116,37 +52635,37 @@ const classtable_elt_t VFT_ReduceAction199[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction199 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction199 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction199___action},
-  {(long int) 2 /* 42: ReduceAction199 < ReduceAction199: superclass init_table position */},
-  {(long int) parser___ReduceAction199___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction199 < 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) 1 /* 40: ReduceAction199 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction199___action},
+  {(bigint) 2 /* 42: ReduceAction199 < ReduceAction199: superclass init_table position */},
+  {(bigint) parser___ReduceAction199___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction199(void) {
@@ -51162,10 +52681,10 @@ val_t NEW_parser___ReduceAction199___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction200[44] = {
-  {(long int) 2031 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction200 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction200 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2031 /* 3: ReduceAction200 < ReduceAction200: superclass typecheck marker */},
+  {(bigint) 2047 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction200 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction200 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2047 /* 3: ReduceAction200 < ReduceAction200: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51175,37 +52694,37 @@ const classtable_elt_t VFT_ReduceAction200[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction200 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction200 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction200___action},
-  {(long int) 2 /* 42: ReduceAction200 < ReduceAction200: superclass init_table position */},
-  {(long int) parser___ReduceAction200___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction200 < 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) 1 /* 40: ReduceAction200 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction200___action},
+  {(bigint) 2 /* 42: ReduceAction200 < ReduceAction200: superclass init_table position */},
+  {(bigint) parser___ReduceAction200___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction200(void) {
@@ -51221,10 +52740,10 @@ val_t NEW_parser___ReduceAction200___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction201[44] = {
-  {(long int) 2027 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction201 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction201 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2027 /* 3: ReduceAction201 < ReduceAction201: superclass typecheck marker */},
+  {(bigint) 2043 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction201 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction201 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2043 /* 3: ReduceAction201 < ReduceAction201: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51234,37 +52753,37 @@ const classtable_elt_t VFT_ReduceAction201[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction201 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction201 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction201___action},
-  {(long int) 2 /* 42: ReduceAction201 < ReduceAction201: superclass init_table position */},
-  {(long int) parser___ReduceAction201___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction201 < 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) 1 /* 40: ReduceAction201 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction201___action},
+  {(bigint) 2 /* 42: ReduceAction201 < ReduceAction201: superclass init_table position */},
+  {(bigint) parser___ReduceAction201___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction201(void) {
@@ -51280,10 +52799,10 @@ val_t NEW_parser___ReduceAction201___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction202[44] = {
-  {(long int) 2023 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction202 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction202 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2023 /* 3: ReduceAction202 < ReduceAction202: superclass typecheck marker */},
+  {(bigint) 2039 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction202 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction202 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2039 /* 3: ReduceAction202 < ReduceAction202: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51293,37 +52812,37 @@ const classtable_elt_t VFT_ReduceAction202[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction202 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction202 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction202___action},
-  {(long int) 2 /* 42: ReduceAction202 < ReduceAction202: superclass init_table position */},
-  {(long int) parser___ReduceAction202___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction202 < 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) 1 /* 40: ReduceAction202 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction202___action},
+  {(bigint) 2 /* 42: ReduceAction202 < ReduceAction202: superclass init_table position */},
+  {(bigint) parser___ReduceAction202___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction202(void) {
@@ -51339,10 +52858,10 @@ val_t NEW_parser___ReduceAction202___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction203[44] = {
-  {(long int) 2019 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction203 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction203 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2019 /* 3: ReduceAction203 < ReduceAction203: superclass typecheck marker */},
+  {(bigint) 2035 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction203 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction203 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2035 /* 3: ReduceAction203 < ReduceAction203: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51352,37 +52871,37 @@ const classtable_elt_t VFT_ReduceAction203[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction203 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction203 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction203___action},
-  {(long int) 2 /* 42: ReduceAction203 < ReduceAction203: superclass init_table position */},
-  {(long int) parser___ReduceAction203___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction203 < 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) 1 /* 40: ReduceAction203 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction203___action},
+  {(bigint) 2 /* 42: ReduceAction203 < ReduceAction203: superclass init_table position */},
+  {(bigint) parser___ReduceAction203___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction203(void) {
@@ -51398,10 +52917,10 @@ val_t NEW_parser___ReduceAction203___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction204[44] = {
-  {(long int) 2015 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction204 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction204 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2015 /* 3: ReduceAction204 < ReduceAction204: superclass typecheck marker */},
+  {(bigint) 2031 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction204 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction204 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2031 /* 3: ReduceAction204 < ReduceAction204: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51411,37 +52930,37 @@ const classtable_elt_t VFT_ReduceAction204[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction204 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction204 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction204___action},
-  {(long int) 2 /* 42: ReduceAction204 < ReduceAction204: superclass init_table position */},
-  {(long int) parser___ReduceAction204___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction204 < 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) 1 /* 40: ReduceAction204 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction204___action},
+  {(bigint) 2 /* 42: ReduceAction204 < ReduceAction204: superclass init_table position */},
+  {(bigint) parser___ReduceAction204___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction204(void) {
@@ -51457,10 +52976,10 @@ val_t NEW_parser___ReduceAction204___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction205[44] = {
-  {(long int) 2011 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction205 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction205 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2011 /* 3: ReduceAction205 < ReduceAction205: superclass typecheck marker */},
+  {(bigint) 2027 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction205 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction205 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2027 /* 3: ReduceAction205 < ReduceAction205: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51470,37 +52989,37 @@ const classtable_elt_t VFT_ReduceAction205[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction205 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction205 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction205___action},
-  {(long int) 2 /* 42: ReduceAction205 < ReduceAction205: superclass init_table position */},
-  {(long int) parser___ReduceAction205___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction205 < 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) 1 /* 40: ReduceAction205 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction205___action},
+  {(bigint) 2 /* 42: ReduceAction205 < ReduceAction205: superclass init_table position */},
+  {(bigint) parser___ReduceAction205___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction205(void) {
@@ -51516,10 +53035,10 @@ val_t NEW_parser___ReduceAction205___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction206[44] = {
-  {(long int) 2007 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction206 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction206 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2007 /* 3: ReduceAction206 < ReduceAction206: superclass typecheck marker */},
+  {(bigint) 2023 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction206 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction206 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2023 /* 3: ReduceAction206 < ReduceAction206: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51529,37 +53048,37 @@ const classtable_elt_t VFT_ReduceAction206[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction206 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction206 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction206___action},
-  {(long int) 2 /* 42: ReduceAction206 < ReduceAction206: superclass init_table position */},
-  {(long int) parser___ReduceAction206___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction206 < 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) 1 /* 40: ReduceAction206 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction206___action},
+  {(bigint) 2 /* 42: ReduceAction206 < ReduceAction206: superclass init_table position */},
+  {(bigint) parser___ReduceAction206___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction206(void) {
@@ -51575,10 +53094,10 @@ val_t NEW_parser___ReduceAction206___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction207[44] = {
-  {(long int) 2003 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction207 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction207 < ReduceAction: superclass typecheck marker */},
-  {(long int) 2003 /* 3: ReduceAction207 < ReduceAction207: superclass typecheck marker */},
+  {(bigint) 2019 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction207 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction207 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2019 /* 3: ReduceAction207 < ReduceAction207: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51588,37 +53107,37 @@ const classtable_elt_t VFT_ReduceAction207[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction207 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction207 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction207___action},
-  {(long int) 2 /* 42: ReduceAction207 < ReduceAction207: superclass init_table position */},
-  {(long int) parser___ReduceAction207___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction207 < 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) 1 /* 40: ReduceAction207 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction207___action},
+  {(bigint) 2 /* 42: ReduceAction207 < ReduceAction207: superclass init_table position */},
+  {(bigint) parser___ReduceAction207___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction207(void) {
@@ -51634,10 +53153,10 @@ val_t NEW_parser___ReduceAction207___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction208[44] = {
-  {(long int) 1999 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction208 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction208 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1999 /* 3: ReduceAction208 < ReduceAction208: superclass typecheck marker */},
+  {(bigint) 2015 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction208 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction208 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2015 /* 3: ReduceAction208 < ReduceAction208: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51647,37 +53166,37 @@ const classtable_elt_t VFT_ReduceAction208[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction208 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction208 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction208___action},
-  {(long int) 2 /* 42: ReduceAction208 < ReduceAction208: superclass init_table position */},
-  {(long int) parser___ReduceAction208___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction208 < 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) 1 /* 40: ReduceAction208 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction208___action},
+  {(bigint) 2 /* 42: ReduceAction208 < ReduceAction208: superclass init_table position */},
+  {(bigint) parser___ReduceAction208___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction208(void) {
@@ -51693,10 +53212,10 @@ val_t NEW_parser___ReduceAction208___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction209[44] = {
-  {(long int) 1995 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction209 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction209 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1995 /* 3: ReduceAction209 < ReduceAction209: superclass typecheck marker */},
+  {(bigint) 2011 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction209 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction209 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2011 /* 3: ReduceAction209 < ReduceAction209: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51706,37 +53225,37 @@ const classtable_elt_t VFT_ReduceAction209[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction209 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction209 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction209___action},
-  {(long int) 2 /* 42: ReduceAction209 < ReduceAction209: superclass init_table position */},
-  {(long int) parser___ReduceAction209___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction209 < 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) 1 /* 40: ReduceAction209 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction209___action},
+  {(bigint) 2 /* 42: ReduceAction209 < ReduceAction209: superclass init_table position */},
+  {(bigint) parser___ReduceAction209___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction209(void) {
@@ -51752,10 +53271,10 @@ val_t NEW_parser___ReduceAction209___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction210[44] = {
-  {(long int) 1987 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction210 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction210 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1987 /* 3: ReduceAction210 < ReduceAction210: superclass typecheck marker */},
+  {(bigint) 2003 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction210 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction210 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 2003 /* 3: ReduceAction210 < ReduceAction210: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51765,37 +53284,37 @@ const classtable_elt_t VFT_ReduceAction210[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction210 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction210 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction210___action},
-  {(long int) 2 /* 42: ReduceAction210 < ReduceAction210: superclass init_table position */},
-  {(long int) parser___ReduceAction210___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction210 < 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) 1 /* 40: ReduceAction210 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction210___action},
+  {(bigint) 2 /* 42: ReduceAction210 < ReduceAction210: superclass init_table position */},
+  {(bigint) parser___ReduceAction210___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction210(void) {
@@ -51811,10 +53330,10 @@ val_t NEW_parser___ReduceAction210___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction211[44] = {
-  {(long int) 1983 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction211 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction211 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1983 /* 3: ReduceAction211 < ReduceAction211: superclass typecheck marker */},
+  {(bigint) 1999 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction211 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction211 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1999 /* 3: ReduceAction211 < ReduceAction211: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51824,37 +53343,37 @@ const classtable_elt_t VFT_ReduceAction211[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction211 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction211 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction211___action},
-  {(long int) 2 /* 42: ReduceAction211 < ReduceAction211: superclass init_table position */},
-  {(long int) parser___ReduceAction211___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction211 < 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) 1 /* 40: ReduceAction211 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction211___action},
+  {(bigint) 2 /* 42: ReduceAction211 < ReduceAction211: superclass init_table position */},
+  {(bigint) parser___ReduceAction211___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction211(void) {
@@ -51870,10 +53389,10 @@ val_t NEW_parser___ReduceAction211___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction212[44] = {
-  {(long int) 1979 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction212 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction212 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1979 /* 3: ReduceAction212 < ReduceAction212: superclass typecheck marker */},
+  {(bigint) 1995 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction212 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction212 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1995 /* 3: ReduceAction212 < ReduceAction212: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51883,37 +53402,37 @@ const classtable_elt_t VFT_ReduceAction212[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction212 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction212 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction212___action},
-  {(long int) 2 /* 42: ReduceAction212 < ReduceAction212: superclass init_table position */},
-  {(long int) parser___ReduceAction212___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction212 < 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) 1 /* 40: ReduceAction212 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction212___action},
+  {(bigint) 2 /* 42: ReduceAction212 < ReduceAction212: superclass init_table position */},
+  {(bigint) parser___ReduceAction212___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction212(void) {
@@ -51929,10 +53448,10 @@ val_t NEW_parser___ReduceAction212___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction213[44] = {
-  {(long int) 1975 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction213 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction213 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1975 /* 3: ReduceAction213 < ReduceAction213: superclass typecheck marker */},
+  {(bigint) 1991 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction213 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction213 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1991 /* 3: ReduceAction213 < ReduceAction213: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -51942,37 +53461,37 @@ const classtable_elt_t VFT_ReduceAction213[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction213 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction213 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction213___action},
-  {(long int) 2 /* 42: ReduceAction213 < ReduceAction213: superclass init_table position */},
-  {(long int) parser___ReduceAction213___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction213 < 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) 1 /* 40: ReduceAction213 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction213___action},
+  {(bigint) 2 /* 42: ReduceAction213 < ReduceAction213: superclass init_table position */},
+  {(bigint) parser___ReduceAction213___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction213(void) {
@@ -51988,10 +53507,10 @@ val_t NEW_parser___ReduceAction213___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction214[44] = {
-  {(long int) 1971 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction214 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction214 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1971 /* 3: ReduceAction214 < ReduceAction214: superclass typecheck marker */},
+  {(bigint) 1987 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction214 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction214 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1987 /* 3: ReduceAction214 < ReduceAction214: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52001,37 +53520,37 @@ const classtable_elt_t VFT_ReduceAction214[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction214 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction214 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction214___action},
-  {(long int) 2 /* 42: ReduceAction214 < ReduceAction214: superclass init_table position */},
-  {(long int) parser___ReduceAction214___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction214 < 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) 1 /* 40: ReduceAction214 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction214___action},
+  {(bigint) 2 /* 42: ReduceAction214 < ReduceAction214: superclass init_table position */},
+  {(bigint) parser___ReduceAction214___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction214(void) {
@@ -52047,10 +53566,10 @@ val_t NEW_parser___ReduceAction214___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction215[44] = {
-  {(long int) 1967 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction215 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction215 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1967 /* 3: ReduceAction215 < ReduceAction215: superclass typecheck marker */},
+  {(bigint) 1983 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction215 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction215 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1983 /* 3: ReduceAction215 < ReduceAction215: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52060,37 +53579,37 @@ const classtable_elt_t VFT_ReduceAction215[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction215 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction215 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction215___action},
-  {(long int) 2 /* 42: ReduceAction215 < ReduceAction215: superclass init_table position */},
-  {(long int) parser___ReduceAction215___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction215 < 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) 1 /* 40: ReduceAction215 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction215___action},
+  {(bigint) 2 /* 42: ReduceAction215 < ReduceAction215: superclass init_table position */},
+  {(bigint) parser___ReduceAction215___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction215(void) {
@@ -52106,10 +53625,10 @@ val_t NEW_parser___ReduceAction215___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction216[44] = {
-  {(long int) 1963 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction216 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction216 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1963 /* 3: ReduceAction216 < ReduceAction216: superclass typecheck marker */},
+  {(bigint) 1979 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction216 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction216 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1979 /* 3: ReduceAction216 < ReduceAction216: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52119,37 +53638,37 @@ const classtable_elt_t VFT_ReduceAction216[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction216 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction216 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction216___action},
-  {(long int) 2 /* 42: ReduceAction216 < ReduceAction216: superclass init_table position */},
-  {(long int) parser___ReduceAction216___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction216 < 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) 1 /* 40: ReduceAction216 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction216___action},
+  {(bigint) 2 /* 42: ReduceAction216 < ReduceAction216: superclass init_table position */},
+  {(bigint) parser___ReduceAction216___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction216(void) {
@@ -52165,10 +53684,10 @@ val_t NEW_parser___ReduceAction216___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction217[44] = {
-  {(long int) 1959 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction217 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction217 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1959 /* 3: ReduceAction217 < ReduceAction217: superclass typecheck marker */},
+  {(bigint) 1975 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction217 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction217 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1975 /* 3: ReduceAction217 < ReduceAction217: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52178,37 +53697,37 @@ const classtable_elt_t VFT_ReduceAction217[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction217 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction217 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction217___action},
-  {(long int) 2 /* 42: ReduceAction217 < ReduceAction217: superclass init_table position */},
-  {(long int) parser___ReduceAction217___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction217 < 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) 1 /* 40: ReduceAction217 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction217___action},
+  {(bigint) 2 /* 42: ReduceAction217 < ReduceAction217: superclass init_table position */},
+  {(bigint) parser___ReduceAction217___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction217(void) {
@@ -52224,10 +53743,10 @@ val_t NEW_parser___ReduceAction217___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction218[44] = {
-  {(long int) 1955 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction218 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction218 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1955 /* 3: ReduceAction218 < ReduceAction218: superclass typecheck marker */},
+  {(bigint) 1971 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction218 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction218 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1971 /* 3: ReduceAction218 < ReduceAction218: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52237,37 +53756,37 @@ const classtable_elt_t VFT_ReduceAction218[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction218 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction218 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction218___action},
-  {(long int) 2 /* 42: ReduceAction218 < ReduceAction218: superclass init_table position */},
-  {(long int) parser___ReduceAction218___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction218 < 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) 1 /* 40: ReduceAction218 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction218___action},
+  {(bigint) 2 /* 42: ReduceAction218 < ReduceAction218: superclass init_table position */},
+  {(bigint) parser___ReduceAction218___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction218(void) {
@@ -52283,10 +53802,10 @@ val_t NEW_parser___ReduceAction218___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction219[44] = {
-  {(long int) 1951 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction219 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction219 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1951 /* 3: ReduceAction219 < ReduceAction219: superclass typecheck marker */},
+  {(bigint) 1967 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction219 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction219 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1967 /* 3: ReduceAction219 < ReduceAction219: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52296,37 +53815,37 @@ const classtable_elt_t VFT_ReduceAction219[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction219 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction219 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction219___action},
-  {(long int) 2 /* 42: ReduceAction219 < ReduceAction219: superclass init_table position */},
-  {(long int) parser___ReduceAction219___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction219 < 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) 1 /* 40: ReduceAction219 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction219___action},
+  {(bigint) 2 /* 42: ReduceAction219 < ReduceAction219: superclass init_table position */},
+  {(bigint) parser___ReduceAction219___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction219(void) {
@@ -52342,10 +53861,10 @@ val_t NEW_parser___ReduceAction219___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction220[44] = {
-  {(long int) 1943 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction220 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction220 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1943 /* 3: ReduceAction220 < ReduceAction220: superclass typecheck marker */},
+  {(bigint) 1959 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction220 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction220 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1959 /* 3: ReduceAction220 < ReduceAction220: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52355,37 +53874,37 @@ const classtable_elt_t VFT_ReduceAction220[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction220 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction220 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction220___action},
-  {(long int) 2 /* 42: ReduceAction220 < ReduceAction220: superclass init_table position */},
-  {(long int) parser___ReduceAction220___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction220 < 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) 1 /* 40: ReduceAction220 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction220___action},
+  {(bigint) 2 /* 42: ReduceAction220 < ReduceAction220: superclass init_table position */},
+  {(bigint) parser___ReduceAction220___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction220(void) {
@@ -52401,10 +53920,10 @@ val_t NEW_parser___ReduceAction220___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction221[44] = {
-  {(long int) 1939 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction221 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction221 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1939 /* 3: ReduceAction221 < ReduceAction221: superclass typecheck marker */},
+  {(bigint) 1955 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction221 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction221 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1955 /* 3: ReduceAction221 < ReduceAction221: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52414,37 +53933,37 @@ const classtable_elt_t VFT_ReduceAction221[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction221 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction221 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction221___action},
-  {(long int) 2 /* 42: ReduceAction221 < ReduceAction221: superclass init_table position */},
-  {(long int) parser___ReduceAction221___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction221 < 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) 1 /* 40: ReduceAction221 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction221___action},
+  {(bigint) 2 /* 42: ReduceAction221 < ReduceAction221: superclass init_table position */},
+  {(bigint) parser___ReduceAction221___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction221(void) {
@@ -52460,10 +53979,10 @@ val_t NEW_parser___ReduceAction221___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction222[44] = {
-  {(long int) 1935 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction222 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction222 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1935 /* 3: ReduceAction222 < ReduceAction222: superclass typecheck marker */},
+  {(bigint) 1951 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction222 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction222 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1951 /* 3: ReduceAction222 < ReduceAction222: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52473,37 +53992,37 @@ const classtable_elt_t VFT_ReduceAction222[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction222 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction222 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction222___action},
-  {(long int) 2 /* 42: ReduceAction222 < ReduceAction222: superclass init_table position */},
-  {(long int) parser___ReduceAction222___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction222 < 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) 1 /* 40: ReduceAction222 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction222___action},
+  {(bigint) 2 /* 42: ReduceAction222 < ReduceAction222: superclass init_table position */},
+  {(bigint) parser___ReduceAction222___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction222(void) {
@@ -52519,10 +54038,10 @@ val_t NEW_parser___ReduceAction222___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction223[44] = {
-  {(long int) 1931 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction223 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction223 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1931 /* 3: ReduceAction223 < ReduceAction223: superclass typecheck marker */},
+  {(bigint) 1947 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction223 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction223 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1947 /* 3: ReduceAction223 < ReduceAction223: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52532,37 +54051,37 @@ const classtable_elt_t VFT_ReduceAction223[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction223 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction223 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction223___action},
-  {(long int) 2 /* 42: ReduceAction223 < ReduceAction223: superclass init_table position */},
-  {(long int) parser___ReduceAction223___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction223 < 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) 1 /* 40: ReduceAction223 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction223___action},
+  {(bigint) 2 /* 42: ReduceAction223 < ReduceAction223: superclass init_table position */},
+  {(bigint) parser___ReduceAction223___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction223(void) {
@@ -52578,10 +54097,10 @@ val_t NEW_parser___ReduceAction223___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction224[44] = {
-  {(long int) 1927 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction224 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction224 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1927 /* 3: ReduceAction224 < ReduceAction224: superclass typecheck marker */},
+  {(bigint) 1943 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction224 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction224 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1943 /* 3: ReduceAction224 < ReduceAction224: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52591,37 +54110,37 @@ const classtable_elt_t VFT_ReduceAction224[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction224 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction224 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction224___action},
-  {(long int) 2 /* 42: ReduceAction224 < ReduceAction224: superclass init_table position */},
-  {(long int) parser___ReduceAction224___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction224 < 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) 1 /* 40: ReduceAction224 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction224___action},
+  {(bigint) 2 /* 42: ReduceAction224 < ReduceAction224: superclass init_table position */},
+  {(bigint) parser___ReduceAction224___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction224(void) {
@@ -52637,10 +54156,10 @@ val_t NEW_parser___ReduceAction224___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction225[44] = {
-  {(long int) 1923 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction225 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction225 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1923 /* 3: ReduceAction225 < ReduceAction225: superclass typecheck marker */},
+  {(bigint) 1939 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction225 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction225 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1939 /* 3: ReduceAction225 < ReduceAction225: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52650,37 +54169,37 @@ const classtable_elt_t VFT_ReduceAction225[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction225 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction225 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction225___action},
-  {(long int) 2 /* 42: ReduceAction225 < ReduceAction225: superclass init_table position */},
-  {(long int) parser___ReduceAction225___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction225 < 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) 1 /* 40: ReduceAction225 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction225___action},
+  {(bigint) 2 /* 42: ReduceAction225 < ReduceAction225: superclass init_table position */},
+  {(bigint) parser___ReduceAction225___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction225(void) {
@@ -52696,10 +54215,10 @@ val_t NEW_parser___ReduceAction225___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction226[44] = {
-  {(long int) 1919 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction226 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction226 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1919 /* 3: ReduceAction226 < ReduceAction226: superclass typecheck marker */},
+  {(bigint) 1935 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction226 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction226 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1935 /* 3: ReduceAction226 < ReduceAction226: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52709,37 +54228,37 @@ const classtable_elt_t VFT_ReduceAction226[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction226 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction226 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction226___action},
-  {(long int) 2 /* 42: ReduceAction226 < ReduceAction226: superclass init_table position */},
-  {(long int) parser___ReduceAction226___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction226 < 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) 1 /* 40: ReduceAction226 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction226___action},
+  {(bigint) 2 /* 42: ReduceAction226 < ReduceAction226: superclass init_table position */},
+  {(bigint) parser___ReduceAction226___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction226(void) {
@@ -52755,10 +54274,10 @@ val_t NEW_parser___ReduceAction226___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction227[44] = {
-  {(long int) 1915 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction227 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction227 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1915 /* 3: ReduceAction227 < ReduceAction227: superclass typecheck marker */},
+  {(bigint) 1931 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction227 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction227 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1931 /* 3: ReduceAction227 < ReduceAction227: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52768,37 +54287,37 @@ const classtable_elt_t VFT_ReduceAction227[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction227 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction227 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction227___action},
-  {(long int) 2 /* 42: ReduceAction227 < ReduceAction227: superclass init_table position */},
-  {(long int) parser___ReduceAction227___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction227 < 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) 1 /* 40: ReduceAction227 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction227___action},
+  {(bigint) 2 /* 42: ReduceAction227 < ReduceAction227: superclass init_table position */},
+  {(bigint) parser___ReduceAction227___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction227(void) {
@@ -52814,10 +54333,10 @@ val_t NEW_parser___ReduceAction227___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction228[44] = {
-  {(long int) 1911 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction228 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction228 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1911 /* 3: ReduceAction228 < ReduceAction228: superclass typecheck marker */},
+  {(bigint) 1927 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction228 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction228 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1927 /* 3: ReduceAction228 < ReduceAction228: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52827,37 +54346,37 @@ const classtable_elt_t VFT_ReduceAction228[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction228 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction228 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction228___action},
-  {(long int) 2 /* 42: ReduceAction228 < ReduceAction228: superclass init_table position */},
-  {(long int) parser___ReduceAction228___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction228 < 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) 1 /* 40: ReduceAction228 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction228___action},
+  {(bigint) 2 /* 42: ReduceAction228 < ReduceAction228: superclass init_table position */},
+  {(bigint) parser___ReduceAction228___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction228(void) {
@@ -52873,10 +54392,10 @@ val_t NEW_parser___ReduceAction228___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction229[44] = {
-  {(long int) 1907 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction229 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction229 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1907 /* 3: ReduceAction229 < ReduceAction229: superclass typecheck marker */},
+  {(bigint) 1923 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction229 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction229 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1923 /* 3: ReduceAction229 < ReduceAction229: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52886,37 +54405,37 @@ const classtable_elt_t VFT_ReduceAction229[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction229 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction229 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction229___action},
-  {(long int) 2 /* 42: ReduceAction229 < ReduceAction229: superclass init_table position */},
-  {(long int) parser___ReduceAction229___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction229 < 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) 1 /* 40: ReduceAction229 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction229___action},
+  {(bigint) 2 /* 42: ReduceAction229 < ReduceAction229: superclass init_table position */},
+  {(bigint) parser___ReduceAction229___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction229(void) {
@@ -52932,10 +54451,10 @@ val_t NEW_parser___ReduceAction229___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction230[44] = {
-  {(long int) 1899 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction230 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction230 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1899 /* 3: ReduceAction230 < ReduceAction230: superclass typecheck marker */},
+  {(bigint) 1915 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction230 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction230 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1915 /* 3: ReduceAction230 < ReduceAction230: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -52945,37 +54464,37 @@ const classtable_elt_t VFT_ReduceAction230[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction230 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction230 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction230___action},
-  {(long int) 2 /* 42: ReduceAction230 < ReduceAction230: superclass init_table position */},
-  {(long int) parser___ReduceAction230___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction230 < 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) 1 /* 40: ReduceAction230 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction230___action},
+  {(bigint) 2 /* 42: ReduceAction230 < ReduceAction230: superclass init_table position */},
+  {(bigint) parser___ReduceAction230___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction230(void) {
@@ -52991,10 +54510,10 @@ val_t NEW_parser___ReduceAction230___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction231[44] = {
-  {(long int) 1895 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction231 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction231 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1895 /* 3: ReduceAction231 < ReduceAction231: superclass typecheck marker */},
+  {(bigint) 1911 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction231 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction231 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1911 /* 3: ReduceAction231 < ReduceAction231: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53004,37 +54523,37 @@ const classtable_elt_t VFT_ReduceAction231[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction231 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction231 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction231___action},
-  {(long int) 2 /* 42: ReduceAction231 < ReduceAction231: superclass init_table position */},
-  {(long int) parser___ReduceAction231___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction231 < 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) 1 /* 40: ReduceAction231 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction231___action},
+  {(bigint) 2 /* 42: ReduceAction231 < ReduceAction231: superclass init_table position */},
+  {(bigint) parser___ReduceAction231___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction231(void) {
@@ -53050,10 +54569,10 @@ val_t NEW_parser___ReduceAction231___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction232[44] = {
-  {(long int) 1891 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction232 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction232 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1891 /* 3: ReduceAction232 < ReduceAction232: superclass typecheck marker */},
+  {(bigint) 1907 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction232 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction232 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1907 /* 3: ReduceAction232 < ReduceAction232: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53063,37 +54582,37 @@ const classtable_elt_t VFT_ReduceAction232[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction232 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction232 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction232___action},
-  {(long int) 2 /* 42: ReduceAction232 < ReduceAction232: superclass init_table position */},
-  {(long int) parser___ReduceAction232___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction232 < 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) 1 /* 40: ReduceAction232 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction232___action},
+  {(bigint) 2 /* 42: ReduceAction232 < ReduceAction232: superclass init_table position */},
+  {(bigint) parser___ReduceAction232___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction232(void) {
@@ -53109,10 +54628,10 @@ val_t NEW_parser___ReduceAction232___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction233[44] = {
-  {(long int) 1887 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction233 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction233 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1887 /* 3: ReduceAction233 < ReduceAction233: superclass typecheck marker */},
+  {(bigint) 1903 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction233 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction233 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1903 /* 3: ReduceAction233 < ReduceAction233: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53122,37 +54641,37 @@ const classtable_elt_t VFT_ReduceAction233[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction233 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction233 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction233___action},
-  {(long int) 2 /* 42: ReduceAction233 < ReduceAction233: superclass init_table position */},
-  {(long int) parser___ReduceAction233___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction233 < 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) 1 /* 40: ReduceAction233 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction233___action},
+  {(bigint) 2 /* 42: ReduceAction233 < ReduceAction233: superclass init_table position */},
+  {(bigint) parser___ReduceAction233___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction233(void) {
@@ -53168,10 +54687,10 @@ val_t NEW_parser___ReduceAction233___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction234[44] = {
-  {(long int) 1883 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction234 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction234 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1883 /* 3: ReduceAction234 < ReduceAction234: superclass typecheck marker */},
+  {(bigint) 1899 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction234 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction234 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1899 /* 3: ReduceAction234 < ReduceAction234: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53181,37 +54700,37 @@ const classtable_elt_t VFT_ReduceAction234[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction234 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction234 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction234___action},
-  {(long int) 2 /* 42: ReduceAction234 < ReduceAction234: superclass init_table position */},
-  {(long int) parser___ReduceAction234___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction234 < 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) 1 /* 40: ReduceAction234 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction234___action},
+  {(bigint) 2 /* 42: ReduceAction234 < ReduceAction234: superclass init_table position */},
+  {(bigint) parser___ReduceAction234___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction234(void) {
@@ -53227,10 +54746,10 @@ val_t NEW_parser___ReduceAction234___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction235[44] = {
-  {(long int) 1879 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction235 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction235 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1879 /* 3: ReduceAction235 < ReduceAction235: superclass typecheck marker */},
+  {(bigint) 1895 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction235 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction235 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1895 /* 3: ReduceAction235 < ReduceAction235: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53240,37 +54759,37 @@ const classtable_elt_t VFT_ReduceAction235[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction235 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction235 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction235___action},
-  {(long int) 2 /* 42: ReduceAction235 < ReduceAction235: superclass init_table position */},
-  {(long int) parser___ReduceAction235___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction235 < 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) 1 /* 40: ReduceAction235 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction235___action},
+  {(bigint) 2 /* 42: ReduceAction235 < ReduceAction235: superclass init_table position */},
+  {(bigint) parser___ReduceAction235___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction235(void) {
@@ -53286,10 +54805,10 @@ val_t NEW_parser___ReduceAction235___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction236[44] = {
-  {(long int) 1875 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction236 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction236 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1875 /* 3: ReduceAction236 < ReduceAction236: superclass typecheck marker */},
+  {(bigint) 1891 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction236 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction236 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1891 /* 3: ReduceAction236 < ReduceAction236: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53299,37 +54818,37 @@ const classtable_elt_t VFT_ReduceAction236[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction236 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction236 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction236___action},
-  {(long int) 2 /* 42: ReduceAction236 < ReduceAction236: superclass init_table position */},
-  {(long int) parser___ReduceAction236___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction236 < 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) 1 /* 40: ReduceAction236 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction236___action},
+  {(bigint) 2 /* 42: ReduceAction236 < ReduceAction236: superclass init_table position */},
+  {(bigint) parser___ReduceAction236___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction236(void) {
@@ -53345,10 +54864,10 @@ val_t NEW_parser___ReduceAction236___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction237[44] = {
-  {(long int) 1871 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction237 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction237 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1871 /* 3: ReduceAction237 < ReduceAction237: superclass typecheck marker */},
+  {(bigint) 1887 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction237 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction237 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1887 /* 3: ReduceAction237 < ReduceAction237: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53358,37 +54877,37 @@ const classtable_elt_t VFT_ReduceAction237[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction237 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction237 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction237___action},
-  {(long int) 2 /* 42: ReduceAction237 < ReduceAction237: superclass init_table position */},
-  {(long int) parser___ReduceAction237___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction237 < 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) 1 /* 40: ReduceAction237 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction237___action},
+  {(bigint) 2 /* 42: ReduceAction237 < ReduceAction237: superclass init_table position */},
+  {(bigint) parser___ReduceAction237___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction237(void) {
@@ -53404,10 +54923,10 @@ val_t NEW_parser___ReduceAction237___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction238[44] = {
-  {(long int) 1867 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction238 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction238 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1867 /* 3: ReduceAction238 < ReduceAction238: superclass typecheck marker */},
+  {(bigint) 1883 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction238 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction238 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1883 /* 3: ReduceAction238 < ReduceAction238: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53417,37 +54936,37 @@ const classtable_elt_t VFT_ReduceAction238[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction238 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction238 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction238___action},
-  {(long int) 2 /* 42: ReduceAction238 < ReduceAction238: superclass init_table position */},
-  {(long int) parser___ReduceAction238___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction238 < 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) 1 /* 40: ReduceAction238 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction238___action},
+  {(bigint) 2 /* 42: ReduceAction238 < ReduceAction238: superclass init_table position */},
+  {(bigint) parser___ReduceAction238___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction238(void) {
@@ -53463,10 +54982,10 @@ val_t NEW_parser___ReduceAction238___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction239[44] = {
-  {(long int) 1863 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction239 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction239 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1863 /* 3: ReduceAction239 < ReduceAction239: superclass typecheck marker */},
+  {(bigint) 1879 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction239 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction239 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1879 /* 3: ReduceAction239 < ReduceAction239: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53476,37 +54995,37 @@ const classtable_elt_t VFT_ReduceAction239[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction239 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction239 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction239___action},
-  {(long int) 2 /* 42: ReduceAction239 < ReduceAction239: superclass init_table position */},
-  {(long int) parser___ReduceAction239___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction239 < 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) 1 /* 40: ReduceAction239 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction239___action},
+  {(bigint) 2 /* 42: ReduceAction239 < ReduceAction239: superclass init_table position */},
+  {(bigint) parser___ReduceAction239___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction239(void) {
@@ -53522,10 +55041,10 @@ val_t NEW_parser___ReduceAction239___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction240[44] = {
-  {(long int) 1855 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction240 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction240 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1855 /* 3: ReduceAction240 < ReduceAction240: superclass typecheck marker */},
+  {(bigint) 1871 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction240 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction240 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1871 /* 3: ReduceAction240 < ReduceAction240: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53535,37 +55054,37 @@ const classtable_elt_t VFT_ReduceAction240[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction240 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction240 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction240___action},
-  {(long int) 2 /* 42: ReduceAction240 < ReduceAction240: superclass init_table position */},
-  {(long int) parser___ReduceAction240___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction240 < 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) 1 /* 40: ReduceAction240 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction240___action},
+  {(bigint) 2 /* 42: ReduceAction240 < ReduceAction240: superclass init_table position */},
+  {(bigint) parser___ReduceAction240___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction240(void) {
@@ -53581,10 +55100,10 @@ val_t NEW_parser___ReduceAction240___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction241[44] = {
-  {(long int) 1851 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction241 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction241 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1851 /* 3: ReduceAction241 < ReduceAction241: superclass typecheck marker */},
+  {(bigint) 1867 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction241 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction241 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1867 /* 3: ReduceAction241 < ReduceAction241: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53594,37 +55113,37 @@ const classtable_elt_t VFT_ReduceAction241[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction241 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction241 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction241___action},
-  {(long int) 2 /* 42: ReduceAction241 < ReduceAction241: superclass init_table position */},
-  {(long int) parser___ReduceAction241___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction241 < 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) 1 /* 40: ReduceAction241 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction241___action},
+  {(bigint) 2 /* 42: ReduceAction241 < ReduceAction241: superclass init_table position */},
+  {(bigint) parser___ReduceAction241___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction241(void) {
@@ -53640,10 +55159,10 @@ val_t NEW_parser___ReduceAction241___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction242[44] = {
-  {(long int) 1847 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction242 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction242 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1847 /* 3: ReduceAction242 < ReduceAction242: superclass typecheck marker */},
+  {(bigint) 1863 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction242 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction242 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1863 /* 3: ReduceAction242 < ReduceAction242: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53653,37 +55172,37 @@ const classtable_elt_t VFT_ReduceAction242[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction242 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction242 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction242___action},
-  {(long int) 2 /* 42: ReduceAction242 < ReduceAction242: superclass init_table position */},
-  {(long int) parser___ReduceAction242___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction242 < 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) 1 /* 40: ReduceAction242 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction242___action},
+  {(bigint) 2 /* 42: ReduceAction242 < ReduceAction242: superclass init_table position */},
+  {(bigint) parser___ReduceAction242___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction242(void) {
@@ -53699,10 +55218,10 @@ val_t NEW_parser___ReduceAction242___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction243[44] = {
-  {(long int) 1843 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction243 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction243 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1843 /* 3: ReduceAction243 < ReduceAction243: superclass typecheck marker */},
+  {(bigint) 1859 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction243 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction243 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1859 /* 3: ReduceAction243 < ReduceAction243: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53712,37 +55231,37 @@ const classtable_elt_t VFT_ReduceAction243[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction243 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction243 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction243___action},
-  {(long int) 2 /* 42: ReduceAction243 < ReduceAction243: superclass init_table position */},
-  {(long int) parser___ReduceAction243___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction243 < 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) 1 /* 40: ReduceAction243 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction243___action},
+  {(bigint) 2 /* 42: ReduceAction243 < ReduceAction243: superclass init_table position */},
+  {(bigint) parser___ReduceAction243___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction243(void) {
@@ -53758,10 +55277,10 @@ val_t NEW_parser___ReduceAction243___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction244[44] = {
-  {(long int) 1839 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction244 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction244 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1839 /* 3: ReduceAction244 < ReduceAction244: superclass typecheck marker */},
+  {(bigint) 1855 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction244 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction244 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1855 /* 3: ReduceAction244 < ReduceAction244: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53771,37 +55290,37 @@ const classtable_elt_t VFT_ReduceAction244[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction244 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction244 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction244___action},
-  {(long int) 2 /* 42: ReduceAction244 < ReduceAction244: superclass init_table position */},
-  {(long int) parser___ReduceAction244___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction244 < 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) 1 /* 40: ReduceAction244 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction244___action},
+  {(bigint) 2 /* 42: ReduceAction244 < ReduceAction244: superclass init_table position */},
+  {(bigint) parser___ReduceAction244___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction244(void) {
@@ -53817,10 +55336,10 @@ val_t NEW_parser___ReduceAction244___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction245[44] = {
-  {(long int) 1835 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction245 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction245 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1835 /* 3: ReduceAction245 < ReduceAction245: superclass typecheck marker */},
+  {(bigint) 1851 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction245 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction245 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1851 /* 3: ReduceAction245 < ReduceAction245: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53830,37 +55349,37 @@ const classtable_elt_t VFT_ReduceAction245[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction245 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction245 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction245___action},
-  {(long int) 2 /* 42: ReduceAction245 < ReduceAction245: superclass init_table position */},
-  {(long int) parser___ReduceAction245___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction245 < 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) 1 /* 40: ReduceAction245 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction245___action},
+  {(bigint) 2 /* 42: ReduceAction245 < ReduceAction245: superclass init_table position */},
+  {(bigint) parser___ReduceAction245___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction245(void) {
@@ -53876,10 +55395,10 @@ val_t NEW_parser___ReduceAction245___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction246[44] = {
-  {(long int) 1831 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction246 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction246 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1831 /* 3: ReduceAction246 < ReduceAction246: superclass typecheck marker */},
+  {(bigint) 1847 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction246 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction246 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1847 /* 3: ReduceAction246 < ReduceAction246: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53889,37 +55408,37 @@ const classtable_elt_t VFT_ReduceAction246[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction246 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction246 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction246___action},
-  {(long int) 2 /* 42: ReduceAction246 < ReduceAction246: superclass init_table position */},
-  {(long int) parser___ReduceAction246___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction246 < 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) 1 /* 40: ReduceAction246 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction246___action},
+  {(bigint) 2 /* 42: ReduceAction246 < ReduceAction246: superclass init_table position */},
+  {(bigint) parser___ReduceAction246___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction246(void) {
@@ -53935,10 +55454,10 @@ val_t NEW_parser___ReduceAction246___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction247[44] = {
-  {(long int) 1827 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction247 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction247 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1827 /* 3: ReduceAction247 < ReduceAction247: superclass typecheck marker */},
+  {(bigint) 1843 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction247 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction247 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1843 /* 3: ReduceAction247 < ReduceAction247: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -53948,37 +55467,37 @@ const classtable_elt_t VFT_ReduceAction247[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction247 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction247 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction247___action},
-  {(long int) 2 /* 42: ReduceAction247 < ReduceAction247: superclass init_table position */},
-  {(long int) parser___ReduceAction247___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction247 < 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) 1 /* 40: ReduceAction247 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction247___action},
+  {(bigint) 2 /* 42: ReduceAction247 < ReduceAction247: superclass init_table position */},
+  {(bigint) parser___ReduceAction247___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction247(void) {
@@ -53994,10 +55513,10 @@ val_t NEW_parser___ReduceAction247___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction248[44] = {
-  {(long int) 1823 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction248 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction248 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1823 /* 3: ReduceAction248 < ReduceAction248: superclass typecheck marker */},
+  {(bigint) 1839 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction248 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction248 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1839 /* 3: ReduceAction248 < ReduceAction248: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54007,37 +55526,37 @@ const classtable_elt_t VFT_ReduceAction248[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction248 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction248 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction248___action},
-  {(long int) 2 /* 42: ReduceAction248 < ReduceAction248: superclass init_table position */},
-  {(long int) parser___ReduceAction248___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction248 < 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) 1 /* 40: ReduceAction248 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction248___action},
+  {(bigint) 2 /* 42: ReduceAction248 < ReduceAction248: superclass init_table position */},
+  {(bigint) parser___ReduceAction248___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction248(void) {
@@ -54053,10 +55572,10 @@ val_t NEW_parser___ReduceAction248___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction249[44] = {
-  {(long int) 1819 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction249 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction249 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1819 /* 3: ReduceAction249 < ReduceAction249: superclass typecheck marker */},
+  {(bigint) 1835 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction249 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction249 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1835 /* 3: ReduceAction249 < ReduceAction249: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54066,37 +55585,37 @@ const classtable_elt_t VFT_ReduceAction249[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction249 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction249 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction249___action},
-  {(long int) 2 /* 42: ReduceAction249 < ReduceAction249: superclass init_table position */},
-  {(long int) parser___ReduceAction249___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction249 < 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) 1 /* 40: ReduceAction249 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction249___action},
+  {(bigint) 2 /* 42: ReduceAction249 < ReduceAction249: superclass init_table position */},
+  {(bigint) parser___ReduceAction249___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction249(void) {
@@ -54112,10 +55631,10 @@ val_t NEW_parser___ReduceAction249___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction250[44] = {
-  {(long int) 1811 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction250 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction250 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1811 /* 3: ReduceAction250 < ReduceAction250: superclass typecheck marker */},
+  {(bigint) 1827 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction250 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction250 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1827 /* 3: ReduceAction250 < ReduceAction250: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54125,37 +55644,37 @@ const classtable_elt_t VFT_ReduceAction250[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction250 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction250 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction250___action},
-  {(long int) 2 /* 42: ReduceAction250 < ReduceAction250: superclass init_table position */},
-  {(long int) parser___ReduceAction250___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction250 < 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) 1 /* 40: ReduceAction250 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction250___action},
+  {(bigint) 2 /* 42: ReduceAction250 < ReduceAction250: superclass init_table position */},
+  {(bigint) parser___ReduceAction250___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction250(void) {
@@ -54171,10 +55690,10 @@ val_t NEW_parser___ReduceAction250___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction251[44] = {
-  {(long int) 1807 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction251 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction251 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1807 /* 3: ReduceAction251 < ReduceAction251: superclass typecheck marker */},
+  {(bigint) 1823 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction251 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction251 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1823 /* 3: ReduceAction251 < ReduceAction251: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54184,37 +55703,37 @@ const classtable_elt_t VFT_ReduceAction251[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction251 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction251 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction251___action},
-  {(long int) 2 /* 42: ReduceAction251 < ReduceAction251: superclass init_table position */},
-  {(long int) parser___ReduceAction251___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction251 < 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) 1 /* 40: ReduceAction251 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction251___action},
+  {(bigint) 2 /* 42: ReduceAction251 < ReduceAction251: superclass init_table position */},
+  {(bigint) parser___ReduceAction251___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction251(void) {
@@ -54230,10 +55749,10 @@ val_t NEW_parser___ReduceAction251___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction252[44] = {
-  {(long int) 1803 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction252 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction252 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1803 /* 3: ReduceAction252 < ReduceAction252: superclass typecheck marker */},
+  {(bigint) 1819 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction252 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction252 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1819 /* 3: ReduceAction252 < ReduceAction252: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54243,37 +55762,37 @@ const classtable_elt_t VFT_ReduceAction252[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction252 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction252 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction252___action},
-  {(long int) 2 /* 42: ReduceAction252 < ReduceAction252: superclass init_table position */},
-  {(long int) parser___ReduceAction252___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction252 < 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) 1 /* 40: ReduceAction252 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction252___action},
+  {(bigint) 2 /* 42: ReduceAction252 < ReduceAction252: superclass init_table position */},
+  {(bigint) parser___ReduceAction252___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction252(void) {
@@ -54289,10 +55808,10 @@ val_t NEW_parser___ReduceAction252___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction253[44] = {
-  {(long int) 1799 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction253 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction253 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1799 /* 3: ReduceAction253 < ReduceAction253: superclass typecheck marker */},
+  {(bigint) 1815 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction253 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction253 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1815 /* 3: ReduceAction253 < ReduceAction253: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54302,37 +55821,37 @@ const classtable_elt_t VFT_ReduceAction253[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction253 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction253 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction253___action},
-  {(long int) 2 /* 42: ReduceAction253 < ReduceAction253: superclass init_table position */},
-  {(long int) parser___ReduceAction253___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction253 < 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) 1 /* 40: ReduceAction253 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction253___action},
+  {(bigint) 2 /* 42: ReduceAction253 < ReduceAction253: superclass init_table position */},
+  {(bigint) parser___ReduceAction253___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction253(void) {
@@ -54348,10 +55867,10 @@ val_t NEW_parser___ReduceAction253___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction254[44] = {
-  {(long int) 1795 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction254 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction254 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1795 /* 3: ReduceAction254 < ReduceAction254: superclass typecheck marker */},
+  {(bigint) 1811 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction254 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction254 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1811 /* 3: ReduceAction254 < ReduceAction254: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54361,37 +55880,37 @@ const classtable_elt_t VFT_ReduceAction254[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction254 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction254 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction254___action},
-  {(long int) 2 /* 42: ReduceAction254 < ReduceAction254: superclass init_table position */},
-  {(long int) parser___ReduceAction254___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction254 < 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) 1 /* 40: ReduceAction254 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction254___action},
+  {(bigint) 2 /* 42: ReduceAction254 < ReduceAction254: superclass init_table position */},
+  {(bigint) parser___ReduceAction254___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction254(void) {
@@ -54407,10 +55926,10 @@ val_t NEW_parser___ReduceAction254___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction255[44] = {
-  {(long int) 1791 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction255 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction255 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1791 /* 3: ReduceAction255 < ReduceAction255: superclass typecheck marker */},
+  {(bigint) 1807 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction255 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction255 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1807 /* 3: ReduceAction255 < ReduceAction255: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54420,37 +55939,37 @@ const classtable_elt_t VFT_ReduceAction255[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction255 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction255 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction255___action},
-  {(long int) 2 /* 42: ReduceAction255 < ReduceAction255: superclass init_table position */},
-  {(long int) parser___ReduceAction255___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction255 < 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) 1 /* 40: ReduceAction255 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction255___action},
+  {(bigint) 2 /* 42: ReduceAction255 < ReduceAction255: superclass init_table position */},
+  {(bigint) parser___ReduceAction255___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction255(void) {
@@ -54466,10 +55985,10 @@ val_t NEW_parser___ReduceAction255___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction256[44] = {
-  {(long int) 1787 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction256 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction256 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1787 /* 3: ReduceAction256 < ReduceAction256: superclass typecheck marker */},
+  {(bigint) 1803 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction256 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction256 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1803 /* 3: ReduceAction256 < ReduceAction256: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54479,37 +55998,37 @@ const classtable_elt_t VFT_ReduceAction256[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction256 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction256 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction256___action},
-  {(long int) 2 /* 42: ReduceAction256 < ReduceAction256: superclass init_table position */},
-  {(long int) parser___ReduceAction256___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction256 < 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) 1 /* 40: ReduceAction256 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction256___action},
+  {(bigint) 2 /* 42: ReduceAction256 < ReduceAction256: superclass init_table position */},
+  {(bigint) parser___ReduceAction256___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction256(void) {
@@ -54525,10 +56044,10 @@ val_t NEW_parser___ReduceAction256___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction257[44] = {
-  {(long int) 1783 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction257 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction257 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1783 /* 3: ReduceAction257 < ReduceAction257: superclass typecheck marker */},
+  {(bigint) 1799 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction257 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction257 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1799 /* 3: ReduceAction257 < ReduceAction257: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54538,37 +56057,37 @@ const classtable_elt_t VFT_ReduceAction257[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction257 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction257 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction257___action},
-  {(long int) 2 /* 42: ReduceAction257 < ReduceAction257: superclass init_table position */},
-  {(long int) parser___ReduceAction257___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction257 < 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) 1 /* 40: ReduceAction257 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction257___action},
+  {(bigint) 2 /* 42: ReduceAction257 < ReduceAction257: superclass init_table position */},
+  {(bigint) parser___ReduceAction257___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction257(void) {
@@ -54584,10 +56103,10 @@ val_t NEW_parser___ReduceAction257___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction258[44] = {
-  {(long int) 1779 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction258 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction258 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1779 /* 3: ReduceAction258 < ReduceAction258: superclass typecheck marker */},
+  {(bigint) 1795 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction258 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction258 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1795 /* 3: ReduceAction258 < ReduceAction258: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54597,37 +56116,37 @@ const classtable_elt_t VFT_ReduceAction258[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction258 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction258 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction258___action},
-  {(long int) 2 /* 42: ReduceAction258 < ReduceAction258: superclass init_table position */},
-  {(long int) parser___ReduceAction258___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction258 < 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) 1 /* 40: ReduceAction258 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction258___action},
+  {(bigint) 2 /* 42: ReduceAction258 < ReduceAction258: superclass init_table position */},
+  {(bigint) parser___ReduceAction258___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction258(void) {
@@ -54643,10 +56162,10 @@ val_t NEW_parser___ReduceAction258___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction259[44] = {
-  {(long int) 1775 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction259 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction259 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1775 /* 3: ReduceAction259 < ReduceAction259: superclass typecheck marker */},
+  {(bigint) 1791 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction259 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction259 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1791 /* 3: ReduceAction259 < ReduceAction259: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54656,37 +56175,37 @@ const classtable_elt_t VFT_ReduceAction259[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction259 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction259 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction259___action},
-  {(long int) 2 /* 42: ReduceAction259 < ReduceAction259: superclass init_table position */},
-  {(long int) parser___ReduceAction259___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction259 < 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) 1 /* 40: ReduceAction259 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction259___action},
+  {(bigint) 2 /* 42: ReduceAction259 < ReduceAction259: superclass init_table position */},
+  {(bigint) parser___ReduceAction259___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction259(void) {
@@ -54702,10 +56221,10 @@ val_t NEW_parser___ReduceAction259___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction260[44] = {
-  {(long int) 1767 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction260 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction260 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1767 /* 3: ReduceAction260 < ReduceAction260: superclass typecheck marker */},
+  {(bigint) 1783 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction260 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction260 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1783 /* 3: ReduceAction260 < ReduceAction260: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54715,37 +56234,37 @@ const classtable_elt_t VFT_ReduceAction260[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction260 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction260 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction260___action},
-  {(long int) 2 /* 42: ReduceAction260 < ReduceAction260: superclass init_table position */},
-  {(long int) parser___ReduceAction260___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction260 < 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) 1 /* 40: ReduceAction260 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction260___action},
+  {(bigint) 2 /* 42: ReduceAction260 < ReduceAction260: superclass init_table position */},
+  {(bigint) parser___ReduceAction260___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction260(void) {
@@ -54761,10 +56280,10 @@ val_t NEW_parser___ReduceAction260___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction261[44] = {
-  {(long int) 1763 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction261 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction261 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1763 /* 3: ReduceAction261 < ReduceAction261: superclass typecheck marker */},
+  {(bigint) 1779 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction261 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction261 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1779 /* 3: ReduceAction261 < ReduceAction261: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54774,37 +56293,37 @@ const classtable_elt_t VFT_ReduceAction261[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction261 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction261 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction261___action},
-  {(long int) 2 /* 42: ReduceAction261 < ReduceAction261: superclass init_table position */},
-  {(long int) parser___ReduceAction261___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction261 < 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) 1 /* 40: ReduceAction261 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction261___action},
+  {(bigint) 2 /* 42: ReduceAction261 < ReduceAction261: superclass init_table position */},
+  {(bigint) parser___ReduceAction261___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction261(void) {
@@ -54820,10 +56339,10 @@ val_t NEW_parser___ReduceAction261___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction262[44] = {
-  {(long int) 1759 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction262 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction262 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1759 /* 3: ReduceAction262 < ReduceAction262: superclass typecheck marker */},
+  {(bigint) 1775 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction262 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction262 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1775 /* 3: ReduceAction262 < ReduceAction262: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54833,37 +56352,37 @@ const classtable_elt_t VFT_ReduceAction262[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction262 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction262 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction262___action},
-  {(long int) 2 /* 42: ReduceAction262 < ReduceAction262: superclass init_table position */},
-  {(long int) parser___ReduceAction262___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction262 < 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) 1 /* 40: ReduceAction262 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction262___action},
+  {(bigint) 2 /* 42: ReduceAction262 < ReduceAction262: superclass init_table position */},
+  {(bigint) parser___ReduceAction262___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction262(void) {
@@ -54879,10 +56398,10 @@ val_t NEW_parser___ReduceAction262___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction263[44] = {
-  {(long int) 1755 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction263 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction263 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1755 /* 3: ReduceAction263 < ReduceAction263: superclass typecheck marker */},
+  {(bigint) 1771 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction263 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction263 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1771 /* 3: ReduceAction263 < ReduceAction263: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54892,37 +56411,37 @@ const classtable_elt_t VFT_ReduceAction263[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction263 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction263 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction263___action},
-  {(long int) 2 /* 42: ReduceAction263 < ReduceAction263: superclass init_table position */},
-  {(long int) parser___ReduceAction263___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction263 < 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) 1 /* 40: ReduceAction263 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction263___action},
+  {(bigint) 2 /* 42: ReduceAction263 < ReduceAction263: superclass init_table position */},
+  {(bigint) parser___ReduceAction263___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction263(void) {
@@ -54938,10 +56457,10 @@ val_t NEW_parser___ReduceAction263___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction264[44] = {
-  {(long int) 1751 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction264 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction264 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1751 /* 3: ReduceAction264 < ReduceAction264: superclass typecheck marker */},
+  {(bigint) 1767 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction264 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction264 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1767 /* 3: ReduceAction264 < ReduceAction264: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -54951,37 +56470,37 @@ const classtable_elt_t VFT_ReduceAction264[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction264 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction264 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction264___action},
-  {(long int) 2 /* 42: ReduceAction264 < ReduceAction264: superclass init_table position */},
-  {(long int) parser___ReduceAction264___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction264 < 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) 1 /* 40: ReduceAction264 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction264___action},
+  {(bigint) 2 /* 42: ReduceAction264 < ReduceAction264: superclass init_table position */},
+  {(bigint) parser___ReduceAction264___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction264(void) {
@@ -54997,10 +56516,10 @@ val_t NEW_parser___ReduceAction264___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction265[44] = {
-  {(long int) 1747 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction265 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction265 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1747 /* 3: ReduceAction265 < ReduceAction265: superclass typecheck marker */},
+  {(bigint) 1763 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction265 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction265 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1763 /* 3: ReduceAction265 < ReduceAction265: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55010,37 +56529,37 @@ const classtable_elt_t VFT_ReduceAction265[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction265 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction265 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction265___action},
-  {(long int) 2 /* 42: ReduceAction265 < ReduceAction265: superclass init_table position */},
-  {(long int) parser___ReduceAction265___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction265 < 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) 1 /* 40: ReduceAction265 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction265___action},
+  {(bigint) 2 /* 42: ReduceAction265 < ReduceAction265: superclass init_table position */},
+  {(bigint) parser___ReduceAction265___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction265(void) {
@@ -55056,10 +56575,10 @@ val_t NEW_parser___ReduceAction265___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction266[44] = {
-  {(long int) 1743 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction266 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction266 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1743 /* 3: ReduceAction266 < ReduceAction266: superclass typecheck marker */},
+  {(bigint) 1759 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction266 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction266 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1759 /* 3: ReduceAction266 < ReduceAction266: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55069,37 +56588,37 @@ const classtable_elt_t VFT_ReduceAction266[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction266 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction266 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction266___action},
-  {(long int) 2 /* 42: ReduceAction266 < ReduceAction266: superclass init_table position */},
-  {(long int) parser___ReduceAction266___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction266 < 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) 1 /* 40: ReduceAction266 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction266___action},
+  {(bigint) 2 /* 42: ReduceAction266 < ReduceAction266: superclass init_table position */},
+  {(bigint) parser___ReduceAction266___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction266(void) {
@@ -55115,10 +56634,10 @@ val_t NEW_parser___ReduceAction266___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction267[44] = {
-  {(long int) 1739 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction267 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction267 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1739 /* 3: ReduceAction267 < ReduceAction267: superclass typecheck marker */},
+  {(bigint) 1755 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction267 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction267 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1755 /* 3: ReduceAction267 < ReduceAction267: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55128,37 +56647,37 @@ const classtable_elt_t VFT_ReduceAction267[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction267 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction267 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction267___action},
-  {(long int) 2 /* 42: ReduceAction267 < ReduceAction267: superclass init_table position */},
-  {(long int) parser___ReduceAction267___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction267 < 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) 1 /* 40: ReduceAction267 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction267___action},
+  {(bigint) 2 /* 42: ReduceAction267 < ReduceAction267: superclass init_table position */},
+  {(bigint) parser___ReduceAction267___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction267(void) {
@@ -55174,10 +56693,10 @@ val_t NEW_parser___ReduceAction267___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction268[44] = {
-  {(long int) 1735 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction268 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction268 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1735 /* 3: ReduceAction268 < ReduceAction268: superclass typecheck marker */},
+  {(bigint) 1751 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction268 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction268 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1751 /* 3: ReduceAction268 < ReduceAction268: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55187,37 +56706,37 @@ const classtable_elt_t VFT_ReduceAction268[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction268 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction268 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction268___action},
-  {(long int) 2 /* 42: ReduceAction268 < ReduceAction268: superclass init_table position */},
-  {(long int) parser___ReduceAction268___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction268 < 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) 1 /* 40: ReduceAction268 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction268___action},
+  {(bigint) 2 /* 42: ReduceAction268 < ReduceAction268: superclass init_table position */},
+  {(bigint) parser___ReduceAction268___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction268(void) {
@@ -55233,10 +56752,10 @@ val_t NEW_parser___ReduceAction268___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction269[44] = {
-  {(long int) 1731 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction269 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction269 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1731 /* 3: ReduceAction269 < ReduceAction269: superclass typecheck marker */},
+  {(bigint) 1747 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction269 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction269 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1747 /* 3: ReduceAction269 < ReduceAction269: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55246,37 +56765,37 @@ const classtable_elt_t VFT_ReduceAction269[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction269 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction269 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction269___action},
-  {(long int) 2 /* 42: ReduceAction269 < ReduceAction269: superclass init_table position */},
-  {(long int) parser___ReduceAction269___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction269 < 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) 1 /* 40: ReduceAction269 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction269___action},
+  {(bigint) 2 /* 42: ReduceAction269 < ReduceAction269: superclass init_table position */},
+  {(bigint) parser___ReduceAction269___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction269(void) {
@@ -55292,10 +56811,10 @@ val_t NEW_parser___ReduceAction269___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction270[44] = {
-  {(long int) 1723 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction270 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction270 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1723 /* 3: ReduceAction270 < ReduceAction270: superclass typecheck marker */},
+  {(bigint) 1739 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction270 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction270 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1739 /* 3: ReduceAction270 < ReduceAction270: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55305,37 +56824,37 @@ const classtable_elt_t VFT_ReduceAction270[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction270 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction270 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction270___action},
-  {(long int) 2 /* 42: ReduceAction270 < ReduceAction270: superclass init_table position */},
-  {(long int) parser___ReduceAction270___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction270 < 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) 1 /* 40: ReduceAction270 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction270___action},
+  {(bigint) 2 /* 42: ReduceAction270 < ReduceAction270: superclass init_table position */},
+  {(bigint) parser___ReduceAction270___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction270(void) {
@@ -55351,10 +56870,10 @@ val_t NEW_parser___ReduceAction270___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction271[44] = {
-  {(long int) 1719 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction271 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction271 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1719 /* 3: ReduceAction271 < ReduceAction271: superclass typecheck marker */},
+  {(bigint) 1735 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction271 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction271 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1735 /* 3: ReduceAction271 < ReduceAction271: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55364,37 +56883,37 @@ const classtable_elt_t VFT_ReduceAction271[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction271 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction271 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction271___action},
-  {(long int) 2 /* 42: ReduceAction271 < ReduceAction271: superclass init_table position */},
-  {(long int) parser___ReduceAction271___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction271 < 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) 1 /* 40: ReduceAction271 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction271___action},
+  {(bigint) 2 /* 42: ReduceAction271 < ReduceAction271: superclass init_table position */},
+  {(bigint) parser___ReduceAction271___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction271(void) {
@@ -55410,10 +56929,10 @@ val_t NEW_parser___ReduceAction271___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction272[44] = {
-  {(long int) 1715 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction272 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction272 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1715 /* 3: ReduceAction272 < ReduceAction272: superclass typecheck marker */},
+  {(bigint) 1731 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction272 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction272 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1731 /* 3: ReduceAction272 < ReduceAction272: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55423,37 +56942,37 @@ const classtable_elt_t VFT_ReduceAction272[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction272 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction272 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction272___action},
-  {(long int) 2 /* 42: ReduceAction272 < ReduceAction272: superclass init_table position */},
-  {(long int) parser___ReduceAction272___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction272 < 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) 1 /* 40: ReduceAction272 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction272___action},
+  {(bigint) 2 /* 42: ReduceAction272 < ReduceAction272: superclass init_table position */},
+  {(bigint) parser___ReduceAction272___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction272(void) {
@@ -55469,10 +56988,10 @@ val_t NEW_parser___ReduceAction272___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction273[44] = {
-  {(long int) 1711 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction273 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction273 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1711 /* 3: ReduceAction273 < ReduceAction273: superclass typecheck marker */},
+  {(bigint) 1727 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction273 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction273 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1727 /* 3: ReduceAction273 < ReduceAction273: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55482,37 +57001,37 @@ const classtable_elt_t VFT_ReduceAction273[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction273 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction273 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction273___action},
-  {(long int) 2 /* 42: ReduceAction273 < ReduceAction273: superclass init_table position */},
-  {(long int) parser___ReduceAction273___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction273 < 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) 1 /* 40: ReduceAction273 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction273___action},
+  {(bigint) 2 /* 42: ReduceAction273 < ReduceAction273: superclass init_table position */},
+  {(bigint) parser___ReduceAction273___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction273(void) {
@@ -55528,10 +57047,10 @@ val_t NEW_parser___ReduceAction273___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction274[44] = {
-  {(long int) 1707 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction274 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction274 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1707 /* 3: ReduceAction274 < ReduceAction274: superclass typecheck marker */},
+  {(bigint) 1723 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction274 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction274 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1723 /* 3: ReduceAction274 < ReduceAction274: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55541,37 +57060,37 @@ const classtable_elt_t VFT_ReduceAction274[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction274 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction274 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction274___action},
-  {(long int) 2 /* 42: ReduceAction274 < ReduceAction274: superclass init_table position */},
-  {(long int) parser___ReduceAction274___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction274 < 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) 1 /* 40: ReduceAction274 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction274___action},
+  {(bigint) 2 /* 42: ReduceAction274 < ReduceAction274: superclass init_table position */},
+  {(bigint) parser___ReduceAction274___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction274(void) {
@@ -55587,10 +57106,10 @@ val_t NEW_parser___ReduceAction274___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction275[44] = {
-  {(long int) 1703 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction275 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction275 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1703 /* 3: ReduceAction275 < ReduceAction275: superclass typecheck marker */},
+  {(bigint) 1719 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction275 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction275 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1719 /* 3: ReduceAction275 < ReduceAction275: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55600,37 +57119,37 @@ const classtable_elt_t VFT_ReduceAction275[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction275 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction275 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction275___action},
-  {(long int) 2 /* 42: ReduceAction275 < ReduceAction275: superclass init_table position */},
-  {(long int) parser___ReduceAction275___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction275 < 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) 1 /* 40: ReduceAction275 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction275___action},
+  {(bigint) 2 /* 42: ReduceAction275 < ReduceAction275: superclass init_table position */},
+  {(bigint) parser___ReduceAction275___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction275(void) {
@@ -55646,10 +57165,10 @@ val_t NEW_parser___ReduceAction275___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction276[44] = {
-  {(long int) 1699 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction276 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction276 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1699 /* 3: ReduceAction276 < ReduceAction276: superclass typecheck marker */},
+  {(bigint) 1715 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction276 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction276 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1715 /* 3: ReduceAction276 < ReduceAction276: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55659,37 +57178,37 @@ const classtable_elt_t VFT_ReduceAction276[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction276 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction276 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction276___action},
-  {(long int) 2 /* 42: ReduceAction276 < ReduceAction276: superclass init_table position */},
-  {(long int) parser___ReduceAction276___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction276 < 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) 1 /* 40: ReduceAction276 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction276___action},
+  {(bigint) 2 /* 42: ReduceAction276 < ReduceAction276: superclass init_table position */},
+  {(bigint) parser___ReduceAction276___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction276(void) {
@@ -55705,10 +57224,10 @@ val_t NEW_parser___ReduceAction276___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction277[44] = {
-  {(long int) 1695 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction277 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction277 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1695 /* 3: ReduceAction277 < ReduceAction277: superclass typecheck marker */},
+  {(bigint) 1711 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction277 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction277 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1711 /* 3: ReduceAction277 < ReduceAction277: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55718,37 +57237,37 @@ const classtable_elt_t VFT_ReduceAction277[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction277 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction277 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction277___action},
-  {(long int) 2 /* 42: ReduceAction277 < ReduceAction277: superclass init_table position */},
-  {(long int) parser___ReduceAction277___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction277 < 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) 1 /* 40: ReduceAction277 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction277___action},
+  {(bigint) 2 /* 42: ReduceAction277 < ReduceAction277: superclass init_table position */},
+  {(bigint) parser___ReduceAction277___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction277(void) {
@@ -55764,10 +57283,10 @@ val_t NEW_parser___ReduceAction277___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction278[44] = {
-  {(long int) 1691 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction278 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction278 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1691 /* 3: ReduceAction278 < ReduceAction278: superclass typecheck marker */},
+  {(bigint) 1707 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction278 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction278 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1707 /* 3: ReduceAction278 < ReduceAction278: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55777,37 +57296,37 @@ const classtable_elt_t VFT_ReduceAction278[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction278 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction278 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction278___action},
-  {(long int) 2 /* 42: ReduceAction278 < ReduceAction278: superclass init_table position */},
-  {(long int) parser___ReduceAction278___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction278 < 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) 1 /* 40: ReduceAction278 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction278___action},
+  {(bigint) 2 /* 42: ReduceAction278 < ReduceAction278: superclass init_table position */},
+  {(bigint) parser___ReduceAction278___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction278(void) {
@@ -55823,10 +57342,10 @@ val_t NEW_parser___ReduceAction278___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction279[44] = {
-  {(long int) 1687 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction279 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction279 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1687 /* 3: ReduceAction279 < ReduceAction279: superclass typecheck marker */},
+  {(bigint) 1703 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction279 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction279 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1703 /* 3: ReduceAction279 < ReduceAction279: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55836,37 +57355,37 @@ const classtable_elt_t VFT_ReduceAction279[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction279 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction279 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction279___action},
-  {(long int) 2 /* 42: ReduceAction279 < ReduceAction279: superclass init_table position */},
-  {(long int) parser___ReduceAction279___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction279 < 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) 1 /* 40: ReduceAction279 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction279___action},
+  {(bigint) 2 /* 42: ReduceAction279 < ReduceAction279: superclass init_table position */},
+  {(bigint) parser___ReduceAction279___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction279(void) {
@@ -55882,10 +57401,10 @@ val_t NEW_parser___ReduceAction279___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction280[44] = {
-  {(long int) 1679 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction280 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction280 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1679 /* 3: ReduceAction280 < ReduceAction280: superclass typecheck marker */},
+  {(bigint) 1695 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction280 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction280 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1695 /* 3: ReduceAction280 < ReduceAction280: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55895,37 +57414,37 @@ const classtable_elt_t VFT_ReduceAction280[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction280 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction280 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction280___action},
-  {(long int) 2 /* 42: ReduceAction280 < ReduceAction280: superclass init_table position */},
-  {(long int) parser___ReduceAction280___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction280 < 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) 1 /* 40: ReduceAction280 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction280___action},
+  {(bigint) 2 /* 42: ReduceAction280 < ReduceAction280: superclass init_table position */},
+  {(bigint) parser___ReduceAction280___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction280(void) {
@@ -55941,10 +57460,10 @@ val_t NEW_parser___ReduceAction280___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction281[44] = {
-  {(long int) 1675 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction281 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction281 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1675 /* 3: ReduceAction281 < ReduceAction281: superclass typecheck marker */},
+  {(bigint) 1691 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction281 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction281 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1691 /* 3: ReduceAction281 < ReduceAction281: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -55954,37 +57473,37 @@ const classtable_elt_t VFT_ReduceAction281[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction281 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction281 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction281___action},
-  {(long int) 2 /* 42: ReduceAction281 < ReduceAction281: superclass init_table position */},
-  {(long int) parser___ReduceAction281___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction281 < 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) 1 /* 40: ReduceAction281 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction281___action},
+  {(bigint) 2 /* 42: ReduceAction281 < ReduceAction281: superclass init_table position */},
+  {(bigint) parser___ReduceAction281___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction281(void) {
@@ -56000,10 +57519,10 @@ val_t NEW_parser___ReduceAction281___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction282[44] = {
-  {(long int) 1671 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction282 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction282 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1671 /* 3: ReduceAction282 < ReduceAction282: superclass typecheck marker */},
+  {(bigint) 1687 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction282 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction282 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1687 /* 3: ReduceAction282 < ReduceAction282: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56013,37 +57532,37 @@ const classtable_elt_t VFT_ReduceAction282[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction282 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction282 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction282___action},
-  {(long int) 2 /* 42: ReduceAction282 < ReduceAction282: superclass init_table position */},
-  {(long int) parser___ReduceAction282___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction282 < 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) 1 /* 40: ReduceAction282 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction282___action},
+  {(bigint) 2 /* 42: ReduceAction282 < ReduceAction282: superclass init_table position */},
+  {(bigint) parser___ReduceAction282___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction282(void) {
@@ -56059,10 +57578,10 @@ val_t NEW_parser___ReduceAction282___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction283[44] = {
-  {(long int) 1667 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction283 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction283 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1667 /* 3: ReduceAction283 < ReduceAction283: superclass typecheck marker */},
+  {(bigint) 1683 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction283 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction283 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1683 /* 3: ReduceAction283 < ReduceAction283: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56072,37 +57591,37 @@ const classtable_elt_t VFT_ReduceAction283[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction283 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction283 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction283___action},
-  {(long int) 2 /* 42: ReduceAction283 < ReduceAction283: superclass init_table position */},
-  {(long int) parser___ReduceAction283___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction283 < 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) 1 /* 40: ReduceAction283 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction283___action},
+  {(bigint) 2 /* 42: ReduceAction283 < ReduceAction283: superclass init_table position */},
+  {(bigint) parser___ReduceAction283___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction283(void) {
@@ -56118,10 +57637,10 @@ val_t NEW_parser___ReduceAction283___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction284[44] = {
-  {(long int) 1663 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction284 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction284 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1663 /* 3: ReduceAction284 < ReduceAction284: superclass typecheck marker */},
+  {(bigint) 1679 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction284 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction284 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1679 /* 3: ReduceAction284 < ReduceAction284: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56131,37 +57650,37 @@ const classtable_elt_t VFT_ReduceAction284[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction284 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction284 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction284___action},
-  {(long int) 2 /* 42: ReduceAction284 < ReduceAction284: superclass init_table position */},
-  {(long int) parser___ReduceAction284___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction284 < 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) 1 /* 40: ReduceAction284 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction284___action},
+  {(bigint) 2 /* 42: ReduceAction284 < ReduceAction284: superclass init_table position */},
+  {(bigint) parser___ReduceAction284___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction284(void) {
@@ -56177,10 +57696,10 @@ val_t NEW_parser___ReduceAction284___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction285[44] = {
-  {(long int) 1659 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction285 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction285 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1659 /* 3: ReduceAction285 < ReduceAction285: superclass typecheck marker */},
+  {(bigint) 1675 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction285 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction285 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1675 /* 3: ReduceAction285 < ReduceAction285: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56190,37 +57709,37 @@ const classtable_elt_t VFT_ReduceAction285[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction285 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction285 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction285___action},
-  {(long int) 2 /* 42: ReduceAction285 < ReduceAction285: superclass init_table position */},
-  {(long int) parser___ReduceAction285___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction285 < 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) 1 /* 40: ReduceAction285 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction285___action},
+  {(bigint) 2 /* 42: ReduceAction285 < ReduceAction285: superclass init_table position */},
+  {(bigint) parser___ReduceAction285___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction285(void) {
@@ -56236,10 +57755,10 @@ val_t NEW_parser___ReduceAction285___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction286[44] = {
-  {(long int) 1655 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction286 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction286 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1655 /* 3: ReduceAction286 < ReduceAction286: superclass typecheck marker */},
+  {(bigint) 1671 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction286 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction286 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1671 /* 3: ReduceAction286 < ReduceAction286: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56249,37 +57768,37 @@ const classtable_elt_t VFT_ReduceAction286[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction286 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction286 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction286___action},
-  {(long int) 2 /* 42: ReduceAction286 < ReduceAction286: superclass init_table position */},
-  {(long int) parser___ReduceAction286___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction286 < 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) 1 /* 40: ReduceAction286 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction286___action},
+  {(bigint) 2 /* 42: ReduceAction286 < ReduceAction286: superclass init_table position */},
+  {(bigint) parser___ReduceAction286___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction286(void) {
@@ -56295,10 +57814,10 @@ val_t NEW_parser___ReduceAction286___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction287[44] = {
-  {(long int) 1651 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction287 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction287 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1651 /* 3: ReduceAction287 < ReduceAction287: superclass typecheck marker */},
+  {(bigint) 1667 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction287 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction287 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1667 /* 3: ReduceAction287 < ReduceAction287: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56308,37 +57827,37 @@ const classtable_elt_t VFT_ReduceAction287[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction287 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction287 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction287___action},
-  {(long int) 2 /* 42: ReduceAction287 < ReduceAction287: superclass init_table position */},
-  {(long int) parser___ReduceAction287___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction287 < 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) 1 /* 40: ReduceAction287 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction287___action},
+  {(bigint) 2 /* 42: ReduceAction287 < ReduceAction287: superclass init_table position */},
+  {(bigint) parser___ReduceAction287___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction287(void) {
@@ -56354,10 +57873,10 @@ val_t NEW_parser___ReduceAction287___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction288[44] = {
-  {(long int) 1647 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction288 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction288 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1647 /* 3: ReduceAction288 < ReduceAction288: superclass typecheck marker */},
+  {(bigint) 1663 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction288 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction288 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1663 /* 3: ReduceAction288 < ReduceAction288: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56367,37 +57886,37 @@ const classtable_elt_t VFT_ReduceAction288[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction288 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction288 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction288___action},
-  {(long int) 2 /* 42: ReduceAction288 < ReduceAction288: superclass init_table position */},
-  {(long int) parser___ReduceAction288___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction288 < 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) 1 /* 40: ReduceAction288 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction288___action},
+  {(bigint) 2 /* 42: ReduceAction288 < ReduceAction288: superclass init_table position */},
+  {(bigint) parser___ReduceAction288___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction288(void) {
@@ -56413,10 +57932,10 @@ val_t NEW_parser___ReduceAction288___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction289[44] = {
-  {(long int) 1643 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction289 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction289 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1643 /* 3: ReduceAction289 < ReduceAction289: superclass typecheck marker */},
+  {(bigint) 1659 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction289 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction289 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1659 /* 3: ReduceAction289 < ReduceAction289: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56426,37 +57945,37 @@ const classtable_elt_t VFT_ReduceAction289[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction289 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction289 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction289___action},
-  {(long int) 2 /* 42: ReduceAction289 < ReduceAction289: superclass init_table position */},
-  {(long int) parser___ReduceAction289___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction289 < 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) 1 /* 40: ReduceAction289 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction289___action},
+  {(bigint) 2 /* 42: ReduceAction289 < ReduceAction289: superclass init_table position */},
+  {(bigint) parser___ReduceAction289___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction289(void) {
@@ -56472,10 +57991,10 @@ val_t NEW_parser___ReduceAction289___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction290[44] = {
-  {(long int) 1635 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction290 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction290 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1635 /* 3: ReduceAction290 < ReduceAction290: superclass typecheck marker */},
+  {(bigint) 1651 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction290 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction290 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1651 /* 3: ReduceAction290 < ReduceAction290: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56485,37 +58004,37 @@ const classtable_elt_t VFT_ReduceAction290[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction290 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction290 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction290___action},
-  {(long int) 2 /* 42: ReduceAction290 < ReduceAction290: superclass init_table position */},
-  {(long int) parser___ReduceAction290___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction290 < 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) 1 /* 40: ReduceAction290 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction290___action},
+  {(bigint) 2 /* 42: ReduceAction290 < ReduceAction290: superclass init_table position */},
+  {(bigint) parser___ReduceAction290___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction290(void) {
@@ -56531,10 +58050,10 @@ val_t NEW_parser___ReduceAction290___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction291[44] = {
-  {(long int) 1631 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction291 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction291 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1631 /* 3: ReduceAction291 < ReduceAction291: superclass typecheck marker */},
+  {(bigint) 1647 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction291 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction291 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1647 /* 3: ReduceAction291 < ReduceAction291: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56544,37 +58063,37 @@ const classtable_elt_t VFT_ReduceAction291[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction291 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction291 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction291___action},
-  {(long int) 2 /* 42: ReduceAction291 < ReduceAction291: superclass init_table position */},
-  {(long int) parser___ReduceAction291___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction291 < 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) 1 /* 40: ReduceAction291 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction291___action},
+  {(bigint) 2 /* 42: ReduceAction291 < ReduceAction291: superclass init_table position */},
+  {(bigint) parser___ReduceAction291___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction291(void) {
@@ -56590,10 +58109,10 @@ val_t NEW_parser___ReduceAction291___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction292[44] = {
-  {(long int) 1627 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction292 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction292 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1627 /* 3: ReduceAction292 < ReduceAction292: superclass typecheck marker */},
+  {(bigint) 1643 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction292 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction292 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1643 /* 3: ReduceAction292 < ReduceAction292: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56603,37 +58122,37 @@ const classtable_elt_t VFT_ReduceAction292[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction292 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction292 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction292___action},
-  {(long int) 2 /* 42: ReduceAction292 < ReduceAction292: superclass init_table position */},
-  {(long int) parser___ReduceAction292___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction292 < 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) 1 /* 40: ReduceAction292 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction292___action},
+  {(bigint) 2 /* 42: ReduceAction292 < ReduceAction292: superclass init_table position */},
+  {(bigint) parser___ReduceAction292___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction292(void) {
@@ -56649,10 +58168,10 @@ val_t NEW_parser___ReduceAction292___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction293[44] = {
-  {(long int) 1623 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction293 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction293 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1623 /* 3: ReduceAction293 < ReduceAction293: superclass typecheck marker */},
+  {(bigint) 1639 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction293 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction293 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1639 /* 3: ReduceAction293 < ReduceAction293: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56662,37 +58181,37 @@ const classtable_elt_t VFT_ReduceAction293[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction293 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction293 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction293___action},
-  {(long int) 2 /* 42: ReduceAction293 < ReduceAction293: superclass init_table position */},
-  {(long int) parser___ReduceAction293___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction293 < 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) 1 /* 40: ReduceAction293 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction293___action},
+  {(bigint) 2 /* 42: ReduceAction293 < ReduceAction293: superclass init_table position */},
+  {(bigint) parser___ReduceAction293___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction293(void) {
@@ -56708,10 +58227,10 @@ val_t NEW_parser___ReduceAction293___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction294[44] = {
-  {(long int) 1619 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction294 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction294 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1619 /* 3: ReduceAction294 < ReduceAction294: superclass typecheck marker */},
+  {(bigint) 1635 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction294 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction294 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1635 /* 3: ReduceAction294 < ReduceAction294: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56721,37 +58240,37 @@ const classtable_elt_t VFT_ReduceAction294[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction294 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction294 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction294___action},
-  {(long int) 2 /* 42: ReduceAction294 < ReduceAction294: superclass init_table position */},
-  {(long int) parser___ReduceAction294___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction294 < 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) 1 /* 40: ReduceAction294 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction294___action},
+  {(bigint) 2 /* 42: ReduceAction294 < ReduceAction294: superclass init_table position */},
+  {(bigint) parser___ReduceAction294___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction294(void) {
@@ -56767,10 +58286,10 @@ val_t NEW_parser___ReduceAction294___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction295[44] = {
-  {(long int) 1615 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction295 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction295 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1615 /* 3: ReduceAction295 < ReduceAction295: superclass typecheck marker */},
+  {(bigint) 1631 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction295 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction295 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1631 /* 3: ReduceAction295 < ReduceAction295: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56780,37 +58299,37 @@ const classtable_elt_t VFT_ReduceAction295[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction295 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction295 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction295___action},
-  {(long int) 2 /* 42: ReduceAction295 < ReduceAction295: superclass init_table position */},
-  {(long int) parser___ReduceAction295___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction295 < 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) 1 /* 40: ReduceAction295 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction295___action},
+  {(bigint) 2 /* 42: ReduceAction295 < ReduceAction295: superclass init_table position */},
+  {(bigint) parser___ReduceAction295___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction295(void) {
@@ -56826,10 +58345,10 @@ val_t NEW_parser___ReduceAction295___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction296[44] = {
-  {(long int) 1611 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction296 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction296 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1611 /* 3: ReduceAction296 < ReduceAction296: superclass typecheck marker */},
+  {(bigint) 1627 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction296 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction296 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1627 /* 3: ReduceAction296 < ReduceAction296: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56839,37 +58358,37 @@ const classtable_elt_t VFT_ReduceAction296[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction296 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction296 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction296___action},
-  {(long int) 2 /* 42: ReduceAction296 < ReduceAction296: superclass init_table position */},
-  {(long int) parser___ReduceAction296___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction296 < 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) 1 /* 40: ReduceAction296 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction296___action},
+  {(bigint) 2 /* 42: ReduceAction296 < ReduceAction296: superclass init_table position */},
+  {(bigint) parser___ReduceAction296___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction296(void) {
@@ -56885,10 +58404,10 @@ val_t NEW_parser___ReduceAction296___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction297[44] = {
-  {(long int) 1607 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction297 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction297 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1607 /* 3: ReduceAction297 < ReduceAction297: superclass typecheck marker */},
+  {(bigint) 1623 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction297 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction297 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1623 /* 3: ReduceAction297 < ReduceAction297: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56898,37 +58417,37 @@ const classtable_elt_t VFT_ReduceAction297[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction297 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction297 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction297___action},
-  {(long int) 2 /* 42: ReduceAction297 < ReduceAction297: superclass init_table position */},
-  {(long int) parser___ReduceAction297___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction297 < 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) 1 /* 40: ReduceAction297 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction297___action},
+  {(bigint) 2 /* 42: ReduceAction297 < ReduceAction297: superclass init_table position */},
+  {(bigint) parser___ReduceAction297___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction297(void) {
@@ -56944,10 +58463,10 @@ val_t NEW_parser___ReduceAction297___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction298[44] = {
-  {(long int) 1603 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction298 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction298 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1603 /* 3: ReduceAction298 < ReduceAction298: superclass typecheck marker */},
+  {(bigint) 1619 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction298 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction298 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1619 /* 3: ReduceAction298 < ReduceAction298: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -56957,37 +58476,37 @@ const classtable_elt_t VFT_ReduceAction298[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction298 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction298 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction298___action},
-  {(long int) 2 /* 42: ReduceAction298 < ReduceAction298: superclass init_table position */},
-  {(long int) parser___ReduceAction298___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction298 < 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) 1 /* 40: ReduceAction298 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction298___action},
+  {(bigint) 2 /* 42: ReduceAction298 < ReduceAction298: superclass init_table position */},
+  {(bigint) parser___ReduceAction298___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction298(void) {
@@ -57003,10 +58522,10 @@ val_t NEW_parser___ReduceAction298___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction299[44] = {
-  {(long int) 1599 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction299 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction299 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1599 /* 3: ReduceAction299 < ReduceAction299: superclass typecheck marker */},
+  {(bigint) 1615 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction299 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction299 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1615 /* 3: ReduceAction299 < ReduceAction299: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57016,37 +58535,37 @@ const classtable_elt_t VFT_ReduceAction299[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction299 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction299 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction299___action},
-  {(long int) 2 /* 42: ReduceAction299 < ReduceAction299: superclass init_table position */},
-  {(long int) parser___ReduceAction299___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction299 < 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) 1 /* 40: ReduceAction299 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction299___action},
+  {(bigint) 2 /* 42: ReduceAction299 < ReduceAction299: superclass init_table position */},
+  {(bigint) parser___ReduceAction299___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction299(void) {
@@ -57062,10 +58581,10 @@ val_t NEW_parser___ReduceAction299___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction300[44] = {
-  {(long int) 1587 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction300 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction300 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1587 /* 3: ReduceAction300 < ReduceAction300: superclass typecheck marker */},
+  {(bigint) 1603 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction300 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction300 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1603 /* 3: ReduceAction300 < ReduceAction300: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57075,37 +58594,37 @@ const classtable_elt_t VFT_ReduceAction300[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction300 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction300 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction300___action},
-  {(long int) 2 /* 42: ReduceAction300 < ReduceAction300: superclass init_table position */},
-  {(long int) parser___ReduceAction300___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction300 < 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) 1 /* 40: ReduceAction300 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction300___action},
+  {(bigint) 2 /* 42: ReduceAction300 < ReduceAction300: superclass init_table position */},
+  {(bigint) parser___ReduceAction300___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction300(void) {
@@ -57121,10 +58640,10 @@ val_t NEW_parser___ReduceAction300___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction301[44] = {
-  {(long int) 1583 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction301 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction301 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1583 /* 3: ReduceAction301 < ReduceAction301: superclass typecheck marker */},
+  {(bigint) 1599 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction301 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction301 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1599 /* 3: ReduceAction301 < ReduceAction301: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57134,37 +58653,37 @@ const classtable_elt_t VFT_ReduceAction301[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction301 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction301 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction301___action},
-  {(long int) 2 /* 42: ReduceAction301 < ReduceAction301: superclass init_table position */},
-  {(long int) parser___ReduceAction301___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction301 < 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) 1 /* 40: ReduceAction301 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction301___action},
+  {(bigint) 2 /* 42: ReduceAction301 < ReduceAction301: superclass init_table position */},
+  {(bigint) parser___ReduceAction301___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction301(void) {
@@ -57180,10 +58699,10 @@ val_t NEW_parser___ReduceAction301___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction302[44] = {
-  {(long int) 1579 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction302 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction302 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1579 /* 3: ReduceAction302 < ReduceAction302: superclass typecheck marker */},
+  {(bigint) 1595 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction302 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction302 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1595 /* 3: ReduceAction302 < ReduceAction302: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57193,37 +58712,37 @@ const classtable_elt_t VFT_ReduceAction302[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction302 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction302 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction302___action},
-  {(long int) 2 /* 42: ReduceAction302 < ReduceAction302: superclass init_table position */},
-  {(long int) parser___ReduceAction302___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction302 < 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) 1 /* 40: ReduceAction302 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction302___action},
+  {(bigint) 2 /* 42: ReduceAction302 < ReduceAction302: superclass init_table position */},
+  {(bigint) parser___ReduceAction302___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction302(void) {
@@ -57239,10 +58758,10 @@ val_t NEW_parser___ReduceAction302___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction303[44] = {
-  {(long int) 1575 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction303 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction303 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1575 /* 3: ReduceAction303 < ReduceAction303: superclass typecheck marker */},
+  {(bigint) 1591 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction303 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction303 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1591 /* 3: ReduceAction303 < ReduceAction303: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57252,37 +58771,37 @@ const classtable_elt_t VFT_ReduceAction303[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction303 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction303 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction303___action},
-  {(long int) 2 /* 42: ReduceAction303 < ReduceAction303: superclass init_table position */},
-  {(long int) parser___ReduceAction303___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction303 < 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) 1 /* 40: ReduceAction303 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction303___action},
+  {(bigint) 2 /* 42: ReduceAction303 < ReduceAction303: superclass init_table position */},
+  {(bigint) parser___ReduceAction303___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction303(void) {
@@ -57298,10 +58817,10 @@ val_t NEW_parser___ReduceAction303___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction304[44] = {
-  {(long int) 1571 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction304 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction304 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1571 /* 3: ReduceAction304 < ReduceAction304: superclass typecheck marker */},
+  {(bigint) 1587 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction304 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction304 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1587 /* 3: ReduceAction304 < ReduceAction304: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57311,37 +58830,37 @@ const classtable_elt_t VFT_ReduceAction304[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction304 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction304 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction304___action},
-  {(long int) 2 /* 42: ReduceAction304 < ReduceAction304: superclass init_table position */},
-  {(long int) parser___ReduceAction304___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction304 < 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) 1 /* 40: ReduceAction304 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction304___action},
+  {(bigint) 2 /* 42: ReduceAction304 < ReduceAction304: superclass init_table position */},
+  {(bigint) parser___ReduceAction304___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction304(void) {
@@ -57357,10 +58876,10 @@ val_t NEW_parser___ReduceAction304___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction305[44] = {
-  {(long int) 1567 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction305 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction305 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1567 /* 3: ReduceAction305 < ReduceAction305: superclass typecheck marker */},
+  {(bigint) 1583 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction305 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction305 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1583 /* 3: ReduceAction305 < ReduceAction305: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57370,37 +58889,37 @@ const classtable_elt_t VFT_ReduceAction305[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction305 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction305 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction305___action},
-  {(long int) 2 /* 42: ReduceAction305 < ReduceAction305: superclass init_table position */},
-  {(long int) parser___ReduceAction305___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction305 < 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) 1 /* 40: ReduceAction305 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction305___action},
+  {(bigint) 2 /* 42: ReduceAction305 < ReduceAction305: superclass init_table position */},
+  {(bigint) parser___ReduceAction305___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction305(void) {
@@ -57416,10 +58935,10 @@ val_t NEW_parser___ReduceAction305___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction306[44] = {
-  {(long int) 1563 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction306 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction306 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1563 /* 3: ReduceAction306 < ReduceAction306: superclass typecheck marker */},
+  {(bigint) 1579 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction306 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction306 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1579 /* 3: ReduceAction306 < ReduceAction306: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57429,37 +58948,37 @@ const classtable_elt_t VFT_ReduceAction306[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction306 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction306 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction306___action},
-  {(long int) 2 /* 42: ReduceAction306 < ReduceAction306: superclass init_table position */},
-  {(long int) parser___ReduceAction306___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction306 < 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) 1 /* 40: ReduceAction306 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction306___action},
+  {(bigint) 2 /* 42: ReduceAction306 < ReduceAction306: superclass init_table position */},
+  {(bigint) parser___ReduceAction306___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction306(void) {
@@ -57475,10 +58994,10 @@ val_t NEW_parser___ReduceAction306___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction307[44] = {
-  {(long int) 1559 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction307 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction307 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1559 /* 3: ReduceAction307 < ReduceAction307: superclass typecheck marker */},
+  {(bigint) 1575 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction307 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction307 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1575 /* 3: ReduceAction307 < ReduceAction307: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57488,37 +59007,37 @@ const classtable_elt_t VFT_ReduceAction307[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction307 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction307 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction307___action},
-  {(long int) 2 /* 42: ReduceAction307 < ReduceAction307: superclass init_table position */},
-  {(long int) parser___ReduceAction307___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction307 < 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) 1 /* 40: ReduceAction307 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction307___action},
+  {(bigint) 2 /* 42: ReduceAction307 < ReduceAction307: superclass init_table position */},
+  {(bigint) parser___ReduceAction307___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction307(void) {
@@ -57534,10 +59053,10 @@ val_t NEW_parser___ReduceAction307___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction308[44] = {
-  {(long int) 1555 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction308 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction308 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1555 /* 3: ReduceAction308 < ReduceAction308: superclass typecheck marker */},
+  {(bigint) 1571 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction308 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction308 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1571 /* 3: ReduceAction308 < ReduceAction308: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57547,37 +59066,37 @@ const classtable_elt_t VFT_ReduceAction308[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction308 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction308 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction308___action},
-  {(long int) 2 /* 42: ReduceAction308 < ReduceAction308: superclass init_table position */},
-  {(long int) parser___ReduceAction308___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction308 < 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) 1 /* 40: ReduceAction308 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction308___action},
+  {(bigint) 2 /* 42: ReduceAction308 < ReduceAction308: superclass init_table position */},
+  {(bigint) parser___ReduceAction308___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction308(void) {
@@ -57593,10 +59112,10 @@ val_t NEW_parser___ReduceAction308___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction309[44] = {
-  {(long int) 1551 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction309 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction309 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1551 /* 3: ReduceAction309 < ReduceAction309: superclass typecheck marker */},
+  {(bigint) 1567 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction309 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction309 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1567 /* 3: ReduceAction309 < ReduceAction309: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57606,37 +59125,37 @@ const classtable_elt_t VFT_ReduceAction309[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction309 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction309 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction309___action},
-  {(long int) 2 /* 42: ReduceAction309 < ReduceAction309: superclass init_table position */},
-  {(long int) parser___ReduceAction309___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction309 < 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) 1 /* 40: ReduceAction309 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction309___action},
+  {(bigint) 2 /* 42: ReduceAction309 < ReduceAction309: superclass init_table position */},
+  {(bigint) parser___ReduceAction309___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction309(void) {
@@ -57652,10 +59171,10 @@ val_t NEW_parser___ReduceAction309___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction310[44] = {
-  {(long int) 1543 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction310 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction310 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1543 /* 3: ReduceAction310 < ReduceAction310: superclass typecheck marker */},
+  {(bigint) 1559 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction310 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction310 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1559 /* 3: ReduceAction310 < ReduceAction310: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57665,37 +59184,37 @@ const classtable_elt_t VFT_ReduceAction310[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction310 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction310 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction310___action},
-  {(long int) 2 /* 42: ReduceAction310 < ReduceAction310: superclass init_table position */},
-  {(long int) parser___ReduceAction310___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction310 < 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) 1 /* 40: ReduceAction310 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction310___action},
+  {(bigint) 2 /* 42: ReduceAction310 < ReduceAction310: superclass init_table position */},
+  {(bigint) parser___ReduceAction310___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction310(void) {
@@ -57711,10 +59230,10 @@ val_t NEW_parser___ReduceAction310___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction311[44] = {
-  {(long int) 1539 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction311 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction311 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1539 /* 3: ReduceAction311 < ReduceAction311: superclass typecheck marker */},
+  {(bigint) 1555 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction311 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction311 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1555 /* 3: ReduceAction311 < ReduceAction311: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57724,37 +59243,37 @@ const classtable_elt_t VFT_ReduceAction311[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction311 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction311 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction311___action},
-  {(long int) 2 /* 42: ReduceAction311 < ReduceAction311: superclass init_table position */},
-  {(long int) parser___ReduceAction311___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction311 < 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) 1 /* 40: ReduceAction311 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction311___action},
+  {(bigint) 2 /* 42: ReduceAction311 < ReduceAction311: superclass init_table position */},
+  {(bigint) parser___ReduceAction311___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction311(void) {
@@ -57770,10 +59289,10 @@ val_t NEW_parser___ReduceAction311___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction312[44] = {
-  {(long int) 1535 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction312 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction312 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1535 /* 3: ReduceAction312 < ReduceAction312: superclass typecheck marker */},
+  {(bigint) 1551 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction312 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction312 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1551 /* 3: ReduceAction312 < ReduceAction312: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57783,37 +59302,37 @@ const classtable_elt_t VFT_ReduceAction312[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction312 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction312 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction312___action},
-  {(long int) 2 /* 42: ReduceAction312 < ReduceAction312: superclass init_table position */},
-  {(long int) parser___ReduceAction312___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction312 < 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) 1 /* 40: ReduceAction312 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction312___action},
+  {(bigint) 2 /* 42: ReduceAction312 < ReduceAction312: superclass init_table position */},
+  {(bigint) parser___ReduceAction312___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction312(void) {
@@ -57829,10 +59348,10 @@ val_t NEW_parser___ReduceAction312___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction313[44] = {
-  {(long int) 1531 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction313 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction313 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1531 /* 3: ReduceAction313 < ReduceAction313: superclass typecheck marker */},
+  {(bigint) 1547 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction313 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction313 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1547 /* 3: ReduceAction313 < ReduceAction313: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57842,37 +59361,37 @@ const classtable_elt_t VFT_ReduceAction313[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction313 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction313 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction313___action},
-  {(long int) 2 /* 42: ReduceAction313 < ReduceAction313: superclass init_table position */},
-  {(long int) parser___ReduceAction313___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction313 < 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) 1 /* 40: ReduceAction313 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction313___action},
+  {(bigint) 2 /* 42: ReduceAction313 < ReduceAction313: superclass init_table position */},
+  {(bigint) parser___ReduceAction313___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction313(void) {
@@ -57888,10 +59407,10 @@ val_t NEW_parser___ReduceAction313___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction314[44] = {
-  {(long int) 1527 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction314 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction314 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1527 /* 3: ReduceAction314 < ReduceAction314: superclass typecheck marker */},
+  {(bigint) 1543 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction314 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction314 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1543 /* 3: ReduceAction314 < ReduceAction314: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57901,37 +59420,37 @@ const classtable_elt_t VFT_ReduceAction314[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction314 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction314 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction314___action},
-  {(long int) 2 /* 42: ReduceAction314 < ReduceAction314: superclass init_table position */},
-  {(long int) parser___ReduceAction314___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction314 < 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) 1 /* 40: ReduceAction314 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction314___action},
+  {(bigint) 2 /* 42: ReduceAction314 < ReduceAction314: superclass init_table position */},
+  {(bigint) parser___ReduceAction314___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction314(void) {
@@ -57947,10 +59466,10 @@ val_t NEW_parser___ReduceAction314___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction315[44] = {
-  {(long int) 1523 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction315 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction315 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1523 /* 3: ReduceAction315 < ReduceAction315: superclass typecheck marker */},
+  {(bigint) 1539 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction315 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction315 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1539 /* 3: ReduceAction315 < ReduceAction315: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -57960,37 +59479,37 @@ const classtable_elt_t VFT_ReduceAction315[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction315 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction315 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction315___action},
-  {(long int) 2 /* 42: ReduceAction315 < ReduceAction315: superclass init_table position */},
-  {(long int) parser___ReduceAction315___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction315 < 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) 1 /* 40: ReduceAction315 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction315___action},
+  {(bigint) 2 /* 42: ReduceAction315 < ReduceAction315: superclass init_table position */},
+  {(bigint) parser___ReduceAction315___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction315(void) {
@@ -58006,10 +59525,10 @@ val_t NEW_parser___ReduceAction315___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction316[44] = {
-  {(long int) 1519 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction316 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction316 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1519 /* 3: ReduceAction316 < ReduceAction316: superclass typecheck marker */},
+  {(bigint) 1535 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction316 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction316 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1535 /* 3: ReduceAction316 < ReduceAction316: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58019,37 +59538,37 @@ const classtable_elt_t VFT_ReduceAction316[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction316 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction316 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction316___action},
-  {(long int) 2 /* 42: ReduceAction316 < ReduceAction316: superclass init_table position */},
-  {(long int) parser___ReduceAction316___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction316 < 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) 1 /* 40: ReduceAction316 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction316___action},
+  {(bigint) 2 /* 42: ReduceAction316 < ReduceAction316: superclass init_table position */},
+  {(bigint) parser___ReduceAction316___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction316(void) {
@@ -58065,10 +59584,10 @@ val_t NEW_parser___ReduceAction316___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction317[44] = {
-  {(long int) 1515 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction317 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction317 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1515 /* 3: ReduceAction317 < ReduceAction317: superclass typecheck marker */},
+  {(bigint) 1531 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction317 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction317 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1531 /* 3: ReduceAction317 < ReduceAction317: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58078,37 +59597,37 @@ const classtable_elt_t VFT_ReduceAction317[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction317 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction317 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction317___action},
-  {(long int) 2 /* 42: ReduceAction317 < ReduceAction317: superclass init_table position */},
-  {(long int) parser___ReduceAction317___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction317 < 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) 1 /* 40: ReduceAction317 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction317___action},
+  {(bigint) 2 /* 42: ReduceAction317 < ReduceAction317: superclass init_table position */},
+  {(bigint) parser___ReduceAction317___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction317(void) {
@@ -58124,10 +59643,10 @@ val_t NEW_parser___ReduceAction317___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction318[44] = {
-  {(long int) 1511 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction318 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction318 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1511 /* 3: ReduceAction318 < ReduceAction318: superclass typecheck marker */},
+  {(bigint) 1527 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction318 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction318 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1527 /* 3: ReduceAction318 < ReduceAction318: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58137,37 +59656,37 @@ const classtable_elt_t VFT_ReduceAction318[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction318 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction318 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction318___action},
-  {(long int) 2 /* 42: ReduceAction318 < ReduceAction318: superclass init_table position */},
-  {(long int) parser___ReduceAction318___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction318 < 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) 1 /* 40: ReduceAction318 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction318___action},
+  {(bigint) 2 /* 42: ReduceAction318 < ReduceAction318: superclass init_table position */},
+  {(bigint) parser___ReduceAction318___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction318(void) {
@@ -58183,10 +59702,10 @@ val_t NEW_parser___ReduceAction318___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction319[44] = {
-  {(long int) 1507 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction319 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction319 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1507 /* 3: ReduceAction319 < ReduceAction319: superclass typecheck marker */},
+  {(bigint) 1523 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction319 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction319 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1523 /* 3: ReduceAction319 < ReduceAction319: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58196,37 +59715,37 @@ const classtable_elt_t VFT_ReduceAction319[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction319 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction319 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction319___action},
-  {(long int) 2 /* 42: ReduceAction319 < ReduceAction319: superclass init_table position */},
-  {(long int) parser___ReduceAction319___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction319 < 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) 1 /* 40: ReduceAction319 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction319___action},
+  {(bigint) 2 /* 42: ReduceAction319 < ReduceAction319: superclass init_table position */},
+  {(bigint) parser___ReduceAction319___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction319(void) {
@@ -58242,10 +59761,10 @@ val_t NEW_parser___ReduceAction319___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction320[44] = {
-  {(long int) 1499 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction320 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction320 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1499 /* 3: ReduceAction320 < ReduceAction320: superclass typecheck marker */},
+  {(bigint) 1515 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction320 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction320 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1515 /* 3: ReduceAction320 < ReduceAction320: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58255,37 +59774,37 @@ const classtable_elt_t VFT_ReduceAction320[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction320 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction320 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction320___action},
-  {(long int) 2 /* 42: ReduceAction320 < ReduceAction320: superclass init_table position */},
-  {(long int) parser___ReduceAction320___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction320 < 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) 1 /* 40: ReduceAction320 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction320___action},
+  {(bigint) 2 /* 42: ReduceAction320 < ReduceAction320: superclass init_table position */},
+  {(bigint) parser___ReduceAction320___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction320(void) {
@@ -58301,10 +59820,10 @@ val_t NEW_parser___ReduceAction320___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction321[44] = {
-  {(long int) 1495 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction321 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction321 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1495 /* 3: ReduceAction321 < ReduceAction321: superclass typecheck marker */},
+  {(bigint) 1511 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction321 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction321 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1511 /* 3: ReduceAction321 < ReduceAction321: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58314,37 +59833,37 @@ const classtable_elt_t VFT_ReduceAction321[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction321 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction321 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction321___action},
-  {(long int) 2 /* 42: ReduceAction321 < ReduceAction321: superclass init_table position */},
-  {(long int) parser___ReduceAction321___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction321 < 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) 1 /* 40: ReduceAction321 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction321___action},
+  {(bigint) 2 /* 42: ReduceAction321 < ReduceAction321: superclass init_table position */},
+  {(bigint) parser___ReduceAction321___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction321(void) {
@@ -58360,10 +59879,10 @@ val_t NEW_parser___ReduceAction321___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction322[44] = {
-  {(long int) 1491 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction322 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction322 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1491 /* 3: ReduceAction322 < ReduceAction322: superclass typecheck marker */},
+  {(bigint) 1507 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction322 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction322 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1507 /* 3: ReduceAction322 < ReduceAction322: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58373,37 +59892,37 @@ const classtable_elt_t VFT_ReduceAction322[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction322 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction322 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction322___action},
-  {(long int) 2 /* 42: ReduceAction322 < ReduceAction322: superclass init_table position */},
-  {(long int) parser___ReduceAction322___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction322 < 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) 1 /* 40: ReduceAction322 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction322___action},
+  {(bigint) 2 /* 42: ReduceAction322 < ReduceAction322: superclass init_table position */},
+  {(bigint) parser___ReduceAction322___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction322(void) {
@@ -58419,10 +59938,10 @@ val_t NEW_parser___ReduceAction322___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction323[44] = {
-  {(long int) 1487 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction323 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction323 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1487 /* 3: ReduceAction323 < ReduceAction323: superclass typecheck marker */},
+  {(bigint) 1503 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction323 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction323 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1503 /* 3: ReduceAction323 < ReduceAction323: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58432,37 +59951,37 @@ const classtable_elt_t VFT_ReduceAction323[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction323 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction323 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction323___action},
-  {(long int) 2 /* 42: ReduceAction323 < ReduceAction323: superclass init_table position */},
-  {(long int) parser___ReduceAction323___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction323 < 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) 1 /* 40: ReduceAction323 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction323___action},
+  {(bigint) 2 /* 42: ReduceAction323 < ReduceAction323: superclass init_table position */},
+  {(bigint) parser___ReduceAction323___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction323(void) {
@@ -58478,10 +59997,10 @@ val_t NEW_parser___ReduceAction323___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction324[44] = {
-  {(long int) 1483 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction324 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction324 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1483 /* 3: ReduceAction324 < ReduceAction324: superclass typecheck marker */},
+  {(bigint) 1499 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction324 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction324 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1499 /* 3: ReduceAction324 < ReduceAction324: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58491,37 +60010,37 @@ const classtable_elt_t VFT_ReduceAction324[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction324 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction324 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction324___action},
-  {(long int) 2 /* 42: ReduceAction324 < ReduceAction324: superclass init_table position */},
-  {(long int) parser___ReduceAction324___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction324 < 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) 1 /* 40: ReduceAction324 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction324___action},
+  {(bigint) 2 /* 42: ReduceAction324 < ReduceAction324: superclass init_table position */},
+  {(bigint) parser___ReduceAction324___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction324(void) {
@@ -58537,10 +60056,10 @@ val_t NEW_parser___ReduceAction324___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction325[44] = {
-  {(long int) 1479 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction325 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction325 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1479 /* 3: ReduceAction325 < ReduceAction325: superclass typecheck marker */},
+  {(bigint) 1495 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction325 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction325 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1495 /* 3: ReduceAction325 < ReduceAction325: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58550,37 +60069,37 @@ const classtable_elt_t VFT_ReduceAction325[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction325 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction325 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction325___action},
-  {(long int) 2 /* 42: ReduceAction325 < ReduceAction325: superclass init_table position */},
-  {(long int) parser___ReduceAction325___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction325 < 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) 1 /* 40: ReduceAction325 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction325___action},
+  {(bigint) 2 /* 42: ReduceAction325 < ReduceAction325: superclass init_table position */},
+  {(bigint) parser___ReduceAction325___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction325(void) {
@@ -58596,10 +60115,10 @@ val_t NEW_parser___ReduceAction325___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction326[44] = {
-  {(long int) 1475 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction326 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction326 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1475 /* 3: ReduceAction326 < ReduceAction326: superclass typecheck marker */},
+  {(bigint) 1491 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction326 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction326 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1491 /* 3: ReduceAction326 < ReduceAction326: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58609,37 +60128,37 @@ const classtable_elt_t VFT_ReduceAction326[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction326 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction326 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction326___action},
-  {(long int) 2 /* 42: ReduceAction326 < ReduceAction326: superclass init_table position */},
-  {(long int) parser___ReduceAction326___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction326 < 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) 1 /* 40: ReduceAction326 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction326___action},
+  {(bigint) 2 /* 42: ReduceAction326 < ReduceAction326: superclass init_table position */},
+  {(bigint) parser___ReduceAction326___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction326(void) {
@@ -58655,10 +60174,10 @@ val_t NEW_parser___ReduceAction326___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction327[44] = {
-  {(long int) 1471 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction327 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction327 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1471 /* 3: ReduceAction327 < ReduceAction327: superclass typecheck marker */},
+  {(bigint) 1487 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction327 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction327 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1487 /* 3: ReduceAction327 < ReduceAction327: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58668,37 +60187,37 @@ const classtable_elt_t VFT_ReduceAction327[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction327 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction327 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction327___action},
-  {(long int) 2 /* 42: ReduceAction327 < ReduceAction327: superclass init_table position */},
-  {(long int) parser___ReduceAction327___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction327 < 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) 1 /* 40: ReduceAction327 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction327___action},
+  {(bigint) 2 /* 42: ReduceAction327 < ReduceAction327: superclass init_table position */},
+  {(bigint) parser___ReduceAction327___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction327(void) {
@@ -58714,10 +60233,10 @@ val_t NEW_parser___ReduceAction327___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction328[44] = {
-  {(long int) 1467 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction328 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction328 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1467 /* 3: ReduceAction328 < ReduceAction328: superclass typecheck marker */},
+  {(bigint) 1483 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction328 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction328 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1483 /* 3: ReduceAction328 < ReduceAction328: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58727,37 +60246,37 @@ const classtable_elt_t VFT_ReduceAction328[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction328 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction328 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction328___action},
-  {(long int) 2 /* 42: ReduceAction328 < ReduceAction328: superclass init_table position */},
-  {(long int) parser___ReduceAction328___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction328 < 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) 1 /* 40: ReduceAction328 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction328___action},
+  {(bigint) 2 /* 42: ReduceAction328 < ReduceAction328: superclass init_table position */},
+  {(bigint) parser___ReduceAction328___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction328(void) {
@@ -58773,10 +60292,10 @@ val_t NEW_parser___ReduceAction328___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction329[44] = {
-  {(long int) 1463 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction329 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction329 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1463 /* 3: ReduceAction329 < ReduceAction329: superclass typecheck marker */},
+  {(bigint) 1479 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction329 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction329 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1479 /* 3: ReduceAction329 < ReduceAction329: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58786,37 +60305,37 @@ const classtable_elt_t VFT_ReduceAction329[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction329 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction329 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction329___action},
-  {(long int) 2 /* 42: ReduceAction329 < ReduceAction329: superclass init_table position */},
-  {(long int) parser___ReduceAction329___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction329 < 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) 1 /* 40: ReduceAction329 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction329___action},
+  {(bigint) 2 /* 42: ReduceAction329 < ReduceAction329: superclass init_table position */},
+  {(bigint) parser___ReduceAction329___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction329(void) {
@@ -58832,10 +60351,10 @@ val_t NEW_parser___ReduceAction329___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction330[44] = {
-  {(long int) 1455 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction330 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction330 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1455 /* 3: ReduceAction330 < ReduceAction330: superclass typecheck marker */},
+  {(bigint) 1471 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction330 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction330 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1471 /* 3: ReduceAction330 < ReduceAction330: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58845,37 +60364,37 @@ const classtable_elt_t VFT_ReduceAction330[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction330 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction330 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction330___action},
-  {(long int) 2 /* 42: ReduceAction330 < ReduceAction330: superclass init_table position */},
-  {(long int) parser___ReduceAction330___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction330 < 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) 1 /* 40: ReduceAction330 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction330___action},
+  {(bigint) 2 /* 42: ReduceAction330 < ReduceAction330: superclass init_table position */},
+  {(bigint) parser___ReduceAction330___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction330(void) {
@@ -58891,10 +60410,10 @@ val_t NEW_parser___ReduceAction330___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction331[44] = {
-  {(long int) 1451 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction331 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction331 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1451 /* 3: ReduceAction331 < ReduceAction331: superclass typecheck marker */},
+  {(bigint) 1467 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction331 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction331 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1467 /* 3: ReduceAction331 < ReduceAction331: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58904,37 +60423,37 @@ const classtable_elt_t VFT_ReduceAction331[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction331 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction331 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction331___action},
-  {(long int) 2 /* 42: ReduceAction331 < ReduceAction331: superclass init_table position */},
-  {(long int) parser___ReduceAction331___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction331 < 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) 1 /* 40: ReduceAction331 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction331___action},
+  {(bigint) 2 /* 42: ReduceAction331 < ReduceAction331: superclass init_table position */},
+  {(bigint) parser___ReduceAction331___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction331(void) {
@@ -58950,10 +60469,10 @@ val_t NEW_parser___ReduceAction331___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction332[44] = {
-  {(long int) 1447 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction332 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction332 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1447 /* 3: ReduceAction332 < ReduceAction332: superclass typecheck marker */},
+  {(bigint) 1463 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction332 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction332 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1463 /* 3: ReduceAction332 < ReduceAction332: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -58963,37 +60482,37 @@ const classtable_elt_t VFT_ReduceAction332[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction332 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction332 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction332___action},
-  {(long int) 2 /* 42: ReduceAction332 < ReduceAction332: superclass init_table position */},
-  {(long int) parser___ReduceAction332___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction332 < 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) 1 /* 40: ReduceAction332 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction332___action},
+  {(bigint) 2 /* 42: ReduceAction332 < ReduceAction332: superclass init_table position */},
+  {(bigint) parser___ReduceAction332___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction332(void) {
@@ -59009,10 +60528,10 @@ val_t NEW_parser___ReduceAction332___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction333[44] = {
-  {(long int) 1443 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction333 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction333 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1443 /* 3: ReduceAction333 < ReduceAction333: superclass typecheck marker */},
+  {(bigint) 1459 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction333 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction333 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1459 /* 3: ReduceAction333 < ReduceAction333: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59022,37 +60541,37 @@ const classtable_elt_t VFT_ReduceAction333[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction333 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction333 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction333___action},
-  {(long int) 2 /* 42: ReduceAction333 < ReduceAction333: superclass init_table position */},
-  {(long int) parser___ReduceAction333___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction333 < 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) 1 /* 40: ReduceAction333 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction333___action},
+  {(bigint) 2 /* 42: ReduceAction333 < ReduceAction333: superclass init_table position */},
+  {(bigint) parser___ReduceAction333___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction333(void) {
@@ -59068,10 +60587,10 @@ val_t NEW_parser___ReduceAction333___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction334[44] = {
-  {(long int) 1439 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction334 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction334 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1439 /* 3: ReduceAction334 < ReduceAction334: superclass typecheck marker */},
+  {(bigint) 1455 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction334 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction334 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1455 /* 3: ReduceAction334 < ReduceAction334: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59081,37 +60600,37 @@ const classtable_elt_t VFT_ReduceAction334[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction334 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction334 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction334___action},
-  {(long int) 2 /* 42: ReduceAction334 < ReduceAction334: superclass init_table position */},
-  {(long int) parser___ReduceAction334___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction334 < 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) 1 /* 40: ReduceAction334 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction334___action},
+  {(bigint) 2 /* 42: ReduceAction334 < ReduceAction334: superclass init_table position */},
+  {(bigint) parser___ReduceAction334___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction334(void) {
@@ -59127,10 +60646,10 @@ val_t NEW_parser___ReduceAction334___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction335[44] = {
-  {(long int) 1435 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction335 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction335 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1435 /* 3: ReduceAction335 < ReduceAction335: superclass typecheck marker */},
+  {(bigint) 1451 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction335 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction335 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1451 /* 3: ReduceAction335 < ReduceAction335: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59140,37 +60659,37 @@ const classtable_elt_t VFT_ReduceAction335[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction335 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction335 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction335___action},
-  {(long int) 2 /* 42: ReduceAction335 < ReduceAction335: superclass init_table position */},
-  {(long int) parser___ReduceAction335___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction335 < 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) 1 /* 40: ReduceAction335 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction335___action},
+  {(bigint) 2 /* 42: ReduceAction335 < ReduceAction335: superclass init_table position */},
+  {(bigint) parser___ReduceAction335___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction335(void) {
@@ -59186,10 +60705,10 @@ val_t NEW_parser___ReduceAction335___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction336[44] = {
-  {(long int) 1431 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction336 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction336 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1431 /* 3: ReduceAction336 < ReduceAction336: superclass typecheck marker */},
+  {(bigint) 1447 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction336 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction336 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1447 /* 3: ReduceAction336 < ReduceAction336: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59199,37 +60718,37 @@ const classtable_elt_t VFT_ReduceAction336[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction336 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction336 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction336___action},
-  {(long int) 2 /* 42: ReduceAction336 < ReduceAction336: superclass init_table position */},
-  {(long int) parser___ReduceAction336___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction336 < 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) 1 /* 40: ReduceAction336 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction336___action},
+  {(bigint) 2 /* 42: ReduceAction336 < ReduceAction336: superclass init_table position */},
+  {(bigint) parser___ReduceAction336___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction336(void) {
@@ -59245,10 +60764,10 @@ val_t NEW_parser___ReduceAction336___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction337[44] = {
-  {(long int) 1427 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction337 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction337 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1427 /* 3: ReduceAction337 < ReduceAction337: superclass typecheck marker */},
+  {(bigint) 1443 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction337 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction337 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1443 /* 3: ReduceAction337 < ReduceAction337: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59258,37 +60777,37 @@ const classtable_elt_t VFT_ReduceAction337[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction337 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction337 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction337___action},
-  {(long int) 2 /* 42: ReduceAction337 < ReduceAction337: superclass init_table position */},
-  {(long int) parser___ReduceAction337___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction337 < 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) 1 /* 40: ReduceAction337 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction337___action},
+  {(bigint) 2 /* 42: ReduceAction337 < ReduceAction337: superclass init_table position */},
+  {(bigint) parser___ReduceAction337___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction337(void) {
@@ -59304,10 +60823,10 @@ val_t NEW_parser___ReduceAction337___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction338[44] = {
-  {(long int) 1423 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction338 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction338 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1423 /* 3: ReduceAction338 < ReduceAction338: superclass typecheck marker */},
+  {(bigint) 1439 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction338 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction338 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1439 /* 3: ReduceAction338 < ReduceAction338: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59317,37 +60836,37 @@ const classtable_elt_t VFT_ReduceAction338[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction338 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction338 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction338___action},
-  {(long int) 2 /* 42: ReduceAction338 < ReduceAction338: superclass init_table position */},
-  {(long int) parser___ReduceAction338___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction338 < 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) 1 /* 40: ReduceAction338 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction338___action},
+  {(bigint) 2 /* 42: ReduceAction338 < ReduceAction338: superclass init_table position */},
+  {(bigint) parser___ReduceAction338___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction338(void) {
@@ -59363,10 +60882,10 @@ val_t NEW_parser___ReduceAction338___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction339[44] = {
-  {(long int) 1419 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction339 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction339 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1419 /* 3: ReduceAction339 < ReduceAction339: superclass typecheck marker */},
+  {(bigint) 1435 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction339 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction339 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1435 /* 3: ReduceAction339 < ReduceAction339: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59376,37 +60895,37 @@ const classtable_elt_t VFT_ReduceAction339[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction339 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction339 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction339___action},
-  {(long int) 2 /* 42: ReduceAction339 < ReduceAction339: superclass init_table position */},
-  {(long int) parser___ReduceAction339___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction339 < 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) 1 /* 40: ReduceAction339 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction339___action},
+  {(bigint) 2 /* 42: ReduceAction339 < ReduceAction339: superclass init_table position */},
+  {(bigint) parser___ReduceAction339___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction339(void) {
@@ -59422,10 +60941,10 @@ val_t NEW_parser___ReduceAction339___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction340[44] = {
-  {(long int) 1411 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction340 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction340 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1411 /* 3: ReduceAction340 < ReduceAction340: superclass typecheck marker */},
+  {(bigint) 1427 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction340 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction340 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1427 /* 3: ReduceAction340 < ReduceAction340: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59435,37 +60954,37 @@ const classtable_elt_t VFT_ReduceAction340[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction340 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction340 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction340___action},
-  {(long int) 2 /* 42: ReduceAction340 < ReduceAction340: superclass init_table position */},
-  {(long int) parser___ReduceAction340___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction340 < 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) 1 /* 40: ReduceAction340 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction340___action},
+  {(bigint) 2 /* 42: ReduceAction340 < ReduceAction340: superclass init_table position */},
+  {(bigint) parser___ReduceAction340___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction340(void) {
@@ -59481,10 +61000,10 @@ val_t NEW_parser___ReduceAction340___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction341[44] = {
-  {(long int) 1407 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction341 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction341 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1407 /* 3: ReduceAction341 < ReduceAction341: superclass typecheck marker */},
+  {(bigint) 1423 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction341 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction341 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1423 /* 3: ReduceAction341 < ReduceAction341: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59494,37 +61013,37 @@ const classtable_elt_t VFT_ReduceAction341[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction341 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction341 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction341___action},
-  {(long int) 2 /* 42: ReduceAction341 < ReduceAction341: superclass init_table position */},
-  {(long int) parser___ReduceAction341___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction341 < 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) 1 /* 40: ReduceAction341 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction341___action},
+  {(bigint) 2 /* 42: ReduceAction341 < ReduceAction341: superclass init_table position */},
+  {(bigint) parser___ReduceAction341___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction341(void) {
@@ -59540,10 +61059,10 @@ val_t NEW_parser___ReduceAction341___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction342[44] = {
-  {(long int) 1403 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction342 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction342 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1403 /* 3: ReduceAction342 < ReduceAction342: superclass typecheck marker */},
+  {(bigint) 1419 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction342 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction342 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1419 /* 3: ReduceAction342 < ReduceAction342: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59553,37 +61072,37 @@ const classtable_elt_t VFT_ReduceAction342[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction342 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction342 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction342___action},
-  {(long int) 2 /* 42: ReduceAction342 < ReduceAction342: superclass init_table position */},
-  {(long int) parser___ReduceAction342___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction342 < 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) 1 /* 40: ReduceAction342 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction342___action},
+  {(bigint) 2 /* 42: ReduceAction342 < ReduceAction342: superclass init_table position */},
+  {(bigint) parser___ReduceAction342___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction342(void) {
@@ -59599,10 +61118,10 @@ val_t NEW_parser___ReduceAction342___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction343[44] = {
-  {(long int) 1399 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction343 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction343 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1399 /* 3: ReduceAction343 < ReduceAction343: superclass typecheck marker */},
+  {(bigint) 1415 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction343 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction343 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1415 /* 3: ReduceAction343 < ReduceAction343: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59612,37 +61131,37 @@ const classtable_elt_t VFT_ReduceAction343[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction343 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction343 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction343___action},
-  {(long int) 2 /* 42: ReduceAction343 < ReduceAction343: superclass init_table position */},
-  {(long int) parser___ReduceAction343___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction343 < 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) 1 /* 40: ReduceAction343 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction343___action},
+  {(bigint) 2 /* 42: ReduceAction343 < ReduceAction343: superclass init_table position */},
+  {(bigint) parser___ReduceAction343___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction343(void) {
@@ -59658,10 +61177,10 @@ val_t NEW_parser___ReduceAction343___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction344[44] = {
-  {(long int) 1395 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction344 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction344 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1395 /* 3: ReduceAction344 < ReduceAction344: superclass typecheck marker */},
+  {(bigint) 1411 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction344 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction344 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1411 /* 3: ReduceAction344 < ReduceAction344: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59671,37 +61190,37 @@ const classtable_elt_t VFT_ReduceAction344[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction344 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction344 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction344___action},
-  {(long int) 2 /* 42: ReduceAction344 < ReduceAction344: superclass init_table position */},
-  {(long int) parser___ReduceAction344___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction344 < 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) 1 /* 40: ReduceAction344 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction344___action},
+  {(bigint) 2 /* 42: ReduceAction344 < ReduceAction344: superclass init_table position */},
+  {(bigint) parser___ReduceAction344___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction344(void) {
@@ -59717,10 +61236,10 @@ val_t NEW_parser___ReduceAction344___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction345[44] = {
-  {(long int) 1391 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction345 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction345 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1391 /* 3: ReduceAction345 < ReduceAction345: superclass typecheck marker */},
+  {(bigint) 1407 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction345 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction345 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1407 /* 3: ReduceAction345 < ReduceAction345: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59730,37 +61249,37 @@ const classtable_elt_t VFT_ReduceAction345[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction345 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction345 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction345___action},
-  {(long int) 2 /* 42: ReduceAction345 < ReduceAction345: superclass init_table position */},
-  {(long int) parser___ReduceAction345___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction345 < 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) 1 /* 40: ReduceAction345 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction345___action},
+  {(bigint) 2 /* 42: ReduceAction345 < ReduceAction345: superclass init_table position */},
+  {(bigint) parser___ReduceAction345___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction345(void) {
@@ -59776,10 +61295,10 @@ val_t NEW_parser___ReduceAction345___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction346[44] = {
-  {(long int) 1387 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction346 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction346 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1387 /* 3: ReduceAction346 < ReduceAction346: superclass typecheck marker */},
+  {(bigint) 1403 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction346 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction346 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1403 /* 3: ReduceAction346 < ReduceAction346: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59789,37 +61308,37 @@ const classtable_elt_t VFT_ReduceAction346[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction346 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction346 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction346___action},
-  {(long int) 2 /* 42: ReduceAction346 < ReduceAction346: superclass init_table position */},
-  {(long int) parser___ReduceAction346___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction346 < 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) 1 /* 40: ReduceAction346 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction346___action},
+  {(bigint) 2 /* 42: ReduceAction346 < ReduceAction346: superclass init_table position */},
+  {(bigint) parser___ReduceAction346___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction346(void) {
@@ -59835,10 +61354,10 @@ val_t NEW_parser___ReduceAction346___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction347[44] = {
-  {(long int) 1383 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction347 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction347 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1383 /* 3: ReduceAction347 < ReduceAction347: superclass typecheck marker */},
+  {(bigint) 1399 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction347 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction347 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1399 /* 3: ReduceAction347 < ReduceAction347: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59848,37 +61367,37 @@ const classtable_elt_t VFT_ReduceAction347[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction347 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction347 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction347___action},
-  {(long int) 2 /* 42: ReduceAction347 < ReduceAction347: superclass init_table position */},
-  {(long int) parser___ReduceAction347___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction347 < 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) 1 /* 40: ReduceAction347 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction347___action},
+  {(bigint) 2 /* 42: ReduceAction347 < ReduceAction347: superclass init_table position */},
+  {(bigint) parser___ReduceAction347___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction347(void) {
@@ -59894,10 +61413,10 @@ val_t NEW_parser___ReduceAction347___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction348[44] = {
-  {(long int) 1379 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction348 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction348 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1379 /* 3: ReduceAction348 < ReduceAction348: superclass typecheck marker */},
+  {(bigint) 1395 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction348 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction348 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1395 /* 3: ReduceAction348 < ReduceAction348: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59907,37 +61426,37 @@ const classtable_elt_t VFT_ReduceAction348[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction348 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction348 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction348___action},
-  {(long int) 2 /* 42: ReduceAction348 < ReduceAction348: superclass init_table position */},
-  {(long int) parser___ReduceAction348___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction348 < 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) 1 /* 40: ReduceAction348 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction348___action},
+  {(bigint) 2 /* 42: ReduceAction348 < ReduceAction348: superclass init_table position */},
+  {(bigint) parser___ReduceAction348___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction348(void) {
@@ -59953,10 +61472,10 @@ val_t NEW_parser___ReduceAction348___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction349[44] = {
-  {(long int) 1375 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction349 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction349 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1375 /* 3: ReduceAction349 < ReduceAction349: superclass typecheck marker */},
+  {(bigint) 1391 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction349 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction349 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1391 /* 3: ReduceAction349 < ReduceAction349: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -59966,37 +61485,37 @@ const classtable_elt_t VFT_ReduceAction349[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction349 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction349 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction349___action},
-  {(long int) 2 /* 42: ReduceAction349 < ReduceAction349: superclass init_table position */},
-  {(long int) parser___ReduceAction349___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction349 < 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) 1 /* 40: ReduceAction349 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction349___action},
+  {(bigint) 2 /* 42: ReduceAction349 < ReduceAction349: superclass init_table position */},
+  {(bigint) parser___ReduceAction349___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction349(void) {
@@ -60012,10 +61531,10 @@ val_t NEW_parser___ReduceAction349___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction350[44] = {
-  {(long int) 1367 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction350 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction350 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1367 /* 3: ReduceAction350 < ReduceAction350: superclass typecheck marker */},
+  {(bigint) 1383 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction350 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction350 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1383 /* 3: ReduceAction350 < ReduceAction350: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60025,37 +61544,37 @@ const classtable_elt_t VFT_ReduceAction350[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction350 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction350 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction350___action},
-  {(long int) 2 /* 42: ReduceAction350 < ReduceAction350: superclass init_table position */},
-  {(long int) parser___ReduceAction350___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction350 < 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) 1 /* 40: ReduceAction350 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction350___action},
+  {(bigint) 2 /* 42: ReduceAction350 < ReduceAction350: superclass init_table position */},
+  {(bigint) parser___ReduceAction350___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction350(void) {
@@ -60071,10 +61590,10 @@ val_t NEW_parser___ReduceAction350___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction351[44] = {
-  {(long int) 1363 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction351 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction351 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1363 /* 3: ReduceAction351 < ReduceAction351: superclass typecheck marker */},
+  {(bigint) 1379 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction351 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction351 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1379 /* 3: ReduceAction351 < ReduceAction351: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60084,37 +61603,37 @@ const classtable_elt_t VFT_ReduceAction351[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction351 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction351 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction351___action},
-  {(long int) 2 /* 42: ReduceAction351 < ReduceAction351: superclass init_table position */},
-  {(long int) parser___ReduceAction351___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction351 < 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) 1 /* 40: ReduceAction351 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction351___action},
+  {(bigint) 2 /* 42: ReduceAction351 < ReduceAction351: superclass init_table position */},
+  {(bigint) parser___ReduceAction351___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction351(void) {
@@ -60130,10 +61649,10 @@ val_t NEW_parser___ReduceAction351___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction352[44] = {
-  {(long int) 1359 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction352 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction352 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1359 /* 3: ReduceAction352 < ReduceAction352: superclass typecheck marker */},
+  {(bigint) 1375 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction352 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction352 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1375 /* 3: ReduceAction352 < ReduceAction352: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60143,37 +61662,37 @@ const classtable_elt_t VFT_ReduceAction352[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction352 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction352 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction352___action},
-  {(long int) 2 /* 42: ReduceAction352 < ReduceAction352: superclass init_table position */},
-  {(long int) parser___ReduceAction352___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction352 < 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) 1 /* 40: ReduceAction352 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction352___action},
+  {(bigint) 2 /* 42: ReduceAction352 < ReduceAction352: superclass init_table position */},
+  {(bigint) parser___ReduceAction352___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction352(void) {
@@ -60189,10 +61708,10 @@ val_t NEW_parser___ReduceAction352___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction353[44] = {
-  {(long int) 1355 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction353 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction353 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1355 /* 3: ReduceAction353 < ReduceAction353: superclass typecheck marker */},
+  {(bigint) 1371 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction353 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction353 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1371 /* 3: ReduceAction353 < ReduceAction353: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60202,37 +61721,37 @@ const classtable_elt_t VFT_ReduceAction353[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction353 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction353 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction353___action},
-  {(long int) 2 /* 42: ReduceAction353 < ReduceAction353: superclass init_table position */},
-  {(long int) parser___ReduceAction353___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction353 < 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) 1 /* 40: ReduceAction353 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction353___action},
+  {(bigint) 2 /* 42: ReduceAction353 < ReduceAction353: superclass init_table position */},
+  {(bigint) parser___ReduceAction353___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction353(void) {
@@ -60248,10 +61767,10 @@ val_t NEW_parser___ReduceAction353___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction354[44] = {
-  {(long int) 1351 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction354 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction354 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1351 /* 3: ReduceAction354 < ReduceAction354: superclass typecheck marker */},
+  {(bigint) 1367 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction354 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction354 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1367 /* 3: ReduceAction354 < ReduceAction354: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60261,37 +61780,37 @@ const classtable_elt_t VFT_ReduceAction354[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction354 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction354 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction354___action},
-  {(long int) 2 /* 42: ReduceAction354 < ReduceAction354: superclass init_table position */},
-  {(long int) parser___ReduceAction354___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction354 < 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) 1 /* 40: ReduceAction354 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction354___action},
+  {(bigint) 2 /* 42: ReduceAction354 < ReduceAction354: superclass init_table position */},
+  {(bigint) parser___ReduceAction354___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction354(void) {
@@ -60307,10 +61826,10 @@ val_t NEW_parser___ReduceAction354___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction355[44] = {
-  {(long int) 1347 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction355 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction355 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1347 /* 3: ReduceAction355 < ReduceAction355: superclass typecheck marker */},
+  {(bigint) 1363 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction355 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction355 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1363 /* 3: ReduceAction355 < ReduceAction355: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60320,37 +61839,37 @@ const classtable_elt_t VFT_ReduceAction355[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction355 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction355 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction355___action},
-  {(long int) 2 /* 42: ReduceAction355 < ReduceAction355: superclass init_table position */},
-  {(long int) parser___ReduceAction355___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction355 < 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) 1 /* 40: ReduceAction355 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction355___action},
+  {(bigint) 2 /* 42: ReduceAction355 < ReduceAction355: superclass init_table position */},
+  {(bigint) parser___ReduceAction355___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction355(void) {
@@ -60366,10 +61885,10 @@ val_t NEW_parser___ReduceAction355___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction356[44] = {
-  {(long int) 1343 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction356 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction356 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1343 /* 3: ReduceAction356 < ReduceAction356: superclass typecheck marker */},
+  {(bigint) 1359 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction356 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction356 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1359 /* 3: ReduceAction356 < ReduceAction356: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60379,37 +61898,37 @@ const classtable_elt_t VFT_ReduceAction356[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction356 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction356 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction356___action},
-  {(long int) 2 /* 42: ReduceAction356 < ReduceAction356: superclass init_table position */},
-  {(long int) parser___ReduceAction356___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction356 < 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) 1 /* 40: ReduceAction356 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction356___action},
+  {(bigint) 2 /* 42: ReduceAction356 < ReduceAction356: superclass init_table position */},
+  {(bigint) parser___ReduceAction356___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction356(void) {
@@ -60425,10 +61944,10 @@ val_t NEW_parser___ReduceAction356___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction357[44] = {
-  {(long int) 1339 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction357 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction357 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1339 /* 3: ReduceAction357 < ReduceAction357: superclass typecheck marker */},
+  {(bigint) 1355 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction357 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction357 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1355 /* 3: ReduceAction357 < ReduceAction357: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60438,37 +61957,37 @@ const classtable_elt_t VFT_ReduceAction357[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction357 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction357 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction357___action},
-  {(long int) 2 /* 42: ReduceAction357 < ReduceAction357: superclass init_table position */},
-  {(long int) parser___ReduceAction357___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction357 < 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) 1 /* 40: ReduceAction357 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction357___action},
+  {(bigint) 2 /* 42: ReduceAction357 < ReduceAction357: superclass init_table position */},
+  {(bigint) parser___ReduceAction357___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction357(void) {
@@ -60484,10 +62003,10 @@ val_t NEW_parser___ReduceAction357___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction358[44] = {
-  {(long int) 1335 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction358 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction358 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1335 /* 3: ReduceAction358 < ReduceAction358: superclass typecheck marker */},
+  {(bigint) 1351 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction358 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction358 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1351 /* 3: ReduceAction358 < ReduceAction358: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60497,37 +62016,37 @@ const classtable_elt_t VFT_ReduceAction358[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction358 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction358 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction358___action},
-  {(long int) 2 /* 42: ReduceAction358 < ReduceAction358: superclass init_table position */},
-  {(long int) parser___ReduceAction358___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction358 < 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) 1 /* 40: ReduceAction358 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction358___action},
+  {(bigint) 2 /* 42: ReduceAction358 < ReduceAction358: superclass init_table position */},
+  {(bigint) parser___ReduceAction358___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction358(void) {
@@ -60543,10 +62062,10 @@ val_t NEW_parser___ReduceAction358___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction359[44] = {
-  {(long int) 1331 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction359 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction359 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1331 /* 3: ReduceAction359 < ReduceAction359: superclass typecheck marker */},
+  {(bigint) 1347 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction359 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction359 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1347 /* 3: ReduceAction359 < ReduceAction359: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60556,37 +62075,37 @@ const classtable_elt_t VFT_ReduceAction359[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction359 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction359 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction359___action},
-  {(long int) 2 /* 42: ReduceAction359 < ReduceAction359: superclass init_table position */},
-  {(long int) parser___ReduceAction359___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction359 < 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) 1 /* 40: ReduceAction359 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction359___action},
+  {(bigint) 2 /* 42: ReduceAction359 < ReduceAction359: superclass init_table position */},
+  {(bigint) parser___ReduceAction359___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction359(void) {
@@ -60602,10 +62121,10 @@ val_t NEW_parser___ReduceAction359___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction360[44] = {
-  {(long int) 1323 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction360 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction360 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1323 /* 3: ReduceAction360 < ReduceAction360: superclass typecheck marker */},
+  {(bigint) 1339 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction360 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction360 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1339 /* 3: ReduceAction360 < ReduceAction360: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60615,37 +62134,37 @@ const classtable_elt_t VFT_ReduceAction360[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction360 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction360 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction360___action},
-  {(long int) 2 /* 42: ReduceAction360 < ReduceAction360: superclass init_table position */},
-  {(long int) parser___ReduceAction360___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction360 < 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) 1 /* 40: ReduceAction360 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction360___action},
+  {(bigint) 2 /* 42: ReduceAction360 < ReduceAction360: superclass init_table position */},
+  {(bigint) parser___ReduceAction360___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction360(void) {
@@ -60661,10 +62180,10 @@ val_t NEW_parser___ReduceAction360___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction361[44] = {
-  {(long int) 1319 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction361 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction361 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1319 /* 3: ReduceAction361 < ReduceAction361: superclass typecheck marker */},
+  {(bigint) 1335 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction361 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction361 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1335 /* 3: ReduceAction361 < ReduceAction361: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60674,37 +62193,37 @@ const classtable_elt_t VFT_ReduceAction361[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction361 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction361 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction361___action},
-  {(long int) 2 /* 42: ReduceAction361 < ReduceAction361: superclass init_table position */},
-  {(long int) parser___ReduceAction361___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction361 < 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) 1 /* 40: ReduceAction361 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction361___action},
+  {(bigint) 2 /* 42: ReduceAction361 < ReduceAction361: superclass init_table position */},
+  {(bigint) parser___ReduceAction361___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction361(void) {
@@ -60720,10 +62239,10 @@ val_t NEW_parser___ReduceAction361___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction362[44] = {
-  {(long int) 1315 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction362 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction362 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1315 /* 3: ReduceAction362 < ReduceAction362: superclass typecheck marker */},
+  {(bigint) 1331 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction362 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction362 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1331 /* 3: ReduceAction362 < ReduceAction362: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60733,37 +62252,37 @@ const classtable_elt_t VFT_ReduceAction362[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction362 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction362 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction362___action},
-  {(long int) 2 /* 42: ReduceAction362 < ReduceAction362: superclass init_table position */},
-  {(long int) parser___ReduceAction362___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction362 < 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) 1 /* 40: ReduceAction362 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction362___action},
+  {(bigint) 2 /* 42: ReduceAction362 < ReduceAction362: superclass init_table position */},
+  {(bigint) parser___ReduceAction362___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction362(void) {
@@ -60779,10 +62298,10 @@ val_t NEW_parser___ReduceAction362___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction363[44] = {
-  {(long int) 1311 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction363 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction363 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1311 /* 3: ReduceAction363 < ReduceAction363: superclass typecheck marker */},
+  {(bigint) 1327 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction363 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction363 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1327 /* 3: ReduceAction363 < ReduceAction363: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60792,37 +62311,37 @@ const classtable_elt_t VFT_ReduceAction363[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction363 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction363 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction363___action},
-  {(long int) 2 /* 42: ReduceAction363 < ReduceAction363: superclass init_table position */},
-  {(long int) parser___ReduceAction363___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction363 < 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) 1 /* 40: ReduceAction363 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction363___action},
+  {(bigint) 2 /* 42: ReduceAction363 < ReduceAction363: superclass init_table position */},
+  {(bigint) parser___ReduceAction363___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction363(void) {
@@ -60838,10 +62357,10 @@ val_t NEW_parser___ReduceAction363___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction364[44] = {
-  {(long int) 1307 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction364 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction364 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1307 /* 3: ReduceAction364 < ReduceAction364: superclass typecheck marker */},
+  {(bigint) 1323 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction364 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction364 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1323 /* 3: ReduceAction364 < ReduceAction364: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60851,37 +62370,37 @@ const classtable_elt_t VFT_ReduceAction364[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction364 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction364 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction364___action},
-  {(long int) 2 /* 42: ReduceAction364 < ReduceAction364: superclass init_table position */},
-  {(long int) parser___ReduceAction364___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction364 < 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) 1 /* 40: ReduceAction364 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction364___action},
+  {(bigint) 2 /* 42: ReduceAction364 < ReduceAction364: superclass init_table position */},
+  {(bigint) parser___ReduceAction364___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction364(void) {
@@ -60897,10 +62416,10 @@ val_t NEW_parser___ReduceAction364___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction365[44] = {
-  {(long int) 1303 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction365 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction365 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1303 /* 3: ReduceAction365 < ReduceAction365: superclass typecheck marker */},
+  {(bigint) 1319 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction365 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction365 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1319 /* 3: ReduceAction365 < ReduceAction365: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60910,37 +62429,37 @@ const classtable_elt_t VFT_ReduceAction365[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction365 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction365 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction365___action},
-  {(long int) 2 /* 42: ReduceAction365 < ReduceAction365: superclass init_table position */},
-  {(long int) parser___ReduceAction365___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction365 < 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) 1 /* 40: ReduceAction365 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction365___action},
+  {(bigint) 2 /* 42: ReduceAction365 < ReduceAction365: superclass init_table position */},
+  {(bigint) parser___ReduceAction365___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction365(void) {
@@ -60956,10 +62475,10 @@ val_t NEW_parser___ReduceAction365___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction366[44] = {
-  {(long int) 1299 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction366 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction366 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1299 /* 3: ReduceAction366 < ReduceAction366: superclass typecheck marker */},
+  {(bigint) 1315 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction366 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction366 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1315 /* 3: ReduceAction366 < ReduceAction366: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -60969,37 +62488,37 @@ const classtable_elt_t VFT_ReduceAction366[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction366 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction366 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction366___action},
-  {(long int) 2 /* 42: ReduceAction366 < ReduceAction366: superclass init_table position */},
-  {(long int) parser___ReduceAction366___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction366 < 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) 1 /* 40: ReduceAction366 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction366___action},
+  {(bigint) 2 /* 42: ReduceAction366 < ReduceAction366: superclass init_table position */},
+  {(bigint) parser___ReduceAction366___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction366(void) {
@@ -61015,10 +62534,10 @@ val_t NEW_parser___ReduceAction366___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction367[44] = {
-  {(long int) 1295 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction367 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction367 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1295 /* 3: ReduceAction367 < ReduceAction367: superclass typecheck marker */},
+  {(bigint) 1311 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction367 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction367 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1311 /* 3: ReduceAction367 < ReduceAction367: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61028,37 +62547,37 @@ const classtable_elt_t VFT_ReduceAction367[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction367 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction367 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction367___action},
-  {(long int) 2 /* 42: ReduceAction367 < ReduceAction367: superclass init_table position */},
-  {(long int) parser___ReduceAction367___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction367 < 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) 1 /* 40: ReduceAction367 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction367___action},
+  {(bigint) 2 /* 42: ReduceAction367 < ReduceAction367: superclass init_table position */},
+  {(bigint) parser___ReduceAction367___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction367(void) {
@@ -61074,10 +62593,10 @@ val_t NEW_parser___ReduceAction367___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction368[44] = {
-  {(long int) 1291 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction368 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction368 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1291 /* 3: ReduceAction368 < ReduceAction368: superclass typecheck marker */},
+  {(bigint) 1307 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction368 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction368 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1307 /* 3: ReduceAction368 < ReduceAction368: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61087,37 +62606,37 @@ const classtable_elt_t VFT_ReduceAction368[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction368 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction368 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction368___action},
-  {(long int) 2 /* 42: ReduceAction368 < ReduceAction368: superclass init_table position */},
-  {(long int) parser___ReduceAction368___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction368 < 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) 1 /* 40: ReduceAction368 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction368___action},
+  {(bigint) 2 /* 42: ReduceAction368 < ReduceAction368: superclass init_table position */},
+  {(bigint) parser___ReduceAction368___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction368(void) {
@@ -61133,10 +62652,10 @@ val_t NEW_parser___ReduceAction368___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction369[44] = {
-  {(long int) 1287 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction369 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction369 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1287 /* 3: ReduceAction369 < ReduceAction369: superclass typecheck marker */},
+  {(bigint) 1303 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction369 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction369 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1303 /* 3: ReduceAction369 < ReduceAction369: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61146,37 +62665,37 @@ const classtable_elt_t VFT_ReduceAction369[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction369 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction369 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction369___action},
-  {(long int) 2 /* 42: ReduceAction369 < ReduceAction369: superclass init_table position */},
-  {(long int) parser___ReduceAction369___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction369 < 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) 1 /* 40: ReduceAction369 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction369___action},
+  {(bigint) 2 /* 42: ReduceAction369 < ReduceAction369: superclass init_table position */},
+  {(bigint) parser___ReduceAction369___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction369(void) {
@@ -61192,10 +62711,10 @@ val_t NEW_parser___ReduceAction369___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction370[44] = {
-  {(long int) 1279 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction370 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction370 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1279 /* 3: ReduceAction370 < ReduceAction370: superclass typecheck marker */},
+  {(bigint) 1295 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction370 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction370 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1295 /* 3: ReduceAction370 < ReduceAction370: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61205,37 +62724,37 @@ const classtable_elt_t VFT_ReduceAction370[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction370 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction370 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction370___action},
-  {(long int) 2 /* 42: ReduceAction370 < ReduceAction370: superclass init_table position */},
-  {(long int) parser___ReduceAction370___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction370 < 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) 1 /* 40: ReduceAction370 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction370___action},
+  {(bigint) 2 /* 42: ReduceAction370 < ReduceAction370: superclass init_table position */},
+  {(bigint) parser___ReduceAction370___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction370(void) {
@@ -61251,10 +62770,10 @@ val_t NEW_parser___ReduceAction370___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction371[44] = {
-  {(long int) 1275 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction371 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction371 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1275 /* 3: ReduceAction371 < ReduceAction371: superclass typecheck marker */},
+  {(bigint) 1291 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction371 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction371 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1291 /* 3: ReduceAction371 < ReduceAction371: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61264,37 +62783,37 @@ const classtable_elt_t VFT_ReduceAction371[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction371 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction371 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction371___action},
-  {(long int) 2 /* 42: ReduceAction371 < ReduceAction371: superclass init_table position */},
-  {(long int) parser___ReduceAction371___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction371 < 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) 1 /* 40: ReduceAction371 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction371___action},
+  {(bigint) 2 /* 42: ReduceAction371 < ReduceAction371: superclass init_table position */},
+  {(bigint) parser___ReduceAction371___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction371(void) {
@@ -61310,10 +62829,10 @@ val_t NEW_parser___ReduceAction371___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction372[44] = {
-  {(long int) 1271 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction372 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction372 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1271 /* 3: ReduceAction372 < ReduceAction372: superclass typecheck marker */},
+  {(bigint) 1287 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction372 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction372 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1287 /* 3: ReduceAction372 < ReduceAction372: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61323,37 +62842,37 @@ const classtable_elt_t VFT_ReduceAction372[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction372 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction372 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction372___action},
-  {(long int) 2 /* 42: ReduceAction372 < ReduceAction372: superclass init_table position */},
-  {(long int) parser___ReduceAction372___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction372 < 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) 1 /* 40: ReduceAction372 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction372___action},
+  {(bigint) 2 /* 42: ReduceAction372 < ReduceAction372: superclass init_table position */},
+  {(bigint) parser___ReduceAction372___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction372(void) {
@@ -61369,10 +62888,10 @@ val_t NEW_parser___ReduceAction372___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction373[44] = {
-  {(long int) 1267 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction373 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction373 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1267 /* 3: ReduceAction373 < ReduceAction373: superclass typecheck marker */},
+  {(bigint) 1283 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction373 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction373 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1283 /* 3: ReduceAction373 < ReduceAction373: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61382,37 +62901,37 @@ const classtable_elt_t VFT_ReduceAction373[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction373 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction373 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction373___action},
-  {(long int) 2 /* 42: ReduceAction373 < ReduceAction373: superclass init_table position */},
-  {(long int) parser___ReduceAction373___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction373 < 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) 1 /* 40: ReduceAction373 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction373___action},
+  {(bigint) 2 /* 42: ReduceAction373 < ReduceAction373: superclass init_table position */},
+  {(bigint) parser___ReduceAction373___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction373(void) {
@@ -61428,10 +62947,10 @@ val_t NEW_parser___ReduceAction373___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction374[44] = {
-  {(long int) 1263 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction374 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction374 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1263 /* 3: ReduceAction374 < ReduceAction374: superclass typecheck marker */},
+  {(bigint) 1279 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction374 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction374 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1279 /* 3: ReduceAction374 < ReduceAction374: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61441,37 +62960,37 @@ const classtable_elt_t VFT_ReduceAction374[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction374 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction374 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction374___action},
-  {(long int) 2 /* 42: ReduceAction374 < ReduceAction374: superclass init_table position */},
-  {(long int) parser___ReduceAction374___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction374 < 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) 1 /* 40: ReduceAction374 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction374___action},
+  {(bigint) 2 /* 42: ReduceAction374 < ReduceAction374: superclass init_table position */},
+  {(bigint) parser___ReduceAction374___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction374(void) {
@@ -61487,10 +63006,10 @@ val_t NEW_parser___ReduceAction374___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction375[44] = {
-  {(long int) 1259 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction375 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction375 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1259 /* 3: ReduceAction375 < ReduceAction375: superclass typecheck marker */},
+  {(bigint) 1275 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction375 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction375 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1275 /* 3: ReduceAction375 < ReduceAction375: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61500,37 +63019,37 @@ const classtable_elt_t VFT_ReduceAction375[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction375 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction375 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction375___action},
-  {(long int) 2 /* 42: ReduceAction375 < ReduceAction375: superclass init_table position */},
-  {(long int) parser___ReduceAction375___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction375 < 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) 1 /* 40: ReduceAction375 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction375___action},
+  {(bigint) 2 /* 42: ReduceAction375 < ReduceAction375: superclass init_table position */},
+  {(bigint) parser___ReduceAction375___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction375(void) {
@@ -61546,10 +63065,10 @@ val_t NEW_parser___ReduceAction375___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction376[44] = {
-  {(long int) 1255 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction376 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction376 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1255 /* 3: ReduceAction376 < ReduceAction376: superclass typecheck marker */},
+  {(bigint) 1271 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction376 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction376 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1271 /* 3: ReduceAction376 < ReduceAction376: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61559,37 +63078,37 @@ const classtable_elt_t VFT_ReduceAction376[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction376 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction376 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction376___action},
-  {(long int) 2 /* 42: ReduceAction376 < ReduceAction376: superclass init_table position */},
-  {(long int) parser___ReduceAction376___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction376 < 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) 1 /* 40: ReduceAction376 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction376___action},
+  {(bigint) 2 /* 42: ReduceAction376 < ReduceAction376: superclass init_table position */},
+  {(bigint) parser___ReduceAction376___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction376(void) {
@@ -61605,10 +63124,10 @@ val_t NEW_parser___ReduceAction376___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction377[44] = {
-  {(long int) 1251 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction377 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction377 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1251 /* 3: ReduceAction377 < ReduceAction377: superclass typecheck marker */},
+  {(bigint) 1267 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction377 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction377 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1267 /* 3: ReduceAction377 < ReduceAction377: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61618,37 +63137,37 @@ const classtable_elt_t VFT_ReduceAction377[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction377 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction377 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction377___action},
-  {(long int) 2 /* 42: ReduceAction377 < ReduceAction377: superclass init_table position */},
-  {(long int) parser___ReduceAction377___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction377 < 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) 1 /* 40: ReduceAction377 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction377___action},
+  {(bigint) 2 /* 42: ReduceAction377 < ReduceAction377: superclass init_table position */},
+  {(bigint) parser___ReduceAction377___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction377(void) {
@@ -61664,10 +63183,10 @@ val_t NEW_parser___ReduceAction377___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction378[44] = {
-  {(long int) 1247 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction378 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction378 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1247 /* 3: ReduceAction378 < ReduceAction378: superclass typecheck marker */},
+  {(bigint) 1263 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction378 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction378 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1263 /* 3: ReduceAction378 < ReduceAction378: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61677,37 +63196,37 @@ const classtable_elt_t VFT_ReduceAction378[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction378 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction378 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction378___action},
-  {(long int) 2 /* 42: ReduceAction378 < ReduceAction378: superclass init_table position */},
-  {(long int) parser___ReduceAction378___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction378 < 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) 1 /* 40: ReduceAction378 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction378___action},
+  {(bigint) 2 /* 42: ReduceAction378 < ReduceAction378: superclass init_table position */},
+  {(bigint) parser___ReduceAction378___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction378(void) {
@@ -61723,10 +63242,10 @@ val_t NEW_parser___ReduceAction378___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction379[44] = {
-  {(long int) 1243 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction379 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction379 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1243 /* 3: ReduceAction379 < ReduceAction379: superclass typecheck marker */},
+  {(bigint) 1259 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction379 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction379 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1259 /* 3: ReduceAction379 < ReduceAction379: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61736,37 +63255,37 @@ const classtable_elt_t VFT_ReduceAction379[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction379 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction379 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction379___action},
-  {(long int) 2 /* 42: ReduceAction379 < ReduceAction379: superclass init_table position */},
-  {(long int) parser___ReduceAction379___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction379 < 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) 1 /* 40: ReduceAction379 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction379___action},
+  {(bigint) 2 /* 42: ReduceAction379 < ReduceAction379: superclass init_table position */},
+  {(bigint) parser___ReduceAction379___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction379(void) {
@@ -61782,10 +63301,10 @@ val_t NEW_parser___ReduceAction379___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction380[44] = {
-  {(long int) 1235 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction380 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction380 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1235 /* 3: ReduceAction380 < ReduceAction380: superclass typecheck marker */},
+  {(bigint) 1251 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction380 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction380 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1251 /* 3: ReduceAction380 < ReduceAction380: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61795,37 +63314,37 @@ const classtable_elt_t VFT_ReduceAction380[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction380 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction380 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction380___action},
-  {(long int) 2 /* 42: ReduceAction380 < ReduceAction380: superclass init_table position */},
-  {(long int) parser___ReduceAction380___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction380 < 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) 1 /* 40: ReduceAction380 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction380___action},
+  {(bigint) 2 /* 42: ReduceAction380 < ReduceAction380: superclass init_table position */},
+  {(bigint) parser___ReduceAction380___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction380(void) {
@@ -61841,10 +63360,10 @@ val_t NEW_parser___ReduceAction380___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction381[44] = {
-  {(long int) 1231 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction381 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction381 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1231 /* 3: ReduceAction381 < ReduceAction381: superclass typecheck marker */},
+  {(bigint) 1247 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction381 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction381 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1247 /* 3: ReduceAction381 < ReduceAction381: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61854,37 +63373,37 @@ const classtable_elt_t VFT_ReduceAction381[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction381 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction381 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction381___action},
-  {(long int) 2 /* 42: ReduceAction381 < ReduceAction381: superclass init_table position */},
-  {(long int) parser___ReduceAction381___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction381 < 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) 1 /* 40: ReduceAction381 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction381___action},
+  {(bigint) 2 /* 42: ReduceAction381 < ReduceAction381: superclass init_table position */},
+  {(bigint) parser___ReduceAction381___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction381(void) {
@@ -61900,10 +63419,10 @@ val_t NEW_parser___ReduceAction381___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction382[44] = {
-  {(long int) 1227 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction382 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction382 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1227 /* 3: ReduceAction382 < ReduceAction382: superclass typecheck marker */},
+  {(bigint) 1243 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction382 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction382 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1243 /* 3: ReduceAction382 < ReduceAction382: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61913,37 +63432,37 @@ const classtable_elt_t VFT_ReduceAction382[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction382 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction382 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction382___action},
-  {(long int) 2 /* 42: ReduceAction382 < ReduceAction382: superclass init_table position */},
-  {(long int) parser___ReduceAction382___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction382 < 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) 1 /* 40: ReduceAction382 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction382___action},
+  {(bigint) 2 /* 42: ReduceAction382 < ReduceAction382: superclass init_table position */},
+  {(bigint) parser___ReduceAction382___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction382(void) {
@@ -61959,10 +63478,10 @@ val_t NEW_parser___ReduceAction382___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction383[44] = {
-  {(long int) 1223 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction383 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction383 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1223 /* 3: ReduceAction383 < ReduceAction383: superclass typecheck marker */},
+  {(bigint) 1239 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction383 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction383 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1239 /* 3: ReduceAction383 < ReduceAction383: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -61972,37 +63491,37 @@ const classtable_elt_t VFT_ReduceAction383[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction383 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction383 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction383___action},
-  {(long int) 2 /* 42: ReduceAction383 < ReduceAction383: superclass init_table position */},
-  {(long int) parser___ReduceAction383___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction383 < 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) 1 /* 40: ReduceAction383 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction383___action},
+  {(bigint) 2 /* 42: ReduceAction383 < ReduceAction383: superclass init_table position */},
+  {(bigint) parser___ReduceAction383___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction383(void) {
@@ -62018,10 +63537,10 @@ val_t NEW_parser___ReduceAction383___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction384[44] = {
-  {(long int) 1219 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction384 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction384 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1219 /* 3: ReduceAction384 < ReduceAction384: superclass typecheck marker */},
+  {(bigint) 1235 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction384 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction384 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1235 /* 3: ReduceAction384 < ReduceAction384: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62031,37 +63550,37 @@ const classtable_elt_t VFT_ReduceAction384[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction384 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction384 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction384___action},
-  {(long int) 2 /* 42: ReduceAction384 < ReduceAction384: superclass init_table position */},
-  {(long int) parser___ReduceAction384___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction384 < 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) 1 /* 40: ReduceAction384 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction384___action},
+  {(bigint) 2 /* 42: ReduceAction384 < ReduceAction384: superclass init_table position */},
+  {(bigint) parser___ReduceAction384___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction384(void) {
@@ -62077,10 +63596,10 @@ val_t NEW_parser___ReduceAction384___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction385[44] = {
-  {(long int) 1215 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction385 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction385 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1215 /* 3: ReduceAction385 < ReduceAction385: superclass typecheck marker */},
+  {(bigint) 1231 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction385 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction385 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1231 /* 3: ReduceAction385 < ReduceAction385: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62090,37 +63609,37 @@ const classtable_elt_t VFT_ReduceAction385[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction385 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction385 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction385___action},
-  {(long int) 2 /* 42: ReduceAction385 < ReduceAction385: superclass init_table position */},
-  {(long int) parser___ReduceAction385___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction385 < 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) 1 /* 40: ReduceAction385 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction385___action},
+  {(bigint) 2 /* 42: ReduceAction385 < ReduceAction385: superclass init_table position */},
+  {(bigint) parser___ReduceAction385___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction385(void) {
@@ -62136,10 +63655,10 @@ val_t NEW_parser___ReduceAction385___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction386[44] = {
-  {(long int) 1211 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction386 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction386 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1211 /* 3: ReduceAction386 < ReduceAction386: superclass typecheck marker */},
+  {(bigint) 1227 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction386 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction386 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1227 /* 3: ReduceAction386 < ReduceAction386: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62149,37 +63668,37 @@ const classtable_elt_t VFT_ReduceAction386[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction386 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction386 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction386___action},
-  {(long int) 2 /* 42: ReduceAction386 < ReduceAction386: superclass init_table position */},
-  {(long int) parser___ReduceAction386___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction386 < 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) 1 /* 40: ReduceAction386 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction386___action},
+  {(bigint) 2 /* 42: ReduceAction386 < ReduceAction386: superclass init_table position */},
+  {(bigint) parser___ReduceAction386___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction386(void) {
@@ -62195,10 +63714,10 @@ val_t NEW_parser___ReduceAction386___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction387[44] = {
-  {(long int) 1207 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction387 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction387 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1207 /* 3: ReduceAction387 < ReduceAction387: superclass typecheck marker */},
+  {(bigint) 1223 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction387 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction387 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1223 /* 3: ReduceAction387 < ReduceAction387: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62208,37 +63727,37 @@ const classtable_elt_t VFT_ReduceAction387[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction387 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction387 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction387___action},
-  {(long int) 2 /* 42: ReduceAction387 < ReduceAction387: superclass init_table position */},
-  {(long int) parser___ReduceAction387___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction387 < 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) 1 /* 40: ReduceAction387 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction387___action},
+  {(bigint) 2 /* 42: ReduceAction387 < ReduceAction387: superclass init_table position */},
+  {(bigint) parser___ReduceAction387___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction387(void) {
@@ -62254,10 +63773,10 @@ val_t NEW_parser___ReduceAction387___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction388[44] = {
-  {(long int) 1203 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction388 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction388 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1203 /* 3: ReduceAction388 < ReduceAction388: superclass typecheck marker */},
+  {(bigint) 1219 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction388 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction388 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1219 /* 3: ReduceAction388 < ReduceAction388: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62267,37 +63786,37 @@ const classtable_elt_t VFT_ReduceAction388[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction388 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction388 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction388___action},
-  {(long int) 2 /* 42: ReduceAction388 < ReduceAction388: superclass init_table position */},
-  {(long int) parser___ReduceAction388___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction388 < 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) 1 /* 40: ReduceAction388 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction388___action},
+  {(bigint) 2 /* 42: ReduceAction388 < ReduceAction388: superclass init_table position */},
+  {(bigint) parser___ReduceAction388___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction388(void) {
@@ -62313,10 +63832,10 @@ val_t NEW_parser___ReduceAction388___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction389[44] = {
-  {(long int) 1199 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction389 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction389 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1199 /* 3: ReduceAction389 < ReduceAction389: superclass typecheck marker */},
+  {(bigint) 1215 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction389 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction389 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1215 /* 3: ReduceAction389 < ReduceAction389: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62326,37 +63845,37 @@ const classtable_elt_t VFT_ReduceAction389[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction389 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction389 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction389___action},
-  {(long int) 2 /* 42: ReduceAction389 < ReduceAction389: superclass init_table position */},
-  {(long int) parser___ReduceAction389___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction389 < 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) 1 /* 40: ReduceAction389 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction389___action},
+  {(bigint) 2 /* 42: ReduceAction389 < ReduceAction389: superclass init_table position */},
+  {(bigint) parser___ReduceAction389___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction389(void) {
@@ -62372,10 +63891,10 @@ val_t NEW_parser___ReduceAction389___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction390[44] = {
-  {(long int) 1191 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction390 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction390 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1191 /* 3: ReduceAction390 < ReduceAction390: superclass typecheck marker */},
+  {(bigint) 1207 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction390 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction390 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1207 /* 3: ReduceAction390 < ReduceAction390: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62385,37 +63904,37 @@ const classtable_elt_t VFT_ReduceAction390[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction390 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction390 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction390___action},
-  {(long int) 2 /* 42: ReduceAction390 < ReduceAction390: superclass init_table position */},
-  {(long int) parser___ReduceAction390___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction390 < 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) 1 /* 40: ReduceAction390 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction390___action},
+  {(bigint) 2 /* 42: ReduceAction390 < ReduceAction390: superclass init_table position */},
+  {(bigint) parser___ReduceAction390___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction390(void) {
@@ -62431,10 +63950,10 @@ val_t NEW_parser___ReduceAction390___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction391[44] = {
-  {(long int) 1187 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction391 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction391 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1187 /* 3: ReduceAction391 < ReduceAction391: superclass typecheck marker */},
+  {(bigint) 1203 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction391 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction391 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1203 /* 3: ReduceAction391 < ReduceAction391: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62444,37 +63963,37 @@ const classtable_elt_t VFT_ReduceAction391[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction391 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction391 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction391___action},
-  {(long int) 2 /* 42: ReduceAction391 < ReduceAction391: superclass init_table position */},
-  {(long int) parser___ReduceAction391___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction391 < 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) 1 /* 40: ReduceAction391 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction391___action},
+  {(bigint) 2 /* 42: ReduceAction391 < ReduceAction391: superclass init_table position */},
+  {(bigint) parser___ReduceAction391___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction391(void) {
@@ -62490,10 +64009,10 @@ val_t NEW_parser___ReduceAction391___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction392[44] = {
-  {(long int) 1183 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction392 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction392 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1183 /* 3: ReduceAction392 < ReduceAction392: superclass typecheck marker */},
+  {(bigint) 1199 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction392 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction392 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1199 /* 3: ReduceAction392 < ReduceAction392: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62503,37 +64022,37 @@ const classtable_elt_t VFT_ReduceAction392[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction392 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction392 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction392___action},
-  {(long int) 2 /* 42: ReduceAction392 < ReduceAction392: superclass init_table position */},
-  {(long int) parser___ReduceAction392___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction392 < 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) 1 /* 40: ReduceAction392 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction392___action},
+  {(bigint) 2 /* 42: ReduceAction392 < ReduceAction392: superclass init_table position */},
+  {(bigint) parser___ReduceAction392___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction392(void) {
@@ -62549,10 +64068,10 @@ val_t NEW_parser___ReduceAction392___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction393[44] = {
-  {(long int) 1179 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction393 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction393 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1179 /* 3: ReduceAction393 < ReduceAction393: superclass typecheck marker */},
+  {(bigint) 1195 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction393 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction393 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1195 /* 3: ReduceAction393 < ReduceAction393: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62562,37 +64081,37 @@ const classtable_elt_t VFT_ReduceAction393[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction393 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction393 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction393___action},
-  {(long int) 2 /* 42: ReduceAction393 < ReduceAction393: superclass init_table position */},
-  {(long int) parser___ReduceAction393___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction393 < 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) 1 /* 40: ReduceAction393 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction393___action},
+  {(bigint) 2 /* 42: ReduceAction393 < ReduceAction393: superclass init_table position */},
+  {(bigint) parser___ReduceAction393___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction393(void) {
@@ -62608,10 +64127,10 @@ val_t NEW_parser___ReduceAction393___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction394[44] = {
-  {(long int) 1175 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction394 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction394 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1175 /* 3: ReduceAction394 < ReduceAction394: superclass typecheck marker */},
+  {(bigint) 1191 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction394 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction394 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1191 /* 3: ReduceAction394 < ReduceAction394: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62621,37 +64140,37 @@ const classtable_elt_t VFT_ReduceAction394[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction394 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction394 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction394___action},
-  {(long int) 2 /* 42: ReduceAction394 < ReduceAction394: superclass init_table position */},
-  {(long int) parser___ReduceAction394___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction394 < 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) 1 /* 40: ReduceAction394 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction394___action},
+  {(bigint) 2 /* 42: ReduceAction394 < ReduceAction394: superclass init_table position */},
+  {(bigint) parser___ReduceAction394___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction394(void) {
@@ -62667,10 +64186,10 @@ val_t NEW_parser___ReduceAction394___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction395[44] = {
-  {(long int) 1171 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction395 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction395 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1171 /* 3: ReduceAction395 < ReduceAction395: superclass typecheck marker */},
+  {(bigint) 1187 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction395 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction395 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1187 /* 3: ReduceAction395 < ReduceAction395: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62680,37 +64199,37 @@ const classtable_elt_t VFT_ReduceAction395[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction395 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction395 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction395___action},
-  {(long int) 2 /* 42: ReduceAction395 < ReduceAction395: superclass init_table position */},
-  {(long int) parser___ReduceAction395___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction395 < 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) 1 /* 40: ReduceAction395 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction395___action},
+  {(bigint) 2 /* 42: ReduceAction395 < ReduceAction395: superclass init_table position */},
+  {(bigint) parser___ReduceAction395___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction395(void) {
@@ -62726,10 +64245,10 @@ val_t NEW_parser___ReduceAction395___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction396[44] = {
-  {(long int) 1167 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction396 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction396 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1167 /* 3: ReduceAction396 < ReduceAction396: superclass typecheck marker */},
+  {(bigint) 1183 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction396 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction396 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1183 /* 3: ReduceAction396 < ReduceAction396: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62739,37 +64258,37 @@ const classtable_elt_t VFT_ReduceAction396[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction396 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction396 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction396___action},
-  {(long int) 2 /* 42: ReduceAction396 < ReduceAction396: superclass init_table position */},
-  {(long int) parser___ReduceAction396___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction396 < 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) 1 /* 40: ReduceAction396 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction396___action},
+  {(bigint) 2 /* 42: ReduceAction396 < ReduceAction396: superclass init_table position */},
+  {(bigint) parser___ReduceAction396___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction396(void) {
@@ -62785,10 +64304,10 @@ val_t NEW_parser___ReduceAction396___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction397[44] = {
-  {(long int) 1163 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction397 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction397 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1163 /* 3: ReduceAction397 < ReduceAction397: superclass typecheck marker */},
+  {(bigint) 1179 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction397 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction397 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1179 /* 3: ReduceAction397 < ReduceAction397: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62798,37 +64317,37 @@ const classtable_elt_t VFT_ReduceAction397[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction397 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction397 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction397___action},
-  {(long int) 2 /* 42: ReduceAction397 < ReduceAction397: superclass init_table position */},
-  {(long int) parser___ReduceAction397___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction397 < 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) 1 /* 40: ReduceAction397 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction397___action},
+  {(bigint) 2 /* 42: ReduceAction397 < ReduceAction397: superclass init_table position */},
+  {(bigint) parser___ReduceAction397___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction397(void) {
@@ -62844,10 +64363,10 @@ val_t NEW_parser___ReduceAction397___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction398[44] = {
-  {(long int) 1159 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction398 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction398 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1159 /* 3: ReduceAction398 < ReduceAction398: superclass typecheck marker */},
+  {(bigint) 1175 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction398 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction398 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1175 /* 3: ReduceAction398 < ReduceAction398: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62857,37 +64376,37 @@ const classtable_elt_t VFT_ReduceAction398[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction398 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction398 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction398___action},
-  {(long int) 2 /* 42: ReduceAction398 < ReduceAction398: superclass init_table position */},
-  {(long int) parser___ReduceAction398___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction398 < 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) 1 /* 40: ReduceAction398 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction398___action},
+  {(bigint) 2 /* 42: ReduceAction398 < ReduceAction398: superclass init_table position */},
+  {(bigint) parser___ReduceAction398___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction398(void) {
@@ -62903,10 +64422,10 @@ val_t NEW_parser___ReduceAction398___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction399[44] = {
-  {(long int) 1155 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction399 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction399 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1155 /* 3: ReduceAction399 < ReduceAction399: superclass typecheck marker */},
+  {(bigint) 1171 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction399 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction399 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1171 /* 3: ReduceAction399 < ReduceAction399: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62916,37 +64435,37 @@ const classtable_elt_t VFT_ReduceAction399[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction399 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction399 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction399___action},
-  {(long int) 2 /* 42: ReduceAction399 < ReduceAction399: superclass init_table position */},
-  {(long int) parser___ReduceAction399___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction399 < 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) 1 /* 40: ReduceAction399 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction399___action},
+  {(bigint) 2 /* 42: ReduceAction399 < ReduceAction399: superclass init_table position */},
+  {(bigint) parser___ReduceAction399___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction399(void) {
@@ -62962,10 +64481,10 @@ val_t NEW_parser___ReduceAction399___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction400[44] = {
-  {(long int) 1143 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction400 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction400 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1143 /* 3: ReduceAction400 < ReduceAction400: superclass typecheck marker */},
+  {(bigint) 1159 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction400 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction400 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1159 /* 3: ReduceAction400 < ReduceAction400: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -62975,37 +64494,37 @@ const classtable_elt_t VFT_ReduceAction400[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction400 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction400 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction400___action},
-  {(long int) 2 /* 42: ReduceAction400 < ReduceAction400: superclass init_table position */},
-  {(long int) parser___ReduceAction400___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction400 < 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) 1 /* 40: ReduceAction400 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction400___action},
+  {(bigint) 2 /* 42: ReduceAction400 < ReduceAction400: superclass init_table position */},
+  {(bigint) parser___ReduceAction400___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction400(void) {
@@ -63021,10 +64540,10 @@ val_t NEW_parser___ReduceAction400___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction401[44] = {
-  {(long int) 1139 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction401 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction401 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1139 /* 3: ReduceAction401 < ReduceAction401: superclass typecheck marker */},
+  {(bigint) 1155 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction401 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction401 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1155 /* 3: ReduceAction401 < ReduceAction401: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63034,37 +64553,37 @@ const classtable_elt_t VFT_ReduceAction401[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction401 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction401 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction401___action},
-  {(long int) 2 /* 42: ReduceAction401 < ReduceAction401: superclass init_table position */},
-  {(long int) parser___ReduceAction401___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction401 < 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) 1 /* 40: ReduceAction401 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction401___action},
+  {(bigint) 2 /* 42: ReduceAction401 < ReduceAction401: superclass init_table position */},
+  {(bigint) parser___ReduceAction401___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction401(void) {
@@ -63080,10 +64599,10 @@ val_t NEW_parser___ReduceAction401___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction402[44] = {
-  {(long int) 1135 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction402 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction402 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1135 /* 3: ReduceAction402 < ReduceAction402: superclass typecheck marker */},
+  {(bigint) 1151 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction402 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction402 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1151 /* 3: ReduceAction402 < ReduceAction402: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63093,37 +64612,37 @@ const classtable_elt_t VFT_ReduceAction402[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction402 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction402 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction402___action},
-  {(long int) 2 /* 42: ReduceAction402 < ReduceAction402: superclass init_table position */},
-  {(long int) parser___ReduceAction402___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction402 < 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) 1 /* 40: ReduceAction402 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction402___action},
+  {(bigint) 2 /* 42: ReduceAction402 < ReduceAction402: superclass init_table position */},
+  {(bigint) parser___ReduceAction402___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction402(void) {
@@ -63139,10 +64658,10 @@ val_t NEW_parser___ReduceAction402___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction403[44] = {
-  {(long int) 1131 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction403 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction403 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1131 /* 3: ReduceAction403 < ReduceAction403: superclass typecheck marker */},
+  {(bigint) 1147 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction403 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction403 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1147 /* 3: ReduceAction403 < ReduceAction403: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63152,37 +64671,37 @@ const classtable_elt_t VFT_ReduceAction403[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction403 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction403 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction403___action},
-  {(long int) 2 /* 42: ReduceAction403 < ReduceAction403: superclass init_table position */},
-  {(long int) parser___ReduceAction403___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction403 < 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) 1 /* 40: ReduceAction403 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction403___action},
+  {(bigint) 2 /* 42: ReduceAction403 < ReduceAction403: superclass init_table position */},
+  {(bigint) parser___ReduceAction403___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction403(void) {
@@ -63198,10 +64717,10 @@ val_t NEW_parser___ReduceAction403___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction404[44] = {
-  {(long int) 1127 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction404 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction404 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1127 /* 3: ReduceAction404 < ReduceAction404: superclass typecheck marker */},
+  {(bigint) 1143 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction404 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction404 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1143 /* 3: ReduceAction404 < ReduceAction404: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63211,37 +64730,37 @@ const classtable_elt_t VFT_ReduceAction404[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction404 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction404 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction404___action},
-  {(long int) 2 /* 42: ReduceAction404 < ReduceAction404: superclass init_table position */},
-  {(long int) parser___ReduceAction404___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction404 < 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) 1 /* 40: ReduceAction404 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction404___action},
+  {(bigint) 2 /* 42: ReduceAction404 < ReduceAction404: superclass init_table position */},
+  {(bigint) parser___ReduceAction404___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction404(void) {
@@ -63257,10 +64776,10 @@ val_t NEW_parser___ReduceAction404___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction405[44] = {
-  {(long int) 1123 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction405 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction405 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1123 /* 3: ReduceAction405 < ReduceAction405: superclass typecheck marker */},
+  {(bigint) 1139 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction405 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction405 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1139 /* 3: ReduceAction405 < ReduceAction405: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63270,37 +64789,37 @@ const classtable_elt_t VFT_ReduceAction405[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction405 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction405 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction405___action},
-  {(long int) 2 /* 42: ReduceAction405 < ReduceAction405: superclass init_table position */},
-  {(long int) parser___ReduceAction405___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction405 < 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) 1 /* 40: ReduceAction405 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction405___action},
+  {(bigint) 2 /* 42: ReduceAction405 < ReduceAction405: superclass init_table position */},
+  {(bigint) parser___ReduceAction405___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction405(void) {
@@ -63316,10 +64835,10 @@ val_t NEW_parser___ReduceAction405___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction406[44] = {
-  {(long int) 1119 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction406 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction406 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1119 /* 3: ReduceAction406 < ReduceAction406: superclass typecheck marker */},
+  {(bigint) 1135 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction406 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction406 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1135 /* 3: ReduceAction406 < ReduceAction406: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63329,37 +64848,37 @@ const classtable_elt_t VFT_ReduceAction406[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction406 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction406 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction406___action},
-  {(long int) 2 /* 42: ReduceAction406 < ReduceAction406: superclass init_table position */},
-  {(long int) parser___ReduceAction406___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction406 < 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) 1 /* 40: ReduceAction406 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction406___action},
+  {(bigint) 2 /* 42: ReduceAction406 < ReduceAction406: superclass init_table position */},
+  {(bigint) parser___ReduceAction406___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction406(void) {
@@ -63375,10 +64894,10 @@ val_t NEW_parser___ReduceAction406___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction407[44] = {
-  {(long int) 1115 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction407 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction407 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1115 /* 3: ReduceAction407 < ReduceAction407: superclass typecheck marker */},
+  {(bigint) 1131 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction407 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction407 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1131 /* 3: ReduceAction407 < ReduceAction407: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63388,37 +64907,37 @@ const classtable_elt_t VFT_ReduceAction407[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction407 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction407 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction407___action},
-  {(long int) 2 /* 42: ReduceAction407 < ReduceAction407: superclass init_table position */},
-  {(long int) parser___ReduceAction407___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction407 < 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) 1 /* 40: ReduceAction407 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction407___action},
+  {(bigint) 2 /* 42: ReduceAction407 < ReduceAction407: superclass init_table position */},
+  {(bigint) parser___ReduceAction407___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction407(void) {
@@ -63434,10 +64953,10 @@ val_t NEW_parser___ReduceAction407___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction408[44] = {
-  {(long int) 1111 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction408 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction408 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1111 /* 3: ReduceAction408 < ReduceAction408: superclass typecheck marker */},
+  {(bigint) 1127 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction408 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction408 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1127 /* 3: ReduceAction408 < ReduceAction408: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63447,37 +64966,37 @@ const classtable_elt_t VFT_ReduceAction408[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction408 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction408 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction408___action},
-  {(long int) 2 /* 42: ReduceAction408 < ReduceAction408: superclass init_table position */},
-  {(long int) parser___ReduceAction408___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction408 < 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) 1 /* 40: ReduceAction408 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction408___action},
+  {(bigint) 2 /* 42: ReduceAction408 < ReduceAction408: superclass init_table position */},
+  {(bigint) parser___ReduceAction408___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction408(void) {
@@ -63493,10 +65012,10 @@ val_t NEW_parser___ReduceAction408___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction409[44] = {
-  {(long int) 1107 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction409 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction409 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1107 /* 3: ReduceAction409 < ReduceAction409: superclass typecheck marker */},
+  {(bigint) 1123 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction409 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction409 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1123 /* 3: ReduceAction409 < ReduceAction409: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63506,37 +65025,37 @@ const classtable_elt_t VFT_ReduceAction409[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction409 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction409 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction409___action},
-  {(long int) 2 /* 42: ReduceAction409 < ReduceAction409: superclass init_table position */},
-  {(long int) parser___ReduceAction409___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction409 < 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) 1 /* 40: ReduceAction409 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction409___action},
+  {(bigint) 2 /* 42: ReduceAction409 < ReduceAction409: superclass init_table position */},
+  {(bigint) parser___ReduceAction409___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction409(void) {
@@ -63552,10 +65071,10 @@ val_t NEW_parser___ReduceAction409___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction410[44] = {
-  {(long int) 1099 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction410 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction410 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1099 /* 3: ReduceAction410 < ReduceAction410: superclass typecheck marker */},
+  {(bigint) 1115 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction410 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction410 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1115 /* 3: ReduceAction410 < ReduceAction410: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63565,37 +65084,37 @@ const classtable_elt_t VFT_ReduceAction410[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction410 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction410 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction410___action},
-  {(long int) 2 /* 42: ReduceAction410 < ReduceAction410: superclass init_table position */},
-  {(long int) parser___ReduceAction410___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction410 < 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) 1 /* 40: ReduceAction410 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction410___action},
+  {(bigint) 2 /* 42: ReduceAction410 < ReduceAction410: superclass init_table position */},
+  {(bigint) parser___ReduceAction410___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction410(void) {
@@ -63611,10 +65130,10 @@ val_t NEW_parser___ReduceAction410___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction411[44] = {
-  {(long int) 1095 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction411 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction411 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1095 /* 3: ReduceAction411 < ReduceAction411: superclass typecheck marker */},
+  {(bigint) 1111 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction411 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction411 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1111 /* 3: ReduceAction411 < ReduceAction411: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63624,37 +65143,37 @@ const classtable_elt_t VFT_ReduceAction411[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction411 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction411 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction411___action},
-  {(long int) 2 /* 42: ReduceAction411 < ReduceAction411: superclass init_table position */},
-  {(long int) parser___ReduceAction411___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction411 < 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) 1 /* 40: ReduceAction411 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction411___action},
+  {(bigint) 2 /* 42: ReduceAction411 < ReduceAction411: superclass init_table position */},
+  {(bigint) parser___ReduceAction411___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction411(void) {
@@ -63670,10 +65189,10 @@ val_t NEW_parser___ReduceAction411___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction412[44] = {
-  {(long int) 1091 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction412 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction412 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1091 /* 3: ReduceAction412 < ReduceAction412: superclass typecheck marker */},
+  {(bigint) 1107 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction412 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction412 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1107 /* 3: ReduceAction412 < ReduceAction412: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63683,37 +65202,37 @@ const classtable_elt_t VFT_ReduceAction412[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction412 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction412 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction412___action},
-  {(long int) 2 /* 42: ReduceAction412 < ReduceAction412: superclass init_table position */},
-  {(long int) parser___ReduceAction412___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction412 < 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) 1 /* 40: ReduceAction412 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction412___action},
+  {(bigint) 2 /* 42: ReduceAction412 < ReduceAction412: superclass init_table position */},
+  {(bigint) parser___ReduceAction412___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction412(void) {
@@ -63729,10 +65248,10 @@ val_t NEW_parser___ReduceAction412___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction413[44] = {
-  {(long int) 1087 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction413 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction413 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1087 /* 3: ReduceAction413 < ReduceAction413: superclass typecheck marker */},
+  {(bigint) 1103 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction413 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction413 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1103 /* 3: ReduceAction413 < ReduceAction413: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63742,37 +65261,37 @@ const classtable_elt_t VFT_ReduceAction413[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction413 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction413 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction413___action},
-  {(long int) 2 /* 42: ReduceAction413 < ReduceAction413: superclass init_table position */},
-  {(long int) parser___ReduceAction413___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction413 < 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) 1 /* 40: ReduceAction413 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction413___action},
+  {(bigint) 2 /* 42: ReduceAction413 < ReduceAction413: superclass init_table position */},
+  {(bigint) parser___ReduceAction413___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction413(void) {
@@ -63788,10 +65307,10 @@ val_t NEW_parser___ReduceAction413___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction414[44] = {
-  {(long int) 1083 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction414 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction414 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1083 /* 3: ReduceAction414 < ReduceAction414: superclass typecheck marker */},
+  {(bigint) 1099 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction414 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction414 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1099 /* 3: ReduceAction414 < ReduceAction414: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63801,37 +65320,37 @@ const classtable_elt_t VFT_ReduceAction414[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction414 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction414 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction414___action},
-  {(long int) 2 /* 42: ReduceAction414 < ReduceAction414: superclass init_table position */},
-  {(long int) parser___ReduceAction414___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction414 < 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) 1 /* 40: ReduceAction414 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction414___action},
+  {(bigint) 2 /* 42: ReduceAction414 < ReduceAction414: superclass init_table position */},
+  {(bigint) parser___ReduceAction414___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction414(void) {
@@ -63847,10 +65366,10 @@ val_t NEW_parser___ReduceAction414___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction415[44] = {
-  {(long int) 1079 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction415 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction415 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1079 /* 3: ReduceAction415 < ReduceAction415: superclass typecheck marker */},
+  {(bigint) 1095 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction415 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction415 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1095 /* 3: ReduceAction415 < ReduceAction415: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63860,37 +65379,37 @@ const classtable_elt_t VFT_ReduceAction415[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction415 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction415 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction415___action},
-  {(long int) 2 /* 42: ReduceAction415 < ReduceAction415: superclass init_table position */},
-  {(long int) parser___ReduceAction415___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction415 < 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) 1 /* 40: ReduceAction415 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction415___action},
+  {(bigint) 2 /* 42: ReduceAction415 < ReduceAction415: superclass init_table position */},
+  {(bigint) parser___ReduceAction415___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction415(void) {
@@ -63906,10 +65425,10 @@ val_t NEW_parser___ReduceAction415___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction416[44] = {
-  {(long int) 1075 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction416 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction416 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1075 /* 3: ReduceAction416 < ReduceAction416: superclass typecheck marker */},
+  {(bigint) 1091 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction416 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction416 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1091 /* 3: ReduceAction416 < ReduceAction416: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63919,37 +65438,37 @@ const classtable_elt_t VFT_ReduceAction416[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction416 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction416 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction416___action},
-  {(long int) 2 /* 42: ReduceAction416 < ReduceAction416: superclass init_table position */},
-  {(long int) parser___ReduceAction416___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction416 < 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) 1 /* 40: ReduceAction416 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction416___action},
+  {(bigint) 2 /* 42: ReduceAction416 < ReduceAction416: superclass init_table position */},
+  {(bigint) parser___ReduceAction416___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction416(void) {
@@ -63965,10 +65484,10 @@ val_t NEW_parser___ReduceAction416___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction417[44] = {
-  {(long int) 1071 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction417 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction417 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1071 /* 3: ReduceAction417 < ReduceAction417: superclass typecheck marker */},
+  {(bigint) 1087 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction417 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction417 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1087 /* 3: ReduceAction417 < ReduceAction417: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -63978,37 +65497,37 @@ const classtable_elt_t VFT_ReduceAction417[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction417 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction417 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction417___action},
-  {(long int) 2 /* 42: ReduceAction417 < ReduceAction417: superclass init_table position */},
-  {(long int) parser___ReduceAction417___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction417 < 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) 1 /* 40: ReduceAction417 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction417___action},
+  {(bigint) 2 /* 42: ReduceAction417 < ReduceAction417: superclass init_table position */},
+  {(bigint) parser___ReduceAction417___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction417(void) {
@@ -64024,10 +65543,10 @@ val_t NEW_parser___ReduceAction417___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction418[44] = {
-  {(long int) 1067 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction418 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction418 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1067 /* 3: ReduceAction418 < ReduceAction418: superclass typecheck marker */},
+  {(bigint) 1083 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction418 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction418 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1083 /* 3: ReduceAction418 < ReduceAction418: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64037,37 +65556,37 @@ const classtable_elt_t VFT_ReduceAction418[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction418 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction418 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction418___action},
-  {(long int) 2 /* 42: ReduceAction418 < ReduceAction418: superclass init_table position */},
-  {(long int) parser___ReduceAction418___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction418 < 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) 1 /* 40: ReduceAction418 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction418___action},
+  {(bigint) 2 /* 42: ReduceAction418 < ReduceAction418: superclass init_table position */},
+  {(bigint) parser___ReduceAction418___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction418(void) {
@@ -64083,10 +65602,10 @@ val_t NEW_parser___ReduceAction418___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction419[44] = {
-  {(long int) 1063 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction419 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction419 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1063 /* 3: ReduceAction419 < ReduceAction419: superclass typecheck marker */},
+  {(bigint) 1079 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction419 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction419 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1079 /* 3: ReduceAction419 < ReduceAction419: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64096,37 +65615,37 @@ const classtable_elt_t VFT_ReduceAction419[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction419 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction419 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction419___action},
-  {(long int) 2 /* 42: ReduceAction419 < ReduceAction419: superclass init_table position */},
-  {(long int) parser___ReduceAction419___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction419 < 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) 1 /* 40: ReduceAction419 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction419___action},
+  {(bigint) 2 /* 42: ReduceAction419 < ReduceAction419: superclass init_table position */},
+  {(bigint) parser___ReduceAction419___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction419(void) {
@@ -64142,10 +65661,10 @@ val_t NEW_parser___ReduceAction419___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction420[44] = {
-  {(long int) 1055 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction420 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction420 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1055 /* 3: ReduceAction420 < ReduceAction420: superclass typecheck marker */},
+  {(bigint) 1071 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction420 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction420 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1071 /* 3: ReduceAction420 < ReduceAction420: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64155,37 +65674,37 @@ const classtable_elt_t VFT_ReduceAction420[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction420 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction420 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction420___action},
-  {(long int) 2 /* 42: ReduceAction420 < ReduceAction420: superclass init_table position */},
-  {(long int) parser___ReduceAction420___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction420 < 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) 1 /* 40: ReduceAction420 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction420___action},
+  {(bigint) 2 /* 42: ReduceAction420 < ReduceAction420: superclass init_table position */},
+  {(bigint) parser___ReduceAction420___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction420(void) {
@@ -64201,10 +65720,10 @@ val_t NEW_parser___ReduceAction420___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction421[44] = {
-  {(long int) 1051 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction421 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction421 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1051 /* 3: ReduceAction421 < ReduceAction421: superclass typecheck marker */},
+  {(bigint) 1067 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction421 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction421 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1067 /* 3: ReduceAction421 < ReduceAction421: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64214,37 +65733,37 @@ const classtable_elt_t VFT_ReduceAction421[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction421 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction421 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction421___action},
-  {(long int) 2 /* 42: ReduceAction421 < ReduceAction421: superclass init_table position */},
-  {(long int) parser___ReduceAction421___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction421 < 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) 1 /* 40: ReduceAction421 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction421___action},
+  {(bigint) 2 /* 42: ReduceAction421 < ReduceAction421: superclass init_table position */},
+  {(bigint) parser___ReduceAction421___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction421(void) {
@@ -64260,10 +65779,10 @@ val_t NEW_parser___ReduceAction421___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction422[44] = {
-  {(long int) 1047 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction422 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction422 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1047 /* 3: ReduceAction422 < ReduceAction422: superclass typecheck marker */},
+  {(bigint) 1063 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction422 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction422 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1063 /* 3: ReduceAction422 < ReduceAction422: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64273,37 +65792,37 @@ const classtable_elt_t VFT_ReduceAction422[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction422 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction422 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction422___action},
-  {(long int) 2 /* 42: ReduceAction422 < ReduceAction422: superclass init_table position */},
-  {(long int) parser___ReduceAction422___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction422 < 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) 1 /* 40: ReduceAction422 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction422___action},
+  {(bigint) 2 /* 42: ReduceAction422 < ReduceAction422: superclass init_table position */},
+  {(bigint) parser___ReduceAction422___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction422(void) {
@@ -64319,10 +65838,10 @@ val_t NEW_parser___ReduceAction422___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction423[44] = {
-  {(long int) 1043 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction423 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction423 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1043 /* 3: ReduceAction423 < ReduceAction423: superclass typecheck marker */},
+  {(bigint) 1059 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction423 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction423 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1059 /* 3: ReduceAction423 < ReduceAction423: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64332,37 +65851,37 @@ const classtable_elt_t VFT_ReduceAction423[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction423 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction423 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction423___action},
-  {(long int) 2 /* 42: ReduceAction423 < ReduceAction423: superclass init_table position */},
-  {(long int) parser___ReduceAction423___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction423 < 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) 1 /* 40: ReduceAction423 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction423___action},
+  {(bigint) 2 /* 42: ReduceAction423 < ReduceAction423: superclass init_table position */},
+  {(bigint) parser___ReduceAction423___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction423(void) {
@@ -64378,10 +65897,10 @@ val_t NEW_parser___ReduceAction423___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction424[44] = {
-  {(long int) 1039 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction424 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction424 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1039 /* 3: ReduceAction424 < ReduceAction424: superclass typecheck marker */},
+  {(bigint) 1055 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction424 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction424 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1055 /* 3: ReduceAction424 < ReduceAction424: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64391,37 +65910,37 @@ const classtable_elt_t VFT_ReduceAction424[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction424 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction424 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction424___action},
-  {(long int) 2 /* 42: ReduceAction424 < ReduceAction424: superclass init_table position */},
-  {(long int) parser___ReduceAction424___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction424 < 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) 1 /* 40: ReduceAction424 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction424___action},
+  {(bigint) 2 /* 42: ReduceAction424 < ReduceAction424: superclass init_table position */},
+  {(bigint) parser___ReduceAction424___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction424(void) {
@@ -64437,10 +65956,10 @@ val_t NEW_parser___ReduceAction424___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction425[44] = {
-  {(long int) 1035 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction425 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction425 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1035 /* 3: ReduceAction425 < ReduceAction425: superclass typecheck marker */},
+  {(bigint) 1051 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction425 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction425 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1051 /* 3: ReduceAction425 < ReduceAction425: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64450,37 +65969,37 @@ const classtable_elt_t VFT_ReduceAction425[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction425 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction425 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction425___action},
-  {(long int) 2 /* 42: ReduceAction425 < ReduceAction425: superclass init_table position */},
-  {(long int) parser___ReduceAction425___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction425 < 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) 1 /* 40: ReduceAction425 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction425___action},
+  {(bigint) 2 /* 42: ReduceAction425 < ReduceAction425: superclass init_table position */},
+  {(bigint) parser___ReduceAction425___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction425(void) {
@@ -64496,10 +66015,10 @@ val_t NEW_parser___ReduceAction425___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction426[44] = {
-  {(long int) 1031 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction426 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction426 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1031 /* 3: ReduceAction426 < ReduceAction426: superclass typecheck marker */},
+  {(bigint) 1047 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction426 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction426 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1047 /* 3: ReduceAction426 < ReduceAction426: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64509,37 +66028,37 @@ const classtable_elt_t VFT_ReduceAction426[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction426 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction426 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction426___action},
-  {(long int) 2 /* 42: ReduceAction426 < ReduceAction426: superclass init_table position */},
-  {(long int) parser___ReduceAction426___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction426 < 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) 1 /* 40: ReduceAction426 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction426___action},
+  {(bigint) 2 /* 42: ReduceAction426 < ReduceAction426: superclass init_table position */},
+  {(bigint) parser___ReduceAction426___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction426(void) {
@@ -64555,10 +66074,10 @@ val_t NEW_parser___ReduceAction426___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction427[44] = {
-  {(long int) 1027 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction427 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction427 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1027 /* 3: ReduceAction427 < ReduceAction427: superclass typecheck marker */},
+  {(bigint) 1043 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction427 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction427 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1043 /* 3: ReduceAction427 < ReduceAction427: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64568,37 +66087,37 @@ const classtable_elt_t VFT_ReduceAction427[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction427 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction427 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction427___action},
-  {(long int) 2 /* 42: ReduceAction427 < ReduceAction427: superclass init_table position */},
-  {(long int) parser___ReduceAction427___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction427 < 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) 1 /* 40: ReduceAction427 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction427___action},
+  {(bigint) 2 /* 42: ReduceAction427 < ReduceAction427: superclass init_table position */},
+  {(bigint) parser___ReduceAction427___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction427(void) {
@@ -64614,10 +66133,10 @@ val_t NEW_parser___ReduceAction427___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction428[44] = {
-  {(long int) 1023 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction428 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction428 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1023 /* 3: ReduceAction428 < ReduceAction428: superclass typecheck marker */},
+  {(bigint) 1039 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction428 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction428 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1039 /* 3: ReduceAction428 < ReduceAction428: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64627,37 +66146,37 @@ const classtable_elt_t VFT_ReduceAction428[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction428 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction428 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction428___action},
-  {(long int) 2 /* 42: ReduceAction428 < ReduceAction428: superclass init_table position */},
-  {(long int) parser___ReduceAction428___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction428 < 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) 1 /* 40: ReduceAction428 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction428___action},
+  {(bigint) 2 /* 42: ReduceAction428 < ReduceAction428: superclass init_table position */},
+  {(bigint) parser___ReduceAction428___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction428(void) {
@@ -64673,10 +66192,10 @@ val_t NEW_parser___ReduceAction428___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction429[44] = {
-  {(long int) 1019 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction429 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction429 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1019 /* 3: ReduceAction429 < ReduceAction429: superclass typecheck marker */},
+  {(bigint) 1035 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction429 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction429 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1035 /* 3: ReduceAction429 < ReduceAction429: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64686,37 +66205,37 @@ const classtable_elt_t VFT_ReduceAction429[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction429 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction429 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction429___action},
-  {(long int) 2 /* 42: ReduceAction429 < ReduceAction429: superclass init_table position */},
-  {(long int) parser___ReduceAction429___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction429 < 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) 1 /* 40: ReduceAction429 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction429___action},
+  {(bigint) 2 /* 42: ReduceAction429 < ReduceAction429: superclass init_table position */},
+  {(bigint) parser___ReduceAction429___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction429(void) {
@@ -64732,10 +66251,10 @@ val_t NEW_parser___ReduceAction429___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction430[44] = {
-  {(long int) 1011 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction430 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction430 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1011 /* 3: ReduceAction430 < ReduceAction430: superclass typecheck marker */},
+  {(bigint) 1027 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction430 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction430 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1027 /* 3: ReduceAction430 < ReduceAction430: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64745,37 +66264,37 @@ const classtable_elt_t VFT_ReduceAction430[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction430 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction430 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction430___action},
-  {(long int) 2 /* 42: ReduceAction430 < ReduceAction430: superclass init_table position */},
-  {(long int) parser___ReduceAction430___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction430 < 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) 1 /* 40: ReduceAction430 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction430___action},
+  {(bigint) 2 /* 42: ReduceAction430 < ReduceAction430: superclass init_table position */},
+  {(bigint) parser___ReduceAction430___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction430(void) {
@@ -64791,10 +66310,10 @@ val_t NEW_parser___ReduceAction430___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction431[44] = {
-  {(long int) 1007 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction431 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction431 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1007 /* 3: ReduceAction431 < ReduceAction431: superclass typecheck marker */},
+  {(bigint) 1023 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction431 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction431 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1023 /* 3: ReduceAction431 < ReduceAction431: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64804,37 +66323,37 @@ const classtable_elt_t VFT_ReduceAction431[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction431 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction431 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction431___action},
-  {(long int) 2 /* 42: ReduceAction431 < ReduceAction431: superclass init_table position */},
-  {(long int) parser___ReduceAction431___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction431 < 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) 1 /* 40: ReduceAction431 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction431___action},
+  {(bigint) 2 /* 42: ReduceAction431 < ReduceAction431: superclass init_table position */},
+  {(bigint) parser___ReduceAction431___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction431(void) {
@@ -64850,10 +66369,10 @@ val_t NEW_parser___ReduceAction431___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction432[44] = {
-  {(long int) 1003 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction432 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction432 < ReduceAction: superclass typecheck marker */},
-  {(long int) 1003 /* 3: ReduceAction432 < ReduceAction432: superclass typecheck marker */},
+  {(bigint) 1019 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction432 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction432 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1019 /* 3: ReduceAction432 < ReduceAction432: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64863,37 +66382,37 @@ const classtable_elt_t VFT_ReduceAction432[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction432 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction432 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction432___action},
-  {(long int) 2 /* 42: ReduceAction432 < ReduceAction432: superclass init_table position */},
-  {(long int) parser___ReduceAction432___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction432 < 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) 1 /* 40: ReduceAction432 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction432___action},
+  {(bigint) 2 /* 42: ReduceAction432 < ReduceAction432: superclass init_table position */},
+  {(bigint) parser___ReduceAction432___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction432(void) {
@@ -64909,10 +66428,10 @@ val_t NEW_parser___ReduceAction432___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction433[44] = {
-  {(long int) 999 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction433 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction433 < ReduceAction: superclass typecheck marker */},
-  {(long int) 999 /* 3: ReduceAction433 < ReduceAction433: superclass typecheck marker */},
+  {(bigint) 1015 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction433 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction433 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1015 /* 3: ReduceAction433 < ReduceAction433: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64922,37 +66441,37 @@ const classtable_elt_t VFT_ReduceAction433[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction433 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction433 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction433___action},
-  {(long int) 2 /* 42: ReduceAction433 < ReduceAction433: superclass init_table position */},
-  {(long int) parser___ReduceAction433___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction433 < 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) 1 /* 40: ReduceAction433 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction433___action},
+  {(bigint) 2 /* 42: ReduceAction433 < ReduceAction433: superclass init_table position */},
+  {(bigint) parser___ReduceAction433___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction433(void) {
@@ -64968,10 +66487,10 @@ val_t NEW_parser___ReduceAction433___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction434[44] = {
-  {(long int) 995 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction434 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction434 < ReduceAction: superclass typecheck marker */},
-  {(long int) 995 /* 3: ReduceAction434 < ReduceAction434: superclass typecheck marker */},
+  {(bigint) 1011 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction434 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction434 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1011 /* 3: ReduceAction434 < ReduceAction434: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -64981,37 +66500,37 @@ const classtable_elt_t VFT_ReduceAction434[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction434 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction434 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction434___action},
-  {(long int) 2 /* 42: ReduceAction434 < ReduceAction434: superclass init_table position */},
-  {(long int) parser___ReduceAction434___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction434 < 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) 1 /* 40: ReduceAction434 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction434___action},
+  {(bigint) 2 /* 42: ReduceAction434 < ReduceAction434: superclass init_table position */},
+  {(bigint) parser___ReduceAction434___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction434(void) {
@@ -65027,10 +66546,10 @@ val_t NEW_parser___ReduceAction434___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction435[44] = {
-  {(long int) 991 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction435 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction435 < ReduceAction: superclass typecheck marker */},
-  {(long int) 991 /* 3: ReduceAction435 < ReduceAction435: superclass typecheck marker */},
+  {(bigint) 1007 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction435 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction435 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1007 /* 3: ReduceAction435 < ReduceAction435: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65040,37 +66559,37 @@ const classtable_elt_t VFT_ReduceAction435[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction435 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction435 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction435___action},
-  {(long int) 2 /* 42: ReduceAction435 < ReduceAction435: superclass init_table position */},
-  {(long int) parser___ReduceAction435___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction435 < 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) 1 /* 40: ReduceAction435 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction435___action},
+  {(bigint) 2 /* 42: ReduceAction435 < ReduceAction435: superclass init_table position */},
+  {(bigint) parser___ReduceAction435___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction435(void) {
@@ -65086,10 +66605,10 @@ val_t NEW_parser___ReduceAction435___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction436[44] = {
-  {(long int) 987 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction436 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction436 < ReduceAction: superclass typecheck marker */},
-  {(long int) 987 /* 3: ReduceAction436 < ReduceAction436: superclass typecheck marker */},
+  {(bigint) 1003 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction436 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction436 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 1003 /* 3: ReduceAction436 < ReduceAction436: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65099,37 +66618,37 @@ const classtable_elt_t VFT_ReduceAction436[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction436 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction436 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction436___action},
-  {(long int) 2 /* 42: ReduceAction436 < ReduceAction436: superclass init_table position */},
-  {(long int) parser___ReduceAction436___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction436 < 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) 1 /* 40: ReduceAction436 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction436___action},
+  {(bigint) 2 /* 42: ReduceAction436 < ReduceAction436: superclass init_table position */},
+  {(bigint) parser___ReduceAction436___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction436(void) {
@@ -65145,10 +66664,10 @@ val_t NEW_parser___ReduceAction436___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction437[44] = {
-  {(long int) 983 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction437 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction437 < ReduceAction: superclass typecheck marker */},
-  {(long int) 983 /* 3: ReduceAction437 < ReduceAction437: superclass typecheck marker */},
+  {(bigint) 999 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction437 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction437 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 999 /* 3: ReduceAction437 < ReduceAction437: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65158,37 +66677,37 @@ const classtable_elt_t VFT_ReduceAction437[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction437 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction437 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction437___action},
-  {(long int) 2 /* 42: ReduceAction437 < ReduceAction437: superclass init_table position */},
-  {(long int) parser___ReduceAction437___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction437 < 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) 1 /* 40: ReduceAction437 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction437___action},
+  {(bigint) 2 /* 42: ReduceAction437 < ReduceAction437: superclass init_table position */},
+  {(bigint) parser___ReduceAction437___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction437(void) {
@@ -65204,10 +66723,10 @@ val_t NEW_parser___ReduceAction437___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction438[44] = {
-  {(long int) 979 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction438 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction438 < ReduceAction: superclass typecheck marker */},
-  {(long int) 979 /* 3: ReduceAction438 < ReduceAction438: superclass typecheck marker */},
+  {(bigint) 995 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction438 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction438 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 995 /* 3: ReduceAction438 < ReduceAction438: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65217,37 +66736,37 @@ const classtable_elt_t VFT_ReduceAction438[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction438 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction438 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction438___action},
-  {(long int) 2 /* 42: ReduceAction438 < ReduceAction438: superclass init_table position */},
-  {(long int) parser___ReduceAction438___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction438 < 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) 1 /* 40: ReduceAction438 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction438___action},
+  {(bigint) 2 /* 42: ReduceAction438 < ReduceAction438: superclass init_table position */},
+  {(bigint) parser___ReduceAction438___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction438(void) {
@@ -65263,10 +66782,10 @@ val_t NEW_parser___ReduceAction438___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction439[44] = {
-  {(long int) 975 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction439 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction439 < ReduceAction: superclass typecheck marker */},
-  {(long int) 975 /* 3: ReduceAction439 < ReduceAction439: superclass typecheck marker */},
+  {(bigint) 991 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction439 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction439 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 991 /* 3: ReduceAction439 < ReduceAction439: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65276,37 +66795,37 @@ const classtable_elt_t VFT_ReduceAction439[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction439 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction439 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction439___action},
-  {(long int) 2 /* 42: ReduceAction439 < ReduceAction439: superclass init_table position */},
-  {(long int) parser___ReduceAction439___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction439 < 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) 1 /* 40: ReduceAction439 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction439___action},
+  {(bigint) 2 /* 42: ReduceAction439 < ReduceAction439: superclass init_table position */},
+  {(bigint) parser___ReduceAction439___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction439(void) {
@@ -65322,10 +66841,10 @@ val_t NEW_parser___ReduceAction439___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction440[44] = {
-  {(long int) 967 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction440 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction440 < ReduceAction: superclass typecheck marker */},
-  {(long int) 967 /* 3: ReduceAction440 < ReduceAction440: superclass typecheck marker */},
+  {(bigint) 983 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction440 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction440 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 983 /* 3: ReduceAction440 < ReduceAction440: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65335,37 +66854,37 @@ const classtable_elt_t VFT_ReduceAction440[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction440 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction440 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction440___action},
-  {(long int) 2 /* 42: ReduceAction440 < ReduceAction440: superclass init_table position */},
-  {(long int) parser___ReduceAction440___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction440 < 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) 1 /* 40: ReduceAction440 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction440___action},
+  {(bigint) 2 /* 42: ReduceAction440 < ReduceAction440: superclass init_table position */},
+  {(bigint) parser___ReduceAction440___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction440(void) {
@@ -65381,10 +66900,10 @@ val_t NEW_parser___ReduceAction440___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction441[44] = {
-  {(long int) 963 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction441 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction441 < ReduceAction: superclass typecheck marker */},
-  {(long int) 963 /* 3: ReduceAction441 < ReduceAction441: superclass typecheck marker */},
+  {(bigint) 979 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction441 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction441 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 979 /* 3: ReduceAction441 < ReduceAction441: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65394,37 +66913,37 @@ const classtable_elt_t VFT_ReduceAction441[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction441 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction441 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction441___action},
-  {(long int) 2 /* 42: ReduceAction441 < ReduceAction441: superclass init_table position */},
-  {(long int) parser___ReduceAction441___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction441 < 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) 1 /* 40: ReduceAction441 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction441___action},
+  {(bigint) 2 /* 42: ReduceAction441 < ReduceAction441: superclass init_table position */},
+  {(bigint) parser___ReduceAction441___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction441(void) {
@@ -65440,10 +66959,10 @@ val_t NEW_parser___ReduceAction441___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction442[44] = {
-  {(long int) 959 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction442 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction442 < ReduceAction: superclass typecheck marker */},
-  {(long int) 959 /* 3: ReduceAction442 < ReduceAction442: superclass typecheck marker */},
+  {(bigint) 975 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction442 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction442 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 975 /* 3: ReduceAction442 < ReduceAction442: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65453,37 +66972,37 @@ const classtable_elt_t VFT_ReduceAction442[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction442 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction442 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction442___action},
-  {(long int) 2 /* 42: ReduceAction442 < ReduceAction442: superclass init_table position */},
-  {(long int) parser___ReduceAction442___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction442 < 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) 1 /* 40: ReduceAction442 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction442___action},
+  {(bigint) 2 /* 42: ReduceAction442 < ReduceAction442: superclass init_table position */},
+  {(bigint) parser___ReduceAction442___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction442(void) {
@@ -65499,10 +67018,10 @@ val_t NEW_parser___ReduceAction442___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction443[44] = {
-  {(long int) 955 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction443 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction443 < ReduceAction: superclass typecheck marker */},
-  {(long int) 955 /* 3: ReduceAction443 < ReduceAction443: superclass typecheck marker */},
+  {(bigint) 971 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction443 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction443 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 971 /* 3: ReduceAction443 < ReduceAction443: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65512,37 +67031,37 @@ const classtable_elt_t VFT_ReduceAction443[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction443 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction443 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction443___action},
-  {(long int) 2 /* 42: ReduceAction443 < ReduceAction443: superclass init_table position */},
-  {(long int) parser___ReduceAction443___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction443 < 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) 1 /* 40: ReduceAction443 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction443___action},
+  {(bigint) 2 /* 42: ReduceAction443 < ReduceAction443: superclass init_table position */},
+  {(bigint) parser___ReduceAction443___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction443(void) {
@@ -65558,10 +67077,10 @@ val_t NEW_parser___ReduceAction443___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction444[44] = {
-  {(long int) 951 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction444 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction444 < ReduceAction: superclass typecheck marker */},
-  {(long int) 951 /* 3: ReduceAction444 < ReduceAction444: superclass typecheck marker */},
+  {(bigint) 967 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction444 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction444 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 967 /* 3: ReduceAction444 < ReduceAction444: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65571,37 +67090,37 @@ const classtable_elt_t VFT_ReduceAction444[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction444 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction444 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction444___action},
-  {(long int) 2 /* 42: ReduceAction444 < ReduceAction444: superclass init_table position */},
-  {(long int) parser___ReduceAction444___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction444 < 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) 1 /* 40: ReduceAction444 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction444___action},
+  {(bigint) 2 /* 42: ReduceAction444 < ReduceAction444: superclass init_table position */},
+  {(bigint) parser___ReduceAction444___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction444(void) {
@@ -65617,10 +67136,10 @@ val_t NEW_parser___ReduceAction444___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction445[44] = {
-  {(long int) 947 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction445 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction445 < ReduceAction: superclass typecheck marker */},
-  {(long int) 947 /* 3: ReduceAction445 < ReduceAction445: superclass typecheck marker */},
+  {(bigint) 963 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction445 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction445 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 963 /* 3: ReduceAction445 < ReduceAction445: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65630,37 +67149,37 @@ const classtable_elt_t VFT_ReduceAction445[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction445 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction445 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction445___action},
-  {(long int) 2 /* 42: ReduceAction445 < ReduceAction445: superclass init_table position */},
-  {(long int) parser___ReduceAction445___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction445 < 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) 1 /* 40: ReduceAction445 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction445___action},
+  {(bigint) 2 /* 42: ReduceAction445 < ReduceAction445: superclass init_table position */},
+  {(bigint) parser___ReduceAction445___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction445(void) {
@@ -65676,10 +67195,10 @@ val_t NEW_parser___ReduceAction445___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction446[44] = {
-  {(long int) 943 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction446 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction446 < ReduceAction: superclass typecheck marker */},
-  {(long int) 943 /* 3: ReduceAction446 < ReduceAction446: superclass typecheck marker */},
+  {(bigint) 959 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction446 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction446 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 959 /* 3: ReduceAction446 < ReduceAction446: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65689,37 +67208,37 @@ const classtable_elt_t VFT_ReduceAction446[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction446 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction446 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction446___action},
-  {(long int) 2 /* 42: ReduceAction446 < ReduceAction446: superclass init_table position */},
-  {(long int) parser___ReduceAction446___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction446 < 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) 1 /* 40: ReduceAction446 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction446___action},
+  {(bigint) 2 /* 42: ReduceAction446 < ReduceAction446: superclass init_table position */},
+  {(bigint) parser___ReduceAction446___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction446(void) {
@@ -65735,10 +67254,10 @@ val_t NEW_parser___ReduceAction446___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction447[44] = {
-  {(long int) 939 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction447 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction447 < ReduceAction: superclass typecheck marker */},
-  {(long int) 939 /* 3: ReduceAction447 < ReduceAction447: superclass typecheck marker */},
+  {(bigint) 955 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction447 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction447 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 955 /* 3: ReduceAction447 < ReduceAction447: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65748,37 +67267,37 @@ const classtable_elt_t VFT_ReduceAction447[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction447 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction447 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction447___action},
-  {(long int) 2 /* 42: ReduceAction447 < ReduceAction447: superclass init_table position */},
-  {(long int) parser___ReduceAction447___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction447 < 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) 1 /* 40: ReduceAction447 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction447___action},
+  {(bigint) 2 /* 42: ReduceAction447 < ReduceAction447: superclass init_table position */},
+  {(bigint) parser___ReduceAction447___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction447(void) {
@@ -65794,10 +67313,10 @@ val_t NEW_parser___ReduceAction447___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction448[44] = {
-  {(long int) 935 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction448 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction448 < ReduceAction: superclass typecheck marker */},
-  {(long int) 935 /* 3: ReduceAction448 < ReduceAction448: superclass typecheck marker */},
+  {(bigint) 951 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction448 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction448 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 951 /* 3: ReduceAction448 < ReduceAction448: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65807,37 +67326,37 @@ const classtable_elt_t VFT_ReduceAction448[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction448 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction448 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction448___action},
-  {(long int) 2 /* 42: ReduceAction448 < ReduceAction448: superclass init_table position */},
-  {(long int) parser___ReduceAction448___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction448 < 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) 1 /* 40: ReduceAction448 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction448___action},
+  {(bigint) 2 /* 42: ReduceAction448 < ReduceAction448: superclass init_table position */},
+  {(bigint) parser___ReduceAction448___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction448(void) {
@@ -65853,10 +67372,10 @@ val_t NEW_parser___ReduceAction448___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction449[44] = {
-  {(long int) 931 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction449 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction449 < ReduceAction: superclass typecheck marker */},
-  {(long int) 931 /* 3: ReduceAction449 < ReduceAction449: superclass typecheck marker */},
+  {(bigint) 947 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction449 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction449 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 947 /* 3: ReduceAction449 < ReduceAction449: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65866,37 +67385,37 @@ const classtable_elt_t VFT_ReduceAction449[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction449 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction449 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction449___action},
-  {(long int) 2 /* 42: ReduceAction449 < ReduceAction449: superclass init_table position */},
-  {(long int) parser___ReduceAction449___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction449 < 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) 1 /* 40: ReduceAction449 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction449___action},
+  {(bigint) 2 /* 42: ReduceAction449 < ReduceAction449: superclass init_table position */},
+  {(bigint) parser___ReduceAction449___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction449(void) {
@@ -65912,10 +67431,10 @@ val_t NEW_parser___ReduceAction449___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction450[44] = {
-  {(long int) 923 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction450 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction450 < ReduceAction: superclass typecheck marker */},
-  {(long int) 923 /* 3: ReduceAction450 < ReduceAction450: superclass typecheck marker */},
+  {(bigint) 939 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction450 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction450 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 939 /* 3: ReduceAction450 < ReduceAction450: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65925,37 +67444,37 @@ const classtable_elt_t VFT_ReduceAction450[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction450 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction450 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction450___action},
-  {(long int) 2 /* 42: ReduceAction450 < ReduceAction450: superclass init_table position */},
-  {(long int) parser___ReduceAction450___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction450 < 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) 1 /* 40: ReduceAction450 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction450___action},
+  {(bigint) 2 /* 42: ReduceAction450 < ReduceAction450: superclass init_table position */},
+  {(bigint) parser___ReduceAction450___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction450(void) {
@@ -65971,10 +67490,10 @@ val_t NEW_parser___ReduceAction450___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction451[44] = {
-  {(long int) 919 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction451 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction451 < ReduceAction: superclass typecheck marker */},
-  {(long int) 919 /* 3: ReduceAction451 < ReduceAction451: superclass typecheck marker */},
+  {(bigint) 935 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction451 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction451 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 935 /* 3: ReduceAction451 < ReduceAction451: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -65984,37 +67503,37 @@ const classtable_elt_t VFT_ReduceAction451[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction451 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction451 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction451___action},
-  {(long int) 2 /* 42: ReduceAction451 < ReduceAction451: superclass init_table position */},
-  {(long int) parser___ReduceAction451___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction451 < 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) 1 /* 40: ReduceAction451 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction451___action},
+  {(bigint) 2 /* 42: ReduceAction451 < ReduceAction451: superclass init_table position */},
+  {(bigint) parser___ReduceAction451___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction451(void) {
@@ -66030,10 +67549,10 @@ val_t NEW_parser___ReduceAction451___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction452[44] = {
-  {(long int) 915 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction452 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction452 < ReduceAction: superclass typecheck marker */},
-  {(long int) 915 /* 3: ReduceAction452 < ReduceAction452: superclass typecheck marker */},
+  {(bigint) 931 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction452 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction452 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 931 /* 3: ReduceAction452 < ReduceAction452: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66043,37 +67562,37 @@ const classtable_elt_t VFT_ReduceAction452[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction452 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction452 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction452___action},
-  {(long int) 2 /* 42: ReduceAction452 < ReduceAction452: superclass init_table position */},
-  {(long int) parser___ReduceAction452___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction452 < 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) 1 /* 40: ReduceAction452 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction452___action},
+  {(bigint) 2 /* 42: ReduceAction452 < ReduceAction452: superclass init_table position */},
+  {(bigint) parser___ReduceAction452___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction452(void) {
@@ -66089,10 +67608,10 @@ val_t NEW_parser___ReduceAction452___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction453[44] = {
-  {(long int) 911 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction453 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction453 < ReduceAction: superclass typecheck marker */},
-  {(long int) 911 /* 3: ReduceAction453 < ReduceAction453: superclass typecheck marker */},
+  {(bigint) 927 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction453 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction453 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 927 /* 3: ReduceAction453 < ReduceAction453: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66102,37 +67621,37 @@ const classtable_elt_t VFT_ReduceAction453[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction453 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction453 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction453___action},
-  {(long int) 2 /* 42: ReduceAction453 < ReduceAction453: superclass init_table position */},
-  {(long int) parser___ReduceAction453___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction453 < 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) 1 /* 40: ReduceAction453 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction453___action},
+  {(bigint) 2 /* 42: ReduceAction453 < ReduceAction453: superclass init_table position */},
+  {(bigint) parser___ReduceAction453___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction453(void) {
@@ -66148,10 +67667,10 @@ val_t NEW_parser___ReduceAction453___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction454[44] = {
-  {(long int) 907 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction454 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction454 < ReduceAction: superclass typecheck marker */},
-  {(long int) 907 /* 3: ReduceAction454 < ReduceAction454: superclass typecheck marker */},
+  {(bigint) 923 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction454 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction454 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 923 /* 3: ReduceAction454 < ReduceAction454: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66161,37 +67680,37 @@ const classtable_elt_t VFT_ReduceAction454[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction454 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction454 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction454___action},
-  {(long int) 2 /* 42: ReduceAction454 < ReduceAction454: superclass init_table position */},
-  {(long int) parser___ReduceAction454___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction454 < 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) 1 /* 40: ReduceAction454 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction454___action},
+  {(bigint) 2 /* 42: ReduceAction454 < ReduceAction454: superclass init_table position */},
+  {(bigint) parser___ReduceAction454___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction454(void) {
@@ -66207,10 +67726,10 @@ val_t NEW_parser___ReduceAction454___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction455[44] = {
-  {(long int) 903 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction455 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction455 < ReduceAction: superclass typecheck marker */},
-  {(long int) 903 /* 3: ReduceAction455 < ReduceAction455: superclass typecheck marker */},
+  {(bigint) 919 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction455 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction455 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 919 /* 3: ReduceAction455 < ReduceAction455: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66220,37 +67739,37 @@ const classtable_elt_t VFT_ReduceAction455[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction455 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction455 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction455___action},
-  {(long int) 2 /* 42: ReduceAction455 < ReduceAction455: superclass init_table position */},
-  {(long int) parser___ReduceAction455___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction455 < 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) 1 /* 40: ReduceAction455 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction455___action},
+  {(bigint) 2 /* 42: ReduceAction455 < ReduceAction455: superclass init_table position */},
+  {(bigint) parser___ReduceAction455___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction455(void) {
@@ -66266,10 +67785,10 @@ val_t NEW_parser___ReduceAction455___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction456[44] = {
-  {(long int) 899 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction456 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction456 < ReduceAction: superclass typecheck marker */},
-  {(long int) 899 /* 3: ReduceAction456 < ReduceAction456: superclass typecheck marker */},
+  {(bigint) 915 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction456 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction456 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 915 /* 3: ReduceAction456 < ReduceAction456: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66279,37 +67798,37 @@ const classtable_elt_t VFT_ReduceAction456[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction456 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction456 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction456___action},
-  {(long int) 2 /* 42: ReduceAction456 < ReduceAction456: superclass init_table position */},
-  {(long int) parser___ReduceAction456___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction456 < 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) 1 /* 40: ReduceAction456 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction456___action},
+  {(bigint) 2 /* 42: ReduceAction456 < ReduceAction456: superclass init_table position */},
+  {(bigint) parser___ReduceAction456___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction456(void) {
@@ -66325,10 +67844,10 @@ val_t NEW_parser___ReduceAction456___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction457[44] = {
-  {(long int) 895 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction457 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction457 < ReduceAction: superclass typecheck marker */},
-  {(long int) 895 /* 3: ReduceAction457 < ReduceAction457: superclass typecheck marker */},
+  {(bigint) 911 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction457 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction457 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 911 /* 3: ReduceAction457 < ReduceAction457: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66338,37 +67857,37 @@ const classtable_elt_t VFT_ReduceAction457[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction457 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction457 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction457___action},
-  {(long int) 2 /* 42: ReduceAction457 < ReduceAction457: superclass init_table position */},
-  {(long int) parser___ReduceAction457___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction457 < 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) 1 /* 40: ReduceAction457 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction457___action},
+  {(bigint) 2 /* 42: ReduceAction457 < ReduceAction457: superclass init_table position */},
+  {(bigint) parser___ReduceAction457___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction457(void) {
@@ -66384,10 +67903,10 @@ val_t NEW_parser___ReduceAction457___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction458[44] = {
-  {(long int) 891 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction458 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction458 < ReduceAction: superclass typecheck marker */},
-  {(long int) 891 /* 3: ReduceAction458 < ReduceAction458: superclass typecheck marker */},
+  {(bigint) 907 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction458 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction458 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 907 /* 3: ReduceAction458 < ReduceAction458: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66397,37 +67916,37 @@ const classtable_elt_t VFT_ReduceAction458[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction458 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction458 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction458___action},
-  {(long int) 2 /* 42: ReduceAction458 < ReduceAction458: superclass init_table position */},
-  {(long int) parser___ReduceAction458___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction458 < 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) 1 /* 40: ReduceAction458 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction458___action},
+  {(bigint) 2 /* 42: ReduceAction458 < ReduceAction458: superclass init_table position */},
+  {(bigint) parser___ReduceAction458___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction458(void) {
@@ -66443,10 +67962,10 @@ val_t NEW_parser___ReduceAction458___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction459[44] = {
-  {(long int) 887 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction459 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction459 < ReduceAction: superclass typecheck marker */},
-  {(long int) 887 /* 3: ReduceAction459 < ReduceAction459: superclass typecheck marker */},
+  {(bigint) 903 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction459 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction459 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 903 /* 3: ReduceAction459 < ReduceAction459: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66456,37 +67975,37 @@ const classtable_elt_t VFT_ReduceAction459[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction459 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction459 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction459___action},
-  {(long int) 2 /* 42: ReduceAction459 < ReduceAction459: superclass init_table position */},
-  {(long int) parser___ReduceAction459___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction459 < 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) 1 /* 40: ReduceAction459 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction459___action},
+  {(bigint) 2 /* 42: ReduceAction459 < ReduceAction459: superclass init_table position */},
+  {(bigint) parser___ReduceAction459___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction459(void) {
@@ -66502,10 +68021,10 @@ val_t NEW_parser___ReduceAction459___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction460[44] = {
-  {(long int) 879 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction460 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction460 < ReduceAction: superclass typecheck marker */},
-  {(long int) 879 /* 3: ReduceAction460 < ReduceAction460: superclass typecheck marker */},
+  {(bigint) 895 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction460 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction460 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 895 /* 3: ReduceAction460 < ReduceAction460: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66515,37 +68034,37 @@ const classtable_elt_t VFT_ReduceAction460[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction460 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction460 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction460___action},
-  {(long int) 2 /* 42: ReduceAction460 < ReduceAction460: superclass init_table position */},
-  {(long int) parser___ReduceAction460___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction460 < 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) 1 /* 40: ReduceAction460 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction460___action},
+  {(bigint) 2 /* 42: ReduceAction460 < ReduceAction460: superclass init_table position */},
+  {(bigint) parser___ReduceAction460___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction460(void) {
@@ -66561,10 +68080,10 @@ val_t NEW_parser___ReduceAction460___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction461[44] = {
-  {(long int) 875 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction461 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction461 < ReduceAction: superclass typecheck marker */},
-  {(long int) 875 /* 3: ReduceAction461 < ReduceAction461: superclass typecheck marker */},
+  {(bigint) 891 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction461 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction461 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 891 /* 3: ReduceAction461 < ReduceAction461: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66574,37 +68093,37 @@ const classtable_elt_t VFT_ReduceAction461[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction461 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction461 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction461___action},
-  {(long int) 2 /* 42: ReduceAction461 < ReduceAction461: superclass init_table position */},
-  {(long int) parser___ReduceAction461___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction461 < 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) 1 /* 40: ReduceAction461 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction461___action},
+  {(bigint) 2 /* 42: ReduceAction461 < ReduceAction461: superclass init_table position */},
+  {(bigint) parser___ReduceAction461___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction461(void) {
@@ -66620,10 +68139,10 @@ val_t NEW_parser___ReduceAction461___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction462[44] = {
-  {(long int) 871 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction462 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction462 < ReduceAction: superclass typecheck marker */},
-  {(long int) 871 /* 3: ReduceAction462 < ReduceAction462: superclass typecheck marker */},
+  {(bigint) 887 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction462 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction462 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 887 /* 3: ReduceAction462 < ReduceAction462: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66633,37 +68152,37 @@ const classtable_elt_t VFT_ReduceAction462[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction462 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction462 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction462___action},
-  {(long int) 2 /* 42: ReduceAction462 < ReduceAction462: superclass init_table position */},
-  {(long int) parser___ReduceAction462___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction462 < 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) 1 /* 40: ReduceAction462 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction462___action},
+  {(bigint) 2 /* 42: ReduceAction462 < ReduceAction462: superclass init_table position */},
+  {(bigint) parser___ReduceAction462___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction462(void) {
@@ -66679,10 +68198,10 @@ val_t NEW_parser___ReduceAction462___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction463[44] = {
-  {(long int) 867 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction463 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction463 < ReduceAction: superclass typecheck marker */},
-  {(long int) 867 /* 3: ReduceAction463 < ReduceAction463: superclass typecheck marker */},
+  {(bigint) 883 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction463 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction463 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 883 /* 3: ReduceAction463 < ReduceAction463: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66692,37 +68211,37 @@ const classtable_elt_t VFT_ReduceAction463[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction463 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction463 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction463___action},
-  {(long int) 2 /* 42: ReduceAction463 < ReduceAction463: superclass init_table position */},
-  {(long int) parser___ReduceAction463___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction463 < 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) 1 /* 40: ReduceAction463 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction463___action},
+  {(bigint) 2 /* 42: ReduceAction463 < ReduceAction463: superclass init_table position */},
+  {(bigint) parser___ReduceAction463___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction463(void) {
@@ -66738,10 +68257,10 @@ val_t NEW_parser___ReduceAction463___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction464[44] = {
-  {(long int) 863 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction464 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction464 < ReduceAction: superclass typecheck marker */},
-  {(long int) 863 /* 3: ReduceAction464 < ReduceAction464: superclass typecheck marker */},
+  {(bigint) 879 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction464 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction464 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 879 /* 3: ReduceAction464 < ReduceAction464: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66751,37 +68270,37 @@ const classtable_elt_t VFT_ReduceAction464[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction464 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction464 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction464___action},
-  {(long int) 2 /* 42: ReduceAction464 < ReduceAction464: superclass init_table position */},
-  {(long int) parser___ReduceAction464___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction464 < 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) 1 /* 40: ReduceAction464 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction464___action},
+  {(bigint) 2 /* 42: ReduceAction464 < ReduceAction464: superclass init_table position */},
+  {(bigint) parser___ReduceAction464___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction464(void) {
@@ -66797,10 +68316,10 @@ val_t NEW_parser___ReduceAction464___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction465[44] = {
-  {(long int) 859 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction465 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction465 < ReduceAction: superclass typecheck marker */},
-  {(long int) 859 /* 3: ReduceAction465 < ReduceAction465: superclass typecheck marker */},
+  {(bigint) 875 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction465 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction465 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 875 /* 3: ReduceAction465 < ReduceAction465: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66810,37 +68329,37 @@ const classtable_elt_t VFT_ReduceAction465[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction465 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction465 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction465___action},
-  {(long int) 2 /* 42: ReduceAction465 < ReduceAction465: superclass init_table position */},
-  {(long int) parser___ReduceAction465___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction465 < 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) 1 /* 40: ReduceAction465 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction465___action},
+  {(bigint) 2 /* 42: ReduceAction465 < ReduceAction465: superclass init_table position */},
+  {(bigint) parser___ReduceAction465___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction465(void) {
@@ -66856,10 +68375,10 @@ val_t NEW_parser___ReduceAction465___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction466[44] = {
-  {(long int) 855 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction466 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction466 < ReduceAction: superclass typecheck marker */},
-  {(long int) 855 /* 3: ReduceAction466 < ReduceAction466: superclass typecheck marker */},
+  {(bigint) 871 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction466 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction466 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 871 /* 3: ReduceAction466 < ReduceAction466: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66869,37 +68388,37 @@ const classtable_elt_t VFT_ReduceAction466[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction466 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction466 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction466___action},
-  {(long int) 2 /* 42: ReduceAction466 < ReduceAction466: superclass init_table position */},
-  {(long int) parser___ReduceAction466___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction466 < 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) 1 /* 40: ReduceAction466 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction466___action},
+  {(bigint) 2 /* 42: ReduceAction466 < ReduceAction466: superclass init_table position */},
+  {(bigint) parser___ReduceAction466___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction466(void) {
@@ -66915,10 +68434,10 @@ val_t NEW_parser___ReduceAction466___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction467[44] = {
-  {(long int) 851 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction467 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction467 < ReduceAction: superclass typecheck marker */},
-  {(long int) 851 /* 3: ReduceAction467 < ReduceAction467: superclass typecheck marker */},
+  {(bigint) 867 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction467 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction467 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 867 /* 3: ReduceAction467 < ReduceAction467: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66928,37 +68447,37 @@ const classtable_elt_t VFT_ReduceAction467[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction467 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction467 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction467___action},
-  {(long int) 2 /* 42: ReduceAction467 < ReduceAction467: superclass init_table position */},
-  {(long int) parser___ReduceAction467___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction467 < 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) 1 /* 40: ReduceAction467 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction467___action},
+  {(bigint) 2 /* 42: ReduceAction467 < ReduceAction467: superclass init_table position */},
+  {(bigint) parser___ReduceAction467___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction467(void) {
@@ -66974,10 +68493,10 @@ val_t NEW_parser___ReduceAction467___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction468[44] = {
-  {(long int) 847 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction468 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction468 < ReduceAction: superclass typecheck marker */},
-  {(long int) 847 /* 3: ReduceAction468 < ReduceAction468: superclass typecheck marker */},
+  {(bigint) 863 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction468 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction468 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 863 /* 3: ReduceAction468 < ReduceAction468: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -66987,37 +68506,37 @@ const classtable_elt_t VFT_ReduceAction468[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction468 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction468 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction468___action},
-  {(long int) 2 /* 42: ReduceAction468 < ReduceAction468: superclass init_table position */},
-  {(long int) parser___ReduceAction468___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction468 < 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) 1 /* 40: ReduceAction468 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction468___action},
+  {(bigint) 2 /* 42: ReduceAction468 < ReduceAction468: superclass init_table position */},
+  {(bigint) parser___ReduceAction468___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction468(void) {
@@ -67033,10 +68552,10 @@ val_t NEW_parser___ReduceAction468___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction469[44] = {
-  {(long int) 843 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction469 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction469 < ReduceAction: superclass typecheck marker */},
-  {(long int) 843 /* 3: ReduceAction469 < ReduceAction469: superclass typecheck marker */},
+  {(bigint) 859 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction469 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction469 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 859 /* 3: ReduceAction469 < ReduceAction469: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67046,37 +68565,37 @@ const classtable_elt_t VFT_ReduceAction469[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction469 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction469 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction469___action},
-  {(long int) 2 /* 42: ReduceAction469 < ReduceAction469: superclass init_table position */},
-  {(long int) parser___ReduceAction469___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction469 < 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) 1 /* 40: ReduceAction469 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction469___action},
+  {(bigint) 2 /* 42: ReduceAction469 < ReduceAction469: superclass init_table position */},
+  {(bigint) parser___ReduceAction469___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction469(void) {
@@ -67092,10 +68611,10 @@ val_t NEW_parser___ReduceAction469___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction470[44] = {
-  {(long int) 835 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction470 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction470 < ReduceAction: superclass typecheck marker */},
-  {(long int) 835 /* 3: ReduceAction470 < ReduceAction470: superclass typecheck marker */},
+  {(bigint) 851 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction470 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction470 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 851 /* 3: ReduceAction470 < ReduceAction470: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67105,37 +68624,37 @@ const classtable_elt_t VFT_ReduceAction470[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction470 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction470 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction470___action},
-  {(long int) 2 /* 42: ReduceAction470 < ReduceAction470: superclass init_table position */},
-  {(long int) parser___ReduceAction470___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction470 < 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) 1 /* 40: ReduceAction470 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction470___action},
+  {(bigint) 2 /* 42: ReduceAction470 < ReduceAction470: superclass init_table position */},
+  {(bigint) parser___ReduceAction470___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction470(void) {
@@ -67151,10 +68670,10 @@ val_t NEW_parser___ReduceAction470___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction471[44] = {
-  {(long int) 831 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction471 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction471 < ReduceAction: superclass typecheck marker */},
-  {(long int) 831 /* 3: ReduceAction471 < ReduceAction471: superclass typecheck marker */},
+  {(bigint) 847 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction471 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction471 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 847 /* 3: ReduceAction471 < ReduceAction471: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67164,37 +68683,37 @@ const classtable_elt_t VFT_ReduceAction471[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction471 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction471 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction471___action},
-  {(long int) 2 /* 42: ReduceAction471 < ReduceAction471: superclass init_table position */},
-  {(long int) parser___ReduceAction471___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction471 < 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) 1 /* 40: ReduceAction471 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction471___action},
+  {(bigint) 2 /* 42: ReduceAction471 < ReduceAction471: superclass init_table position */},
+  {(bigint) parser___ReduceAction471___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction471(void) {
@@ -67210,10 +68729,10 @@ val_t NEW_parser___ReduceAction471___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction472[44] = {
-  {(long int) 827 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction472 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction472 < ReduceAction: superclass typecheck marker */},
-  {(long int) 827 /* 3: ReduceAction472 < ReduceAction472: superclass typecheck marker */},
+  {(bigint) 843 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction472 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction472 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 843 /* 3: ReduceAction472 < ReduceAction472: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67223,37 +68742,37 @@ const classtable_elt_t VFT_ReduceAction472[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction472 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction472 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction472___action},
-  {(long int) 2 /* 42: ReduceAction472 < ReduceAction472: superclass init_table position */},
-  {(long int) parser___ReduceAction472___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction472 < 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) 1 /* 40: ReduceAction472 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction472___action},
+  {(bigint) 2 /* 42: ReduceAction472 < ReduceAction472: superclass init_table position */},
+  {(bigint) parser___ReduceAction472___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction472(void) {
@@ -67269,10 +68788,10 @@ val_t NEW_parser___ReduceAction472___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction473[44] = {
-  {(long int) 823 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction473 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction473 < ReduceAction: superclass typecheck marker */},
-  {(long int) 823 /* 3: ReduceAction473 < ReduceAction473: superclass typecheck marker */},
+  {(bigint) 839 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction473 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction473 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 839 /* 3: ReduceAction473 < ReduceAction473: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67282,37 +68801,37 @@ const classtable_elt_t VFT_ReduceAction473[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction473 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction473 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction473___action},
-  {(long int) 2 /* 42: ReduceAction473 < ReduceAction473: superclass init_table position */},
-  {(long int) parser___ReduceAction473___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction473 < 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) 1 /* 40: ReduceAction473 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction473___action},
+  {(bigint) 2 /* 42: ReduceAction473 < ReduceAction473: superclass init_table position */},
+  {(bigint) parser___ReduceAction473___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction473(void) {
@@ -67328,10 +68847,10 @@ val_t NEW_parser___ReduceAction473___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction474[44] = {
-  {(long int) 819 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction474 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction474 < ReduceAction: superclass typecheck marker */},
-  {(long int) 819 /* 3: ReduceAction474 < ReduceAction474: superclass typecheck marker */},
+  {(bigint) 835 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction474 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction474 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 835 /* 3: ReduceAction474 < ReduceAction474: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67341,37 +68860,37 @@ const classtable_elt_t VFT_ReduceAction474[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction474 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction474 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction474___action},
-  {(long int) 2 /* 42: ReduceAction474 < ReduceAction474: superclass init_table position */},
-  {(long int) parser___ReduceAction474___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction474 < 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) 1 /* 40: ReduceAction474 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction474___action},
+  {(bigint) 2 /* 42: ReduceAction474 < ReduceAction474: superclass init_table position */},
+  {(bigint) parser___ReduceAction474___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction474(void) {
@@ -67387,10 +68906,10 @@ val_t NEW_parser___ReduceAction474___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction475[44] = {
-  {(long int) 815 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction475 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction475 < ReduceAction: superclass typecheck marker */},
-  {(long int) 815 /* 3: ReduceAction475 < ReduceAction475: superclass typecheck marker */},
+  {(bigint) 831 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction475 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction475 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 831 /* 3: ReduceAction475 < ReduceAction475: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67400,37 +68919,37 @@ const classtable_elt_t VFT_ReduceAction475[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction475 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction475 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction475___action},
-  {(long int) 2 /* 42: ReduceAction475 < ReduceAction475: superclass init_table position */},
-  {(long int) parser___ReduceAction475___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction475 < 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) 1 /* 40: ReduceAction475 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction475___action},
+  {(bigint) 2 /* 42: ReduceAction475 < ReduceAction475: superclass init_table position */},
+  {(bigint) parser___ReduceAction475___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction475(void) {
@@ -67446,10 +68965,10 @@ val_t NEW_parser___ReduceAction475___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction476[44] = {
-  {(long int) 811 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction476 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction476 < ReduceAction: superclass typecheck marker */},
-  {(long int) 811 /* 3: ReduceAction476 < ReduceAction476: superclass typecheck marker */},
+  {(bigint) 827 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction476 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction476 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 827 /* 3: ReduceAction476 < ReduceAction476: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67459,37 +68978,37 @@ const classtable_elt_t VFT_ReduceAction476[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction476 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction476 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction476___action},
-  {(long int) 2 /* 42: ReduceAction476 < ReduceAction476: superclass init_table position */},
-  {(long int) parser___ReduceAction476___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction476 < 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) 1 /* 40: ReduceAction476 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction476___action},
+  {(bigint) 2 /* 42: ReduceAction476 < ReduceAction476: superclass init_table position */},
+  {(bigint) parser___ReduceAction476___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction476(void) {
@@ -67505,10 +69024,10 @@ val_t NEW_parser___ReduceAction476___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction477[44] = {
-  {(long int) 807 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction477 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction477 < ReduceAction: superclass typecheck marker */},
-  {(long int) 807 /* 3: ReduceAction477 < ReduceAction477: superclass typecheck marker */},
+  {(bigint) 823 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction477 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction477 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 823 /* 3: ReduceAction477 < ReduceAction477: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67518,37 +69037,37 @@ const classtable_elt_t VFT_ReduceAction477[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction477 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction477 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction477___action},
-  {(long int) 2 /* 42: ReduceAction477 < ReduceAction477: superclass init_table position */},
-  {(long int) parser___ReduceAction477___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction477 < 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) 1 /* 40: ReduceAction477 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction477___action},
+  {(bigint) 2 /* 42: ReduceAction477 < ReduceAction477: superclass init_table position */},
+  {(bigint) parser___ReduceAction477___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction477(void) {
@@ -67564,10 +69083,10 @@ val_t NEW_parser___ReduceAction477___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction478[44] = {
-  {(long int) 803 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction478 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction478 < ReduceAction: superclass typecheck marker */},
-  {(long int) 803 /* 3: ReduceAction478 < ReduceAction478: superclass typecheck marker */},
+  {(bigint) 819 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction478 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction478 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 819 /* 3: ReduceAction478 < ReduceAction478: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67577,37 +69096,37 @@ const classtable_elt_t VFT_ReduceAction478[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction478 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction478 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction478___action},
-  {(long int) 2 /* 42: ReduceAction478 < ReduceAction478: superclass init_table position */},
-  {(long int) parser___ReduceAction478___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction478 < 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) 1 /* 40: ReduceAction478 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction478___action},
+  {(bigint) 2 /* 42: ReduceAction478 < ReduceAction478: superclass init_table position */},
+  {(bigint) parser___ReduceAction478___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction478(void) {
@@ -67623,10 +69142,10 @@ val_t NEW_parser___ReduceAction478___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction479[44] = {
-  {(long int) 799 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction479 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction479 < ReduceAction: superclass typecheck marker */},
-  {(long int) 799 /* 3: ReduceAction479 < ReduceAction479: superclass typecheck marker */},
+  {(bigint) 815 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction479 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction479 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 815 /* 3: ReduceAction479 < ReduceAction479: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67636,37 +69155,37 @@ const classtable_elt_t VFT_ReduceAction479[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction479 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction479 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction479___action},
-  {(long int) 2 /* 42: ReduceAction479 < ReduceAction479: superclass init_table position */},
-  {(long int) parser___ReduceAction479___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction479 < 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) 1 /* 40: ReduceAction479 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction479___action},
+  {(bigint) 2 /* 42: ReduceAction479 < ReduceAction479: superclass init_table position */},
+  {(bigint) parser___ReduceAction479___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction479(void) {
@@ -67682,10 +69201,10 @@ val_t NEW_parser___ReduceAction479___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction480[44] = {
-  {(long int) 791 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction480 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction480 < ReduceAction: superclass typecheck marker */},
-  {(long int) 791 /* 3: ReduceAction480 < ReduceAction480: superclass typecheck marker */},
+  {(bigint) 807 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction480 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction480 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 807 /* 3: ReduceAction480 < ReduceAction480: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67695,37 +69214,37 @@ const classtable_elt_t VFT_ReduceAction480[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction480 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction480 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction480___action},
-  {(long int) 2 /* 42: ReduceAction480 < ReduceAction480: superclass init_table position */},
-  {(long int) parser___ReduceAction480___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction480 < 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) 1 /* 40: ReduceAction480 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction480___action},
+  {(bigint) 2 /* 42: ReduceAction480 < ReduceAction480: superclass init_table position */},
+  {(bigint) parser___ReduceAction480___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction480(void) {
@@ -67741,10 +69260,10 @@ val_t NEW_parser___ReduceAction480___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction481[44] = {
-  {(long int) 787 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction481 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction481 < ReduceAction: superclass typecheck marker */},
-  {(long int) 787 /* 3: ReduceAction481 < ReduceAction481: superclass typecheck marker */},
+  {(bigint) 803 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction481 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction481 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 803 /* 3: ReduceAction481 < ReduceAction481: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67754,37 +69273,37 @@ const classtable_elt_t VFT_ReduceAction481[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction481 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction481 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction481___action},
-  {(long int) 2 /* 42: ReduceAction481 < ReduceAction481: superclass init_table position */},
-  {(long int) parser___ReduceAction481___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction481 < 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) 1 /* 40: ReduceAction481 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction481___action},
+  {(bigint) 2 /* 42: ReduceAction481 < ReduceAction481: superclass init_table position */},
+  {(bigint) parser___ReduceAction481___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction481(void) {
@@ -67800,10 +69319,10 @@ val_t NEW_parser___ReduceAction481___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction482[44] = {
-  {(long int) 783 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction482 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction482 < ReduceAction: superclass typecheck marker */},
-  {(long int) 783 /* 3: ReduceAction482 < ReduceAction482: superclass typecheck marker */},
+  {(bigint) 799 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction482 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction482 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 799 /* 3: ReduceAction482 < ReduceAction482: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67813,37 +69332,37 @@ const classtable_elt_t VFT_ReduceAction482[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction482 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction482 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction482___action},
-  {(long int) 2 /* 42: ReduceAction482 < ReduceAction482: superclass init_table position */},
-  {(long int) parser___ReduceAction482___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction482 < 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) 1 /* 40: ReduceAction482 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction482___action},
+  {(bigint) 2 /* 42: ReduceAction482 < ReduceAction482: superclass init_table position */},
+  {(bigint) parser___ReduceAction482___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction482(void) {
@@ -67859,10 +69378,10 @@ val_t NEW_parser___ReduceAction482___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction483[44] = {
-  {(long int) 779 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction483 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction483 < ReduceAction: superclass typecheck marker */},
-  {(long int) 779 /* 3: ReduceAction483 < ReduceAction483: superclass typecheck marker */},
+  {(bigint) 795 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction483 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction483 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 795 /* 3: ReduceAction483 < ReduceAction483: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67872,37 +69391,37 @@ const classtable_elt_t VFT_ReduceAction483[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction483 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction483 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction483___action},
-  {(long int) 2 /* 42: ReduceAction483 < ReduceAction483: superclass init_table position */},
-  {(long int) parser___ReduceAction483___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction483 < 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) 1 /* 40: ReduceAction483 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction483___action},
+  {(bigint) 2 /* 42: ReduceAction483 < ReduceAction483: superclass init_table position */},
+  {(bigint) parser___ReduceAction483___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction483(void) {
@@ -67918,10 +69437,10 @@ val_t NEW_parser___ReduceAction483___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction484[44] = {
-  {(long int) 775 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction484 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction484 < ReduceAction: superclass typecheck marker */},
-  {(long int) 775 /* 3: ReduceAction484 < ReduceAction484: superclass typecheck marker */},
+  {(bigint) 791 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction484 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction484 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 791 /* 3: ReduceAction484 < ReduceAction484: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67931,37 +69450,37 @@ const classtable_elt_t VFT_ReduceAction484[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction484 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction484 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction484___action},
-  {(long int) 2 /* 42: ReduceAction484 < ReduceAction484: superclass init_table position */},
-  {(long int) parser___ReduceAction484___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction484 < 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) 1 /* 40: ReduceAction484 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction484___action},
+  {(bigint) 2 /* 42: ReduceAction484 < ReduceAction484: superclass init_table position */},
+  {(bigint) parser___ReduceAction484___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction484(void) {
@@ -67977,10 +69496,10 @@ val_t NEW_parser___ReduceAction484___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction485[44] = {
-  {(long int) 771 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction485 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction485 < ReduceAction: superclass typecheck marker */},
-  {(long int) 771 /* 3: ReduceAction485 < ReduceAction485: superclass typecheck marker */},
+  {(bigint) 787 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction485 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction485 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 787 /* 3: ReduceAction485 < ReduceAction485: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -67990,37 +69509,37 @@ const classtable_elt_t VFT_ReduceAction485[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction485 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction485 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction485___action},
-  {(long int) 2 /* 42: ReduceAction485 < ReduceAction485: superclass init_table position */},
-  {(long int) parser___ReduceAction485___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction485 < 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) 1 /* 40: ReduceAction485 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction485___action},
+  {(bigint) 2 /* 42: ReduceAction485 < ReduceAction485: superclass init_table position */},
+  {(bigint) parser___ReduceAction485___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction485(void) {
@@ -68036,10 +69555,10 @@ val_t NEW_parser___ReduceAction485___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction486[44] = {
-  {(long int) 767 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction486 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction486 < ReduceAction: superclass typecheck marker */},
-  {(long int) 767 /* 3: ReduceAction486 < ReduceAction486: superclass typecheck marker */},
+  {(bigint) 783 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction486 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction486 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 783 /* 3: ReduceAction486 < ReduceAction486: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68049,37 +69568,37 @@ const classtable_elt_t VFT_ReduceAction486[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction486 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction486 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction486___action},
-  {(long int) 2 /* 42: ReduceAction486 < ReduceAction486: superclass init_table position */},
-  {(long int) parser___ReduceAction486___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction486 < 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) 1 /* 40: ReduceAction486 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction486___action},
+  {(bigint) 2 /* 42: ReduceAction486 < ReduceAction486: superclass init_table position */},
+  {(bigint) parser___ReduceAction486___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction486(void) {
@@ -68095,10 +69614,10 @@ val_t NEW_parser___ReduceAction486___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction487[44] = {
-  {(long int) 763 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction487 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction487 < ReduceAction: superclass typecheck marker */},
-  {(long int) 763 /* 3: ReduceAction487 < ReduceAction487: superclass typecheck marker */},
+  {(bigint) 779 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction487 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction487 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 779 /* 3: ReduceAction487 < ReduceAction487: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68108,37 +69627,37 @@ const classtable_elt_t VFT_ReduceAction487[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction487 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction487 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction487___action},
-  {(long int) 2 /* 42: ReduceAction487 < ReduceAction487: superclass init_table position */},
-  {(long int) parser___ReduceAction487___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction487 < 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) 1 /* 40: ReduceAction487 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction487___action},
+  {(bigint) 2 /* 42: ReduceAction487 < ReduceAction487: superclass init_table position */},
+  {(bigint) parser___ReduceAction487___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction487(void) {
@@ -68154,10 +69673,10 @@ val_t NEW_parser___ReduceAction487___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction488[44] = {
-  {(long int) 759 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction488 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction488 < ReduceAction: superclass typecheck marker */},
-  {(long int) 759 /* 3: ReduceAction488 < ReduceAction488: superclass typecheck marker */},
+  {(bigint) 775 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction488 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction488 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 775 /* 3: ReduceAction488 < ReduceAction488: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68167,37 +69686,37 @@ const classtable_elt_t VFT_ReduceAction488[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction488 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction488 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction488___action},
-  {(long int) 2 /* 42: ReduceAction488 < ReduceAction488: superclass init_table position */},
-  {(long int) parser___ReduceAction488___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction488 < 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) 1 /* 40: ReduceAction488 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction488___action},
+  {(bigint) 2 /* 42: ReduceAction488 < ReduceAction488: superclass init_table position */},
+  {(bigint) parser___ReduceAction488___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction488(void) {
@@ -68213,10 +69732,10 @@ val_t NEW_parser___ReduceAction488___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction489[44] = {
-  {(long int) 755 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction489 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction489 < ReduceAction: superclass typecheck marker */},
-  {(long int) 755 /* 3: ReduceAction489 < ReduceAction489: superclass typecheck marker */},
+  {(bigint) 771 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction489 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction489 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 771 /* 3: ReduceAction489 < ReduceAction489: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68226,37 +69745,37 @@ const classtable_elt_t VFT_ReduceAction489[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction489 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction489 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction489___action},
-  {(long int) 2 /* 42: ReduceAction489 < ReduceAction489: superclass init_table position */},
-  {(long int) parser___ReduceAction489___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction489 < 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) 1 /* 40: ReduceAction489 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction489___action},
+  {(bigint) 2 /* 42: ReduceAction489 < ReduceAction489: superclass init_table position */},
+  {(bigint) parser___ReduceAction489___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction489(void) {
@@ -68272,10 +69791,10 @@ val_t NEW_parser___ReduceAction489___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction490[44] = {
-  {(long int) 747 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction490 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction490 < ReduceAction: superclass typecheck marker */},
-  {(long int) 747 /* 3: ReduceAction490 < ReduceAction490: superclass typecheck marker */},
+  {(bigint) 763 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction490 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction490 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 763 /* 3: ReduceAction490 < ReduceAction490: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68285,37 +69804,37 @@ const classtable_elt_t VFT_ReduceAction490[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction490 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction490 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction490___action},
-  {(long int) 2 /* 42: ReduceAction490 < ReduceAction490: superclass init_table position */},
-  {(long int) parser___ReduceAction490___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction490 < 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) 1 /* 40: ReduceAction490 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction490___action},
+  {(bigint) 2 /* 42: ReduceAction490 < ReduceAction490: superclass init_table position */},
+  {(bigint) parser___ReduceAction490___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction490(void) {
@@ -68331,10 +69850,10 @@ val_t NEW_parser___ReduceAction490___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction491[44] = {
-  {(long int) 743 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction491 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction491 < ReduceAction: superclass typecheck marker */},
-  {(long int) 743 /* 3: ReduceAction491 < ReduceAction491: superclass typecheck marker */},
+  {(bigint) 759 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction491 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction491 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 759 /* 3: ReduceAction491 < ReduceAction491: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68344,37 +69863,37 @@ const classtable_elt_t VFT_ReduceAction491[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction491 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction491 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction491___action},
-  {(long int) 2 /* 42: ReduceAction491 < ReduceAction491: superclass init_table position */},
-  {(long int) parser___ReduceAction491___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction491 < 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) 1 /* 40: ReduceAction491 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction491___action},
+  {(bigint) 2 /* 42: ReduceAction491 < ReduceAction491: superclass init_table position */},
+  {(bigint) parser___ReduceAction491___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction491(void) {
@@ -68390,10 +69909,10 @@ val_t NEW_parser___ReduceAction491___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction492[44] = {
-  {(long int) 739 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction492 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction492 < ReduceAction: superclass typecheck marker */},
-  {(long int) 739 /* 3: ReduceAction492 < ReduceAction492: superclass typecheck marker */},
+  {(bigint) 755 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction492 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction492 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 755 /* 3: ReduceAction492 < ReduceAction492: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68403,37 +69922,37 @@ const classtable_elt_t VFT_ReduceAction492[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction492 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction492 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction492___action},
-  {(long int) 2 /* 42: ReduceAction492 < ReduceAction492: superclass init_table position */},
-  {(long int) parser___ReduceAction492___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction492 < 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) 1 /* 40: ReduceAction492 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction492___action},
+  {(bigint) 2 /* 42: ReduceAction492 < ReduceAction492: superclass init_table position */},
+  {(bigint) parser___ReduceAction492___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction492(void) {
@@ -68449,10 +69968,10 @@ val_t NEW_parser___ReduceAction492___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction493[44] = {
-  {(long int) 735 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction493 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction493 < ReduceAction: superclass typecheck marker */},
-  {(long int) 735 /* 3: ReduceAction493 < ReduceAction493: superclass typecheck marker */},
+  {(bigint) 751 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction493 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction493 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 751 /* 3: ReduceAction493 < ReduceAction493: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68462,37 +69981,37 @@ const classtable_elt_t VFT_ReduceAction493[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction493 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction493 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction493___action},
-  {(long int) 2 /* 42: ReduceAction493 < ReduceAction493: superclass init_table position */},
-  {(long int) parser___ReduceAction493___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction493 < 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) 1 /* 40: ReduceAction493 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction493___action},
+  {(bigint) 2 /* 42: ReduceAction493 < ReduceAction493: superclass init_table position */},
+  {(bigint) parser___ReduceAction493___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction493(void) {
@@ -68508,10 +70027,10 @@ val_t NEW_parser___ReduceAction493___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction494[44] = {
-  {(long int) 731 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction494 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction494 < ReduceAction: superclass typecheck marker */},
-  {(long int) 731 /* 3: ReduceAction494 < ReduceAction494: superclass typecheck marker */},
+  {(bigint) 747 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction494 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction494 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 747 /* 3: ReduceAction494 < ReduceAction494: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68521,37 +70040,37 @@ const classtable_elt_t VFT_ReduceAction494[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction494 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction494 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction494___action},
-  {(long int) 2 /* 42: ReduceAction494 < ReduceAction494: superclass init_table position */},
-  {(long int) parser___ReduceAction494___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction494 < 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) 1 /* 40: ReduceAction494 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction494___action},
+  {(bigint) 2 /* 42: ReduceAction494 < ReduceAction494: superclass init_table position */},
+  {(bigint) parser___ReduceAction494___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction494(void) {
@@ -68567,10 +70086,10 @@ val_t NEW_parser___ReduceAction494___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction495[44] = {
-  {(long int) 727 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction495 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction495 < ReduceAction: superclass typecheck marker */},
-  {(long int) 727 /* 3: ReduceAction495 < ReduceAction495: superclass typecheck marker */},
+  {(bigint) 743 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction495 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction495 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 743 /* 3: ReduceAction495 < ReduceAction495: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68580,37 +70099,37 @@ const classtable_elt_t VFT_ReduceAction495[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction495 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction495 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction495___action},
-  {(long int) 2 /* 42: ReduceAction495 < ReduceAction495: superclass init_table position */},
-  {(long int) parser___ReduceAction495___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction495 < 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) 1 /* 40: ReduceAction495 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction495___action},
+  {(bigint) 2 /* 42: ReduceAction495 < ReduceAction495: superclass init_table position */},
+  {(bigint) parser___ReduceAction495___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction495(void) {
@@ -68626,10 +70145,10 @@ val_t NEW_parser___ReduceAction495___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction496[44] = {
-  {(long int) 723 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction496 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction496 < ReduceAction: superclass typecheck marker */},
-  {(long int) 723 /* 3: ReduceAction496 < ReduceAction496: superclass typecheck marker */},
+  {(bigint) 739 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction496 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction496 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 739 /* 3: ReduceAction496 < ReduceAction496: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68639,37 +70158,37 @@ const classtable_elt_t VFT_ReduceAction496[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction496 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction496 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction496___action},
-  {(long int) 2 /* 42: ReduceAction496 < ReduceAction496: superclass init_table position */},
-  {(long int) parser___ReduceAction496___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction496 < 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) 1 /* 40: ReduceAction496 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction496___action},
+  {(bigint) 2 /* 42: ReduceAction496 < ReduceAction496: superclass init_table position */},
+  {(bigint) parser___ReduceAction496___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction496(void) {
@@ -68685,10 +70204,10 @@ val_t NEW_parser___ReduceAction496___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction497[44] = {
-  {(long int) 719 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction497 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction497 < ReduceAction: superclass typecheck marker */},
-  {(long int) 719 /* 3: ReduceAction497 < ReduceAction497: superclass typecheck marker */},
+  {(bigint) 735 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction497 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction497 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 735 /* 3: ReduceAction497 < ReduceAction497: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68698,37 +70217,37 @@ const classtable_elt_t VFT_ReduceAction497[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction497 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction497 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction497___action},
-  {(long int) 2 /* 42: ReduceAction497 < ReduceAction497: superclass init_table position */},
-  {(long int) parser___ReduceAction497___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction497 < 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) 1 /* 40: ReduceAction497 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction497___action},
+  {(bigint) 2 /* 42: ReduceAction497 < ReduceAction497: superclass init_table position */},
+  {(bigint) parser___ReduceAction497___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction497(void) {
@@ -68744,10 +70263,10 @@ val_t NEW_parser___ReduceAction497___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction498[44] = {
-  {(long int) 715 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction498 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction498 < ReduceAction: superclass typecheck marker */},
-  {(long int) 715 /* 3: ReduceAction498 < ReduceAction498: superclass typecheck marker */},
+  {(bigint) 731 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction498 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction498 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 731 /* 3: ReduceAction498 < ReduceAction498: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68757,37 +70276,37 @@ const classtable_elt_t VFT_ReduceAction498[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction498 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction498 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction498___action},
-  {(long int) 2 /* 42: ReduceAction498 < ReduceAction498: superclass init_table position */},
-  {(long int) parser___ReduceAction498___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction498 < 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) 1 /* 40: ReduceAction498 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction498___action},
+  {(bigint) 2 /* 42: ReduceAction498 < ReduceAction498: superclass init_table position */},
+  {(bigint) parser___ReduceAction498___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction498(void) {
@@ -68803,10 +70322,10 @@ val_t NEW_parser___ReduceAction498___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction499[44] = {
-  {(long int) 711 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction499 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction499 < ReduceAction: superclass typecheck marker */},
-  {(long int) 711 /* 3: ReduceAction499 < ReduceAction499: superclass typecheck marker */},
+  {(bigint) 727 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction499 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction499 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 727 /* 3: ReduceAction499 < ReduceAction499: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68816,37 +70335,37 @@ const classtable_elt_t VFT_ReduceAction499[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction499 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction499 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction499___action},
-  {(long int) 2 /* 42: ReduceAction499 < ReduceAction499: superclass init_table position */},
-  {(long int) parser___ReduceAction499___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction499 < 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) 1 /* 40: ReduceAction499 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction499___action},
+  {(bigint) 2 /* 42: ReduceAction499 < ReduceAction499: superclass init_table position */},
+  {(bigint) parser___ReduceAction499___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction499(void) {
@@ -68862,10 +70381,10 @@ val_t NEW_parser___ReduceAction499___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction500[44] = {
-  {(long int) 699 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction500 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction500 < ReduceAction: superclass typecheck marker */},
-  {(long int) 699 /* 3: ReduceAction500 < ReduceAction500: superclass typecheck marker */},
+  {(bigint) 715 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction500 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction500 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 715 /* 3: ReduceAction500 < ReduceAction500: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68875,37 +70394,37 @@ const classtable_elt_t VFT_ReduceAction500[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction500 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction500 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction500___action},
-  {(long int) 2 /* 42: ReduceAction500 < ReduceAction500: superclass init_table position */},
-  {(long int) parser___ReduceAction500___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction500 < 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) 1 /* 40: ReduceAction500 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction500___action},
+  {(bigint) 2 /* 42: ReduceAction500 < ReduceAction500: superclass init_table position */},
+  {(bigint) parser___ReduceAction500___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction500(void) {
@@ -68921,10 +70440,10 @@ val_t NEW_parser___ReduceAction500___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction501[44] = {
-  {(long int) 695 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction501 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction501 < ReduceAction: superclass typecheck marker */},
-  {(long int) 695 /* 3: ReduceAction501 < ReduceAction501: superclass typecheck marker */},
+  {(bigint) 711 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction501 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction501 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 711 /* 3: ReduceAction501 < ReduceAction501: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68934,37 +70453,37 @@ const classtable_elt_t VFT_ReduceAction501[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction501 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction501 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction501___action},
-  {(long int) 2 /* 42: ReduceAction501 < ReduceAction501: superclass init_table position */},
-  {(long int) parser___ReduceAction501___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction501 < 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) 1 /* 40: ReduceAction501 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction501___action},
+  {(bigint) 2 /* 42: ReduceAction501 < ReduceAction501: superclass init_table position */},
+  {(bigint) parser___ReduceAction501___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction501(void) {
@@ -68980,10 +70499,10 @@ val_t NEW_parser___ReduceAction501___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction502[44] = {
-  {(long int) 691 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction502 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction502 < ReduceAction: superclass typecheck marker */},
-  {(long int) 691 /* 3: ReduceAction502 < ReduceAction502: superclass typecheck marker */},
+  {(bigint) 707 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction502 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction502 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 707 /* 3: ReduceAction502 < ReduceAction502: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -68993,37 +70512,37 @@ const classtable_elt_t VFT_ReduceAction502[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction502 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction502 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction502___action},
-  {(long int) 2 /* 42: ReduceAction502 < ReduceAction502: superclass init_table position */},
-  {(long int) parser___ReduceAction502___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction502 < 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) 1 /* 40: ReduceAction502 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction502___action},
+  {(bigint) 2 /* 42: ReduceAction502 < ReduceAction502: superclass init_table position */},
+  {(bigint) parser___ReduceAction502___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction502(void) {
@@ -69039,10 +70558,10 @@ val_t NEW_parser___ReduceAction502___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction503[44] = {
-  {(long int) 687 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction503 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction503 < ReduceAction: superclass typecheck marker */},
-  {(long int) 687 /* 3: ReduceAction503 < ReduceAction503: superclass typecheck marker */},
+  {(bigint) 703 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction503 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction503 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 703 /* 3: ReduceAction503 < ReduceAction503: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69052,37 +70571,37 @@ const classtable_elt_t VFT_ReduceAction503[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction503 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction503 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction503___action},
-  {(long int) 2 /* 42: ReduceAction503 < ReduceAction503: superclass init_table position */},
-  {(long int) parser___ReduceAction503___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction503 < 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) 1 /* 40: ReduceAction503 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction503___action},
+  {(bigint) 2 /* 42: ReduceAction503 < ReduceAction503: superclass init_table position */},
+  {(bigint) parser___ReduceAction503___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction503(void) {
@@ -69098,10 +70617,10 @@ val_t NEW_parser___ReduceAction503___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction504[44] = {
-  {(long int) 683 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction504 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction504 < ReduceAction: superclass typecheck marker */},
-  {(long int) 683 /* 3: ReduceAction504 < ReduceAction504: superclass typecheck marker */},
+  {(bigint) 699 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction504 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction504 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 699 /* 3: ReduceAction504 < ReduceAction504: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69111,37 +70630,37 @@ const classtable_elt_t VFT_ReduceAction504[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction504 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction504 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction504___action},
-  {(long int) 2 /* 42: ReduceAction504 < ReduceAction504: superclass init_table position */},
-  {(long int) parser___ReduceAction504___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction504 < 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) 1 /* 40: ReduceAction504 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction504___action},
+  {(bigint) 2 /* 42: ReduceAction504 < ReduceAction504: superclass init_table position */},
+  {(bigint) parser___ReduceAction504___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction504(void) {
@@ -69157,10 +70676,10 @@ val_t NEW_parser___ReduceAction504___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction505[44] = {
-  {(long int) 679 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction505 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction505 < ReduceAction: superclass typecheck marker */},
-  {(long int) 679 /* 3: ReduceAction505 < ReduceAction505: superclass typecheck marker */},
+  {(bigint) 695 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction505 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction505 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 695 /* 3: ReduceAction505 < ReduceAction505: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69170,37 +70689,37 @@ const classtable_elt_t VFT_ReduceAction505[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction505 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction505 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction505___action},
-  {(long int) 2 /* 42: ReduceAction505 < ReduceAction505: superclass init_table position */},
-  {(long int) parser___ReduceAction505___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction505 < 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) 1 /* 40: ReduceAction505 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction505___action},
+  {(bigint) 2 /* 42: ReduceAction505 < ReduceAction505: superclass init_table position */},
+  {(bigint) parser___ReduceAction505___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction505(void) {
@@ -69216,10 +70735,10 @@ val_t NEW_parser___ReduceAction505___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction506[44] = {
-  {(long int) 675 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction506 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction506 < ReduceAction: superclass typecheck marker */},
-  {(long int) 675 /* 3: ReduceAction506 < ReduceAction506: superclass typecheck marker */},
+  {(bigint) 691 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction506 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction506 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 691 /* 3: ReduceAction506 < ReduceAction506: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69229,37 +70748,37 @@ const classtable_elt_t VFT_ReduceAction506[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction506 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction506 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction506___action},
-  {(long int) 2 /* 42: ReduceAction506 < ReduceAction506: superclass init_table position */},
-  {(long int) parser___ReduceAction506___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction506 < 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) 1 /* 40: ReduceAction506 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction506___action},
+  {(bigint) 2 /* 42: ReduceAction506 < ReduceAction506: superclass init_table position */},
+  {(bigint) parser___ReduceAction506___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction506(void) {
@@ -69275,10 +70794,10 @@ val_t NEW_parser___ReduceAction506___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction507[44] = {
-  {(long int) 671 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction507 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction507 < ReduceAction: superclass typecheck marker */},
-  {(long int) 671 /* 3: ReduceAction507 < ReduceAction507: superclass typecheck marker */},
+  {(bigint) 687 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction507 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction507 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 687 /* 3: ReduceAction507 < ReduceAction507: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69288,37 +70807,37 @@ const classtable_elt_t VFT_ReduceAction507[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction507 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction507 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction507___action},
-  {(long int) 2 /* 42: ReduceAction507 < ReduceAction507: superclass init_table position */},
-  {(long int) parser___ReduceAction507___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction507 < 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) 1 /* 40: ReduceAction507 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction507___action},
+  {(bigint) 2 /* 42: ReduceAction507 < ReduceAction507: superclass init_table position */},
+  {(bigint) parser___ReduceAction507___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction507(void) {
@@ -69334,10 +70853,10 @@ val_t NEW_parser___ReduceAction507___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction508[44] = {
-  {(long int) 667 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction508 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction508 < ReduceAction: superclass typecheck marker */},
-  {(long int) 667 /* 3: ReduceAction508 < ReduceAction508: superclass typecheck marker */},
+  {(bigint) 683 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction508 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction508 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 683 /* 3: ReduceAction508 < ReduceAction508: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69347,37 +70866,37 @@ const classtable_elt_t VFT_ReduceAction508[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction508 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction508 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction508___action},
-  {(long int) 2 /* 42: ReduceAction508 < ReduceAction508: superclass init_table position */},
-  {(long int) parser___ReduceAction508___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction508 < 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) 1 /* 40: ReduceAction508 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction508___action},
+  {(bigint) 2 /* 42: ReduceAction508 < ReduceAction508: superclass init_table position */},
+  {(bigint) parser___ReduceAction508___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction508(void) {
@@ -69393,10 +70912,10 @@ val_t NEW_parser___ReduceAction508___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction509[44] = {
-  {(long int) 663 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction509 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction509 < ReduceAction: superclass typecheck marker */},
-  {(long int) 663 /* 3: ReduceAction509 < ReduceAction509: superclass typecheck marker */},
+  {(bigint) 679 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction509 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction509 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 679 /* 3: ReduceAction509 < ReduceAction509: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69406,37 +70925,37 @@ const classtable_elt_t VFT_ReduceAction509[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction509 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction509 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction509___action},
-  {(long int) 2 /* 42: ReduceAction509 < ReduceAction509: superclass init_table position */},
-  {(long int) parser___ReduceAction509___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction509 < 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) 1 /* 40: ReduceAction509 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction509___action},
+  {(bigint) 2 /* 42: ReduceAction509 < ReduceAction509: superclass init_table position */},
+  {(bigint) parser___ReduceAction509___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction509(void) {
@@ -69452,10 +70971,10 @@ val_t NEW_parser___ReduceAction509___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction510[44] = {
-  {(long int) 655 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction510 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction510 < ReduceAction: superclass typecheck marker */},
-  {(long int) 655 /* 3: ReduceAction510 < ReduceAction510: superclass typecheck marker */},
+  {(bigint) 671 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction510 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction510 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 671 /* 3: ReduceAction510 < ReduceAction510: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69465,37 +70984,37 @@ const classtable_elt_t VFT_ReduceAction510[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction510 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction510 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction510___action},
-  {(long int) 2 /* 42: ReduceAction510 < ReduceAction510: superclass init_table position */},
-  {(long int) parser___ReduceAction510___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction510 < 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) 1 /* 40: ReduceAction510 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction510___action},
+  {(bigint) 2 /* 42: ReduceAction510 < ReduceAction510: superclass init_table position */},
+  {(bigint) parser___ReduceAction510___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction510(void) {
@@ -69511,10 +71030,10 @@ val_t NEW_parser___ReduceAction510___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction511[44] = {
-  {(long int) 651 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction511 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction511 < ReduceAction: superclass typecheck marker */},
-  {(long int) 651 /* 3: ReduceAction511 < ReduceAction511: superclass typecheck marker */},
+  {(bigint) 667 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction511 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction511 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 667 /* 3: ReduceAction511 < ReduceAction511: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69524,37 +71043,37 @@ const classtable_elt_t VFT_ReduceAction511[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction511 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction511 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction511___action},
-  {(long int) 2 /* 42: ReduceAction511 < ReduceAction511: superclass init_table position */},
-  {(long int) parser___ReduceAction511___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction511 < 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) 1 /* 40: ReduceAction511 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction511___action},
+  {(bigint) 2 /* 42: ReduceAction511 < ReduceAction511: superclass init_table position */},
+  {(bigint) parser___ReduceAction511___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction511(void) {
@@ -69570,10 +71089,10 @@ val_t NEW_parser___ReduceAction511___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction512[44] = {
-  {(long int) 647 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction512 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction512 < ReduceAction: superclass typecheck marker */},
-  {(long int) 647 /* 3: ReduceAction512 < ReduceAction512: superclass typecheck marker */},
+  {(bigint) 663 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction512 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction512 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 663 /* 3: ReduceAction512 < ReduceAction512: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69583,37 +71102,37 @@ const classtable_elt_t VFT_ReduceAction512[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction512 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction512 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction512___action},
-  {(long int) 2 /* 42: ReduceAction512 < ReduceAction512: superclass init_table position */},
-  {(long int) parser___ReduceAction512___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction512 < 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) 1 /* 40: ReduceAction512 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction512___action},
+  {(bigint) 2 /* 42: ReduceAction512 < ReduceAction512: superclass init_table position */},
+  {(bigint) parser___ReduceAction512___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction512(void) {
@@ -69629,10 +71148,10 @@ val_t NEW_parser___ReduceAction512___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction513[44] = {
-  {(long int) 643 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction513 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction513 < ReduceAction: superclass typecheck marker */},
-  {(long int) 643 /* 3: ReduceAction513 < ReduceAction513: superclass typecheck marker */},
+  {(bigint) 659 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction513 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction513 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 659 /* 3: ReduceAction513 < ReduceAction513: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69642,37 +71161,37 @@ const classtable_elt_t VFT_ReduceAction513[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction513 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction513 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction513___action},
-  {(long int) 2 /* 42: ReduceAction513 < ReduceAction513: superclass init_table position */},
-  {(long int) parser___ReduceAction513___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction513 < 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) 1 /* 40: ReduceAction513 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction513___action},
+  {(bigint) 2 /* 42: ReduceAction513 < ReduceAction513: superclass init_table position */},
+  {(bigint) parser___ReduceAction513___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction513(void) {
@@ -69688,10 +71207,10 @@ val_t NEW_parser___ReduceAction513___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction514[44] = {
-  {(long int) 639 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction514 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction514 < ReduceAction: superclass typecheck marker */},
-  {(long int) 639 /* 3: ReduceAction514 < ReduceAction514: superclass typecheck marker */},
+  {(bigint) 655 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction514 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction514 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 655 /* 3: ReduceAction514 < ReduceAction514: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69701,37 +71220,37 @@ const classtable_elt_t VFT_ReduceAction514[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction514 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction514 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction514___action},
-  {(long int) 2 /* 42: ReduceAction514 < ReduceAction514: superclass init_table position */},
-  {(long int) parser___ReduceAction514___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction514 < 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) 1 /* 40: ReduceAction514 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction514___action},
+  {(bigint) 2 /* 42: ReduceAction514 < ReduceAction514: superclass init_table position */},
+  {(bigint) parser___ReduceAction514___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction514(void) {
@@ -69747,10 +71266,10 @@ val_t NEW_parser___ReduceAction514___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction515[44] = {
-  {(long int) 635 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction515 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction515 < ReduceAction: superclass typecheck marker */},
-  {(long int) 635 /* 3: ReduceAction515 < ReduceAction515: superclass typecheck marker */},
+  {(bigint) 651 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction515 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction515 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 651 /* 3: ReduceAction515 < ReduceAction515: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69760,37 +71279,37 @@ const classtable_elt_t VFT_ReduceAction515[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction515 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction515 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction515___action},
-  {(long int) 2 /* 42: ReduceAction515 < ReduceAction515: superclass init_table position */},
-  {(long int) parser___ReduceAction515___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction515 < 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) 1 /* 40: ReduceAction515 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction515___action},
+  {(bigint) 2 /* 42: ReduceAction515 < ReduceAction515: superclass init_table position */},
+  {(bigint) parser___ReduceAction515___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction515(void) {
@@ -69806,10 +71325,10 @@ val_t NEW_parser___ReduceAction515___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction516[44] = {
-  {(long int) 631 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction516 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction516 < ReduceAction: superclass typecheck marker */},
-  {(long int) 631 /* 3: ReduceAction516 < ReduceAction516: superclass typecheck marker */},
+  {(bigint) 647 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction516 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction516 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 647 /* 3: ReduceAction516 < ReduceAction516: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69819,37 +71338,37 @@ const classtable_elt_t VFT_ReduceAction516[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction516 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction516 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction516___action},
-  {(long int) 2 /* 42: ReduceAction516 < ReduceAction516: superclass init_table position */},
-  {(long int) parser___ReduceAction516___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction516 < 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) 1 /* 40: ReduceAction516 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction516___action},
+  {(bigint) 2 /* 42: ReduceAction516 < ReduceAction516: superclass init_table position */},
+  {(bigint) parser___ReduceAction516___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction516(void) {
@@ -69865,10 +71384,10 @@ val_t NEW_parser___ReduceAction516___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction517[44] = {
-  {(long int) 627 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction517 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction517 < ReduceAction: superclass typecheck marker */},
-  {(long int) 627 /* 3: ReduceAction517 < ReduceAction517: superclass typecheck marker */},
+  {(bigint) 643 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction517 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction517 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 643 /* 3: ReduceAction517 < ReduceAction517: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69878,37 +71397,37 @@ const classtable_elt_t VFT_ReduceAction517[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction517 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction517 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction517___action},
-  {(long int) 2 /* 42: ReduceAction517 < ReduceAction517: superclass init_table position */},
-  {(long int) parser___ReduceAction517___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction517 < 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) 1 /* 40: ReduceAction517 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction517___action},
+  {(bigint) 2 /* 42: ReduceAction517 < ReduceAction517: superclass init_table position */},
+  {(bigint) parser___ReduceAction517___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction517(void) {
@@ -69924,10 +71443,10 @@ val_t NEW_parser___ReduceAction517___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction518[44] = {
-  {(long int) 623 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction518 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction518 < ReduceAction: superclass typecheck marker */},
-  {(long int) 623 /* 3: ReduceAction518 < ReduceAction518: superclass typecheck marker */},
+  {(bigint) 639 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction518 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction518 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 639 /* 3: ReduceAction518 < ReduceAction518: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69937,37 +71456,37 @@ const classtable_elt_t VFT_ReduceAction518[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction518 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction518 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction518___action},
-  {(long int) 2 /* 42: ReduceAction518 < ReduceAction518: superclass init_table position */},
-  {(long int) parser___ReduceAction518___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction518 < 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) 1 /* 40: ReduceAction518 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction518___action},
+  {(bigint) 2 /* 42: ReduceAction518 < ReduceAction518: superclass init_table position */},
+  {(bigint) parser___ReduceAction518___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction518(void) {
@@ -69983,10 +71502,10 @@ val_t NEW_parser___ReduceAction518___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction519[44] = {
-  {(long int) 619 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction519 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction519 < ReduceAction: superclass typecheck marker */},
-  {(long int) 619 /* 3: ReduceAction519 < ReduceAction519: superclass typecheck marker */},
+  {(bigint) 635 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction519 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction519 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 635 /* 3: ReduceAction519 < ReduceAction519: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -69996,37 +71515,37 @@ const classtable_elt_t VFT_ReduceAction519[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction519 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction519 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction519___action},
-  {(long int) 2 /* 42: ReduceAction519 < ReduceAction519: superclass init_table position */},
-  {(long int) parser___ReduceAction519___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction519 < 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) 1 /* 40: ReduceAction519 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction519___action},
+  {(bigint) 2 /* 42: ReduceAction519 < ReduceAction519: superclass init_table position */},
+  {(bigint) parser___ReduceAction519___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction519(void) {
@@ -70042,10 +71561,10 @@ val_t NEW_parser___ReduceAction519___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction520[44] = {
-  {(long int) 611 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction520 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction520 < ReduceAction: superclass typecheck marker */},
-  {(long int) 611 /* 3: ReduceAction520 < ReduceAction520: superclass typecheck marker */},
+  {(bigint) 627 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction520 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction520 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 627 /* 3: ReduceAction520 < ReduceAction520: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70055,37 +71574,37 @@ const classtable_elt_t VFT_ReduceAction520[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction520 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction520 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction520___action},
-  {(long int) 2 /* 42: ReduceAction520 < ReduceAction520: superclass init_table position */},
-  {(long int) parser___ReduceAction520___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction520 < 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) 1 /* 40: ReduceAction520 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction520___action},
+  {(bigint) 2 /* 42: ReduceAction520 < ReduceAction520: superclass init_table position */},
+  {(bigint) parser___ReduceAction520___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction520(void) {
@@ -70101,10 +71620,10 @@ val_t NEW_parser___ReduceAction520___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction521[44] = {
-  {(long int) 607 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction521 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction521 < ReduceAction: superclass typecheck marker */},
-  {(long int) 607 /* 3: ReduceAction521 < ReduceAction521: superclass typecheck marker */},
+  {(bigint) 623 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction521 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction521 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 623 /* 3: ReduceAction521 < ReduceAction521: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70114,37 +71633,37 @@ const classtable_elt_t VFT_ReduceAction521[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction521 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction521 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction521___action},
-  {(long int) 2 /* 42: ReduceAction521 < ReduceAction521: superclass init_table position */},
-  {(long int) parser___ReduceAction521___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction521 < 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) 1 /* 40: ReduceAction521 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction521___action},
+  {(bigint) 2 /* 42: ReduceAction521 < ReduceAction521: superclass init_table position */},
+  {(bigint) parser___ReduceAction521___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction521(void) {
@@ -70160,10 +71679,10 @@ val_t NEW_parser___ReduceAction521___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction522[44] = {
-  {(long int) 603 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction522 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction522 < ReduceAction: superclass typecheck marker */},
-  {(long int) 603 /* 3: ReduceAction522 < ReduceAction522: superclass typecheck marker */},
+  {(bigint) 619 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction522 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction522 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 619 /* 3: ReduceAction522 < ReduceAction522: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70173,37 +71692,37 @@ const classtable_elt_t VFT_ReduceAction522[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction522 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction522 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction522___action},
-  {(long int) 2 /* 42: ReduceAction522 < ReduceAction522: superclass init_table position */},
-  {(long int) parser___ReduceAction522___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction522 < 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) 1 /* 40: ReduceAction522 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction522___action},
+  {(bigint) 2 /* 42: ReduceAction522 < ReduceAction522: superclass init_table position */},
+  {(bigint) parser___ReduceAction522___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction522(void) {
@@ -70219,10 +71738,10 @@ val_t NEW_parser___ReduceAction522___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction523[44] = {
-  {(long int) 599 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction523 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction523 < ReduceAction: superclass typecheck marker */},
-  {(long int) 599 /* 3: ReduceAction523 < ReduceAction523: superclass typecheck marker */},
+  {(bigint) 615 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction523 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction523 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 615 /* 3: ReduceAction523 < ReduceAction523: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70232,37 +71751,37 @@ const classtable_elt_t VFT_ReduceAction523[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction523 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction523 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction523___action},
-  {(long int) 2 /* 42: ReduceAction523 < ReduceAction523: superclass init_table position */},
-  {(long int) parser___ReduceAction523___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction523 < 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) 1 /* 40: ReduceAction523 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction523___action},
+  {(bigint) 2 /* 42: ReduceAction523 < ReduceAction523: superclass init_table position */},
+  {(bigint) parser___ReduceAction523___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction523(void) {
@@ -70278,10 +71797,10 @@ val_t NEW_parser___ReduceAction523___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction524[44] = {
-  {(long int) 595 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction524 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction524 < ReduceAction: superclass typecheck marker */},
-  {(long int) 595 /* 3: ReduceAction524 < ReduceAction524: superclass typecheck marker */},
+  {(bigint) 611 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction524 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction524 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 611 /* 3: ReduceAction524 < ReduceAction524: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70291,37 +71810,37 @@ const classtable_elt_t VFT_ReduceAction524[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction524 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction524 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction524___action},
-  {(long int) 2 /* 42: ReduceAction524 < ReduceAction524: superclass init_table position */},
-  {(long int) parser___ReduceAction524___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction524 < 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) 1 /* 40: ReduceAction524 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction524___action},
+  {(bigint) 2 /* 42: ReduceAction524 < ReduceAction524: superclass init_table position */},
+  {(bigint) parser___ReduceAction524___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction524(void) {
@@ -70337,10 +71856,10 @@ val_t NEW_parser___ReduceAction524___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction525[44] = {
-  {(long int) 591 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction525 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction525 < ReduceAction: superclass typecheck marker */},
-  {(long int) 591 /* 3: ReduceAction525 < ReduceAction525: superclass typecheck marker */},
+  {(bigint) 607 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction525 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction525 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 607 /* 3: ReduceAction525 < ReduceAction525: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70350,37 +71869,37 @@ const classtable_elt_t VFT_ReduceAction525[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction525 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction525 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction525___action},
-  {(long int) 2 /* 42: ReduceAction525 < ReduceAction525: superclass init_table position */},
-  {(long int) parser___ReduceAction525___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction525 < 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) 1 /* 40: ReduceAction525 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction525___action},
+  {(bigint) 2 /* 42: ReduceAction525 < ReduceAction525: superclass init_table position */},
+  {(bigint) parser___ReduceAction525___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction525(void) {
@@ -70396,10 +71915,10 @@ val_t NEW_parser___ReduceAction525___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction526[44] = {
-  {(long int) 587 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction526 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction526 < ReduceAction: superclass typecheck marker */},
-  {(long int) 587 /* 3: ReduceAction526 < ReduceAction526: superclass typecheck marker */},
+  {(bigint) 603 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction526 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction526 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 603 /* 3: ReduceAction526 < ReduceAction526: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70409,37 +71928,37 @@ const classtable_elt_t VFT_ReduceAction526[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction526 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction526 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction526___action},
-  {(long int) 2 /* 42: ReduceAction526 < ReduceAction526: superclass init_table position */},
-  {(long int) parser___ReduceAction526___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction526 < 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) 1 /* 40: ReduceAction526 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction526___action},
+  {(bigint) 2 /* 42: ReduceAction526 < ReduceAction526: superclass init_table position */},
+  {(bigint) parser___ReduceAction526___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction526(void) {
@@ -70455,10 +71974,10 @@ val_t NEW_parser___ReduceAction526___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction527[44] = {
-  {(long int) 583 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction527 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction527 < ReduceAction: superclass typecheck marker */},
-  {(long int) 583 /* 3: ReduceAction527 < ReduceAction527: superclass typecheck marker */},
+  {(bigint) 599 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction527 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction527 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 599 /* 3: ReduceAction527 < ReduceAction527: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70468,37 +71987,37 @@ const classtable_elt_t VFT_ReduceAction527[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction527 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction527 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction527___action},
-  {(long int) 2 /* 42: ReduceAction527 < ReduceAction527: superclass init_table position */},
-  {(long int) parser___ReduceAction527___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction527 < 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) 1 /* 40: ReduceAction527 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction527___action},
+  {(bigint) 2 /* 42: ReduceAction527 < ReduceAction527: superclass init_table position */},
+  {(bigint) parser___ReduceAction527___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction527(void) {
@@ -70514,10 +72033,10 @@ val_t NEW_parser___ReduceAction527___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction528[44] = {
-  {(long int) 579 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction528 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction528 < ReduceAction: superclass typecheck marker */},
-  {(long int) 579 /* 3: ReduceAction528 < ReduceAction528: superclass typecheck marker */},
+  {(bigint) 595 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction528 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction528 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 595 /* 3: ReduceAction528 < ReduceAction528: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70527,37 +72046,37 @@ const classtable_elt_t VFT_ReduceAction528[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction528 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction528 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction528___action},
-  {(long int) 2 /* 42: ReduceAction528 < ReduceAction528: superclass init_table position */},
-  {(long int) parser___ReduceAction528___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction528 < 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) 1 /* 40: ReduceAction528 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction528___action},
+  {(bigint) 2 /* 42: ReduceAction528 < ReduceAction528: superclass init_table position */},
+  {(bigint) parser___ReduceAction528___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction528(void) {
@@ -70573,10 +72092,10 @@ val_t NEW_parser___ReduceAction528___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction529[44] = {
-  {(long int) 575 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction529 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction529 < ReduceAction: superclass typecheck marker */},
-  {(long int) 575 /* 3: ReduceAction529 < ReduceAction529: superclass typecheck marker */},
+  {(bigint) 591 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction529 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction529 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 591 /* 3: ReduceAction529 < ReduceAction529: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70586,37 +72105,37 @@ const classtable_elt_t VFT_ReduceAction529[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction529 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction529 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction529___action},
-  {(long int) 2 /* 42: ReduceAction529 < ReduceAction529: superclass init_table position */},
-  {(long int) parser___ReduceAction529___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction529 < 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) 1 /* 40: ReduceAction529 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction529___action},
+  {(bigint) 2 /* 42: ReduceAction529 < ReduceAction529: superclass init_table position */},
+  {(bigint) parser___ReduceAction529___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction529(void) {
@@ -70632,10 +72151,10 @@ val_t NEW_parser___ReduceAction529___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction530[44] = {
-  {(long int) 567 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction530 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction530 < ReduceAction: superclass typecheck marker */},
-  {(long int) 567 /* 3: ReduceAction530 < ReduceAction530: superclass typecheck marker */},
+  {(bigint) 583 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction530 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction530 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 583 /* 3: ReduceAction530 < ReduceAction530: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70645,37 +72164,37 @@ const classtable_elt_t VFT_ReduceAction530[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction530 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction530 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction530___action},
-  {(long int) 2 /* 42: ReduceAction530 < ReduceAction530: superclass init_table position */},
-  {(long int) parser___ReduceAction530___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction530 < 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) 1 /* 40: ReduceAction530 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction530___action},
+  {(bigint) 2 /* 42: ReduceAction530 < ReduceAction530: superclass init_table position */},
+  {(bigint) parser___ReduceAction530___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction530(void) {
@@ -70691,10 +72210,10 @@ val_t NEW_parser___ReduceAction530___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction531[44] = {
-  {(long int) 563 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction531 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction531 < ReduceAction: superclass typecheck marker */},
-  {(long int) 563 /* 3: ReduceAction531 < ReduceAction531: superclass typecheck marker */},
+  {(bigint) 579 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction531 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction531 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 579 /* 3: ReduceAction531 < ReduceAction531: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70704,37 +72223,37 @@ const classtable_elt_t VFT_ReduceAction531[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction531 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction531 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction531___action},
-  {(long int) 2 /* 42: ReduceAction531 < ReduceAction531: superclass init_table position */},
-  {(long int) parser___ReduceAction531___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction531 < 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) 1 /* 40: ReduceAction531 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction531___action},
+  {(bigint) 2 /* 42: ReduceAction531 < ReduceAction531: superclass init_table position */},
+  {(bigint) parser___ReduceAction531___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction531(void) {
@@ -70750,10 +72269,10 @@ val_t NEW_parser___ReduceAction531___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction532[44] = {
-  {(long int) 559 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction532 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction532 < ReduceAction: superclass typecheck marker */},
-  {(long int) 559 /* 3: ReduceAction532 < ReduceAction532: superclass typecheck marker */},
+  {(bigint) 575 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction532 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction532 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 575 /* 3: ReduceAction532 < ReduceAction532: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70763,37 +72282,37 @@ const classtable_elt_t VFT_ReduceAction532[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction532 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction532 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction532___action},
-  {(long int) 2 /* 42: ReduceAction532 < ReduceAction532: superclass init_table position */},
-  {(long int) parser___ReduceAction532___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction532 < 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) 1 /* 40: ReduceAction532 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction532___action},
+  {(bigint) 2 /* 42: ReduceAction532 < ReduceAction532: superclass init_table position */},
+  {(bigint) parser___ReduceAction532___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction532(void) {
@@ -70809,10 +72328,10 @@ val_t NEW_parser___ReduceAction532___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction533[44] = {
-  {(long int) 555 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction533 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction533 < ReduceAction: superclass typecheck marker */},
-  {(long int) 555 /* 3: ReduceAction533 < ReduceAction533: superclass typecheck marker */},
+  {(bigint) 571 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction533 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction533 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 571 /* 3: ReduceAction533 < ReduceAction533: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70822,37 +72341,37 @@ const classtable_elt_t VFT_ReduceAction533[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction533 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction533 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction533___action},
-  {(long int) 2 /* 42: ReduceAction533 < ReduceAction533: superclass init_table position */},
-  {(long int) parser___ReduceAction533___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction533 < 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) 1 /* 40: ReduceAction533 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction533___action},
+  {(bigint) 2 /* 42: ReduceAction533 < ReduceAction533: superclass init_table position */},
+  {(bigint) parser___ReduceAction533___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction533(void) {
@@ -70868,10 +72387,10 @@ val_t NEW_parser___ReduceAction533___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction534[44] = {
-  {(long int) 551 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction534 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction534 < ReduceAction: superclass typecheck marker */},
-  {(long int) 551 /* 3: ReduceAction534 < ReduceAction534: superclass typecheck marker */},
+  {(bigint) 567 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction534 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction534 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 567 /* 3: ReduceAction534 < ReduceAction534: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70881,37 +72400,37 @@ const classtable_elt_t VFT_ReduceAction534[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction534 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction534 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction534___action},
-  {(long int) 2 /* 42: ReduceAction534 < ReduceAction534: superclass init_table position */},
-  {(long int) parser___ReduceAction534___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction534 < 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) 1 /* 40: ReduceAction534 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction534___action},
+  {(bigint) 2 /* 42: ReduceAction534 < ReduceAction534: superclass init_table position */},
+  {(bigint) parser___ReduceAction534___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction534(void) {
@@ -70927,10 +72446,10 @@ val_t NEW_parser___ReduceAction534___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction535[44] = {
-  {(long int) 547 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction535 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction535 < ReduceAction: superclass typecheck marker */},
-  {(long int) 547 /* 3: ReduceAction535 < ReduceAction535: superclass typecheck marker */},
+  {(bigint) 563 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction535 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction535 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 563 /* 3: ReduceAction535 < ReduceAction535: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70940,37 +72459,37 @@ const classtable_elt_t VFT_ReduceAction535[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction535 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction535 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction535___action},
-  {(long int) 2 /* 42: ReduceAction535 < ReduceAction535: superclass init_table position */},
-  {(long int) parser___ReduceAction535___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction535 < 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) 1 /* 40: ReduceAction535 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction535___action},
+  {(bigint) 2 /* 42: ReduceAction535 < ReduceAction535: superclass init_table position */},
+  {(bigint) parser___ReduceAction535___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction535(void) {
@@ -70986,10 +72505,10 @@ val_t NEW_parser___ReduceAction535___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction536[44] = {
-  {(long int) 543 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction536 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction536 < ReduceAction: superclass typecheck marker */},
-  {(long int) 543 /* 3: ReduceAction536 < ReduceAction536: superclass typecheck marker */},
+  {(bigint) 559 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction536 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction536 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 559 /* 3: ReduceAction536 < ReduceAction536: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -70999,37 +72518,37 @@ const classtable_elt_t VFT_ReduceAction536[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction536 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction536 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction536___action},
-  {(long int) 2 /* 42: ReduceAction536 < ReduceAction536: superclass init_table position */},
-  {(long int) parser___ReduceAction536___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction536 < 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) 1 /* 40: ReduceAction536 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction536___action},
+  {(bigint) 2 /* 42: ReduceAction536 < ReduceAction536: superclass init_table position */},
+  {(bigint) parser___ReduceAction536___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction536(void) {
@@ -71045,10 +72564,10 @@ val_t NEW_parser___ReduceAction536___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction537[44] = {
-  {(long int) 539 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction537 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction537 < ReduceAction: superclass typecheck marker */},
-  {(long int) 539 /* 3: ReduceAction537 < ReduceAction537: superclass typecheck marker */},
+  {(bigint) 555 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction537 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction537 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 555 /* 3: ReduceAction537 < ReduceAction537: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71058,37 +72577,37 @@ const classtable_elt_t VFT_ReduceAction537[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction537 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction537 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction537___action},
-  {(long int) 2 /* 42: ReduceAction537 < ReduceAction537: superclass init_table position */},
-  {(long int) parser___ReduceAction537___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction537 < 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) 1 /* 40: ReduceAction537 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction537___action},
+  {(bigint) 2 /* 42: ReduceAction537 < ReduceAction537: superclass init_table position */},
+  {(bigint) parser___ReduceAction537___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction537(void) {
@@ -71104,10 +72623,10 @@ val_t NEW_parser___ReduceAction537___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction538[44] = {
-  {(long int) 535 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction538 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction538 < ReduceAction: superclass typecheck marker */},
-  {(long int) 535 /* 3: ReduceAction538 < ReduceAction538: superclass typecheck marker */},
+  {(bigint) 551 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction538 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction538 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 551 /* 3: ReduceAction538 < ReduceAction538: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71117,37 +72636,37 @@ const classtable_elt_t VFT_ReduceAction538[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction538 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction538 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction538___action},
-  {(long int) 2 /* 42: ReduceAction538 < ReduceAction538: superclass init_table position */},
-  {(long int) parser___ReduceAction538___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction538 < 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) 1 /* 40: ReduceAction538 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction538___action},
+  {(bigint) 2 /* 42: ReduceAction538 < ReduceAction538: superclass init_table position */},
+  {(bigint) parser___ReduceAction538___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction538(void) {
@@ -71163,10 +72682,10 @@ val_t NEW_parser___ReduceAction538___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction539[44] = {
-  {(long int) 531 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction539 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction539 < ReduceAction: superclass typecheck marker */},
-  {(long int) 531 /* 3: ReduceAction539 < ReduceAction539: superclass typecheck marker */},
+  {(bigint) 547 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction539 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction539 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 547 /* 3: ReduceAction539 < ReduceAction539: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71176,37 +72695,37 @@ const classtable_elt_t VFT_ReduceAction539[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction539 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction539 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction539___action},
-  {(long int) 2 /* 42: ReduceAction539 < ReduceAction539: superclass init_table position */},
-  {(long int) parser___ReduceAction539___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction539 < 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) 1 /* 40: ReduceAction539 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction539___action},
+  {(bigint) 2 /* 42: ReduceAction539 < ReduceAction539: superclass init_table position */},
+  {(bigint) parser___ReduceAction539___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction539(void) {
@@ -71222,10 +72741,10 @@ val_t NEW_parser___ReduceAction539___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction540[44] = {
-  {(long int) 523 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction540 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction540 < ReduceAction: superclass typecheck marker */},
-  {(long int) 523 /* 3: ReduceAction540 < ReduceAction540: superclass typecheck marker */},
+  {(bigint) 539 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction540 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction540 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 539 /* 3: ReduceAction540 < ReduceAction540: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71235,37 +72754,37 @@ const classtable_elt_t VFT_ReduceAction540[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction540 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction540 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction540___action},
-  {(long int) 2 /* 42: ReduceAction540 < ReduceAction540: superclass init_table position */},
-  {(long int) parser___ReduceAction540___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction540 < 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) 1 /* 40: ReduceAction540 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction540___action},
+  {(bigint) 2 /* 42: ReduceAction540 < ReduceAction540: superclass init_table position */},
+  {(bigint) parser___ReduceAction540___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction540(void) {
@@ -71281,10 +72800,10 @@ val_t NEW_parser___ReduceAction540___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction541[44] = {
-  {(long int) 519 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction541 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction541 < ReduceAction: superclass typecheck marker */},
-  {(long int) 519 /* 3: ReduceAction541 < ReduceAction541: superclass typecheck marker */},
+  {(bigint) 535 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction541 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction541 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 535 /* 3: ReduceAction541 < ReduceAction541: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71294,37 +72813,37 @@ const classtable_elt_t VFT_ReduceAction541[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction541 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction541 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction541___action},
-  {(long int) 2 /* 42: ReduceAction541 < ReduceAction541: superclass init_table position */},
-  {(long int) parser___ReduceAction541___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction541 < 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) 1 /* 40: ReduceAction541 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction541___action},
+  {(bigint) 2 /* 42: ReduceAction541 < ReduceAction541: superclass init_table position */},
+  {(bigint) parser___ReduceAction541___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction541(void) {
@@ -71340,10 +72859,10 @@ val_t NEW_parser___ReduceAction541___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction542[44] = {
-  {(long int) 515 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction542 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction542 < ReduceAction: superclass typecheck marker */},
-  {(long int) 515 /* 3: ReduceAction542 < ReduceAction542: superclass typecheck marker */},
+  {(bigint) 531 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction542 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction542 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 531 /* 3: ReduceAction542 < ReduceAction542: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71353,37 +72872,37 @@ const classtable_elt_t VFT_ReduceAction542[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction542 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction542 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction542___action},
-  {(long int) 2 /* 42: ReduceAction542 < ReduceAction542: superclass init_table position */},
-  {(long int) parser___ReduceAction542___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction542 < 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) 1 /* 40: ReduceAction542 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction542___action},
+  {(bigint) 2 /* 42: ReduceAction542 < ReduceAction542: superclass init_table position */},
+  {(bigint) parser___ReduceAction542___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction542(void) {
@@ -71399,10 +72918,10 @@ val_t NEW_parser___ReduceAction542___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction543[44] = {
-  {(long int) 511 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction543 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction543 < ReduceAction: superclass typecheck marker */},
-  {(long int) 511 /* 3: ReduceAction543 < ReduceAction543: superclass typecheck marker */},
+  {(bigint) 527 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction543 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction543 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 527 /* 3: ReduceAction543 < ReduceAction543: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71412,37 +72931,37 @@ const classtable_elt_t VFT_ReduceAction543[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction543 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction543 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction543___action},
-  {(long int) 2 /* 42: ReduceAction543 < ReduceAction543: superclass init_table position */},
-  {(long int) parser___ReduceAction543___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction543 < 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) 1 /* 40: ReduceAction543 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction543___action},
+  {(bigint) 2 /* 42: ReduceAction543 < ReduceAction543: superclass init_table position */},
+  {(bigint) parser___ReduceAction543___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction543(void) {
@@ -71458,10 +72977,10 @@ val_t NEW_parser___ReduceAction543___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction544[44] = {
-  {(long int) 507 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction544 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction544 < ReduceAction: superclass typecheck marker */},
-  {(long int) 507 /* 3: ReduceAction544 < ReduceAction544: superclass typecheck marker */},
+  {(bigint) 523 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction544 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction544 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 523 /* 3: ReduceAction544 < ReduceAction544: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71471,37 +72990,37 @@ const classtable_elt_t VFT_ReduceAction544[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction544 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction544 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction544___action},
-  {(long int) 2 /* 42: ReduceAction544 < ReduceAction544: superclass init_table position */},
-  {(long int) parser___ReduceAction544___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction544 < 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) 1 /* 40: ReduceAction544 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction544___action},
+  {(bigint) 2 /* 42: ReduceAction544 < ReduceAction544: superclass init_table position */},
+  {(bigint) parser___ReduceAction544___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction544(void) {
@@ -71517,10 +73036,10 @@ val_t NEW_parser___ReduceAction544___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction545[44] = {
-  {(long int) 503 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction545 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction545 < ReduceAction: superclass typecheck marker */},
-  {(long int) 503 /* 3: ReduceAction545 < ReduceAction545: superclass typecheck marker */},
+  {(bigint) 519 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction545 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction545 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 519 /* 3: ReduceAction545 < ReduceAction545: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71530,37 +73049,37 @@ const classtable_elt_t VFT_ReduceAction545[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction545 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction545 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction545___action},
-  {(long int) 2 /* 42: ReduceAction545 < ReduceAction545: superclass init_table position */},
-  {(long int) parser___ReduceAction545___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction545 < 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) 1 /* 40: ReduceAction545 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction545___action},
+  {(bigint) 2 /* 42: ReduceAction545 < ReduceAction545: superclass init_table position */},
+  {(bigint) parser___ReduceAction545___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction545(void) {
@@ -71576,10 +73095,10 @@ val_t NEW_parser___ReduceAction545___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction546[44] = {
-  {(long int) 499 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction546 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction546 < ReduceAction: superclass typecheck marker */},
-  {(long int) 499 /* 3: ReduceAction546 < ReduceAction546: superclass typecheck marker */},
+  {(bigint) 515 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction546 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction546 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 515 /* 3: ReduceAction546 < ReduceAction546: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71589,37 +73108,37 @@ const classtable_elt_t VFT_ReduceAction546[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction546 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction546 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction546___action},
-  {(long int) 2 /* 42: ReduceAction546 < ReduceAction546: superclass init_table position */},
-  {(long int) parser___ReduceAction546___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction546 < 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) 1 /* 40: ReduceAction546 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction546___action},
+  {(bigint) 2 /* 42: ReduceAction546 < ReduceAction546: superclass init_table position */},
+  {(bigint) parser___ReduceAction546___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction546(void) {
@@ -71635,10 +73154,10 @@ val_t NEW_parser___ReduceAction546___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction547[44] = {
-  {(long int) 495 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction547 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction547 < ReduceAction: superclass typecheck marker */},
-  {(long int) 495 /* 3: ReduceAction547 < ReduceAction547: superclass typecheck marker */},
+  {(bigint) 511 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction547 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction547 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 511 /* 3: ReduceAction547 < ReduceAction547: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71648,37 +73167,37 @@ const classtable_elt_t VFT_ReduceAction547[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction547 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction547 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction547___action},
-  {(long int) 2 /* 42: ReduceAction547 < ReduceAction547: superclass init_table position */},
-  {(long int) parser___ReduceAction547___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction547 < 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) 1 /* 40: ReduceAction547 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction547___action},
+  {(bigint) 2 /* 42: ReduceAction547 < ReduceAction547: superclass init_table position */},
+  {(bigint) parser___ReduceAction547___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction547(void) {
@@ -71694,10 +73213,10 @@ val_t NEW_parser___ReduceAction547___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction548[44] = {
-  {(long int) 491 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction548 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction548 < ReduceAction: superclass typecheck marker */},
-  {(long int) 491 /* 3: ReduceAction548 < ReduceAction548: superclass typecheck marker */},
+  {(bigint) 507 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction548 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction548 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 507 /* 3: ReduceAction548 < ReduceAction548: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71707,37 +73226,37 @@ const classtable_elt_t VFT_ReduceAction548[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction548 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction548 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction548___action},
-  {(long int) 2 /* 42: ReduceAction548 < ReduceAction548: superclass init_table position */},
-  {(long int) parser___ReduceAction548___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction548 < 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) 1 /* 40: ReduceAction548 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction548___action},
+  {(bigint) 2 /* 42: ReduceAction548 < ReduceAction548: superclass init_table position */},
+  {(bigint) parser___ReduceAction548___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction548(void) {
@@ -71753,10 +73272,10 @@ val_t NEW_parser___ReduceAction548___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction549[44] = {
-  {(long int) 487 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction549 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction549 < ReduceAction: superclass typecheck marker */},
-  {(long int) 487 /* 3: ReduceAction549 < ReduceAction549: superclass typecheck marker */},
+  {(bigint) 503 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction549 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction549 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 503 /* 3: ReduceAction549 < ReduceAction549: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71766,37 +73285,37 @@ const classtable_elt_t VFT_ReduceAction549[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction549 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction549 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction549___action},
-  {(long int) 2 /* 42: ReduceAction549 < ReduceAction549: superclass init_table position */},
-  {(long int) parser___ReduceAction549___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction549 < 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) 1 /* 40: ReduceAction549 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction549___action},
+  {(bigint) 2 /* 42: ReduceAction549 < ReduceAction549: superclass init_table position */},
+  {(bigint) parser___ReduceAction549___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction549(void) {
@@ -71812,10 +73331,10 @@ val_t NEW_parser___ReduceAction549___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction550[44] = {
-  {(long int) 479 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction550 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction550 < ReduceAction: superclass typecheck marker */},
-  {(long int) 479 /* 3: ReduceAction550 < ReduceAction550: superclass typecheck marker */},
+  {(bigint) 495 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction550 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction550 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 495 /* 3: ReduceAction550 < ReduceAction550: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71825,37 +73344,37 @@ const classtable_elt_t VFT_ReduceAction550[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction550 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction550 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction550___action},
-  {(long int) 2 /* 42: ReduceAction550 < ReduceAction550: superclass init_table position */},
-  {(long int) parser___ReduceAction550___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction550 < 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) 1 /* 40: ReduceAction550 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction550___action},
+  {(bigint) 2 /* 42: ReduceAction550 < ReduceAction550: superclass init_table position */},
+  {(bigint) parser___ReduceAction550___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction550(void) {
@@ -71871,10 +73390,10 @@ val_t NEW_parser___ReduceAction550___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction551[44] = {
-  {(long int) 475 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction551 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction551 < ReduceAction: superclass typecheck marker */},
-  {(long int) 475 /* 3: ReduceAction551 < ReduceAction551: superclass typecheck marker */},
+  {(bigint) 491 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction551 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction551 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 491 /* 3: ReduceAction551 < ReduceAction551: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71884,37 +73403,37 @@ const classtable_elt_t VFT_ReduceAction551[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction551 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction551 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction551___action},
-  {(long int) 2 /* 42: ReduceAction551 < ReduceAction551: superclass init_table position */},
-  {(long int) parser___ReduceAction551___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction551 < 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) 1 /* 40: ReduceAction551 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction551___action},
+  {(bigint) 2 /* 42: ReduceAction551 < ReduceAction551: superclass init_table position */},
+  {(bigint) parser___ReduceAction551___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction551(void) {
@@ -71930,10 +73449,10 @@ val_t NEW_parser___ReduceAction551___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction552[44] = {
-  {(long int) 471 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction552 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction552 < ReduceAction: superclass typecheck marker */},
-  {(long int) 471 /* 3: ReduceAction552 < ReduceAction552: superclass typecheck marker */},
+  {(bigint) 487 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction552 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction552 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 487 /* 3: ReduceAction552 < ReduceAction552: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -71943,37 +73462,37 @@ const classtable_elt_t VFT_ReduceAction552[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction552 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction552 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction552___action},
-  {(long int) 2 /* 42: ReduceAction552 < ReduceAction552: superclass init_table position */},
-  {(long int) parser___ReduceAction552___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction552 < 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) 1 /* 40: ReduceAction552 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction552___action},
+  {(bigint) 2 /* 42: ReduceAction552 < ReduceAction552: superclass init_table position */},
+  {(bigint) parser___ReduceAction552___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction552(void) {
@@ -71989,10 +73508,10 @@ val_t NEW_parser___ReduceAction552___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction553[44] = {
-  {(long int) 467 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction553 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction553 < ReduceAction: superclass typecheck marker */},
-  {(long int) 467 /* 3: ReduceAction553 < ReduceAction553: superclass typecheck marker */},
+  {(bigint) 483 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction553 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction553 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 483 /* 3: ReduceAction553 < ReduceAction553: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72002,37 +73521,37 @@ const classtable_elt_t VFT_ReduceAction553[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction553 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction553 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction553___action},
-  {(long int) 2 /* 42: ReduceAction553 < ReduceAction553: superclass init_table position */},
-  {(long int) parser___ReduceAction553___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction553 < 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) 1 /* 40: ReduceAction553 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction553___action},
+  {(bigint) 2 /* 42: ReduceAction553 < ReduceAction553: superclass init_table position */},
+  {(bigint) parser___ReduceAction553___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction553(void) {
@@ -72048,10 +73567,10 @@ val_t NEW_parser___ReduceAction553___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction554[44] = {
-  {(long int) 463 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction554 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction554 < ReduceAction: superclass typecheck marker */},
-  {(long int) 463 /* 3: ReduceAction554 < ReduceAction554: superclass typecheck marker */},
+  {(bigint) 479 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction554 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction554 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 479 /* 3: ReduceAction554 < ReduceAction554: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72061,37 +73580,37 @@ const classtable_elt_t VFT_ReduceAction554[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction554 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction554 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction554___action},
-  {(long int) 2 /* 42: ReduceAction554 < ReduceAction554: superclass init_table position */},
-  {(long int) parser___ReduceAction554___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction554 < 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) 1 /* 40: ReduceAction554 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction554___action},
+  {(bigint) 2 /* 42: ReduceAction554 < ReduceAction554: superclass init_table position */},
+  {(bigint) parser___ReduceAction554___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction554(void) {
@@ -72107,10 +73626,10 @@ val_t NEW_parser___ReduceAction554___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction555[44] = {
-  {(long int) 459 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction555 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction555 < ReduceAction: superclass typecheck marker */},
-  {(long int) 459 /* 3: ReduceAction555 < ReduceAction555: superclass typecheck marker */},
+  {(bigint) 475 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction555 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction555 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 475 /* 3: ReduceAction555 < ReduceAction555: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72120,37 +73639,37 @@ const classtable_elt_t VFT_ReduceAction555[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction555 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction555 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction555___action},
-  {(long int) 2 /* 42: ReduceAction555 < ReduceAction555: superclass init_table position */},
-  {(long int) parser___ReduceAction555___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction555 < 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) 1 /* 40: ReduceAction555 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction555___action},
+  {(bigint) 2 /* 42: ReduceAction555 < ReduceAction555: superclass init_table position */},
+  {(bigint) parser___ReduceAction555___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction555(void) {
@@ -72166,10 +73685,10 @@ val_t NEW_parser___ReduceAction555___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction556[44] = {
-  {(long int) 455 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction556 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction556 < ReduceAction: superclass typecheck marker */},
-  {(long int) 455 /* 3: ReduceAction556 < ReduceAction556: superclass typecheck marker */},
+  {(bigint) 471 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction556 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction556 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 471 /* 3: ReduceAction556 < ReduceAction556: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72179,37 +73698,37 @@ const classtable_elt_t VFT_ReduceAction556[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction556 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction556 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction556___action},
-  {(long int) 2 /* 42: ReduceAction556 < ReduceAction556: superclass init_table position */},
-  {(long int) parser___ReduceAction556___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction556 < 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) 1 /* 40: ReduceAction556 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction556___action},
+  {(bigint) 2 /* 42: ReduceAction556 < ReduceAction556: superclass init_table position */},
+  {(bigint) parser___ReduceAction556___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction556(void) {
@@ -72225,10 +73744,10 @@ val_t NEW_parser___ReduceAction556___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction557[44] = {
-  {(long int) 451 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction557 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction557 < ReduceAction: superclass typecheck marker */},
-  {(long int) 451 /* 3: ReduceAction557 < ReduceAction557: superclass typecheck marker */},
+  {(bigint) 467 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction557 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction557 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 467 /* 3: ReduceAction557 < ReduceAction557: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72238,37 +73757,37 @@ const classtable_elt_t VFT_ReduceAction557[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction557 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction557 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction557___action},
-  {(long int) 2 /* 42: ReduceAction557 < ReduceAction557: superclass init_table position */},
-  {(long int) parser___ReduceAction557___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction557 < 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) 1 /* 40: ReduceAction557 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction557___action},
+  {(bigint) 2 /* 42: ReduceAction557 < ReduceAction557: superclass init_table position */},
+  {(bigint) parser___ReduceAction557___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction557(void) {
@@ -72284,10 +73803,10 @@ val_t NEW_parser___ReduceAction557___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction558[44] = {
-  {(long int) 447 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction558 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction558 < ReduceAction: superclass typecheck marker */},
-  {(long int) 447 /* 3: ReduceAction558 < ReduceAction558: superclass typecheck marker */},
+  {(bigint) 463 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction558 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction558 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 463 /* 3: ReduceAction558 < ReduceAction558: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72297,37 +73816,37 @@ const classtable_elt_t VFT_ReduceAction558[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction558 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction558 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction558___action},
-  {(long int) 2 /* 42: ReduceAction558 < ReduceAction558: superclass init_table position */},
-  {(long int) parser___ReduceAction558___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction558 < 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) 1 /* 40: ReduceAction558 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction558___action},
+  {(bigint) 2 /* 42: ReduceAction558 < ReduceAction558: superclass init_table position */},
+  {(bigint) parser___ReduceAction558___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction558(void) {
@@ -72343,10 +73862,10 @@ val_t NEW_parser___ReduceAction558___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction559[44] = {
-  {(long int) 443 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction559 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction559 < ReduceAction: superclass typecheck marker */},
-  {(long int) 443 /* 3: ReduceAction559 < ReduceAction559: superclass typecheck marker */},
+  {(bigint) 459 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction559 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction559 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 459 /* 3: ReduceAction559 < ReduceAction559: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72356,37 +73875,37 @@ const classtable_elt_t VFT_ReduceAction559[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction559 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction559 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction559___action},
-  {(long int) 2 /* 42: ReduceAction559 < ReduceAction559: superclass init_table position */},
-  {(long int) parser___ReduceAction559___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction559 < 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) 1 /* 40: ReduceAction559 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction559___action},
+  {(bigint) 2 /* 42: ReduceAction559 < ReduceAction559: superclass init_table position */},
+  {(bigint) parser___ReduceAction559___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction559(void) {
@@ -72402,10 +73921,10 @@ val_t NEW_parser___ReduceAction559___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction560[44] = {
-  {(long int) 435 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction560 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction560 < ReduceAction: superclass typecheck marker */},
-  {(long int) 435 /* 3: ReduceAction560 < ReduceAction560: superclass typecheck marker */},
+  {(bigint) 451 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction560 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction560 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 451 /* 3: ReduceAction560 < ReduceAction560: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72415,37 +73934,37 @@ const classtable_elt_t VFT_ReduceAction560[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction560 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction560 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction560___action},
-  {(long int) 2 /* 42: ReduceAction560 < ReduceAction560: superclass init_table position */},
-  {(long int) parser___ReduceAction560___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction560 < 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) 1 /* 40: ReduceAction560 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction560___action},
+  {(bigint) 2 /* 42: ReduceAction560 < ReduceAction560: superclass init_table position */},
+  {(bigint) parser___ReduceAction560___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction560(void) {
@@ -72461,10 +73980,10 @@ val_t NEW_parser___ReduceAction560___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction561[44] = {
-  {(long int) 431 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction561 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction561 < ReduceAction: superclass typecheck marker */},
-  {(long int) 431 /* 3: ReduceAction561 < ReduceAction561: superclass typecheck marker */},
+  {(bigint) 447 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction561 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction561 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 447 /* 3: ReduceAction561 < ReduceAction561: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72474,37 +73993,37 @@ const classtable_elt_t VFT_ReduceAction561[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction561 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction561 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction561___action},
-  {(long int) 2 /* 42: ReduceAction561 < ReduceAction561: superclass init_table position */},
-  {(long int) parser___ReduceAction561___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction561 < 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) 1 /* 40: ReduceAction561 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction561___action},
+  {(bigint) 2 /* 42: ReduceAction561 < ReduceAction561: superclass init_table position */},
+  {(bigint) parser___ReduceAction561___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction561(void) {
@@ -72520,10 +74039,10 @@ val_t NEW_parser___ReduceAction561___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction562[44] = {
-  {(long int) 427 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction562 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction562 < ReduceAction: superclass typecheck marker */},
-  {(long int) 427 /* 3: ReduceAction562 < ReduceAction562: superclass typecheck marker */},
+  {(bigint) 443 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction562 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction562 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 443 /* 3: ReduceAction562 < ReduceAction562: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72533,37 +74052,37 @@ const classtable_elt_t VFT_ReduceAction562[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction562 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction562 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction562___action},
-  {(long int) 2 /* 42: ReduceAction562 < ReduceAction562: superclass init_table position */},
-  {(long int) parser___ReduceAction562___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction562 < 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) 1 /* 40: ReduceAction562 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction562___action},
+  {(bigint) 2 /* 42: ReduceAction562 < ReduceAction562: superclass init_table position */},
+  {(bigint) parser___ReduceAction562___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction562(void) {
@@ -72579,10 +74098,10 @@ val_t NEW_parser___ReduceAction562___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction563[44] = {
-  {(long int) 423 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction563 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction563 < ReduceAction: superclass typecheck marker */},
-  {(long int) 423 /* 3: ReduceAction563 < ReduceAction563: superclass typecheck marker */},
+  {(bigint) 439 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction563 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction563 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 439 /* 3: ReduceAction563 < ReduceAction563: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72592,37 +74111,37 @@ const classtable_elt_t VFT_ReduceAction563[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction563 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction563 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction563___action},
-  {(long int) 2 /* 42: ReduceAction563 < ReduceAction563: superclass init_table position */},
-  {(long int) parser___ReduceAction563___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction563 < 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) 1 /* 40: ReduceAction563 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction563___action},
+  {(bigint) 2 /* 42: ReduceAction563 < ReduceAction563: superclass init_table position */},
+  {(bigint) parser___ReduceAction563___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction563(void) {
@@ -72638,10 +74157,10 @@ val_t NEW_parser___ReduceAction563___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction564[44] = {
-  {(long int) 419 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction564 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction564 < ReduceAction: superclass typecheck marker */},
-  {(long int) 419 /* 3: ReduceAction564 < ReduceAction564: superclass typecheck marker */},
+  {(bigint) 435 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction564 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction564 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 435 /* 3: ReduceAction564 < ReduceAction564: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72651,37 +74170,37 @@ const classtable_elt_t VFT_ReduceAction564[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction564 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction564 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction564___action},
-  {(long int) 2 /* 42: ReduceAction564 < ReduceAction564: superclass init_table position */},
-  {(long int) parser___ReduceAction564___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction564 < 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) 1 /* 40: ReduceAction564 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction564___action},
+  {(bigint) 2 /* 42: ReduceAction564 < ReduceAction564: superclass init_table position */},
+  {(bigint) parser___ReduceAction564___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction564(void) {
@@ -72697,10 +74216,10 @@ val_t NEW_parser___ReduceAction564___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction565[44] = {
-  {(long int) 415 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction565 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction565 < ReduceAction: superclass typecheck marker */},
-  {(long int) 415 /* 3: ReduceAction565 < ReduceAction565: superclass typecheck marker */},
+  {(bigint) 431 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction565 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction565 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 431 /* 3: ReduceAction565 < ReduceAction565: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72710,37 +74229,37 @@ const classtable_elt_t VFT_ReduceAction565[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction565 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction565 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction565___action},
-  {(long int) 2 /* 42: ReduceAction565 < ReduceAction565: superclass init_table position */},
-  {(long int) parser___ReduceAction565___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction565 < 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) 1 /* 40: ReduceAction565 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction565___action},
+  {(bigint) 2 /* 42: ReduceAction565 < ReduceAction565: superclass init_table position */},
+  {(bigint) parser___ReduceAction565___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction565(void) {
@@ -72756,10 +74275,10 @@ val_t NEW_parser___ReduceAction565___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction566[44] = {
-  {(long int) 411 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction566 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction566 < ReduceAction: superclass typecheck marker */},
-  {(long int) 411 /* 3: ReduceAction566 < ReduceAction566: superclass typecheck marker */},
+  {(bigint) 427 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction566 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction566 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 427 /* 3: ReduceAction566 < ReduceAction566: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72769,37 +74288,37 @@ const classtable_elt_t VFT_ReduceAction566[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction566 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction566 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction566___action},
-  {(long int) 2 /* 42: ReduceAction566 < ReduceAction566: superclass init_table position */},
-  {(long int) parser___ReduceAction566___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction566 < 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) 1 /* 40: ReduceAction566 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction566___action},
+  {(bigint) 2 /* 42: ReduceAction566 < ReduceAction566: superclass init_table position */},
+  {(bigint) parser___ReduceAction566___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction566(void) {
@@ -72815,10 +74334,10 @@ val_t NEW_parser___ReduceAction566___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction567[44] = {
-  {(long int) 407 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction567 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction567 < ReduceAction: superclass typecheck marker */},
-  {(long int) 407 /* 3: ReduceAction567 < ReduceAction567: superclass typecheck marker */},
+  {(bigint) 423 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction567 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction567 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 423 /* 3: ReduceAction567 < ReduceAction567: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72828,37 +74347,37 @@ const classtable_elt_t VFT_ReduceAction567[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction567 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction567 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction567___action},
-  {(long int) 2 /* 42: ReduceAction567 < ReduceAction567: superclass init_table position */},
-  {(long int) parser___ReduceAction567___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction567 < 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) 1 /* 40: ReduceAction567 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction567___action},
+  {(bigint) 2 /* 42: ReduceAction567 < ReduceAction567: superclass init_table position */},
+  {(bigint) parser___ReduceAction567___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction567(void) {
@@ -72874,10 +74393,10 @@ val_t NEW_parser___ReduceAction567___init() {
   return self;
 }
 const classtable_elt_t VFT_ReduceAction568[44] = {
-  {(long int) 403 /* 0: Identity */},
-  {(long int) 3 /* 1: ReduceAction568 < Object: superclass typecheck marker */},
-  {(long int) 39 /* 2: ReduceAction568 < ReduceAction: superclass typecheck marker */},
-  {(long int) 403 /* 3: ReduceAction568 < ReduceAction568: superclass typecheck marker */},
+  {(bigint) 419 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction568 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction568 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 419 /* 3: ReduceAction568 < ReduceAction568: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72887,37 +74406,37 @@ const classtable_elt_t VFT_ReduceAction568[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ReduceAction568 < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ReduceAction568 < ReduceAction: superclass init_table position */},
-  {(long int) parser___ReduceAction568___action},
-  {(long int) 2 /* 42: ReduceAction568 < ReduceAction568: superclass init_table position */},
-  {(long int) parser___ReduceAction568___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction568 < 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) 1 /* 40: ReduceAction568 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction568___action},
+  {(bigint) 2 /* 42: ReduceAction568 < ReduceAction568: superclass init_table position */},
+  {(bigint) parser___ReduceAction568___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ReduceAction568(void) {
@@ -72932,47 +74451,283 @@ val_t NEW_parser___ReduceAction568___init() {
   parser___ReduceAction568___init(self, init_table);
   return self;
 }
+const classtable_elt_t VFT_ReduceAction569[44] = {
+  {(bigint) 415 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction569 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction569 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 415 /* 3: ReduceAction569 < ReduceAction569: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction569 < 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) 1 /* 40: ReduceAction569 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction569___action},
+  {(bigint) 2 /* 42: ReduceAction569 < ReduceAction569: superclass init_table position */},
+  {(bigint) parser___ReduceAction569___init},
+};
+/* 0: Pointer to the classtable */
+val_t NEW_ReduceAction569(void) {
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 1);
+  obj->vft = (classtable_elt_t*)VFT_ReduceAction569;
+  return OBJ2VAL(obj);
+}
+val_t NEW_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] = {
+  {(bigint) 407 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction570 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction570 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 407 /* 3: ReduceAction570 < ReduceAction570: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction570 < 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) 1 /* 40: ReduceAction570 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction570___action},
+  {(bigint) 2 /* 42: ReduceAction570 < ReduceAction570: superclass init_table position */},
+  {(bigint) parser___ReduceAction570___init},
+};
+/* 0: Pointer to the classtable */
+val_t NEW_ReduceAction570(void) {
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 1);
+  obj->vft = (classtable_elt_t*)VFT_ReduceAction570;
+  return OBJ2VAL(obj);
+}
+val_t NEW_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] = {
+  {(bigint) 403 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction571 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction571 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 403 /* 3: ReduceAction571 < ReduceAction571: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction571 < 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) 1 /* 40: ReduceAction571 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction571___action},
+  {(bigint) 2 /* 42: ReduceAction571 < ReduceAction571: superclass init_table position */},
+  {(bigint) parser___ReduceAction571___init},
+};
+/* 0: Pointer to the classtable */
+val_t NEW_ReduceAction571(void) {
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 1);
+  obj->vft = (classtable_elt_t*)VFT_ReduceAction571;
+  return OBJ2VAL(obj);
+}
+val_t NEW_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] = {
+  {(bigint) 399 /* 0: Identity */},
+  {(bigint) 3 /* 1: ReduceAction572 < Object: superclass typecheck marker */},
+  {(bigint) 39 /* 2: ReduceAction572 < ReduceAction: superclass typecheck marker */},
+  {(bigint) 399 /* 3: ReduceAction572 < ReduceAction572: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ReduceAction572 < 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) 1 /* 40: ReduceAction572 < ReduceAction: superclass init_table position */},
+  {(bigint) parser___ReduceAction572___action},
+  {(bigint) 2 /* 42: ReduceAction572 < ReduceAction572: superclass init_table position */},
+  {(bigint) parser___ReduceAction572___init},
+};
+/* 0: Pointer to the classtable */
+val_t NEW_ReduceAction572(void) {
+  obj_t obj;
+  obj = alloc(sizeof(val_t) * 1);
+  obj->vft = (classtable_elt_t*)VFT_ReduceAction572;
+  return OBJ2VAL(obj);
+}
+val_t NEW_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] = {
-  {(long int) 2499 /* 0: Identity */},
-  {(long int) 3 /* 1: PartialOrder < Object: superclass typecheck marker */},
+  {(bigint) 2515 /* 0: Identity */},
+  {(bigint) 3 /* 1: PartialOrder < Object: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) 163 /* 5: PartialOrder < Collection: superclass typecheck marker */},
-  {(long int) 2499 /* 6: PartialOrder < PartialOrder: superclass typecheck marker */},
+  {(bigint) 163 /* 5: PartialOrder < Collection: superclass typecheck marker */},
+  {(bigint) 2515 /* 6: PartialOrder < PartialOrder: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Collection___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PartialOrder < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Collection___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PartialOrder < 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},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -72989,30 +74744,30 @@ const classtable_elt_t VFT_PartialOrder[80] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) string___Collection___join},
-  {(long int) array___Collection___to_a},
-  {(long int) 1 /* 58: PartialOrder < Collection: superclass init_table position */},
-  {(long int) partial_order___PartialOrder___iterator},
-  {(long int) partial_order___PartialOrder___is_empty},
-  {(long int) partial_order___PartialOrder___length},
-  {(long int) partial_order___PartialOrder___has},
-  {(long int) partial_order___PartialOrder___has_only},
-  {(long int) partial_order___PartialOrder___count},
-  {(long int) partial_order___PartialOrder___first},
-  {(long int) 2 /* 66: PartialOrder < PartialOrder: superclass init_table position */},
-  {(long int) partial_order___PartialOrder___roots},
-  {(long int) partial_order___PartialOrder_____bra},
-  {(long int) partial_order___PartialOrder___to_dot},
-  {(long int) partial_order___PartialOrder___to_dot_header},
-  {(long int) partial_order___PartialOrder___to_dot_node},
-  {(long int) partial_order___PartialOrder___to_dot_edge},
-  {(long int) partial_order___PartialOrder___select_smallests},
-  {(long int) partial_order___PartialOrder___add},
-  {(long int) partial_order___PartialOrder___has_all},
-  {(long int) partial_order___PartialOrder___new_poe},
-  {(long int) partial_order___PartialOrder___add_to_smallests},
-  {(long int) partial_order___PartialOrder___compute_smallers_for},
-  {(long int) partial_order___PartialOrder___init},
+  {(bigint) string___Collection___join},
+  {(bigint) array___Collection___to_a},
+  {(bigint) 1 /* 58: PartialOrder < Collection: superclass init_table position */},
+  {(bigint) partial_order___PartialOrder___iterator},
+  {(bigint) partial_order___PartialOrder___is_empty},
+  {(bigint) partial_order___PartialOrder___length},
+  {(bigint) partial_order___PartialOrder___has},
+  {(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) partial_order___PartialOrder___roots},
+  {(bigint) partial_order___PartialOrder_____bra},
+  {(bigint) partial_order___PartialOrder___to_dot},
+  {(bigint) partial_order___PartialOrder___to_dot_header},
+  {(bigint) partial_order___PartialOrder___to_dot_node},
+  {(bigint) partial_order___PartialOrder___to_dot_edge},
+  {(bigint) partial_order___PartialOrder___select_smallests},
+  {(bigint) partial_order___PartialOrder___add},
+  {(bigint) partial_order___PartialOrder___has_all},
+  {(bigint) partial_order___PartialOrder___new_poe},
+  {(bigint) partial_order___PartialOrder___add_to_smallests},
+  {(bigint) partial_order___PartialOrder___compute_smallers_for},
+  {(bigint) partial_order___PartialOrder___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PartialOrder::_elements */
@@ -73031,63 +74786,63 @@ val_t NEW_partial_order___PartialOrder___init() {
   return self;
 }
 const classtable_elt_t VFT_PartialOrderElement[57] = {
-  {(long int) 55 /* 0: Identity */},
-  {(long int) 3 /* 1: PartialOrderElement < Object: superclass typecheck marker */},
-  {(long int) 55 /* 2: PartialOrderElement < PartialOrderElement: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PartialOrderElement < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: PartialOrderElement < PartialOrderElement: superclass init_table position */},
-  {(long int) partial_order___PartialOrderElement___order},
-  {(long int) partial_order___PartialOrderElement___value},
-  {(long int) partial_order___PartialOrderElement___rank},
-  {(long int) partial_order___PartialOrderElement___direct_greaters},
-  {(long int) partial_order___PartialOrderElement___direct_smallers},
-  {(long int) partial_order___PartialOrderElement___greaters},
-  {(long int) partial_order___PartialOrderElement___greaters_and_self},
-  {(long int) partial_order___PartialOrderElement___smallers},
-  {(long int) partial_order___PartialOrderElement___linear_extension},
-  {(long int) partial_order___PartialOrderElement___reverse_linear_extension},
-  {(long int) partial_order___PartialOrderElement_____l},
-  {(long int) partial_order___PartialOrderElement_____leq},
-  {(long int) partial_order___PartialOrderElement_____g},
-  {(long int) partial_order___PartialOrderElement_____geq},
-  {(long int) partial_order___PartialOrderElement___register_direct_smallers},
-  {(long int) partial_order___PartialOrderElement___init},
+  {(bigint) 55 /* 0: Identity */},
+  {(bigint) 3 /* 1: PartialOrderElement < Object: superclass typecheck marker */},
+  {(bigint) 55 /* 2: PartialOrderElement < PartialOrderElement: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PartialOrderElement < 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) 1 /* 40: PartialOrderElement < PartialOrderElement: superclass init_table position */},
+  {(bigint) partial_order___PartialOrderElement___order},
+  {(bigint) partial_order___PartialOrderElement___value},
+  {(bigint) partial_order___PartialOrderElement___rank},
+  {(bigint) partial_order___PartialOrderElement___direct_greaters},
+  {(bigint) partial_order___PartialOrderElement___direct_smallers},
+  {(bigint) partial_order___PartialOrderElement___greaters},
+  {(bigint) partial_order___PartialOrderElement___greaters_and_self},
+  {(bigint) partial_order___PartialOrderElement___smallers},
+  {(bigint) partial_order___PartialOrderElement___linear_extension},
+  {(bigint) partial_order___PartialOrderElement___reverse_linear_extension},
+  {(bigint) partial_order___PartialOrderElement_____l},
+  {(bigint) partial_order___PartialOrderElement_____leq},
+  {(bigint) partial_order___PartialOrderElement_____g},
+  {(bigint) partial_order___PartialOrderElement_____geq},
+  {(bigint) partial_order___PartialOrderElement___register_direct_smallers},
+  {(bigint) partial_order___PartialOrderElement___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PartialOrderElement::_order */
@@ -73105,8 +74860,8 @@ val_t NEW_PartialOrderElement(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 12);
   obj->vft = (classtable_elt_t*)VFT_PartialOrderElement;
-  ATTR_partial_order___PartialOrderElement____rank(obj) = TAG_Int((long int)0);
-  ATTR_partial_order___PartialOrderElement____smallers_last_length(obj) = TAG_Int((long int)0);
+  ATTR_partial_order___PartialOrderElement____rank(obj) = TAG_Int((bigint)0);
+  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) {
@@ -73115,79 +74870,76 @@ val_t NEW_partial_order___PartialOrderElement___init(val_t p0, val_t p1, val_t p
   partial_order___PartialOrderElement___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMContext[50] = {
-  {(long int) 119 /* 0: Identity */},
-  {(long int) 3 /* 1: MMContext < Object: superclass typecheck marker */},
-  {(long int) 119 /* 2: MMContext < MMContext: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) syntax___MMContext___tc},
-  {(long int) syntax___MMContext___tc__eq},
-  {(long int) 1 /* 42: MMContext < MMContext: superclass init_table position */},
-  {(long int) abstractmetamodel___MMContext___init},
-  {(long int) abstractmetamodel___MMContext___module_hierarchy},
-  {(long int) abstractmetamodel___MMContext___class_hierarchy},
-  {(long int) abstractmetamodel___MMContext___modules},
-  {(long int) abstractmetamodel___MMContext___add_module},
-  {(long int) abstractmetamodel___MMContext___add_global_class},
-  {(long int) abstractmetamodel___MMContext___add_local_class},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute MMContext::_tc */
-/* 2: Attribute MMContext::_module_hierarchy */
-/* 3: Attribute MMContext::_class_hierarchy */
-/* 4: Attribute MMContext::_global_classes */
-/* 5: Attribute MMContext::_modules */
+const classtable_elt_t VFT_MMContext[48] = {
+  {(bigint) 119 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMContext < Object: superclass typecheck marker */},
+  {(bigint) 119 /* 2: MMContext < MMContext: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMContext < 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) 1 /* 40: MMContext < MMContext: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMContext___init},
+  {(bigint) abstractmetamodel___MMContext___module_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___class_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___modules},
+  {(bigint) abstractmetamodel___MMContext___add_module},
+  {(bigint) abstractmetamodel___MMContext___add_global_class},
+  {(bigint) abstractmetamodel___MMContext___add_local_class},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute MMContext::_module_hierarchy */
+/* 2: Attribute MMContext::_class_hierarchy */
+/* 3: Attribute MMContext::_global_classes */
+/* 4: Attribute MMContext::_modules */
 val_t NEW_MMContext(void) {
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 6);
+  obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_MMContext;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
+  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
+  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMGlobalClass]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[MMModule]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
   return OBJ2VAL(obj);
 }
@@ -73198,57 +74950,57 @@ val_t NEW_abstractmetamodel___MMContext___init() {
   return self;
 }
 const classtable_elt_t VFT_MMDirectory[51] = {
-  {(long int) 115 /* 0: Identity */},
-  {(long int) 3 /* 1: MMDirectory < Object: superclass typecheck marker */},
-  {(long int) 115 /* 2: MMDirectory < MMDirectory: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMDirectory < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: MMDirectory < MMDirectory: superclass init_table position */},
-  {(long int) abstractmetamodel___MMDirectory___name},
-  {(long int) abstractmetamodel___MMDirectory___path},
-  {(long int) abstractmetamodel___MMDirectory___parent},
-  {(long int) abstractmetamodel___MMDirectory___owner},
-  {(long int) abstractmetamodel___MMDirectory___owner__eq},
-  {(long int) abstractmetamodel___MMDirectory___modules},
-  {(long int) abstractmetamodel___MMDirectory___add_module},
-  {(long int) abstractmetamodel___MMDirectory___dhe},
-  {(long int) abstractmetamodel___MMDirectory___init},
-  {(long int) abstractmetamodel___MMDirectory___full_name_for},
+  {(bigint) 115 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMDirectory < Object: superclass typecheck marker */},
+  {(bigint) 115 /* 2: MMDirectory < MMDirectory: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMDirectory < 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) 1 /* 40: MMDirectory < MMDirectory: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMDirectory___name},
+  {(bigint) abstractmetamodel___MMDirectory___path},
+  {(bigint) abstractmetamodel___MMDirectory___parent},
+  {(bigint) abstractmetamodel___MMDirectory___owner},
+  {(bigint) abstractmetamodel___MMDirectory___owner__eq},
+  {(bigint) abstractmetamodel___MMDirectory___modules},
+  {(bigint) abstractmetamodel___MMDirectory___add_module},
+  {(bigint) abstractmetamodel___MMDirectory___dhe},
+  {(bigint) abstractmetamodel___MMDirectory___init},
+  {(bigint) abstractmetamodel___MMDirectory___full_name_for},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMDirectory::_name */
@@ -73262,7 +75014,7 @@ 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[Symbol, MMModule]*/
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_abstractmetamodel___MMDirectory____modules(obj) = variable0;
   return OBJ2VAL(obj);
 }
@@ -73273,76 +75025,76 @@ val_t NEW_abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_MMModule[70] = {
-  {(long int) 95 /* 0: Identity */},
-  {(long int) 3 /* 1: MMModule < Object: superclass typecheck marker */},
-  {(long int) 95 /* 2: MMModule < MMModule: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMModule___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMModule < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) abstracttool___MMModule___dump_module_info},
-  {(long int) mmloader___MMModule___filename},
-  {(long int) mmloader___MMModule___filename__eq},
-  {(long int) mmloader___MMModule___mtime},
-  {(long int) mmloader___MMModule___mtime__eq},
-  {(long int) mmloader___MMModule___import_supers_modules},
-  {(long int) inheritance___MMModule___type_any},
-  {(long int) inheritance___MMModule___import_global_classes},
-  {(long int) inheritance___MMModule___import_local_classes},
-  {(long int) static_type___MMModule___type_none},
-  {(long int) 1 /* 50: MMModule < MMModule: superclass init_table position */},
-  {(long int) abstractmetamodel___MMModule___context},
-  {(long int) abstractmetamodel___MMModule___name},
-  {(long int) abstractmetamodel___MMModule___full_name},
-  {(long int) abstractmetamodel___MMModule___directory},
-  {(long int) abstractmetamodel___MMModule___mhe},
-  {(long int) abstractmetamodel___MMModule___global_classes},
-  {(long int) abstractmetamodel___MMModule___local_classes},
-  {(long int) abstractmetamodel___MMModule___class_specialization_hierarchy},
-  {(long int) abstractmetamodel___MMModule___explicit_imported_modules},
-  {(long int) abstractmetamodel___MMModule___init},
-  {(long int) abstractmetamodel___MMModule___add_super_module},
-  {(long int) abstractmetamodel___MMModule___visibility_for},
-  {(long int) abstractmetamodel___MMModule_____bra},
-  {(long int) abstractmetamodel___MMModule___add_local_class},
-  {(long int) abstractmetamodel___MMModule___class_by_name},
-  {(long int) abstractmetamodel___MMModule___has_global_class_named},
-  {(long int) abstractmetamodel___MMModule___global_class_named},
-  {(long int) abstractmetamodel___MMModule___set_supers_class},
-  {(long int) abstractmetamodel___MMModule___register_global_class},
+  {(bigint) 95 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMModule < Object: superclass typecheck marker */},
+  {(bigint) 95 /* 2: MMModule < MMModule: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMModule___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMModule < 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) abstracttool___MMModule___dump_module_info},
+  {(bigint) mmloader___MMModule___filename},
+  {(bigint) mmloader___MMModule___filename__eq},
+  {(bigint) mmloader___MMModule___mtime},
+  {(bigint) mmloader___MMModule___mtime__eq},
+  {(bigint) mmloader___MMModule___import_supers_modules},
+  {(bigint) inheritance___MMModule___type_any},
+  {(bigint) inheritance___MMModule___import_global_classes},
+  {(bigint) inheritance___MMModule___import_local_classes},
+  {(bigint) static_type___MMModule___type_none},
+  {(bigint) 1 /* 50: MMModule < MMModule: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMModule___context},
+  {(bigint) abstractmetamodel___MMModule___name},
+  {(bigint) abstractmetamodel___MMModule___full_name},
+  {(bigint) abstractmetamodel___MMModule___directory},
+  {(bigint) abstractmetamodel___MMModule___mhe},
+  {(bigint) abstractmetamodel___MMModule___global_classes},
+  {(bigint) abstractmetamodel___MMModule___local_classes},
+  {(bigint) abstractmetamodel___MMModule___class_specialization_hierarchy},
+  {(bigint) abstractmetamodel___MMModule___explicit_imported_modules},
+  {(bigint) abstractmetamodel___MMModule___init},
+  {(bigint) abstractmetamodel___MMModule___add_super_module},
+  {(bigint) abstractmetamodel___MMModule___visibility_for},
+  {(bigint) abstractmetamodel___MMModule_____bra},
+  {(bigint) abstractmetamodel___MMModule___add_local_class},
+  {(bigint) abstractmetamodel___MMModule___class_by_name},
+  {(bigint) abstractmetamodel___MMModule___has_global_class_named},
+  {(bigint) abstractmetamodel___MMModule___global_class_named},
+  {(bigint) abstractmetamodel___MMModule___set_supers_class},
+  {(bigint) abstractmetamodel___MMModule___register_global_class},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMModule::_filename */
@@ -73377,28 +75129,28 @@ 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[MMGlobalClass]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMModule____global_classes(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[MMLocalClass]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMModule____local_classes(obj) = variable1;
-  variable2 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
+  variable2 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(obj) = variable2;
-  variable3 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable3 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____intrude_modules(obj) = variable3;
-  variable4 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable4 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____public_modules(obj) = variable4;
-  variable5 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable5 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____private_modules(obj) = variable5;
-  variable6 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable6 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____explicit_imported_modules(obj) = variable6;
-  variable7 = NEW_hash___HashMap___init(); /*new HashMap[MMGlobalClass, MMLocalClass]*/
+  variable7 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_abstractmetamodel___MMModule____local_class_by_global(obj) = variable7;
-  variable8 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, MMGlobalClass]*/
+  variable8 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_abstractmetamodel___MMModule____global_class_by_name(obj) = variable8;
   variable9 = OBJ2VAL(obj);
   variable10 = NEW_static_type___MMTypeNone___init(variable9); /*new MMTypeNone*/
   ATTR_static_type___MMModule____type_none(obj) = variable10;
-  ATTR_mmloader___MMModule____mtime(obj) = TAG_Int((long int)0);
+  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) {
@@ -73408,65 +75160,65 @@ val_t NEW_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_MMGlobalClass[59] = {
-  {(long int) 111 /* 0: Identity */},
-  {(long int) 3 /* 1: MMGlobalClass < Object: superclass typecheck marker */},
-  {(long int) 111 /* 2: MMGlobalClass < MMGlobalClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMGlobalClass___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMGlobalClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMGlobalClass___id_id},
-  {(long int) compiling_base___MMGlobalClass___color_id},
-  {(long int) compiling_base___MMGlobalClass___init_table_pos_id},
-  {(long int) syntax_base___MMGlobalClass___check_visibility},
-  {(long int) 1 /* 44: MMGlobalClass < MMGlobalClass: superclass init_table position */},
-  {(long int) abstractmetamodel___MMGlobalClass___intro},
-  {(long int) abstractmetamodel___MMGlobalClass___class_refinement_hierarchy},
-  {(long int) abstractmetamodel___MMGlobalClass___init},
-  {(long int) abstractmetamodel___MMGlobalClass___name},
-  {(long int) abstractmetamodel___MMGlobalClass___module},
-  {(long int) abstractmetamodel___MMGlobalClass___register_local_class},
-  {(long int) abstractmetamodel___MMGlobalClass___is_interface},
-  {(long int) abstractmetamodel___MMGlobalClass___is_interface__eq},
-  {(long int) abstractmetamodel___MMGlobalClass___is_abstract},
-  {(long int) abstractmetamodel___MMGlobalClass___is_abstract__eq},
-  {(long int) abstractmetamodel___MMGlobalClass___is_universal},
-  {(long int) abstractmetamodel___MMGlobalClass___is_universal__eq},
-  {(long int) abstractmetamodel___MMGlobalClass___visibility_level},
-  {(long int) abstractmetamodel___MMGlobalClass___visibility_level__eq},
+  {(bigint) 111 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMGlobalClass < Object: superclass typecheck marker */},
+  {(bigint) 111 /* 2: MMGlobalClass < MMGlobalClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMGlobalClass___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMGlobalClass < 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_base___MMGlobalClass___id_id},
+  {(bigint) compiling_base___MMGlobalClass___color_id},
+  {(bigint) compiling_base___MMGlobalClass___init_table_pos_id},
+  {(bigint) syntax_base___MMGlobalClass___check_visibility},
+  {(bigint) 1 /* 44: MMGlobalClass < MMGlobalClass: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMGlobalClass___intro},
+  {(bigint) abstractmetamodel___MMGlobalClass___class_refinement_hierarchy},
+  {(bigint) abstractmetamodel___MMGlobalClass___init},
+  {(bigint) abstractmetamodel___MMGlobalClass___name},
+  {(bigint) abstractmetamodel___MMGlobalClass___module},
+  {(bigint) abstractmetamodel___MMGlobalClass___register_local_class},
+  {(bigint) abstractmetamodel___MMGlobalClass___is_interface},
+  {(bigint) abstractmetamodel___MMGlobalClass___is_interface__eq},
+  {(bigint) abstractmetamodel___MMGlobalClass___is_abstract},
+  {(bigint) abstractmetamodel___MMGlobalClass___is_abstract__eq},
+  {(bigint) abstractmetamodel___MMGlobalClass___is_universal},
+  {(bigint) abstractmetamodel___MMGlobalClass___is_universal__eq},
+  {(bigint) abstractmetamodel___MMGlobalClass___visibility_level},
+  {(bigint) abstractmetamodel___MMGlobalClass___visibility_level__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMGlobalClass::_intro */
@@ -73480,12 +75232,12 @@ 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[MMLocalClass]*/
+  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(obj) = variable0;
-  ATTR_abstractmetamodel___MMGlobalClass____is_interface(obj) = TAG_Bool((long int)0);
-  ATTR_abstractmetamodel___MMGlobalClass____is_abstract(obj) = TAG_Bool((long int)0);
-  ATTR_abstractmetamodel___MMGlobalClass____is_universal(obj) = TAG_Bool((long int)0);
-  ATTR_abstractmetamodel___MMGlobalClass____visibility_level(obj) = TAG_Int((long int)0);
+  ATTR_abstractmetamodel___MMGlobalClass____is_interface(obj) = TAG_Bool((int)0);
+  ATTR_abstractmetamodel___MMGlobalClass____is_abstract(obj) = TAG_Bool((int)0);
+  ATTR_abstractmetamodel___MMGlobalClass____is_universal(obj) = TAG_Bool((int)0);
+  ATTR_abstractmetamodel___MMGlobalClass____visibility_level(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_abstractmetamodel___MMGlobalClass___init(val_t p0) {
@@ -73494,106 +75246,111 @@ val_t NEW_abstractmetamodel___MMGlobalClass___init(val_t p0) {
   abstractmetamodel___MMGlobalClass___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMLocalClass[99] = {
-  {(long int) 103 /* 0: Identity */},
-  {(long int) 3 /* 1: MMLocalClass < Object: superclass typecheck marker */},
-  {(long int) 103 /* 2: MMLocalClass < MMLocalClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalClass___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMLocalClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) abstracttool___MMLocalClass___dump_properties},
-  {(long int) genericity___MMLocalClass___get_formal},
-  {(long int) genericity___MMLocalClass___register_formal},
-  {(long int) genericity___MMLocalClass___get_instantiate_type},
-  {(long int) genericity___MMLocalClass___formals_types},
-  {(long int) static_type___MMLocalClass___get_type},
-  {(long int) genericity___MMLocalClass___is_generic},
-  {(long int) inheritance___MMLocalClass___compute_super_classes},
-  {(long int) inheritance___MMLocalClass___compute_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_global_properties},
-  {(long int) inheritance___MMLocalClass___add_direct_parent},
-  {(long int) inheritance___MMLocalClass___computed_super_classes},
-  {(long int) inheritance___MMLocalClass___computed_ancestors},
-  {(long int) inheritance___MMLocalClass___ancestor_for},
-  {(long int) abstractmetamodel___MMLocalClass_____bra},
-  {(long int) inheritance___MMLocalClass___add_default_any_class},
-  {(long int) inheritance___MMLocalClass___add_super_classes},
-  {(long int) inheritance___MMLocalClass___add_explicit_classes},
-  {(long int) inheritance___MMLocalClass___compute_super_parents},
-  {(long int) inheritance___MMLocalClass___build_ancestors},
-  {(long int) inheritance___MMLocalClass___group_ancestors},
-  {(long int) inheritance___MMLocalClass___merge_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_local_property},
-  {(long int) genericity___MMLocalClass___get_type},
-  {(long int) static_type___MMLocalClass___add_ancestor},
-  {(long int) static_type___MMLocalClass___ancestors},
-  {(long int) static_type___MMLocalClass___ancestor},
-  {(long int) 1 /* 67: MMLocalClass < MMLocalClass: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalClass___name},
-  {(long int) abstractmetamodel___MMLocalClass___arity},
-  {(long int) abstractmetamodel___MMLocalClass___module},
-  {(long int) abstractmetamodel___MMLocalClass___abstract},
-  {(long int) abstractmetamodel___MMLocalClass___abstract__eq},
-  {(long int) abstractmetamodel___MMLocalClass___global},
-  {(long int) abstractmetamodel___MMLocalClass___crhe},
-  {(long int) abstractmetamodel___MMLocalClass___cshe},
-  {(long int) abstractmetamodel___MMLocalClass___che},
-  {(long int) abstractmetamodel___MMLocalClass___local_property_by_global},
-  {(long int) abstractmetamodel___MMLocalClass___global_properties},
-  {(long int) abstractmetamodel___MMLocalClass___properties_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___init},
-  {(long int) abstractmetamodel___MMLocalClass___for_module},
-  {(long int) abstractmetamodel___MMLocalClass___new_global},
-  {(long int) abstractmetamodel___MMLocalClass___set_global},
-  {(long int) abstractmetamodel___MMLocalClass___has_global_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___get_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___attribute},
-  {(long int) abstractmetamodel___MMLocalClass___method},
-  {(long int) abstractmetamodel___MMLocalClass___super_methods_named},
-  {(long int) abstractmetamodel___MMLocalClass___register_local_property},
-  {(long int) abstractmetamodel___MMLocalClass___register_global_property},
-  {(long int) inheritance___MMLocalClass_____bra},
-  {(long int) abstractmetamodel___MMLocalClass___context},
-  {(long int) virtualtype___MMLocalClass___virtual_type},
-  {(long int) compiling_global___MMLocalClass___compare},
-  {(long int) compiling_global___MMLocalClass___declare_tables_to_c},
-  {(long int) compiling_global___MMLocalClass___compile_tables_to_c},
-  {(long int) compiling_base___MMLocalClass___primitive_info},
-  {(long int) compiling_base___MMLocalClass___primitive_ctypes},
+const classtable_elt_t VFT_MMLocalClass[104] = {
+  {(bigint) 103 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMLocalClass < Object: superclass typecheck marker */},
+  {(bigint) 103 /* 2: MMLocalClass < MMLocalClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMLocalClass___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMLocalClass < 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) abstracttool___MMLocalClass___dump_properties},
+  {(bigint) mmbuilder___MMLocalClass___accept_class_visitor},
+  {(bigint) mmbuilder___MMLocalClass___accept_properties_visitor},
+  {(bigint) genericity___MMLocalClass___get_formal},
+  {(bigint) genericity___MMLocalClass___register_formal},
+  {(bigint) genericity___MMLocalClass___get_instantiate_type},
+  {(bigint) genericity___MMLocalClass___formals_types},
+  {(bigint) static_type___MMLocalClass___get_type},
+  {(bigint) genericity___MMLocalClass___is_generic},
+  {(bigint) inheritance___MMLocalClass___compute_super_classes},
+  {(bigint) inheritance___MMLocalClass___compute_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___add_direct_parent},
+  {(bigint) inheritance___MMLocalClass___computed_super_classes},
+  {(bigint) inheritance___MMLocalClass___computed_ancestors},
+  {(bigint) inheritance___MMLocalClass___ancestor_for},
+  {(bigint) abstractmetamodel___MMLocalClass_____bra},
+  {(bigint) inheritance___MMLocalClass___add_default_any_class},
+  {(bigint) inheritance___MMLocalClass___add_super_classes},
+  {(bigint) inheritance___MMLocalClass___add_explicit_classes},
+  {(bigint) inheritance___MMLocalClass___compute_super_parents},
+  {(bigint) inheritance___MMLocalClass___build_ancestors},
+  {(bigint) inheritance___MMLocalClass___group_ancestors},
+  {(bigint) inheritance___MMLocalClass___merge_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_local_property},
+  {(bigint) genericity___MMLocalClass___get_type},
+  {(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) abstractmetamodel___MMLocalClass___name},
+  {(bigint) abstractmetamodel___MMLocalClass___arity},
+  {(bigint) abstractmetamodel___MMLocalClass___module},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract__eq},
+  {(bigint) abstractmetamodel___MMLocalClass___global},
+  {(bigint) abstractmetamodel___MMLocalClass___crhe},
+  {(bigint) abstractmetamodel___MMLocalClass___cshe},
+  {(bigint) abstractmetamodel___MMLocalClass___che},
+  {(bigint) abstractmetamodel___MMLocalClass___local_property_by_global},
+  {(bigint) abstractmetamodel___MMLocalClass___global_properties},
+  {(bigint) abstractmetamodel___MMLocalClass___properties_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___init},
+  {(bigint) abstractmetamodel___MMLocalClass___for_module},
+  {(bigint) abstractmetamodel___MMLocalClass___new_global},
+  {(bigint) abstractmetamodel___MMLocalClass___set_global},
+  {(bigint) abstractmetamodel___MMLocalClass___has_global_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___get_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___super_methods_named},
+  {(bigint) abstractmetamodel___MMLocalClass___register_local_property},
+  {(bigint) abstractmetamodel___MMLocalClass___register_global_property},
+  {(bigint) inheritance___MMLocalClass_____bra},
+  {(bigint) abstractmetamodel___MMLocalClass___context},
+  {(bigint) virtualtype___MMLocalClass___virtual_type},
+  {(bigint) virtualtype___MMLocalClass___select_virtual_type},
+  {(bigint) compiling_global___MMLocalClass___compare},
+  {(bigint) compiling_global___MMLocalClass___declare_tables_to_c},
+  {(bigint) compiling_global___MMLocalClass___compile_tables_to_c},
+  {(bigint) compiling_base___MMLocalClass___primitive_info},
+  {(bigint) compiling_base___MMLocalClass___primitive_ctypes},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMLocalClass::_types */
@@ -73622,16 +75379,16 @@ val_t NEW_MMLocalClass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 20);
   obj->vft = (classtable_elt_t*)VFT_MMLocalClass;
-  ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((long int)0);
-  ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((long int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[MMAncestor]*/
+  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]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
-  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((long int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[MMTypeGeneric]*/
+  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
-  ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((long int)0);
+  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) {
@@ -73640,72 +75397,71 @@ val_t NEW_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1) {
   abstractmetamodel___MMLocalClass___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMGlobalProperty[60] = {
-  {(long int) 107 /* 0: Identity */},
-  {(long int) 3 /* 1: MMGlobalProperty < Object: superclass typecheck marker */},
-  {(long int) 107 /* 2: MMGlobalProperty < MMGlobalProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMGlobalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMGlobalProperty < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_global___MMGlobalProperty___pos_of},
-  {(long int) compiling_global___MMGlobalProperty___pos_of__eq},
-  {(long int) compiling_base___MMGlobalProperty___meth_call},
-  {(long int) compiling_base___MMGlobalProperty___attr_access},
-  {(long int) compiling_base___MMGlobalProperty___color_id},
-  {(long int) syntax_base___MMGlobalProperty___check_visibility},
-  {(long int) virtualtype___MMGlobalProperty___is_virtual_type},
-  {(long int) inheritance___MMGlobalProperty___get_compatible_concrete_properties_for},
-  {(long int) 1 /* 48: MMGlobalProperty < MMGlobalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMGlobalProperty___intro},
-  {(long int) abstractmetamodel___MMGlobalProperty___local_class},
-  {(long int) abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy},
-  {(long int) abstractmetamodel___MMGlobalProperty___init},
-  {(long int) abstractmetamodel___MMGlobalProperty___add_concrete_property},
-  {(long int) abstractmetamodel___MMGlobalProperty___is_attribute},
-  {(long int) abstractmetamodel___MMGlobalProperty___is_method},
-  {(long int) abstractmetamodel___MMGlobalProperty___is_init},
-  {(long int) abstractmetamodel___MMGlobalProperty___is_init__eq},
-  {(long int) abstractmetamodel___MMGlobalProperty___visibility_level},
-  {(long int) abstractmetamodel___MMGlobalProperty___visibility_level__eq},
+const classtable_elt_t VFT_MMGlobalProperty[59] = {
+  {(bigint) 107 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMGlobalProperty < Object: superclass typecheck marker */},
+  {(bigint) 107 /* 2: MMGlobalProperty < MMGlobalProperty: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMGlobalProperty___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMGlobalProperty < 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_global___MMGlobalProperty___pos_of},
+  {(bigint) compiling_global___MMGlobalProperty___pos_of__eq},
+  {(bigint) compiling_base___MMGlobalProperty___meth_call},
+  {(bigint) compiling_base___MMGlobalProperty___attr_access},
+  {(bigint) compiling_base___MMGlobalProperty___color_id},
+  {(bigint) syntax_base___MMGlobalProperty___check_visibility},
+  {(bigint) virtualtype___MMGlobalProperty___is_virtual_type},
+  {(bigint) 1 /* 47: MMGlobalProperty < MMGlobalProperty: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMGlobalProperty___intro},
+  {(bigint) abstractmetamodel___MMGlobalProperty___local_class},
+  {(bigint) abstractmetamodel___MMGlobalProperty___property_hierarchy},
+  {(bigint) abstractmetamodel___MMGlobalProperty___init},
+  {(bigint) abstractmetamodel___MMGlobalProperty___add_local_property},
+  {(bigint) abstractmetamodel___MMGlobalProperty___is_attribute},
+  {(bigint) abstractmetamodel___MMGlobalProperty___is_method},
+  {(bigint) abstractmetamodel___MMGlobalProperty___is_init},
+  {(bigint) abstractmetamodel___MMGlobalProperty___is_init__eq},
+  {(bigint) abstractmetamodel___MMGlobalProperty___visibility_level},
+  {(bigint) abstractmetamodel___MMGlobalProperty___visibility_level__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMGlobalProperty::_pos_of */
 /* 2: Attribute MMGlobalProperty::_intro */
-/* 3: Attribute MMGlobalProperty::_concrete_property_hierarchy */
+/* 3: Attribute MMGlobalProperty::_property_hierarchy */
 /* 4: Attribute MMGlobalProperty::_is_init */
 /* 5: Attribute MMGlobalProperty::_visibility_level */
 val_t NEW_MMGlobalProperty(void) {
@@ -73713,11 +75469,11 @@ 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[MMConcreteProperty]*/
-  ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy(obj) = variable0;
-  ATTR_abstractmetamodel___MMGlobalProperty____is_init(obj) = TAG_Bool((long int)0);
-  ATTR_abstractmetamodel___MMGlobalProperty____visibility_level(obj) = TAG_Int((long int)0);
-  ATTR_compiling_global___MMGlobalProperty____pos_of(obj) = TAG_Int((long int)0);
+  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
+  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) {
@@ -73727,352 +75483,369 @@ val_t NEW_abstractmetamodel___MMGlobalProperty___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_MMLocalProperty[61] = {
-  {(long int) 99 /* 0: Identity */},
-  {(long int) 3 /* 1: MMLocalProperty < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMLocalProperty < MMLocalProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMLocalProperty < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMLocalProperty___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMLocalProperty < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
+  {(bigint) 99 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMLocalProperty < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMLocalProperty < MMLocalProperty: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: MMLocalProperty < 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___MMLocalProperty___compile_property_to_c},
+  {(bigint) compiling_base___MMLocalProperty___cname},
+  {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
+  {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMLocalProperty___node},
+  {(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) 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},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMLocalProperty::_cname_cache */
-/* 2: Attribute MMLocalProperty::_recv_alone */
-/* 3: Attribute MMLocalProperty::_signature_cache */
+/* 2: Attribute MMLocalProperty::_signature */
+/* 3: Attribute MMLocalProperty::_signatures_cache */
 /* 4: Attribute MMLocalProperty::_name */
 /* 5: Attribute MMLocalProperty::_local_class */
 /* 6: Attribute MMLocalProperty::_global */
-/* 7: Attribute MMLocalProperty::_super_prop */
-/* 8: Attribute MMLocalProperty::_concrete_property */
+/* 7: Attribute MMLocalProperty::_prhe */
+/* 8: Attribute MMLocalProperty::_need_super */
 val_t NEW_MMLocalProperty(void) {
+  val_t variable0;
   obj_t obj;
   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]*/
+  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 p2) {
+val_t NEW_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, p2, init_table);
+  abstractmetamodel___MMLocalProperty___init(self, p0, p1, init_table);
   return self;
 }
 const classtable_elt_t VFT_MMAttribute[63] = {
-  {(long int) 2587 /* 0: Identity */},
-  {(long int) 3 /* 1: MMAttribute < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMAttribute < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2587 /* 3: MMAttribute < MMAttribute: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMAttribute < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMAttribute___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMAttribute < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMAttribute___compile_access},
-  {(long int) 2 /* 62: MMAttribute < MMAttribute: superclass init_table position */},
+  {(bigint) 2599 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMAttribute < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMAttribute < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2599 /* 3: MMAttribute < MMAttribute: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: MMAttribute < 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___MMLocalProperty___compile_property_to_c},
+  {(bigint) compiling_base___MMLocalProperty___cname},
+  {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
+  {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMLocalProperty___node},
+  {(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) 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___MMAttribute___compile_access},
+  {(bigint) 2 /* 62: MMAttribute < MMAttribute: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMAttribute::_cname_cache */
-/* 2: Attribute MMAttribute::_recv_alone */
-/* 3: Attribute MMAttribute::_signature_cache */
+/* 2: Attribute MMAttribute::_signature */
+/* 3: Attribute MMAttribute::_signatures_cache */
 /* 4: Attribute MMAttribute::_name */
 /* 5: Attribute MMAttribute::_local_class */
 /* 6: Attribute MMAttribute::_global */
-/* 7: Attribute MMAttribute::_super_prop */
-/* 8: Attribute MMAttribute::_concrete_property */
+/* 7: Attribute MMAttribute::_prhe */
+/* 8: Attribute MMAttribute::_need_super */
 val_t NEW_MMAttribute(void) {
+  val_t variable0;
   obj_t obj;
   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]*/
+  ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_MMMethod[65] = {
-  {(long int) 2563 /* 0: Identity */},
-  {(long int) 3 /* 1: MMMethod < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMMethod < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2563 /* 3: MMMethod < MMMethod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMMethod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMMethod___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMMethod < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMMethod___compile_call},
-  {(long int) compiling_methods___MMMethod___compile_constructor_call},
-  {(long int) compiling_methods___MMMethod___compile_super_call},
-  {(long int) 2 /* 64: MMMethod < MMMethod: superclass init_table position */},
+  {(bigint) 2583 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMMethod < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMMethod < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2583 /* 3: MMMethod < MMMethod: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: MMMethod < 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___MMLocalProperty___compile_property_to_c},
+  {(bigint) compiling_base___MMLocalProperty___cname},
+  {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
+  {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMLocalProperty___node},
+  {(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) 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 /* 64: MMMethod < MMMethod: superclass init_table position */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMMethod::_cname_cache */
-/* 2: Attribute MMMethod::_recv_alone */
-/* 3: Attribute MMMethod::_signature_cache */
+/* 2: Attribute MMMethod::_signature */
+/* 3: Attribute MMMethod::_signatures_cache */
 /* 4: Attribute MMMethod::_name */
 /* 5: Attribute MMMethod::_local_class */
 /* 6: Attribute MMMethod::_global */
-/* 7: Attribute MMMethod::_super_prop */
-/* 8: Attribute MMMethod::_concrete_property */
+/* 7: Attribute MMMethod::_prhe */
+/* 8: Attribute MMMethod::_need_super */
 val_t NEW_MMMethod(void) {
+  val_t variable0;
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_MMMethod;
-  return OBJ2VAL(obj);
-}
-const classtable_elt_t VFT_MMConcreteClass[100] = {
-  {(long int) 2583 /* 0: Identity */},
-  {(long int) 3 /* 1: MMConcreteClass < Object: superclass typecheck marker */},
-  {(long int) 103 /* 2: MMConcreteClass < MMLocalClass: superclass typecheck marker */},
-  {(long int) 2583 /* 3: MMConcreteClass < MMConcreteClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalClass___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMConcreteClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) abstracttool___MMLocalClass___dump_properties},
-  {(long int) genericity___MMLocalClass___get_formal},
-  {(long int) genericity___MMLocalClass___register_formal},
-  {(long int) genericity___MMLocalClass___get_instantiate_type},
-  {(long int) genericity___MMLocalClass___formals_types},
-  {(long int) static_type___MMLocalClass___get_type},
-  {(long int) genericity___MMLocalClass___is_generic},
-  {(long int) inheritance___MMLocalClass___compute_super_classes},
-  {(long int) inheritance___MMLocalClass___compute_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_global_properties},
-  {(long int) inheritance___MMLocalClass___add_direct_parent},
-  {(long int) inheritance___MMLocalClass___computed_super_classes},
-  {(long int) inheritance___MMLocalClass___computed_ancestors},
-  {(long int) inheritance___MMLocalClass___ancestor_for},
-  {(long int) abstractmetamodel___MMLocalClass_____bra},
-  {(long int) inheritance___MMLocalClass___add_default_any_class},
-  {(long int) inheritance___MMLocalClass___add_super_classes},
-  {(long int) inheritance___MMLocalClass___add_explicit_classes},
-  {(long int) inheritance___MMLocalClass___compute_super_parents},
-  {(long int) inheritance___MMLocalClass___build_ancestors},
-  {(long int) inheritance___MMLocalClass___group_ancestors},
-  {(long int) inheritance___MMLocalClass___merge_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_local_property},
-  {(long int) genericity___MMLocalClass___get_type},
-  {(long int) static_type___MMLocalClass___add_ancestor},
-  {(long int) static_type___MMLocalClass___ancestors},
-  {(long int) static_type___MMLocalClass___ancestor},
-  {(long int) 1 /* 67: MMConcreteClass < MMLocalClass: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalClass___name},
-  {(long int) abstractmetamodel___MMLocalClass___arity},
-  {(long int) abstractmetamodel___MMLocalClass___module},
-  {(long int) abstractmetamodel___MMLocalClass___abstract},
-  {(long int) abstractmetamodel___MMLocalClass___abstract__eq},
-  {(long int) abstractmetamodel___MMLocalClass___global},
-  {(long int) abstractmetamodel___MMLocalClass___crhe},
-  {(long int) abstractmetamodel___MMLocalClass___cshe},
-  {(long int) abstractmetamodel___MMLocalClass___che},
-  {(long int) abstractmetamodel___MMLocalClass___local_property_by_global},
-  {(long int) abstractmetamodel___MMLocalClass___global_properties},
-  {(long int) abstractmetamodel___MMLocalClass___properties_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___init},
-  {(long int) abstractmetamodel___MMLocalClass___for_module},
-  {(long int) abstractmetamodel___MMLocalClass___new_global},
-  {(long int) abstractmetamodel___MMLocalClass___set_global},
-  {(long int) abstractmetamodel___MMLocalClass___has_global_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___get_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___attribute},
-  {(long int) abstractmetamodel___MMLocalClass___method},
-  {(long int) abstractmetamodel___MMLocalClass___super_methods_named},
-  {(long int) abstractmetamodel___MMLocalClass___register_local_property},
-  {(long int) abstractmetamodel___MMLocalClass___register_global_property},
-  {(long int) inheritance___MMLocalClass_____bra},
-  {(long int) abstractmetamodel___MMLocalClass___context},
-  {(long int) virtualtype___MMLocalClass___virtual_type},
-  {(long int) compiling_global___MMLocalClass___compare},
-  {(long int) compiling_global___MMLocalClass___declare_tables_to_c},
-  {(long int) compiling_global___MMLocalClass___compile_tables_to_c},
-  {(long int) compiling_base___MMLocalClass___primitive_info},
-  {(long int) compiling_base___MMLocalClass___primitive_ctypes},
-  {(long int) 2 /* 99: MMConcreteClass < MMConcreteClass: superclass init_table position */},
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
+  return OBJ2VAL(obj);
+}
+const classtable_elt_t VFT_MMConcreteClass[105] = {
+  {(bigint) 2595 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMConcreteClass < Object: superclass typecheck marker */},
+  {(bigint) 103 /* 2: MMConcreteClass < MMLocalClass: superclass typecheck marker */},
+  {(bigint) 2595 /* 3: MMConcreteClass < MMConcreteClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMLocalClass___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMConcreteClass < 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) abstracttool___MMLocalClass___dump_properties},
+  {(bigint) mmbuilder___MMLocalClass___accept_class_visitor},
+  {(bigint) mmbuilder___MMLocalClass___accept_properties_visitor},
+  {(bigint) genericity___MMLocalClass___get_formal},
+  {(bigint) genericity___MMLocalClass___register_formal},
+  {(bigint) genericity___MMLocalClass___get_instantiate_type},
+  {(bigint) genericity___MMLocalClass___formals_types},
+  {(bigint) static_type___MMLocalClass___get_type},
+  {(bigint) genericity___MMLocalClass___is_generic},
+  {(bigint) inheritance___MMLocalClass___compute_super_classes},
+  {(bigint) inheritance___MMLocalClass___compute_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___add_direct_parent},
+  {(bigint) inheritance___MMLocalClass___computed_super_classes},
+  {(bigint) inheritance___MMLocalClass___computed_ancestors},
+  {(bigint) inheritance___MMLocalClass___ancestor_for},
+  {(bigint) abstractmetamodel___MMLocalClass_____bra},
+  {(bigint) inheritance___MMLocalClass___add_default_any_class},
+  {(bigint) inheritance___MMLocalClass___add_super_classes},
+  {(bigint) inheritance___MMLocalClass___add_explicit_classes},
+  {(bigint) inheritance___MMLocalClass___compute_super_parents},
+  {(bigint) inheritance___MMLocalClass___build_ancestors},
+  {(bigint) inheritance___MMLocalClass___group_ancestors},
+  {(bigint) inheritance___MMLocalClass___merge_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_local_property},
+  {(bigint) genericity___MMLocalClass___get_type},
+  {(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) abstractmetamodel___MMLocalClass___name},
+  {(bigint) abstractmetamodel___MMLocalClass___arity},
+  {(bigint) abstractmetamodel___MMLocalClass___module},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract__eq},
+  {(bigint) abstractmetamodel___MMLocalClass___global},
+  {(bigint) abstractmetamodel___MMLocalClass___crhe},
+  {(bigint) abstractmetamodel___MMLocalClass___cshe},
+  {(bigint) abstractmetamodel___MMLocalClass___che},
+  {(bigint) abstractmetamodel___MMLocalClass___local_property_by_global},
+  {(bigint) abstractmetamodel___MMLocalClass___global_properties},
+  {(bigint) abstractmetamodel___MMLocalClass___properties_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___init},
+  {(bigint) abstractmetamodel___MMLocalClass___for_module},
+  {(bigint) abstractmetamodel___MMLocalClass___new_global},
+  {(bigint) abstractmetamodel___MMLocalClass___set_global},
+  {(bigint) abstractmetamodel___MMLocalClass___has_global_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___get_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___super_methods_named},
+  {(bigint) abstractmetamodel___MMLocalClass___register_local_property},
+  {(bigint) abstractmetamodel___MMLocalClass___register_global_property},
+  {(bigint) inheritance___MMLocalClass_____bra},
+  {(bigint) abstractmetamodel___MMLocalClass___context},
+  {(bigint) virtualtype___MMLocalClass___virtual_type},
+  {(bigint) virtualtype___MMLocalClass___select_virtual_type},
+  {(bigint) compiling_global___MMLocalClass___compare},
+  {(bigint) compiling_global___MMLocalClass___declare_tables_to_c},
+  {(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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMConcreteClass::_types */
@@ -74101,164 +75874,72 @@ val_t NEW_MMConcreteClass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 20);
   obj->vft = (classtable_elt_t*)VFT_MMConcreteClass;
-  ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((long int)0);
-  ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((long int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[MMAncestor]*/
+  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]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
-  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((long int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[MMTypeGeneric]*/
+  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
-  ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((long int)0);
-  return OBJ2VAL(obj);
-}
-const classtable_elt_t VFT_MMConcreteProperty[71] = {
-  {(long int) 2579 /* 0: Identity */},
-  {(long int) 3 /* 1: MMConcreteProperty < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMConcreteProperty < MMLocalProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 2579 /* 4: MMConcreteProperty < MMConcreteProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMConcreteProperty < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMLocalProperty___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMConcreteProperty < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMConcreteProperty < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute MMConcreteProperty::_cname_cache */
-/* 2: Attribute MMConcreteProperty::_recv_alone */
-/* 3: Attribute MMConcreteProperty::_signature_cache */
-/* 4: Attribute MMConcreteProperty::_name */
-/* 5: Attribute MMConcreteProperty::_local_class */
-/* 6: Attribute MMConcreteProperty::_global */
-/* 7: Attribute MMConcreteProperty::_super_prop */
-/* 8: Attribute MMConcreteProperty::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMConcreteProperty::_cprhe */
-/* 11: Attribute MMConcreteProperty::_need_super */
-val_t NEW_MMConcreteProperty(void) {
-  obj_t obj;
-  obj = alloc(sizeof(val_t) * 12);
-  obj->vft = (classtable_elt_t*)VFT_MMConcreteProperty;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
+  ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_MMSignature[53] = {
-  {(long int) 91 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSignature < Object: superclass typecheck marker */},
-  {(long int) 91 /* 2: MMSignature < MMSignature: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMSignature___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSignature < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) vararg___MMSignature___vararg_rank},
-  {(long int) vararg___MMSignature___vararg_rank__eq},
-  {(long int) vararg___MMSignature___has_vararg},
-  {(long int) genericity___MMSignature___adaptation_to},
-  {(long int) static_type___MMSignature___init},
-  {(long int) vararg___MMSignature___adaptation_to},
-  {(long int) 1 /* 46: MMSignature < MMSignature: superclass init_table position */},
-  {(long int) static_type___MMSignature___recv},
-  {(long int) static_type___MMSignature___return_type},
-  {(long int) static_type___MMSignature___arity},
-  {(long int) static_type___MMSignature_____l},
-  {(long int) static_type___MMSignature_____bra},
-  {(long int) vararg___MMSignature___init},
+  {(bigint) 91 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSignature < Object: superclass typecheck marker */},
+  {(bigint) 91 /* 2: MMSignature < MMSignature: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) static_type___MMSignature___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMSignature < 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) vararg___MMSignature___vararg_rank},
+  {(bigint) vararg___MMSignature___vararg_rank__eq},
+  {(bigint) vararg___MMSignature___has_vararg},
+  {(bigint) static_type___MMSignature___adaptation_to},
+  {(bigint) static_type___MMSignature___init},
+  {(bigint) 1 /* 45: MMSignature < MMSignature: superclass init_table position */},
+  {(bigint) static_type___MMSignature___recv},
+  {(bigint) static_type___MMSignature___return_type},
+  {(bigint) static_type___MMSignature___arity},
+  {(bigint) static_type___MMSignature_____l},
+  {(bigint) static_type___MMSignature_____bra},
+  {(bigint) vararg___MMSignature___adaptation_to},
+  {(bigint) vararg___MMSignature___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSignature::_vararg_rank */
@@ -74269,7 +75950,7 @@ val_t NEW_MMSignature(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_MMSignature;
-  ATTR_vararg___MMSignature____vararg_rank(obj) = TAG_Int((long int)0);
+  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) {
@@ -74279,9 +75960,9 @@ val_t NEW_static_type___MMSignature___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_MMAncestor[49] = {
-  {(long int) 123 /* 0: Identity */},
-  {(long int) 3 /* 1: MMAncestor < Object: superclass typecheck marker */},
-  {(long int) 123 /* 2: MMAncestor < MMAncestor: superclass typecheck marker */},
+  {(bigint) 123 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMAncestor < Object: superclass typecheck marker */},
+  {(bigint) 123 /* 2: MMAncestor < MMAncestor: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -74292,42 +75973,42 @@ const classtable_elt_t VFT_MMAncestor[49] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMAncestor___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMAncestor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) inheritance___MMAncestor___add_in},
-  {(long int) 1 /* 41: MMAncestor < MMAncestor: superclass init_table position */},
-  {(long int) static_type___MMAncestor___stype},
-  {(long int) static_type___MMAncestor___stype__eq},
-  {(long int) static_type___MMAncestor___inheriter},
-  {(long int) static_type___MMAncestor___inheriter__eq},
-  {(long int) static_type___MMAncestor___is_reffinement},
-  {(long int) static_type___MMAncestor___is_specialisation},
-  {(long int) static_type___MMAncestor___local_class},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) static_type___MMAncestor___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMAncestor < 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) inheritance___MMAncestor___add_in},
+  {(bigint) 1 /* 41: MMAncestor < MMAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___stype},
+  {(bigint) static_type___MMAncestor___stype__eq},
+  {(bigint) static_type___MMAncestor___inheriter},
+  {(bigint) static_type___MMAncestor___inheriter__eq},
+  {(bigint) static_type___MMAncestor___is_reffinement},
+  {(bigint) static_type___MMAncestor___is_specialisation},
+  {(bigint) static_type___MMAncestor___local_class},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMAncestor::_stype */
@@ -74338,68 +76019,64 @@ val_t NEW_MMAncestor(void) {
   obj->vft = (classtable_elt_t*)VFT_MMAncestor;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMType[61] = {
-  {(long int) 87 /* 0: Identity */},
-  {(long int) 3 /* 1: MMType < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMType < MMType: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMType < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMType___is_generic},
-  {(long int) type_formal___MMType___direct_type},
-  {(long int) 1 /* 48: MMType < MMType: superclass init_table position */},
-  {(long int) static_type___MMType___module},
-  {(long int) static_type___MMType___local_class},
-  {(long int) static_type___MMType_____l},
-  {(long int) static_type___MMType___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) static_type___MMType___select_property},
-  {(long int) static_type___MMType___for_module},
-  {(long int) static_type___MMType___adapt_to},
-  {(long int) static_type___MMType___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
+const classtable_elt_t VFT_MMType[57] = {
+  {(bigint) 87 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMType < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMType < MMType: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMType < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMType___is_generic},
+  {(bigint) type_formal___MMType___direct_type},
+  {(bigint) 1 /* 48: MMType < MMType: superclass init_table position */},
+  {(bigint) static_type___MMType___module},
+  {(bigint) static_type___MMType___local_class},
+  {(bigint) static_type___MMType_____l},
+  {(bigint) static_type___MMType___is_supertype},
+  {(bigint) static_type___MMType___for_module},
+  {(bigint) static_type___MMType___adapt_to},
+  {(bigint) static_type___MMType___upcast_for},
+  {(bigint) static_type___MMType___not_for_self},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_MMType(void) {
@@ -74408,70 +76085,66 @@ val_t NEW_MMType(void) {
   obj->vft = (classtable_elt_t*)VFT_MMType;
   return OBJ2VAL(obj);
 }
-const classtable_elt_t VFT_MMTypeClass[63] = {
-  {(long int) 2543 /* 0: Identity */},
-  {(long int) 3 /* 1: MMTypeClass < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMTypeClass < MMType: superclass typecheck marker */},
-  {(long int) 2543 /* 3: MMTypeClass < MMTypeClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMTypeClass___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMTypeClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMType___is_generic},
-  {(long int) type_formal___MMType___direct_type},
-  {(long int) 1 /* 48: MMTypeClass < MMType: superclass init_table position */},
-  {(long int) static_type___MMTypeClass___module},
-  {(long int) static_type___MMTypeClass___local_class},
-  {(long int) static_type___MMTypeClass_____l},
-  {(long int) static_type___MMType___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) static_type___MMType___select_property},
-  {(long int) static_type___MMType___for_module},
-  {(long int) static_type___MMType___adapt_to},
-  {(long int) static_type___MMTypeClass___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMTypeClass < MMTypeClass: superclass init_table position */},
-  {(long int) static_type___MMTypeClass___init},
+const classtable_elt_t VFT_MMTypeClass[59] = {
+  {(bigint) 2563 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMTypeClass < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMTypeClass < MMType: superclass typecheck marker */},
+  {(bigint) 2563 /* 3: MMTypeClass < MMTypeClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) static_type___MMTypeClass___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMTypeClass < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMType___is_generic},
+  {(bigint) type_formal___MMType___direct_type},
+  {(bigint) 1 /* 48: MMTypeClass < MMType: superclass init_table position */},
+  {(bigint) static_type___MMTypeClass___module},
+  {(bigint) static_type___MMTypeClass___local_class},
+  {(bigint) static_type___MMTypeClass_____l},
+  {(bigint) static_type___MMType___is_supertype},
+  {(bigint) static_type___MMType___for_module},
+  {(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___MMTypeClass___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMTypeClass::_local_class */
@@ -74487,72 +76160,68 @@ val_t NEW_static_type___MMTypeClass___init(val_t p0) {
   static_type___MMTypeClass___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeSimpleClass[65] = {
-  {(long int) 3135 /* 0: Identity */},
-  {(long int) 3 /* 1: MMTypeSimpleClass < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMTypeSimpleClass < MMType: superclass typecheck marker */},
-  {(long int) 2543 /* 3: MMTypeSimpleClass < MMTypeClass: superclass typecheck marker */},
-  {(long int) 3135 /* 4: MMTypeSimpleClass < MMTypeSimpleClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMTypeClass___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMTypeSimpleClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMTypeSimpleClass___is_generic},
-  {(long int) type_formal___MMType___direct_type},
-  {(long int) 1 /* 48: MMTypeSimpleClass < MMType: superclass init_table position */},
-  {(long int) static_type___MMTypeClass___module},
-  {(long int) static_type___MMTypeClass___local_class},
-  {(long int) static_type___MMTypeClass_____l},
-  {(long int) static_type___MMTypeSimpleClass___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) static_type___MMTypeSimpleClass___select_property},
-  {(long int) static_type___MMTypeSimpleClass___for_module},
-  {(long int) static_type___MMTypeSimpleClass___adapt_to},
-  {(long int) static_type___MMTypeClass___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMTypeSimpleClass < MMTypeClass: superclass init_table position */},
-  {(long int) static_type___MMTypeClass___init},
-  {(long int) 3 /* 63: MMTypeSimpleClass < MMTypeSimpleClass: superclass init_table position */},
-  {(long int) static_type___MMTypeSimpleClass___init},
+const classtable_elt_t VFT_MMTypeSimpleClass[61] = {
+  {(bigint) 3151 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMTypeSimpleClass < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMTypeSimpleClass < MMType: superclass typecheck marker */},
+  {(bigint) 2563 /* 3: MMTypeSimpleClass < MMTypeClass: superclass typecheck marker */},
+  {(bigint) 3151 /* 4: MMTypeSimpleClass < MMTypeSimpleClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) static_type___MMTypeClass___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMTypeSimpleClass < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMTypeSimpleClass___is_generic},
+  {(bigint) type_formal___MMType___direct_type},
+  {(bigint) 1 /* 48: MMTypeSimpleClass < MMType: superclass init_table position */},
+  {(bigint) static_type___MMTypeClass___module},
+  {(bigint) static_type___MMTypeClass___local_class},
+  {(bigint) static_type___MMTypeClass_____l},
+  {(bigint) static_type___MMTypeSimpleClass___is_supertype},
+  {(bigint) static_type___MMTypeSimpleClass___for_module},
+  {(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___MMTypeClass___init},
+  {(bigint) 3 /* 59: MMTypeSimpleClass < MMTypeSimpleClass: superclass init_table position */},
+  {(bigint) static_type___MMTypeSimpleClass___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMTypeSimpleClass::_local_class */
@@ -74568,70 +76237,66 @@ val_t NEW_static_type___MMTypeSimpleClass___init(val_t p0) {
   static_type___MMTypeSimpleClass___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeNone[63] = {
-  {(long int) 2535 /* 0: Identity */},
-  {(long int) 3 /* 1: MMTypeNone < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMTypeNone < MMType: superclass typecheck marker */},
-  {(long int) 2535 /* 3: MMTypeNone < MMTypeNone: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMTypeNone < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMTypeNone___is_generic},
-  {(long int) type_formal___MMType___direct_type},
-  {(long int) 1 /* 48: MMTypeNone < MMType: superclass init_table position */},
-  {(long int) static_type___MMTypeNone___module},
-  {(long int) static_type___MMTypeNone___local_class},
-  {(long int) static_type___MMTypeNone_____l},
-  {(long int) static_type___MMTypeNone___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) static_type___MMType___select_property},
-  {(long int) genericity___MMTypeNone___for_module},
-  {(long int) genericity___MMTypeNone___adapt_to},
-  {(long int) static_type___MMTypeNone___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMTypeNone < MMTypeNone: superclass init_table position */},
-  {(long int) static_type___MMTypeNone___init},
+const classtable_elt_t VFT_MMTypeNone[59] = {
+  {(bigint) 2555 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMTypeNone < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMTypeNone < MMType: superclass typecheck marker */},
+  {(bigint) 2555 /* 3: MMTypeNone < MMTypeNone: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMTypeNone < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMTypeNone___is_generic},
+  {(bigint) type_formal___MMType___direct_type},
+  {(bigint) 1 /* 48: MMTypeNone < MMType: superclass init_table position */},
+  {(bigint) static_type___MMTypeNone___module},
+  {(bigint) static_type___MMTypeNone___local_class},
+  {(bigint) static_type___MMTypeNone_____l},
+  {(bigint) static_type___MMTypeNone___is_supertype},
+  {(bigint) genericity___MMTypeNone___for_module},
+  {(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___MMTypeNone___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMTypeNone::_module */
@@ -74647,380 +76312,113 @@ val_t NEW_static_type___MMTypeNone___init(val_t p0) {
   static_type___MMTypeNone___init(self, p0, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMImplicitProperty[67] = {
-  {(long int) 2567 /* 0: Identity */},
-  {(long int) 3 /* 1: MMImplicitProperty < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMImplicitProperty < MMLocalProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 2567 /* 4: MMImplicitProperty < MMImplicitProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMImplicitProperty < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMLocalProperty___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMImplicitProperty < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 2 /* 65: MMImplicitProperty < MMImplicitProperty: superclass init_table position */},
-  {(long int) inheritance___MMImplicitProperty___init},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute MMImplicitProperty::_cname_cache */
-/* 2: Attribute MMImplicitProperty::_recv_alone */
-/* 3: Attribute MMImplicitProperty::_signature_cache */
-/* 4: Attribute MMImplicitProperty::_name */
-/* 5: Attribute MMImplicitProperty::_local_class */
-/* 6: Attribute MMImplicitProperty::_global */
-/* 7: Attribute MMImplicitProperty::_super_prop */
-/* 8: Attribute MMImplicitProperty::_concrete_property */
-val_t NEW_MMImplicitProperty(void) {
-  obj_t obj;
-  obj = alloc(sizeof(val_t) * 9);
-  obj->vft = (classtable_elt_t*)VFT_MMImplicitProperty;
-  return OBJ2VAL(obj);
-}
-val_t NEW_inheritance___MMImplicitProperty___init(val_t p0, val_t p1) {
-  int init_table[3] = {0, 0, 0};
-  val_t self = NEW_MMImplicitProperty();
-  inheritance___MMImplicitProperty___init(self, p0, p1, init_table);
-  return self;
-}
-const classtable_elt_t VFT_MMImplicitMethod[69] = {
-  {(long int) 3159 /* 0: Identity */},
-  {(long int) 3 /* 1: MMImplicitMethod < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMImplicitMethod < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2563 /* 3: MMImplicitMethod < MMMethod: superclass typecheck marker */},
-  {(long int) 2567 /* 4: MMImplicitMethod < MMImplicitProperty: superclass typecheck marker */},
-  {(long int) 3159 /* 5: MMImplicitMethod < MMImplicitMethod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMImplicitMethod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMMethod___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMImplicitMethod < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMMethod___compile_call},
-  {(long int) compiling_methods___MMMethod___compile_constructor_call},
-  {(long int) compiling_methods___MMMethod___compile_super_call},
-  {(long int) 2 /* 64: MMImplicitMethod < MMMethod: superclass init_table position */},
-  {(long int) 3 /* 65: MMImplicitMethod < MMImplicitProperty: superclass init_table position */},
-  {(long int) inheritance___MMImplicitProperty___init},
-  {(long int) 4 /* 67: MMImplicitMethod < MMImplicitMethod: superclass init_table position */},
-  {(long int) inheritance___MMImplicitMethod___init},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute MMImplicitMethod::_cname_cache */
-/* 2: Attribute MMImplicitMethod::_recv_alone */
-/* 3: Attribute MMImplicitMethod::_signature_cache */
-/* 4: Attribute MMImplicitMethod::_name */
-/* 5: Attribute MMImplicitMethod::_local_class */
-/* 6: Attribute MMImplicitMethod::_global */
-/* 7: Attribute MMImplicitMethod::_super_prop */
-/* 8: Attribute MMImplicitMethod::_concrete_property */
-val_t NEW_MMImplicitMethod(void) {
-  obj_t obj;
-  obj = alloc(sizeof(val_t) * 9);
-  obj->vft = (classtable_elt_t*)VFT_MMImplicitMethod;
-  return OBJ2VAL(obj);
-}
-val_t NEW_inheritance___MMImplicitMethod___init(val_t p0, val_t p1) {
-  int init_table[5] = {0, 0, 0, 0, 0};
-  val_t self = NEW_MMImplicitMethod();
-  inheritance___MMImplicitMethod___init(self, p0, p1, init_table);
-  return self;
-}
-const classtable_elt_t VFT_MMImplicitAttribute[67] = {
-  {(long int) 3163 /* 0: Identity */},
-  {(long int) 3 /* 1: MMImplicitAttribute < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMImplicitAttribute < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2587 /* 3: MMImplicitAttribute < MMAttribute: superclass typecheck marker */},
-  {(long int) 2567 /* 4: MMImplicitAttribute < MMImplicitProperty: superclass typecheck marker */},
-  {(long int) 3163 /* 5: MMImplicitAttribute < MMImplicitAttribute: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMImplicitAttribute < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMAttribute___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMImplicitAttribute < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMAttribute___compile_access},
-  {(long int) 2 /* 62: MMImplicitAttribute < MMAttribute: superclass init_table position */},
-  {(long int) 4 /* 63: MMImplicitAttribute < MMImplicitAttribute: superclass init_table position */},
-  {(long int) inheritance___MMImplicitAttribute___init},
-  {(long int) 3 /* 65: MMImplicitAttribute < MMImplicitProperty: superclass init_table position */},
-  {(long int) inheritance___MMImplicitProperty___init},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute MMImplicitAttribute::_cname_cache */
-/* 2: Attribute MMImplicitAttribute::_recv_alone */
-/* 3: Attribute MMImplicitAttribute::_signature_cache */
-/* 4: Attribute MMImplicitAttribute::_name */
-/* 5: Attribute MMImplicitAttribute::_local_class */
-/* 6: Attribute MMImplicitAttribute::_global */
-/* 7: Attribute MMImplicitAttribute::_super_prop */
-/* 8: Attribute MMImplicitAttribute::_concrete_property */
-val_t NEW_MMImplicitAttribute(void) {
-  obj_t obj;
-  obj = alloc(sizeof(val_t) * 9);
-  obj->vft = (classtable_elt_t*)VFT_MMImplicitAttribute;
-  return OBJ2VAL(obj);
-}
-val_t NEW_inheritance___MMImplicitAttribute___init(val_t p0, val_t p1) {
-  int init_table[5] = {0, 0, 0, 0, 0};
-  val_t self = NEW_MMImplicitAttribute();
-  inheritance___MMImplicitAttribute___init(self, p0, p1, init_table);
-  return self;
-}
-const classtable_elt_t VFT_MMImplicitLocalClass[101] = {
-  {(long int) 2571 /* 0: Identity */},
-  {(long int) 3 /* 1: MMImplicitLocalClass < Object: superclass typecheck marker */},
-  {(long int) 103 /* 2: MMImplicitLocalClass < MMLocalClass: superclass typecheck marker */},
-  {(long int) 2571 /* 3: MMImplicitLocalClass < MMImplicitLocalClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalClass___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMImplicitLocalClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) abstracttool___MMLocalClass___dump_properties},
-  {(long int) genericity___MMLocalClass___get_formal},
-  {(long int) genericity___MMLocalClass___register_formal},
-  {(long int) genericity___MMLocalClass___get_instantiate_type},
-  {(long int) genericity___MMLocalClass___formals_types},
-  {(long int) static_type___MMLocalClass___get_type},
-  {(long int) genericity___MMLocalClass___is_generic},
-  {(long int) inheritance___MMLocalClass___compute_super_classes},
-  {(long int) inheritance___MMLocalClass___compute_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_global_properties},
-  {(long int) inheritance___MMLocalClass___add_direct_parent},
-  {(long int) inheritance___MMLocalClass___computed_super_classes},
-  {(long int) inheritance___MMLocalClass___computed_ancestors},
-  {(long int) inheritance___MMLocalClass___ancestor_for},
-  {(long int) abstractmetamodel___MMLocalClass_____bra},
-  {(long int) inheritance___MMLocalClass___add_default_any_class},
-  {(long int) inheritance___MMLocalClass___add_super_classes},
-  {(long int) inheritance___MMLocalClass___add_explicit_classes},
-  {(long int) inheritance___MMLocalClass___compute_super_parents},
-  {(long int) inheritance___MMLocalClass___build_ancestors},
-  {(long int) inheritance___MMLocalClass___group_ancestors},
-  {(long int) inheritance___MMLocalClass___merge_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_local_property},
-  {(long int) genericity___MMLocalClass___get_type},
-  {(long int) static_type___MMLocalClass___add_ancestor},
-  {(long int) static_type___MMLocalClass___ancestors},
-  {(long int) static_type___MMLocalClass___ancestor},
-  {(long int) 1 /* 67: MMImplicitLocalClass < MMLocalClass: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalClass___name},
-  {(long int) abstractmetamodel___MMLocalClass___arity},
-  {(long int) abstractmetamodel___MMLocalClass___module},
-  {(long int) abstractmetamodel___MMLocalClass___abstract},
-  {(long int) abstractmetamodel___MMLocalClass___abstract__eq},
-  {(long int) abstractmetamodel___MMLocalClass___global},
-  {(long int) abstractmetamodel___MMLocalClass___crhe},
-  {(long int) abstractmetamodel___MMLocalClass___cshe},
-  {(long int) abstractmetamodel___MMLocalClass___che},
-  {(long int) abstractmetamodel___MMLocalClass___local_property_by_global},
-  {(long int) abstractmetamodel___MMLocalClass___global_properties},
-  {(long int) abstractmetamodel___MMLocalClass___properties_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___init},
-  {(long int) abstractmetamodel___MMLocalClass___for_module},
-  {(long int) abstractmetamodel___MMLocalClass___new_global},
-  {(long int) abstractmetamodel___MMLocalClass___set_global},
-  {(long int) abstractmetamodel___MMLocalClass___has_global_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___get_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___attribute},
-  {(long int) abstractmetamodel___MMLocalClass___method},
-  {(long int) abstractmetamodel___MMLocalClass___super_methods_named},
-  {(long int) abstractmetamodel___MMLocalClass___register_local_property},
-  {(long int) abstractmetamodel___MMLocalClass___register_global_property},
-  {(long int) inheritance___MMLocalClass_____bra},
-  {(long int) abstractmetamodel___MMLocalClass___context},
-  {(long int) virtualtype___MMLocalClass___virtual_type},
-  {(long int) compiling_global___MMLocalClass___compare},
-  {(long int) compiling_global___MMLocalClass___declare_tables_to_c},
-  {(long int) compiling_global___MMLocalClass___compile_tables_to_c},
-  {(long int) compiling_base___MMLocalClass___primitive_info},
-  {(long int) compiling_base___MMLocalClass___primitive_ctypes},
-  {(long int) 2 /* 99: MMImplicitLocalClass < MMImplicitLocalClass: superclass init_table position */},
-  {(long int) inheritance___MMImplicitLocalClass___init},
+const classtable_elt_t VFT_MMImplicitLocalClass[106] = {
+  {(bigint) 2587 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMImplicitLocalClass < Object: superclass typecheck marker */},
+  {(bigint) 103 /* 2: MMImplicitLocalClass < MMLocalClass: superclass typecheck marker */},
+  {(bigint) 2587 /* 3: MMImplicitLocalClass < MMImplicitLocalClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMLocalClass___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMImplicitLocalClass < 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) abstracttool___MMLocalClass___dump_properties},
+  {(bigint) mmbuilder___MMLocalClass___accept_class_visitor},
+  {(bigint) mmbuilder___MMLocalClass___accept_properties_visitor},
+  {(bigint) genericity___MMLocalClass___get_formal},
+  {(bigint) genericity___MMLocalClass___register_formal},
+  {(bigint) genericity___MMLocalClass___get_instantiate_type},
+  {(bigint) genericity___MMLocalClass___formals_types},
+  {(bigint) static_type___MMLocalClass___get_type},
+  {(bigint) genericity___MMLocalClass___is_generic},
+  {(bigint) inheritance___MMLocalClass___compute_super_classes},
+  {(bigint) inheritance___MMLocalClass___compute_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___add_direct_parent},
+  {(bigint) inheritance___MMLocalClass___computed_super_classes},
+  {(bigint) inheritance___MMLocalClass___computed_ancestors},
+  {(bigint) inheritance___MMLocalClass___ancestor_for},
+  {(bigint) abstractmetamodel___MMLocalClass_____bra},
+  {(bigint) inheritance___MMLocalClass___add_default_any_class},
+  {(bigint) inheritance___MMLocalClass___add_super_classes},
+  {(bigint) inheritance___MMLocalClass___add_explicit_classes},
+  {(bigint) inheritance___MMLocalClass___compute_super_parents},
+  {(bigint) inheritance___MMLocalClass___build_ancestors},
+  {(bigint) inheritance___MMLocalClass___group_ancestors},
+  {(bigint) inheritance___MMLocalClass___merge_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_local_property},
+  {(bigint) genericity___MMLocalClass___get_type},
+  {(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) abstractmetamodel___MMLocalClass___name},
+  {(bigint) abstractmetamodel___MMLocalClass___arity},
+  {(bigint) abstractmetamodel___MMLocalClass___module},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract__eq},
+  {(bigint) abstractmetamodel___MMLocalClass___global},
+  {(bigint) abstractmetamodel___MMLocalClass___crhe},
+  {(bigint) abstractmetamodel___MMLocalClass___cshe},
+  {(bigint) abstractmetamodel___MMLocalClass___che},
+  {(bigint) abstractmetamodel___MMLocalClass___local_property_by_global},
+  {(bigint) abstractmetamodel___MMLocalClass___global_properties},
+  {(bigint) abstractmetamodel___MMLocalClass___properties_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___init},
+  {(bigint) abstractmetamodel___MMLocalClass___for_module},
+  {(bigint) abstractmetamodel___MMLocalClass___new_global},
+  {(bigint) abstractmetamodel___MMLocalClass___set_global},
+  {(bigint) abstractmetamodel___MMLocalClass___has_global_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___get_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___super_methods_named},
+  {(bigint) abstractmetamodel___MMLocalClass___register_local_property},
+  {(bigint) abstractmetamodel___MMLocalClass___register_global_property},
+  {(bigint) inheritance___MMLocalClass_____bra},
+  {(bigint) abstractmetamodel___MMLocalClass___context},
+  {(bigint) virtualtype___MMLocalClass___virtual_type},
+  {(bigint) virtualtype___MMLocalClass___select_virtual_type},
+  {(bigint) compiling_global___MMLocalClass___compare},
+  {(bigint) compiling_global___MMLocalClass___declare_tables_to_c},
+  {(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) inheritance___MMImplicitLocalClass___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMImplicitLocalClass::_types */
@@ -75049,16 +76447,16 @@ val_t NEW_MMImplicitLocalClass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 20);
   obj->vft = (classtable_elt_t*)VFT_MMImplicitLocalClass;
-  ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((long int)0);
-  ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((long int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[MMAncestor]*/
+  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]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
-  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((long int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[MMTypeGeneric]*/
+  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
-  ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((long int)0);
+  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) {
@@ -75068,57 +76466,57 @@ val_t NEW_inheritance___MMImplicitLocalClass___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_MMRefineAncestor[51] = {
-  {(long int) 2559 /* 0: Identity */},
-  {(long int) 3 /* 1: MMRefineAncestor < Object: superclass typecheck marker */},
-  {(long int) 123 /* 2: MMRefineAncestor < MMAncestor: superclass typecheck marker */},
-  {(long int) 2559 /* 3: MMRefineAncestor < MMRefineAncestor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMAncestor___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMRefineAncestor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) inheritance___MMAncestor___add_in},
-  {(long int) 1 /* 41: MMRefineAncestor < MMAncestor: superclass init_table position */},
-  {(long int) static_type___MMAncestor___stype},
-  {(long int) static_type___MMAncestor___stype__eq},
-  {(long int) static_type___MMAncestor___inheriter},
-  {(long int) static_type___MMAncestor___inheriter__eq},
-  {(long int) static_type___MMAncestor___is_reffinement},
-  {(long int) static_type___MMAncestor___is_specialisation},
-  {(long int) inheritance___MMRefineAncestor___local_class},
-  {(long int) 2 /* 49: MMRefineAncestor < MMRefineAncestor: superclass init_table position */},
-  {(long int) inheritance___MMRefineAncestor___init},
+  {(bigint) 2579 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMRefineAncestor < Object: superclass typecheck marker */},
+  {(bigint) 123 /* 2: MMRefineAncestor < MMAncestor: superclass typecheck marker */},
+  {(bigint) 2579 /* 3: MMRefineAncestor < MMRefineAncestor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) static_type___MMAncestor___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMRefineAncestor < 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) inheritance___MMAncestor___add_in},
+  {(bigint) 1 /* 41: MMRefineAncestor < MMAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___stype},
+  {(bigint) static_type___MMAncestor___stype__eq},
+  {(bigint) static_type___MMAncestor___inheriter},
+  {(bigint) static_type___MMAncestor___inheriter__eq},
+  {(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) inheritance___MMRefineAncestor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMRefineAncestor::_stype */
@@ -75137,57 +76535,57 @@ val_t NEW_inheritance___MMRefineAncestor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_MMSpecAncestor[51] = {
-  {(long int) 2555 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSpecAncestor < Object: superclass typecheck marker */},
-  {(long int) 123 /* 2: MMSpecAncestor < MMAncestor: superclass typecheck marker */},
-  {(long int) 2555 /* 3: MMSpecAncestor < MMSpecAncestor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMAncestor___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSpecAncestor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) inheritance___MMAncestor___add_in},
-  {(long int) 1 /* 41: MMSpecAncestor < MMAncestor: superclass init_table position */},
-  {(long int) static_type___MMAncestor___stype},
-  {(long int) static_type___MMAncestor___stype__eq},
-  {(long int) static_type___MMAncestor___inheriter},
-  {(long int) static_type___MMAncestor___inheriter__eq},
-  {(long int) static_type___MMAncestor___is_reffinement},
-  {(long int) static_type___MMAncestor___is_specialisation},
-  {(long int) inheritance___MMSpecAncestor___local_class},
-  {(long int) 2 /* 49: MMSpecAncestor < MMSpecAncestor: superclass init_table position */},
-  {(long int) inheritance___MMSpecAncestor___init},
+  {(bigint) 2575 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSpecAncestor < Object: superclass typecheck marker */},
+  {(bigint) 123 /* 2: MMSpecAncestor < MMAncestor: superclass typecheck marker */},
+  {(bigint) 2575 /* 3: MMSpecAncestor < MMSpecAncestor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) static_type___MMAncestor___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMSpecAncestor < 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) inheritance___MMAncestor___add_in},
+  {(bigint) 1 /* 41: MMSpecAncestor < MMAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___stype},
+  {(bigint) static_type___MMAncestor___stype__eq},
+  {(bigint) static_type___MMAncestor___inheriter},
+  {(bigint) static_type___MMAncestor___inheriter__eq},
+  {(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) inheritance___MMSpecAncestor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSpecAncestor::_stype */
@@ -75205,57 +76603,57 @@ val_t NEW_inheritance___MMSpecAncestor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_MMDefaultAncestor[51] = {
-  {(long int) 2575 /* 0: Identity */},
-  {(long int) 3 /* 1: MMDefaultAncestor < Object: superclass typecheck marker */},
-  {(long int) 123 /* 2: MMDefaultAncestor < MMAncestor: superclass typecheck marker */},
-  {(long int) 2575 /* 3: MMDefaultAncestor < MMDefaultAncestor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMAncestor___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMDefaultAncestor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) inheritance___MMAncestor___add_in},
-  {(long int) 1 /* 41: MMDefaultAncestor < MMAncestor: superclass init_table position */},
-  {(long int) static_type___MMAncestor___stype},
-  {(long int) static_type___MMAncestor___stype__eq},
-  {(long int) static_type___MMAncestor___inheriter},
-  {(long int) static_type___MMAncestor___inheriter__eq},
-  {(long int) static_type___MMAncestor___is_reffinement},
-  {(long int) static_type___MMAncestor___is_specialisation},
-  {(long int) inheritance___MMDefaultAncestor___local_class},
-  {(long int) 2 /* 49: MMDefaultAncestor < MMDefaultAncestor: superclass init_table position */},
-  {(long int) inheritance___MMDefaultAncestor___init},
+  {(bigint) 2591 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMDefaultAncestor < Object: superclass typecheck marker */},
+  {(bigint) 123 /* 2: MMDefaultAncestor < MMAncestor: superclass typecheck marker */},
+  {(bigint) 2591 /* 3: MMDefaultAncestor < MMDefaultAncestor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) static_type___MMAncestor___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMDefaultAncestor < 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) inheritance___MMAncestor___add_in},
+  {(bigint) 1 /* 41: MMDefaultAncestor < MMAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___stype},
+  {(bigint) static_type___MMAncestor___stype__eq},
+  {(bigint) static_type___MMAncestor___inheriter},
+  {(bigint) static_type___MMAncestor___inheriter__eq},
+  {(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) inheritance___MMDefaultAncestor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMDefaultAncestor::_stype */
@@ -75272,72 +76670,68 @@ val_t NEW_inheritance___MMDefaultAncestor___init(val_t p0, val_t p1) {
   inheritance___MMDefaultAncestor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeFormal[65] = {
-  {(long int) 2539 /* 0: Identity */},
-  {(long int) 3 /* 1: MMTypeFormal < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMTypeFormal < MMType: superclass typecheck marker */},
-  {(long int) 2539 /* 3: MMTypeFormal < MMTypeFormal: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) type_formal___MMTypeFormal___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMTypeFormal < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMTypeFormal___is_generic},
-  {(long int) type_formal___MMTypeFormal___direct_type},
-  {(long int) 1 /* 48: MMTypeFormal < MMType: superclass init_table position */},
-  {(long int) static_type___MMType___module},
-  {(long int) type_formal___MMTypeFormal___local_class},
-  {(long int) type_formal___MMTypeFormal_____l},
-  {(long int) type_formal___MMTypeFormal___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) type_formal___MMTypeFormal___select_property},
-  {(long int) static_type___MMType___for_module},
-  {(long int) static_type___MMType___adapt_to},
-  {(long int) static_type___MMType___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMTypeFormal < MMTypeFormal: superclass init_table position */},
-  {(long int) type_formal___MMTypeFormal___name},
-  {(long int) type_formal___MMTypeFormal___bound},
-  {(long int) type_formal___MMTypeFormal___init},
+const classtable_elt_t VFT_MMTypeFormal[61] = {
+  {(bigint) 2559 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMTypeFormal < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMTypeFormal < MMType: superclass typecheck marker */},
+  {(bigint) 2559 /* 3: MMTypeFormal < MMTypeFormal: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) type_formal___MMTypeFormal___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMTypeFormal < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMTypeFormal___is_generic},
+  {(bigint) type_formal___MMTypeFormal___direct_type},
+  {(bigint) 1 /* 48: MMTypeFormal < MMType: superclass init_table position */},
+  {(bigint) static_type___MMType___module},
+  {(bigint) type_formal___MMTypeFormal___local_class},
+  {(bigint) type_formal___MMTypeFormal_____l},
+  {(bigint) type_formal___MMTypeFormal___is_supertype},
+  {(bigint) static_type___MMType___for_module},
+  {(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) type_formal___MMTypeFormal___name},
+  {(bigint) type_formal___MMTypeFormal___bound},
+  {(bigint) type_formal___MMTypeFormal___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMTypeFormal::_name */
@@ -75354,89 +76748,81 @@ val_t NEW_type_formal___MMTypeFormal___init(val_t p0, val_t p1) {
   type_formal___MMTypeFormal___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeGeneric[70] = {
-  {(long int) 3139 /* 0: Identity */},
-  {(long int) 3 /* 1: MMTypeGeneric < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMTypeGeneric < MMType: superclass typecheck marker */},
-  {(long int) 2543 /* 3: MMTypeGeneric < MMTypeClass: superclass typecheck marker */},
-  {(long int) 3139 /* 4: MMTypeGeneric < MMTypeGeneric: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) genericity___MMTypeGeneric___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMTypeGeneric < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMTypeGeneric___is_generic},
-  {(long int) type_formal___MMType___direct_type},
-  {(long int) 1 /* 48: MMTypeGeneric < MMType: superclass init_table position */},
-  {(long int) static_type___MMTypeClass___module},
-  {(long int) static_type___MMTypeClass___local_class},
-  {(long int) static_type___MMTypeClass_____l},
-  {(long int) genericity___MMTypeGeneric___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) genericity___MMTypeGeneric___select_property},
-  {(long int) genericity___MMTypeGeneric___for_module},
-  {(long int) genericity___MMTypeGeneric___adapt_to},
-  {(long int) genericity___MMTypeGeneric___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMTypeGeneric < MMTypeClass: superclass init_table position */},
-  {(long int) static_type___MMTypeClass___init},
-  {(long int) 3 /* 63: MMTypeGeneric < MMTypeGeneric: superclass init_table position */},
-  {(long int) genericity___MMTypeGeneric___params},
-  {(long int) static_type___MMTypeClass___upcast_for},
-  {(long int) genericity___MMTypeGeneric___params_equals},
-  {(long int) static_type___MMTypeClass___to_s},
-  {(long int) genericity___MMTypeGeneric___is_subtype},
-  {(long int) genericity___MMTypeGeneric___init},
+const classtable_elt_t VFT_MMTypeGeneric[66] = {
+  {(bigint) 3155 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMTypeGeneric < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMTypeGeneric < MMType: superclass typecheck marker */},
+  {(bigint) 2563 /* 3: MMTypeGeneric < MMTypeClass: superclass typecheck marker */},
+  {(bigint) 3155 /* 4: MMTypeGeneric < MMTypeGeneric: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) genericity___MMTypeGeneric___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMTypeGeneric < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMTypeGeneric___is_generic},
+  {(bigint) type_formal___MMType___direct_type},
+  {(bigint) 1 /* 48: MMTypeGeneric < MMType: superclass init_table position */},
+  {(bigint) static_type___MMTypeClass___module},
+  {(bigint) static_type___MMTypeClass___local_class},
+  {(bigint) static_type___MMTypeClass_____l},
+  {(bigint) genericity___MMTypeGeneric___is_supertype},
+  {(bigint) genericity___MMTypeGeneric___for_module},
+  {(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___MMTypeClass___init},
+  {(bigint) 3 /* 59: MMTypeGeneric < MMTypeGeneric: superclass init_table position */},
+  {(bigint) genericity___MMTypeGeneric___params},
+  {(bigint) static_type___MMTypeClass___upcast_for},
+  {(bigint) genericity___MMTypeGeneric___params_equals},
+  {(bigint) static_type___MMTypeClass___to_s},
+  {(bigint) genericity___MMTypeGeneric___is_subtype},
+  {(bigint) genericity___MMTypeGeneric___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMTypeGeneric::_local_class */
 /* 2: Attribute MMTypeGeneric::_params */
-/* 3: Attribute MMTypeGeneric::_props */
 val_t NEW_MMTypeGeneric(void) {
-  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 4);
+  obj = alloc(sizeof(val_t) * 3);
   obj->vft = (classtable_elt_t*)VFT_MMTypeGeneric;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[MMGlobalProperty, MMLocalProperty]*/
-  ATTR_genericity___MMTypeGeneric____props(obj) = variable0;
   return OBJ2VAL(obj);
 }
 val_t NEW_genericity___MMTypeGeneric___init(val_t p0, val_t p1) {
@@ -75445,78 +76831,74 @@ val_t NEW_genericity___MMTypeGeneric___init(val_t p0, val_t p1) {
   genericity___MMTypeGeneric___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeFormalParameter[71] = {
-  {(long int) 3143 /* 0: Identity */},
-  {(long int) 3 /* 1: MMTypeFormalParameter < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMTypeFormalParameter < MMType: superclass typecheck marker */},
-  {(long int) 2539 /* 3: MMTypeFormalParameter < MMTypeFormal: superclass typecheck marker */},
-  {(long int) 3143 /* 4: MMTypeFormalParameter < MMTypeFormalParameter: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) type_formal___MMTypeFormal___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMTypeFormalParameter < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMTypeFormal___is_generic},
-  {(long int) type_formal___MMTypeFormal___direct_type},
-  {(long int) 1 /* 48: MMTypeFormalParameter < MMType: superclass init_table position */},
-  {(long int) genericity___MMTypeFormalParameter___module},
-  {(long int) type_formal___MMTypeFormal___local_class},
-  {(long int) type_formal___MMTypeFormal_____l},
-  {(long int) type_formal___MMTypeFormal___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) type_formal___MMTypeFormal___select_property},
-  {(long int) genericity___MMTypeFormalParameter___for_module},
-  {(long int) genericity___MMTypeFormalParameter___adapt_to},
-  {(long int) genericity___MMTypeFormalParameter___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMTypeFormalParameter < MMTypeFormal: superclass init_table position */},
-  {(long int) type_formal___MMTypeFormal___name},
-  {(long int) type_formal___MMTypeFormal___bound},
-  {(long int) type_formal___MMTypeFormal___init},
-  {(long int) 3 /* 65: MMTypeFormalParameter < MMTypeFormalParameter: superclass init_table position */},
-  {(long int) genericity___MMTypeFormalParameter___def_class},
-  {(long int) genericity___MMTypeFormalParameter___position},
-  {(long int) genericity___MMTypeFormalParameter___bound__eq},
-  {(long int) genericity___MMTypeFormalParameter___with_bound},
-  {(long int) genericity___MMTypeFormalParameter___init},
+const classtable_elt_t VFT_MMTypeFormalParameter[67] = {
+  {(bigint) 3159 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMTypeFormalParameter < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMTypeFormalParameter < MMType: superclass typecheck marker */},
+  {(bigint) 2559 /* 3: MMTypeFormalParameter < MMTypeFormal: superclass typecheck marker */},
+  {(bigint) 3159 /* 4: MMTypeFormalParameter < MMTypeFormalParameter: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) type_formal___MMTypeFormal___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMTypeFormalParameter < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMTypeFormal___is_generic},
+  {(bigint) type_formal___MMTypeFormal___direct_type},
+  {(bigint) 1 /* 48: MMTypeFormalParameter < MMType: superclass init_table position */},
+  {(bigint) genericity___MMTypeFormalParameter___module},
+  {(bigint) type_formal___MMTypeFormal___local_class},
+  {(bigint) type_formal___MMTypeFormal_____l},
+  {(bigint) type_formal___MMTypeFormal___is_supertype},
+  {(bigint) genericity___MMTypeFormalParameter___for_module},
+  {(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) type_formal___MMTypeFormal___name},
+  {(bigint) type_formal___MMTypeFormal___bound},
+  {(bigint) type_formal___MMTypeFormal___init},
+  {(bigint) 3 /* 61: MMTypeFormalParameter < 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},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMTypeFormalParameter::_name */
@@ -75527,7 +76909,7 @@ val_t NEW_MMTypeFormalParameter(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_MMTypeFormalParameter;
-  ATTR_genericity___MMTypeFormalParameter____position(obj) = TAG_Int((long int)0);
+  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) {
@@ -75542,321 +76924,236 @@ val_t NEW_genericity___MMTypeFormalParameter___init(val_t p0, val_t p1, val_t p2
   genericity___MMTypeFormalParameter___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMTypeProperty[63] = {
-  {(long int) 2531 /* 0: Identity */},
-  {(long int) 3 /* 1: MMTypeProperty < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMTypeProperty < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2531 /* 3: MMTypeProperty < MMTypeProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMTypeProperty < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) virtualtype___MMTypeProperty___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMTypeProperty < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) 2 /* 61: MMTypeProperty < MMTypeProperty: superclass init_table position */},
-  {(long int) virtualtype___MMTypeProperty___stype},
+const classtable_elt_t VFT_MMTypeProperty[64] = {
+  {(bigint) 2551 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMTypeProperty < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMTypeProperty < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2551 /* 3: MMTypeProperty < MMTypeProperty: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: MMTypeProperty < 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___MMLocalProperty___compile_property_to_c},
+  {(bigint) compiling_base___MMLocalProperty___cname},
+  {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
+  {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMLocalProperty___node},
+  {(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) 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) 2 /* 61: MMTypeProperty < MMTypeProperty: superclass init_table position */},
+  {(bigint) virtualtype___MMTypeProperty___stype_for},
+  {(bigint) virtualtype___MMTypeProperty___real_stype_for},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMTypeProperty::_cname_cache */
-/* 2: Attribute MMTypeProperty::_recv_alone */
-/* 3: Attribute MMTypeProperty::_signature_cache */
+/* 2: Attribute MMTypeProperty::_signature */
+/* 3: Attribute MMTypeProperty::_signatures_cache */
 /* 4: Attribute MMTypeProperty::_name */
 /* 5: Attribute MMTypeProperty::_local_class */
 /* 6: Attribute MMTypeProperty::_global */
-/* 7: Attribute MMTypeProperty::_super_prop */
-/* 8: Attribute MMTypeProperty::_concrete_property */
-/* 9: Attribute MMTypeProperty::_stype_cache */
+/* 7: Attribute MMTypeProperty::_prhe */
+/* 8: Attribute MMTypeProperty::_need_super */
+/* 9: Attribute MMTypeProperty::_stypes_cache */
 val_t NEW_MMTypeProperty(void) {
+  val_t variable0;
+  val_t variable1;
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMTypeProperty;
-  return OBJ2VAL(obj);
-}
-const classtable_elt_t VFT_MMVirtualType[68] = {
-  {(long int) 3131 /* 0: Identity */},
-  {(long int) 3 /* 1: MMVirtualType < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMVirtualType < MMType: superclass typecheck marker */},
-  {(long int) 2539 /* 3: MMVirtualType < MMTypeFormal: superclass typecheck marker */},
-  {(long int) 3131 /* 4: MMVirtualType < MMVirtualType: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) type_formal___MMTypeFormal___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMVirtualType < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMTypeFormal___is_generic},
-  {(long int) type_formal___MMTypeFormal___direct_type},
-  {(long int) 1 /* 48: MMVirtualType < MMType: superclass init_table position */},
-  {(long int) static_type___MMType___module},
-  {(long int) type_formal___MMTypeFormal___local_class},
-  {(long int) type_formal___MMTypeFormal_____l},
-  {(long int) type_formal___MMTypeFormal___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) type_formal___MMTypeFormal___select_property},
-  {(long int) virtualtype___MMVirtualType___for_module},
-  {(long int) virtualtype___MMVirtualType___adapt_to},
-  {(long int) static_type___MMType___upcast_for},
-  {(long int) virtualtype___MMVirtualType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMVirtualType < MMTypeFormal: superclass init_table position */},
-  {(long int) type_formal___MMTypeFormal___name},
-  {(long int) type_formal___MMTypeFormal___bound},
-  {(long int) type_formal___MMTypeFormal___init},
-  {(long int) 3 /* 65: MMVirtualType < MMVirtualType: superclass init_table position */},
-  {(long int) virtualtype___MMVirtualType___property},
-  {(long int) virtualtype___MMVirtualType___init},
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  ATTR_virtualtype___MMTypeProperty____stypes_cache(obj) = variable1;
+  return OBJ2VAL(obj);
+}
+const classtable_elt_t VFT_MMVirtualType[65] = {
+  {(bigint) 3147 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMVirtualType < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMVirtualType < MMType: superclass typecheck marker */},
+  {(bigint) 2559 /* 3: MMVirtualType < MMTypeFormal: superclass typecheck marker */},
+  {(bigint) 3147 /* 4: MMVirtualType < MMVirtualType: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) type_formal___MMTypeFormal___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMVirtualType < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMTypeFormal___is_generic},
+  {(bigint) type_formal___MMTypeFormal___direct_type},
+  {(bigint) 1 /* 48: MMVirtualType < MMType: superclass init_table position */},
+  {(bigint) virtualtype___MMVirtualType___module},
+  {(bigint) type_formal___MMTypeFormal___local_class},
+  {(bigint) type_formal___MMTypeFormal_____l},
+  {(bigint) type_formal___MMTypeFormal___is_supertype},
+  {(bigint) virtualtype___MMVirtualType___for_module},
+  {(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) type_formal___MMTypeFormal___name},
+  {(bigint) type_formal___MMTypeFormal___bound},
+  {(bigint) type_formal___MMTypeFormal___init},
+  {(bigint) 3 /* 61: MMVirtualType < MMVirtualType: superclass init_table position */},
+  {(bigint) virtualtype___MMVirtualType___property},
+  {(bigint) virtualtype___MMVirtualType___recv},
+  {(bigint) virtualtype___MMVirtualType___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMVirtualType::_name */
 /* 2: Attribute MMVirtualType::_bound */
 /* 3: Attribute MMVirtualType::_property */
+/* 4: Attribute MMVirtualType::_recv */
 val_t NEW_MMVirtualType(void) {
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 4);
+  obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_MMVirtualType;
   return OBJ2VAL(obj);
 }
-val_t NEW_virtualtype___MMVirtualType___init(val_t p0) {
+val_t NEW_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, init_table);
-  return self;
-}
-const classtable_elt_t VFT_MMImplicitType[67] = {
-  {(long int) 3155 /* 0: Identity */},
-  {(long int) 3 /* 1: MMImplicitType < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMImplicitType < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2531 /* 3: MMImplicitType < MMTypeProperty: superclass typecheck marker */},
-  {(long int) 2567 /* 4: MMImplicitType < MMImplicitProperty: superclass typecheck marker */},
-  {(long int) 3155 /* 5: MMImplicitType < MMImplicitType: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMImplicitType < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) virtualtype___MMTypeProperty___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMImplicitType < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) 2 /* 61: MMImplicitType < MMTypeProperty: superclass init_table position */},
-  {(long int) virtualtype___MMTypeProperty___stype},
-  {(long int) 4 /* 63: MMImplicitType < MMImplicitType: superclass init_table position */},
-  {(long int) virtualtype___MMImplicitType___init},
-  {(long int) 3 /* 65: MMImplicitType < MMImplicitProperty: superclass init_table position */},
-  {(long int) inheritance___MMImplicitProperty___init},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute MMImplicitType::_cname_cache */
-/* 2: Attribute MMImplicitType::_recv_alone */
-/* 3: Attribute MMImplicitType::_signature_cache */
-/* 4: Attribute MMImplicitType::_name */
-/* 5: Attribute MMImplicitType::_local_class */
-/* 6: Attribute MMImplicitType::_global */
-/* 7: Attribute MMImplicitType::_super_prop */
-/* 8: Attribute MMImplicitType::_concrete_property */
-/* 9: Attribute MMImplicitType::_stype_cache */
-val_t NEW_MMImplicitType(void) {
-  obj_t obj;
-  obj = alloc(sizeof(val_t) * 10);
-  obj->vft = (classtable_elt_t*)VFT_MMImplicitType;
-  return OBJ2VAL(obj);
-}
-val_t NEW_virtualtype___MMImplicitType___init(val_t p0, val_t p1) {
-  int init_table[5] = {0, 0, 0, 0, 0};
-  val_t self = NEW_MMImplicitType();
-  virtualtype___MMImplicitType___init(self, p0, p1, init_table);
+  virtualtype___MMVirtualType___init(self, p0, p1, init_table);
   return self;
 }
 const classtable_elt_t VFT_Option[56] = {
-  {(long int) 71 /* 0: Identity */},
-  {(long int) 3 /* 1: Option < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: Option < Option: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___Option___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Option < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Option < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___Option___pretty},
-  {(long int) opts___Option___pretty_default},
-  {(long int) opts___Option___read_param},
+  {(bigint) 71 /* 0: Identity */},
+  {(bigint) 3 /* 1: Option < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: Option < Option: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___Option___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Option < 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) 1 /* 40: Option < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___Option___pretty},
+  {(bigint) opts___Option___pretty_default},
+  {(bigint) opts___Option___read_param},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Option::_names */
@@ -75869,7 +77166,7 @@ val_t NEW_Option(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_Option;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
+  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) {
@@ -75879,64 +77176,64 @@ val_t NEW_opts___Option___init_opt(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_OptionText[58] = {
-  {(long int) 2503 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionText < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: OptionText < Option: superclass typecheck marker */},
-  {(long int) 2503 /* 3: OptionText < OptionText: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___OptionText___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionText < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionText < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___OptionText___pretty},
-  {(long int) opts___Option___pretty_default},
-  {(long int) opts___Option___read_param},
-  {(long int) 2 /* 56: OptionText < OptionText: superclass init_table position */},
-  {(long int) opts___OptionText___init},
+  {(bigint) 2523 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionText < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: OptionText < Option: superclass typecheck marker */},
+  {(bigint) 2523 /* 3: OptionText < OptionText: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___OptionText___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionText < 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) 1 /* 40: OptionText < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___OptionText___pretty},
+  {(bigint) opts___Option___pretty_default},
+  {(bigint) opts___Option___read_param},
+  {(bigint) 2 /* 56: OptionText < OptionText: superclass init_table position */},
+  {(bigint) opts___OptionText___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionText::_names */
@@ -75949,7 +77246,7 @@ val_t NEW_OptionText(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_OptionText;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
+  ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_opts___OptionText___init(val_t p0) {
@@ -75959,64 +77256,64 @@ val_t NEW_opts___OptionText___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_OptionBool[58] = {
-  {(long int) 2511 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionBool < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: OptionBool < Option: superclass typecheck marker */},
-  {(long int) 2511 /* 3: OptionBool < OptionBool: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___Option___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionBool < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionBool < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___Option___pretty},
-  {(long int) opts___Option___pretty_default},
-  {(long int) opts___OptionBool___read_param},
-  {(long int) 2 /* 56: OptionBool < OptionBool: superclass init_table position */},
-  {(long int) opts___OptionBool___init},
+  {(bigint) 2531 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionBool < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: OptionBool < Option: superclass typecheck marker */},
+  {(bigint) 2531 /* 3: OptionBool < OptionBool: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___Option___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionBool < 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) 1 /* 40: OptionBool < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___Option___pretty},
+  {(bigint) opts___Option___pretty_default},
+  {(bigint) opts___OptionBool___read_param},
+  {(bigint) 2 /* 56: OptionBool < OptionBool: superclass init_table position */},
+  {(bigint) opts___OptionBool___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionBool::_names */
@@ -76029,9 +77326,7 @@ val_t NEW_OptionBool(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_OptionBool;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
-  ATTR_opts___Option____value(obj) = TAG_Bool((long int)0);
-  ATTR_opts___Option____default_value(obj) = TAG_Bool((long int)0);
+  ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_opts___OptionBool___init(val_t p0, val_t p1) {
@@ -76041,65 +77336,65 @@ val_t NEW_opts___OptionBool___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_OptionParameter[59] = {
-  {(long int) 2507 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionParameter < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: OptionParameter < Option: superclass typecheck marker */},
-  {(long int) 2507 /* 3: OptionParameter < OptionParameter: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___Option___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionParameter < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionParameter < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___Option___pretty},
-  {(long int) opts___Option___pretty_default},
-  {(long int) opts___OptionParameter___read_param},
-  {(long int) 2 /* 56: OptionParameter < OptionParameter: superclass init_table position */},
-  {(long int) opts___OptionParameter___convert},
-  {(long int) opts___OptionParameter___init_opt},
+  {(bigint) 2527 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionParameter < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: OptionParameter < Option: superclass typecheck marker */},
+  {(bigint) 2527 /* 3: OptionParameter < OptionParameter: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___Option___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionParameter < 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) 1 /* 40: OptionParameter < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___Option___pretty},
+  {(bigint) opts___Option___pretty_default},
+  {(bigint) opts___OptionParameter___read_param},
+  {(bigint) 2 /* 56: OptionParameter < OptionParameter: superclass init_table position */},
+  {(bigint) opts___OptionParameter___convert},
+  {(bigint) opts___OptionParameter___init_opt},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionParameter::_names */
@@ -76112,7 +77407,7 @@ val_t NEW_OptionParameter(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_OptionParameter;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
+  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) {
@@ -76122,67 +77417,67 @@ val_t NEW_opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_OptionString[61] = {
-  {(long int) 3103 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionString < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: OptionString < Option: superclass typecheck marker */},
-  {(long int) 2507 /* 3: OptionString < OptionParameter: superclass typecheck marker */},
-  {(long int) 3103 /* 4: OptionString < OptionString: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___Option___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionString < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionString < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___Option___pretty},
-  {(long int) opts___Option___pretty_default},
-  {(long int) opts___OptionParameter___read_param},
-  {(long int) 2 /* 56: OptionString < OptionParameter: superclass init_table position */},
-  {(long int) opts___OptionString___convert},
-  {(long int) opts___OptionParameter___init_opt},
-  {(long int) 3 /* 59: OptionString < OptionString: superclass init_table position */},
-  {(long int) opts___OptionString___init},
+  {(bigint) 3119 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionString < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: OptionString < Option: superclass typecheck marker */},
+  {(bigint) 2527 /* 3: OptionString < OptionParameter: superclass typecheck marker */},
+  {(bigint) 3119 /* 4: OptionString < OptionString: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___Option___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionString < 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) 1 /* 40: OptionString < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___Option___pretty},
+  {(bigint) opts___Option___pretty_default},
+  {(bigint) opts___OptionParameter___read_param},
+  {(bigint) 2 /* 56: OptionString < OptionParameter: superclass init_table position */},
+  {(bigint) opts___OptionString___convert},
+  {(bigint) opts___OptionParameter___init_opt},
+  {(bigint) 3 /* 59: OptionString < OptionString: superclass init_table position */},
+  {(bigint) opts___OptionString___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionString::_names */
@@ -76195,7 +77490,7 @@ val_t NEW_OptionString(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_OptionString;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
+  ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_opts___OptionString___init(val_t p0, val_t p1) {
@@ -76205,67 +77500,67 @@ val_t NEW_opts___OptionString___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_OptionEnum[61] = {
-  {(long int) 3111 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionEnum < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: OptionEnum < Option: superclass typecheck marker */},
-  {(long int) 2507 /* 3: OptionEnum < OptionParameter: superclass typecheck marker */},
-  {(long int) 3111 /* 4: OptionEnum < OptionEnum: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___Option___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionEnum < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionEnum < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___Option___pretty},
-  {(long int) opts___OptionEnum___pretty_default},
-  {(long int) opts___OptionParameter___read_param},
-  {(long int) 2 /* 56: OptionEnum < OptionParameter: superclass init_table position */},
-  {(long int) opts___OptionEnum___convert},
-  {(long int) opts___OptionParameter___init_opt},
-  {(long int) 3 /* 59: OptionEnum < OptionEnum: superclass init_table position */},
-  {(long int) opts___OptionEnum___init},
+  {(bigint) 3127 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionEnum < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: OptionEnum < Option: superclass typecheck marker */},
+  {(bigint) 2527 /* 3: OptionEnum < OptionParameter: superclass typecheck marker */},
+  {(bigint) 3127 /* 4: OptionEnum < OptionEnum: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___Option___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionEnum < 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) 1 /* 40: OptionEnum < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___Option___pretty},
+  {(bigint) opts___OptionEnum___pretty_default},
+  {(bigint) opts___OptionParameter___read_param},
+  {(bigint) 2 /* 56: OptionEnum < OptionParameter: superclass init_table position */},
+  {(bigint) opts___OptionEnum___convert},
+  {(bigint) opts___OptionParameter___init_opt},
+  {(bigint) 3 /* 59: OptionEnum < OptionEnum: superclass init_table position */},
+  {(bigint) opts___OptionEnum___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionEnum::_names */
@@ -76279,9 +77574,7 @@ val_t NEW_OptionEnum(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_OptionEnum;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
-  ATTR_opts___Option____value(obj) = TAG_Int((long int)0);
-  ATTR_opts___Option____default_value(obj) = TAG_Int((long int)0);
+  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) {
@@ -76291,67 +77584,67 @@ val_t NEW_opts___OptionEnum___init(val_t p0, val_t p1, val_t p2, val_t p3) {
   return self;
 }
 const classtable_elt_t VFT_OptionInt[61] = {
-  {(long int) 3107 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionInt < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: OptionInt < Option: superclass typecheck marker */},
-  {(long int) 2507 /* 3: OptionInt < OptionParameter: superclass typecheck marker */},
-  {(long int) 3107 /* 4: OptionInt < OptionInt: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___Option___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionInt < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionInt < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___Option___pretty},
-  {(long int) opts___Option___pretty_default},
-  {(long int) opts___OptionParameter___read_param},
-  {(long int) 2 /* 56: OptionInt < OptionParameter: superclass init_table position */},
-  {(long int) opts___OptionInt___convert},
-  {(long int) opts___OptionParameter___init_opt},
-  {(long int) 3 /* 59: OptionInt < OptionInt: superclass init_table position */},
-  {(long int) opts___OptionInt___init},
+  {(bigint) 3123 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionInt < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: OptionInt < Option: superclass typecheck marker */},
+  {(bigint) 2527 /* 3: OptionInt < OptionParameter: superclass typecheck marker */},
+  {(bigint) 3123 /* 4: OptionInt < OptionInt: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___Option___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionInt < 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) 1 /* 40: OptionInt < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___Option___pretty},
+  {(bigint) opts___Option___pretty_default},
+  {(bigint) opts___OptionParameter___read_param},
+  {(bigint) 2 /* 56: OptionInt < OptionParameter: superclass init_table position */},
+  {(bigint) opts___OptionInt___convert},
+  {(bigint) opts___OptionParameter___init_opt},
+  {(bigint) 3 /* 59: OptionInt < OptionInt: superclass init_table position */},
+  {(bigint) opts___OptionInt___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionInt::_names */
@@ -76364,9 +77657,7 @@ val_t NEW_OptionInt(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_OptionInt;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
-  ATTR_opts___Option____value(obj) = TAG_Int((long int)0);
-  ATTR_opts___Option____default_value(obj) = TAG_Int((long int)0);
+  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) {
@@ -76376,67 +77667,67 @@ val_t NEW_opts___OptionInt___init(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_OptionArray[61] = {
-  {(long int) 3115 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionArray < Object: superclass typecheck marker */},
-  {(long int) 71 /* 2: OptionArray < Option: superclass typecheck marker */},
-  {(long int) 2507 /* 3: OptionArray < OptionParameter: superclass typecheck marker */},
-  {(long int) 3115 /* 4: OptionArray < OptionArray: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) opts___Option___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionArray < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionArray < Option: superclass init_table position */},
-  {(long int) opts___Option___names},
-  {(long int) opts___Option___helptext},
-  {(long int) opts___Option___mandatory},
-  {(long int) opts___Option___mandatory__eq},
-  {(long int) opts___Option___context},
-  {(long int) opts___Option___context__eq},
-  {(long int) opts___Option___value},
-  {(long int) opts___Option___value__eq},
-  {(long int) opts___Option___default_value},
-  {(long int) opts___Option___default_value__eq},
-  {(long int) opts___Option___init_opt},
-  {(long int) opts___Option___add_aliases},
-  {(long int) opts___Option___pretty},
-  {(long int) opts___Option___pretty_default},
-  {(long int) opts___OptionParameter___read_param},
-  {(long int) 2 /* 56: OptionArray < OptionParameter: superclass init_table position */},
-  {(long int) opts___OptionArray___convert},
-  {(long int) opts___OptionParameter___init_opt},
-  {(long int) 3 /* 59: OptionArray < OptionArray: superclass init_table position */},
-  {(long int) opts___OptionArray___init},
+  {(bigint) 3131 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionArray < Object: superclass typecheck marker */},
+  {(bigint) 71 /* 2: OptionArray < Option: superclass typecheck marker */},
+  {(bigint) 2527 /* 3: OptionArray < OptionParameter: superclass typecheck marker */},
+  {(bigint) 3131 /* 4: OptionArray < OptionArray: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) opts___Option___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionArray < 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) 1 /* 40: OptionArray < Option: superclass init_table position */},
+  {(bigint) opts___Option___names},
+  {(bigint) opts___Option___helptext},
+  {(bigint) opts___Option___mandatory},
+  {(bigint) opts___Option___mandatory__eq},
+  {(bigint) opts___Option___context},
+  {(bigint) opts___Option___context__eq},
+  {(bigint) opts___Option___value},
+  {(bigint) opts___Option___value__eq},
+  {(bigint) opts___Option___default_value},
+  {(bigint) opts___Option___default_value__eq},
+  {(bigint) opts___Option___init_opt},
+  {(bigint) opts___Option___add_aliases},
+  {(bigint) opts___Option___pretty},
+  {(bigint) opts___Option___pretty_default},
+  {(bigint) opts___OptionParameter___read_param},
+  {(bigint) 2 /* 56: OptionArray < OptionParameter: superclass init_table position */},
+  {(bigint) opts___OptionArray___convert},
+  {(bigint) opts___OptionParameter___init_opt},
+  {(bigint) 3 /* 59: OptionArray < OptionArray: superclass init_table position */},
+  {(bigint) opts___OptionArray___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionArray::_names */
@@ -76450,7 +77741,7 @@ val_t NEW_OptionArray(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_OptionArray;
-  ATTR_opts___Option____mandatory(obj) = TAG_Bool((long int)0);
+  ATTR_opts___Option____mandatory(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_opts___OptionArray___init(val_t p0, val_t p1) {
@@ -76460,9 +77751,9 @@ val_t NEW_opts___OptionArray___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_OptionContext[49] = {
-  {(long int) 67 /* 0: Identity */},
-  {(long int) 3 /* 1: OptionContext < Object: superclass typecheck marker */},
-  {(long int) 67 /* 2: OptionContext < OptionContext: superclass typecheck marker */},
+  {(bigint) 67 /* 0: Identity */},
+  {(bigint) 3 /* 1: OptionContext < Object: superclass typecheck marker */},
+  {(bigint) 67 /* 2: OptionContext < OptionContext: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -76473,42 +77764,42 @@ const classtable_elt_t VFT_OptionContext[49] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: OptionContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: OptionContext < OptionContext: superclass init_table position */},
-  {(long int) opts___OptionContext___options},
-  {(long int) opts___OptionContext___rest},
-  {(long int) opts___OptionContext___usage},
-  {(long int) opts___OptionContext___parse},
-  {(long int) opts___OptionContext___parse_intern},
-  {(long int) opts___OptionContext___add_option},
-  {(long int) opts___OptionContext___init},
-  {(long int) opts___OptionContext___build},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: OptionContext < 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) 1 /* 40: OptionContext < OptionContext: superclass init_table position */},
+  {(bigint) opts___OptionContext___options},
+  {(bigint) opts___OptionContext___rest},
+  {(bigint) opts___OptionContext___usage},
+  {(bigint) opts___OptionContext___parse},
+  {(bigint) opts___OptionContext___parse_intern},
+  {(bigint) opts___OptionContext___add_option},
+  {(bigint) opts___OptionContext___init},
+  {(bigint) opts___OptionContext___build},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute OptionContext::_options */
@@ -76526,124 +77817,121 @@ val_t NEW_opts___OptionContext___init() {
   opts___OptionContext___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ToolContext[88] = {
-  {(long int) 179 /* 0: Identity */},
-  {(long int) 3 /* 1: ToolContext < Object: superclass typecheck marker */},
-  {(long int) 119 /* 2: ToolContext < MMContext: superclass typecheck marker */},
-  {(long int) 179 /* 3: ToolContext < ToolContext: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ToolContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) syntax___MMContext___tc},
-  {(long int) syntax___MMContext___tc__eq},
-  {(long int) 1 /* 42: ToolContext < MMContext: superclass init_table position */},
-  {(long int) abstractmetamodel___MMContext___init},
-  {(long int) abstractmetamodel___MMContext___module_hierarchy},
-  {(long int) abstractmetamodel___MMContext___class_hierarchy},
-  {(long int) abstractmetamodel___MMContext___modules},
-  {(long int) abstractmetamodel___MMContext___add_module},
-  {(long int) abstractmetamodel___MMContext___add_global_class},
-  {(long int) abstractmetamodel___MMContext___add_local_class},
-  {(long int) compiling_base___ToolContext___global},
-  {(long int) compiling_base___ToolContext___global__eq},
-  {(long int) compiling_base___ToolContext___attr_sim},
-  {(long int) compiling_base___ToolContext___attr_sim__eq},
-  {(long int) compiling_base___ToolContext___base_dir},
-  {(long int) compiling_base___ToolContext___base_dir__eq},
-  {(long int) compiling_base___ToolContext___clibdir},
-  {(long int) compiling_base___ToolContext___clibdir__eq},
-  {(long int) compiling_base___ToolContext___bindir},
-  {(long int) compiling_base___ToolContext___bindir__eq},
-  {(long int) compiling_base___ToolContext___output_file},
-  {(long int) compiling_base___ToolContext___output_file__eq},
-  {(long int) compiling_base___ToolContext___boost},
-  {(long int) compiling_base___ToolContext___boost__eq},
-  {(long int) compiling_base___ToolContext___no_cc},
-  {(long int) compiling_base___ToolContext___no_cc__eq},
-  {(long int) compiling_base___ToolContext___ext_prefix},
-  {(long int) compiling_base___ToolContext___ext_prefix__eq},
-  {(long int) 2 /* 68: ToolContext < ToolContext: superclass init_table position */},
-  {(long int) mmloader___ToolContext___error_count},
-  {(long int) mmloader___ToolContext___warning_count},
-  {(long int) mmloader___ToolContext___error},
-  {(long int) mmloader___ToolContext___warning},
-  {(long int) mmloader___ToolContext___paths},
-  {(long int) mmloader___ToolContext___option_context},
-  {(long int) mmloader___ToolContext___opt_warn},
-  {(long int) mmloader___ToolContext___opt_path},
-  {(long int) mmloader___ToolContext___opt_log},
-  {(long int) mmloader___ToolContext___opt_only_metamodel},
-  {(long int) mmloader___ToolContext___opt_only_parse},
-  {(long int) mmloader___ToolContext___opt_help},
-  {(long int) mmloader___ToolContext___init},
-  {(long int) mmloader___ToolContext___process_options},
-  {(long int) mmloader___ToolContext___try_to_load},
-  {(long int) mmloader___ToolContext___get_module_from_filename},
-  {(long int) mmloader___ToolContext___get_module},
-  {(long int) mmloader___ToolContext___directory_for},
-  {(long int) mmloader___ToolContext___register_loader},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute ToolContext::_tc */
-/* 2: Attribute ToolContext::_module_hierarchy */
-/* 3: Attribute ToolContext::_class_hierarchy */
-/* 4: Attribute ToolContext::_global_classes */
-/* 5: Attribute ToolContext::_modules */
-/* 6: Attribute ToolContext::_global */
-/* 7: Attribute ToolContext::_attr_sim */
-/* 8: Attribute ToolContext::_base_dir */
-/* 9: Attribute ToolContext::_clibdir */
-/* 10: Attribute ToolContext::_bindir */
-/* 11: Attribute ToolContext::_output_file */
-/* 12: Attribute ToolContext::_boost */
-/* 13: Attribute ToolContext::_no_cc */
-/* 14: Attribute ToolContext::_ext_prefix */
-/* 15: Attribute ToolContext::_error_count */
-/* 16: Attribute ToolContext::_warning_count */
-/* 17: Attribute ToolContext::_paths */
-/* 18: Attribute ToolContext::_loaders */
-/* 19: Attribute ToolContext::_option_context */
-/* 20: Attribute ToolContext::_opt_warn */
-/* 21: Attribute ToolContext::_opt_path */
-/* 22: Attribute ToolContext::_opt_log */
-/* 23: Attribute ToolContext::_opt_only_metamodel */
-/* 24: Attribute ToolContext::_opt_only_parse */
-/* 25: Attribute ToolContext::_opt_help */
-/* 26: Attribute ToolContext::_processing_modules */
-/* 27: Attribute ToolContext::_path_dirs */
+const classtable_elt_t VFT_ToolContext[86] = {
+  {(bigint) 179 /* 0: Identity */},
+  {(bigint) 3 /* 1: ToolContext < Object: superclass typecheck marker */},
+  {(bigint) 119 /* 2: ToolContext < MMContext: superclass typecheck marker */},
+  {(bigint) 179 /* 3: ToolContext < ToolContext: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ToolContext < 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) 1 /* 40: ToolContext < MMContext: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMContext___init},
+  {(bigint) abstractmetamodel___MMContext___module_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___class_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___modules},
+  {(bigint) abstractmetamodel___MMContext___add_module},
+  {(bigint) abstractmetamodel___MMContext___add_global_class},
+  {(bigint) abstractmetamodel___MMContext___add_local_class},
+  {(bigint) compiling_base___ToolContext___global},
+  {(bigint) compiling_base___ToolContext___global__eq},
+  {(bigint) compiling_base___ToolContext___attr_sim},
+  {(bigint) compiling_base___ToolContext___attr_sim__eq},
+  {(bigint) compiling_base___ToolContext___base_dir},
+  {(bigint) compiling_base___ToolContext___base_dir__eq},
+  {(bigint) compiling_base___ToolContext___clibdir},
+  {(bigint) compiling_base___ToolContext___clibdir__eq},
+  {(bigint) compiling_base___ToolContext___bindir},
+  {(bigint) compiling_base___ToolContext___bindir__eq},
+  {(bigint) compiling_base___ToolContext___output_file},
+  {(bigint) compiling_base___ToolContext___output_file__eq},
+  {(bigint) compiling_base___ToolContext___boost},
+  {(bigint) compiling_base___ToolContext___boost__eq},
+  {(bigint) compiling_base___ToolContext___no_cc},
+  {(bigint) compiling_base___ToolContext___no_cc__eq},
+  {(bigint) compiling_base___ToolContext___ext_prefix},
+  {(bigint) compiling_base___ToolContext___ext_prefix__eq},
+  {(bigint) 2 /* 66: ToolContext < ToolContext: superclass init_table position */},
+  {(bigint) mmloader___ToolContext___error_count},
+  {(bigint) mmloader___ToolContext___warning_count},
+  {(bigint) mmloader___ToolContext___error},
+  {(bigint) mmloader___ToolContext___warning},
+  {(bigint) mmloader___ToolContext___paths},
+  {(bigint) mmloader___ToolContext___option_context},
+  {(bigint) mmloader___ToolContext___opt_warn},
+  {(bigint) mmloader___ToolContext___opt_path},
+  {(bigint) mmloader___ToolContext___opt_log},
+  {(bigint) mmloader___ToolContext___opt_only_metamodel},
+  {(bigint) mmloader___ToolContext___opt_only_parse},
+  {(bigint) mmloader___ToolContext___opt_help},
+  {(bigint) mmloader___ToolContext___init},
+  {(bigint) mmloader___ToolContext___process_options},
+  {(bigint) mmloader___ToolContext___try_to_load},
+  {(bigint) mmloader___ToolContext___get_module_from_filename},
+  {(bigint) mmloader___ToolContext___get_module},
+  {(bigint) mmloader___ToolContext___directory_for},
+  {(bigint) mmloader___ToolContext___register_loader},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute ToolContext::_module_hierarchy */
+/* 2: Attribute ToolContext::_class_hierarchy */
+/* 3: Attribute ToolContext::_global_classes */
+/* 4: Attribute ToolContext::_modules */
+/* 5: Attribute ToolContext::_global */
+/* 6: Attribute ToolContext::_attr_sim */
+/* 7: Attribute ToolContext::_base_dir */
+/* 8: Attribute ToolContext::_clibdir */
+/* 9: Attribute ToolContext::_bindir */
+/* 10: Attribute ToolContext::_output_file */
+/* 11: Attribute ToolContext::_boost */
+/* 12: Attribute ToolContext::_no_cc */
+/* 13: Attribute ToolContext::_ext_prefix */
+/* 14: Attribute ToolContext::_error_count */
+/* 15: Attribute ToolContext::_warning_count */
+/* 16: Attribute ToolContext::_paths */
+/* 17: Attribute ToolContext::_loaders */
+/* 18: Attribute ToolContext::_option_context */
+/* 19: Attribute ToolContext::_opt_warn */
+/* 20: Attribute ToolContext::_opt_path */
+/* 21: Attribute ToolContext::_opt_log */
+/* 22: Attribute ToolContext::_opt_only_metamodel */
+/* 23: Attribute ToolContext::_opt_only_parse */
+/* 24: Attribute ToolContext::_opt_help */
+/* 25: Attribute ToolContext::_processing_modules */
+/* 26: Attribute ToolContext::_path_dirs */
 val_t NEW_ToolContext(void) {
   val_t variable0;
   val_t variable1;
@@ -76672,74 +77960,74 @@ val_t NEW_ToolContext(void) {
   val_t variable24;
   val_t variable25;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 28);
+  obj = alloc(sizeof(val_t) * 27);
   obj->vft = (classtable_elt_t*)VFT_ToolContext;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
+  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
+  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMGlobalClass]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[MMModule]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
-  ATTR_mmloader___ToolContext____error_count(obj) = TAG_Int((long int)0);
-  ATTR_mmloader___ToolContext____warning_count(obj) = TAG_Int((long int)0);
-  variable4 = NEW_array___Array___init(); /*new Array[ModuleLoader]*/
+  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]*/
   ATTR_mmloader___ToolContext____loaders(obj) = variable4;
   variable5 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*AbstractArray::add*/;
   variable8 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*AbstractArray::add*/;
   variable11 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*AbstractArray::add*/;
   variable14 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*AbstractArray::add*/;
   variable17 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*AbstractArray::add*/;
   variable20 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable24) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*AbstractArray::add*/;
   variable23 = NEW_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_help(obj) = variable23;
-  variable24 = NEW_hash___HashSet___init(); /*new HashSet[Symbol]*/
+  variable24 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_mmloader___ToolContext____processing_modules(obj) = variable24;
-  variable25 = NEW_hash___HashMap___init(); /*new HashMap[String, MMDirectory]*/
+  variable25 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_mmloader___ToolContext____path_dirs(obj) = variable25;
-  ATTR_compiling_base___ToolContext____global(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____attr_sim(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____boost(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____no_cc(obj) = TAG_Bool((long int)0);
+  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);
   return OBJ2VAL(obj);
 }
 val_t NEW_mmloader___ToolContext___init() {
@@ -76749,9 +78037,9 @@ val_t NEW_mmloader___ToolContext___init() {
   return self;
 }
 const classtable_elt_t VFT_ModuleLoader[48] = {
-  {(long int) 79 /* 0: Identity */},
-  {(long int) 3 /* 1: ModuleLoader < Object: superclass typecheck marker */},
-  {(long int) 79 /* 2: ModuleLoader < ModuleLoader: superclass typecheck marker */},
+  {(bigint) 79 /* 0: Identity */},
+  {(bigint) 3 /* 1: ModuleLoader < Object: superclass typecheck marker */},
+  {(bigint) 79 /* 2: ModuleLoader < ModuleLoader: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -76762,41 +78050,41 @@ const classtable_elt_t VFT_ModuleLoader[48] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ModuleLoader < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ModuleLoader < ModuleLoader: superclass init_table position */},
-  {(long int) mmloader___ModuleLoader___file_type},
-  {(long int) mmloader___ModuleLoader___try_to_load_dir},
-  {(long int) mmloader___ModuleLoader___can_handle},
-  {(long int) mmloader___ModuleLoader___load_and_process_module},
-  {(long int) mmloader___ModuleLoader___load_module},
-  {(long int) mmloader___ModuleLoader___parse_file},
-  {(long int) mmloader___ModuleLoader___process_metamodel},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ModuleLoader < 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) 1 /* 40: ModuleLoader < ModuleLoader: superclass init_table position */},
+  {(bigint) mmloader___ModuleLoader___file_type},
+  {(bigint) mmloader___ModuleLoader___try_to_load_dir},
+  {(bigint) mmloader___ModuleLoader___can_handle},
+  {(bigint) mmloader___ModuleLoader___load_and_process_module},
+  {(bigint) mmloader___ModuleLoader___load_module},
+  {(bigint) mmloader___ModuleLoader___parse_file},
+  {(bigint) mmloader___ModuleLoader___process_metamodel},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ModuleLoader(void) {
@@ -76806,99 +78094,99 @@ val_t NEW_ModuleLoader(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_MMSrcModule[93] = {
-  {(long int) 2547 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcModule < Object: superclass typecheck marker */},
-  {(long int) 95 /* 2: MMSrcModule < MMModule: superclass typecheck marker */},
-  {(long int) 2547 /* 3: MMSrcModule < MMSrcModule: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMModule___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcModule < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) abstracttool___MMModule___dump_module_info},
-  {(long int) mmloader___MMModule___filename},
-  {(long int) mmloader___MMModule___filename__eq},
-  {(long int) mmloader___MMModule___mtime},
-  {(long int) mmloader___MMModule___mtime__eq},
-  {(long int) mmloader___MMModule___import_supers_modules},
-  {(long int) inheritance___MMModule___type_any},
-  {(long int) inheritance___MMModule___import_global_classes},
-  {(long int) inheritance___MMModule___import_local_classes},
-  {(long int) static_type___MMModule___type_none},
-  {(long int) 1 /* 50: MMSrcModule < MMModule: superclass init_table position */},
-  {(long int) abstractmetamodel___MMModule___context},
-  {(long int) abstractmetamodel___MMModule___name},
-  {(long int) abstractmetamodel___MMModule___full_name},
-  {(long int) abstractmetamodel___MMModule___directory},
-  {(long int) abstractmetamodel___MMModule___mhe},
-  {(long int) abstractmetamodel___MMModule___global_classes},
-  {(long int) abstractmetamodel___MMModule___local_classes},
-  {(long int) abstractmetamodel___MMModule___class_specialization_hierarchy},
-  {(long int) abstractmetamodel___MMModule___explicit_imported_modules},
-  {(long int) abstractmetamodel___MMModule___init},
-  {(long int) abstractmetamodel___MMModule___add_super_module},
-  {(long int) abstractmetamodel___MMModule___visibility_for},
-  {(long int) abstractmetamodel___MMModule_____bra},
-  {(long int) abstractmetamodel___MMModule___add_local_class},
-  {(long int) abstractmetamodel___MMModule___class_by_name},
-  {(long int) abstractmetamodel___MMModule___has_global_class_named},
-  {(long int) abstractmetamodel___MMModule___global_class_named},
-  {(long int) abstractmetamodel___MMModule___set_supers_class},
-  {(long int) abstractmetamodel___MMModule___register_global_class},
-  {(long int) compiling___MMSrcModule___compile_prog_to_c},
-  {(long int) compiling___MMSrcModule___compile_main},
-  {(long int) compiling___MMSrcModule___compile_separate_module},
-  {(long int) compiling_global___MMSrcModule___local_analysis},
-  {(long int) compiling_global___MMSrcModule___global_analysis},
-  {(long int) compiling_global___MMSrcModule___append_to_table},
-  {(long int) compiling_global___MMSrcModule___build_tables},
-  {(long int) compiling_global___MMSrcModule___colorize},
-  {(long int) compiling_global___MMSrcModule___free_color},
-  {(long int) compiling_global___MMSrcModule___compile_tables_to_c},
-  {(long int) compiling_global___MMSrcModule___declare_class_tables_to_c},
-  {(long int) compiling_global___MMSrcModule___compile_main_part},
-  {(long int) compiling_global___MMSrcModule___compile_mod_to_c},
-  {(long int) compiling_global___MMSrcModule___compile_local_table_to_c},
-  {(long int) syntax___MMSrcModule___process_supermodules},
-  {(long int) syntax___MMSrcModule___process_syntax},
-  {(long int) mmbuilder___MMSrcModule___do_mmbuilder},
-  {(long int) 2 /* 87: MMSrcModule < MMSrcModule: superclass init_table position */},
-  {(long int) syntax_base___MMSrcModule___node},
-  {(long int) syntax_base___MMSrcModule___src_local_classes},
-  {(long int) syntax_base___MMSrcModule___init},
-  {(long int) control_flow___MMSrcModule___do_control_flow},
-  {(long int) typing___MMSrcModule___do_typing},
+  {(bigint) 2567 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSrcModule < Object: superclass typecheck marker */},
+  {(bigint) 95 /* 2: MMSrcModule < MMModule: superclass typecheck marker */},
+  {(bigint) 2567 /* 3: MMSrcModule < MMSrcModule: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMModule___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMSrcModule < 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) abstracttool___MMModule___dump_module_info},
+  {(bigint) mmloader___MMModule___filename},
+  {(bigint) mmloader___MMModule___filename__eq},
+  {(bigint) mmloader___MMModule___mtime},
+  {(bigint) mmloader___MMModule___mtime__eq},
+  {(bigint) mmloader___MMModule___import_supers_modules},
+  {(bigint) inheritance___MMModule___type_any},
+  {(bigint) inheritance___MMModule___import_global_classes},
+  {(bigint) inheritance___MMModule___import_local_classes},
+  {(bigint) static_type___MMModule___type_none},
+  {(bigint) 1 /* 50: MMSrcModule < MMModule: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMModule___context},
+  {(bigint) abstractmetamodel___MMModule___name},
+  {(bigint) abstractmetamodel___MMModule___full_name},
+  {(bigint) abstractmetamodel___MMModule___directory},
+  {(bigint) abstractmetamodel___MMModule___mhe},
+  {(bigint) abstractmetamodel___MMModule___global_classes},
+  {(bigint) abstractmetamodel___MMModule___local_classes},
+  {(bigint) abstractmetamodel___MMModule___class_specialization_hierarchy},
+  {(bigint) abstractmetamodel___MMModule___explicit_imported_modules},
+  {(bigint) abstractmetamodel___MMModule___init},
+  {(bigint) abstractmetamodel___MMModule___add_super_module},
+  {(bigint) abstractmetamodel___MMModule___visibility_for},
+  {(bigint) abstractmetamodel___MMModule_____bra},
+  {(bigint) abstractmetamodel___MMModule___add_local_class},
+  {(bigint) abstractmetamodel___MMModule___class_by_name},
+  {(bigint) abstractmetamodel___MMModule___has_global_class_named},
+  {(bigint) abstractmetamodel___MMModule___global_class_named},
+  {(bigint) abstractmetamodel___MMModule___set_supers_class},
+  {(bigint) abstractmetamodel___MMModule___register_global_class},
+  {(bigint) compiling___MMSrcModule___compile_prog_to_c},
+  {(bigint) compiling___MMSrcModule___compile_main},
+  {(bigint) compiling___MMSrcModule___compile_separate_module},
+  {(bigint) compiling_global___MMSrcModule___local_analysis},
+  {(bigint) compiling_global___MMSrcModule___global_analysis},
+  {(bigint) compiling_global___MMSrcModule___append_to_table},
+  {(bigint) compiling_global___MMSrcModule___build_tables},
+  {(bigint) compiling_global___MMSrcModule___colorize},
+  {(bigint) compiling_global___MMSrcModule___free_color},
+  {(bigint) compiling_global___MMSrcModule___compile_tables_to_c},
+  {(bigint) compiling_global___MMSrcModule___declare_class_tables_to_c},
+  {(bigint) compiling_global___MMSrcModule___compile_main_part},
+  {(bigint) compiling_global___MMSrcModule___compile_mod_to_c},
+  {(bigint) compiling_global___MMSrcModule___compile_local_table_to_c},
+  {(bigint) syntax___MMSrcModule___process_supermodules},
+  {(bigint) syntax___MMSrcModule___process_syntax},
+  {(bigint) mmbuilder___MMSrcModule___do_mmbuilder},
+  {(bigint) 2 /* 87: MMSrcModule < MMSrcModule: superclass init_table position */},
+  {(bigint) syntax_base___MMSrcModule___node},
+  {(bigint) syntax_base___MMSrcModule___src_local_classes},
+  {(bigint) syntax_base___MMSrcModule___init},
+  {(bigint) control_flow___MMSrcModule___do_control_flow},
+  {(bigint) typing___MMSrcModule___do_typing},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcModule::_filename */
@@ -76936,28 +78224,28 @@ 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[MMGlobalClass]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMModule____global_classes(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[MMLocalClass]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMModule____local_classes(obj) = variable1;
-  variable2 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
+  variable2 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(obj) = variable2;
-  variable3 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable3 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____intrude_modules(obj) = variable3;
-  variable4 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable4 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____public_modules(obj) = variable4;
-  variable5 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable5 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____private_modules(obj) = variable5;
-  variable6 = NEW_hash___HashSet___init(); /*new HashSet[MMModule]*/
+  variable6 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_abstractmetamodel___MMModule____explicit_imported_modules(obj) = variable6;
-  variable7 = NEW_hash___HashMap___init(); /*new HashMap[MMGlobalClass, MMLocalClass]*/
+  variable7 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_abstractmetamodel___MMModule____local_class_by_global(obj) = variable7;
-  variable8 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, MMGlobalClass]*/
+  variable8 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_abstractmetamodel___MMModule____global_class_by_name(obj) = variable8;
   variable9 = OBJ2VAL(obj);
   variable10 = NEW_static_type___MMTypeNone___init(variable9); /*new MMTypeNone*/
   ATTR_static_type___MMModule____type_none(obj) = variable10;
-  ATTR_mmloader___MMModule____mtime(obj) = TAG_Int((long int)0);
+  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) {
@@ -76966,119 +78254,124 @@ val_t NEW_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p
   syntax_base___MMSrcModule___init(self, p0, p1, p2, p3, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcLocalClass[112] = {
-  {(long int) 3151 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcLocalClass < Object: superclass typecheck marker */},
-  {(long int) 103 /* 2: MMSrcLocalClass < MMLocalClass: superclass typecheck marker */},
-  {(long int) 2583 /* 3: MMSrcLocalClass < MMConcreteClass: superclass typecheck marker */},
-  {(long int) 3151 /* 4: MMSrcLocalClass < MMSrcLocalClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalClass___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcLocalClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) abstracttool___MMLocalClass___dump_properties},
-  {(long int) genericity___MMLocalClass___get_formal},
-  {(long int) genericity___MMLocalClass___register_formal},
-  {(long int) genericity___MMLocalClass___get_instantiate_type},
-  {(long int) genericity___MMLocalClass___formals_types},
-  {(long int) static_type___MMLocalClass___get_type},
-  {(long int) genericity___MMLocalClass___is_generic},
-  {(long int) inheritance___MMLocalClass___compute_super_classes},
-  {(long int) inheritance___MMLocalClass___compute_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_global_properties},
-  {(long int) inheritance___MMLocalClass___add_direct_parent},
-  {(long int) inheritance___MMLocalClass___computed_super_classes},
-  {(long int) inheritance___MMLocalClass___computed_ancestors},
-  {(long int) inheritance___MMLocalClass___ancestor_for},
-  {(long int) abstractmetamodel___MMLocalClass_____bra},
-  {(long int) inheritance___MMLocalClass___add_default_any_class},
-  {(long int) inheritance___MMLocalClass___add_super_classes},
-  {(long int) inheritance___MMLocalClass___add_explicit_classes},
-  {(long int) inheritance___MMLocalClass___compute_super_parents},
-  {(long int) inheritance___MMLocalClass___build_ancestors},
-  {(long int) inheritance___MMLocalClass___group_ancestors},
-  {(long int) inheritance___MMLocalClass___merge_ancestors},
-  {(long int) inheritance___MMLocalClass___inherit_local_property},
-  {(long int) genericity___MMLocalClass___get_type},
-  {(long int) static_type___MMLocalClass___add_ancestor},
-  {(long int) static_type___MMLocalClass___ancestors},
-  {(long int) static_type___MMLocalClass___ancestor},
-  {(long int) 1 /* 67: MMSrcLocalClass < MMLocalClass: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalClass___name},
-  {(long int) abstractmetamodel___MMLocalClass___arity},
-  {(long int) abstractmetamodel___MMLocalClass___module},
-  {(long int) abstractmetamodel___MMLocalClass___abstract},
-  {(long int) abstractmetamodel___MMLocalClass___abstract__eq},
-  {(long int) abstractmetamodel___MMLocalClass___global},
-  {(long int) abstractmetamodel___MMLocalClass___crhe},
-  {(long int) abstractmetamodel___MMLocalClass___cshe},
-  {(long int) abstractmetamodel___MMLocalClass___che},
-  {(long int) abstractmetamodel___MMLocalClass___local_property_by_global},
-  {(long int) abstractmetamodel___MMLocalClass___global_properties},
-  {(long int) abstractmetamodel___MMLocalClass___properties_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___init},
-  {(long int) abstractmetamodel___MMLocalClass___for_module},
-  {(long int) abstractmetamodel___MMLocalClass___new_global},
-  {(long int) abstractmetamodel___MMLocalClass___set_global},
-  {(long int) abstractmetamodel___MMLocalClass___has_global_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___get_property_by_name},
-  {(long int) abstractmetamodel___MMLocalClass___attribute},
-  {(long int) abstractmetamodel___MMLocalClass___method},
-  {(long int) abstractmetamodel___MMLocalClass___super_methods_named},
-  {(long int) abstractmetamodel___MMLocalClass___register_local_property},
-  {(long int) abstractmetamodel___MMLocalClass___register_global_property},
-  {(long int) inheritance___MMLocalClass_____bra},
-  {(long int) abstractmetamodel___MMLocalClass___context},
-  {(long int) virtualtype___MMLocalClass___virtual_type},
-  {(long int) compiling_global___MMLocalClass___compare},
-  {(long int) compiling_global___MMLocalClass___declare_tables_to_c},
-  {(long int) compiling_global___MMLocalClass___compile_tables_to_c},
-  {(long int) compiling_base___MMLocalClass___primitive_info},
-  {(long int) compiling_base___MMLocalClass___primitive_ctypes},
-  {(long int) 2 /* 99: MMSrcLocalClass < MMConcreteClass: superclass init_table position */},
-  {(long int) compiling_global___MMSrcLocalClass___base_attr_pos},
-  {(long int) compiling_global___MMSrcLocalClass___class_color_pos},
-  {(long int) compiling_global___MMSrcLocalClass___class_layout},
-  {(long int) compiling_global___MMSrcLocalClass___instance_layout},
-  {(long int) compiling_global___MMSrcLocalClass___build_layout_in},
-  {(long int) mmbuilder___MMSrcLocalClass___add_src_local_property},
-  {(long int) 3 /* 106: MMSrcLocalClass < MMSrcLocalClass: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalClass___nodes},
-  {(long int) syntax_base___MMSrcLocalClass___formal_dict},
-  {(long int) syntax_base___MMSrcLocalClass___formal_dict__eq},
-  {(long int) syntax_base___MMSrcLocalClass___src_local_properties},
-  {(long int) syntax_base___MMSrcLocalClass___init},
+const classtable_elt_t VFT_MMSrcLocalClass[117] = {
+  {(bigint) 3171 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSrcLocalClass < Object: superclass typecheck marker */},
+  {(bigint) 103 /* 2: MMSrcLocalClass < MMLocalClass: superclass typecheck marker */},
+  {(bigint) 2595 /* 3: MMSrcLocalClass < MMConcreteClass: superclass typecheck marker */},
+  {(bigint) 3171 /* 4: MMSrcLocalClass < MMSrcLocalClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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___MMLocalClass___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMSrcLocalClass < 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) abstracttool___MMLocalClass___dump_properties},
+  {(bigint) mmbuilder___MMSrcLocalClass___accept_class_visitor},
+  {(bigint) mmbuilder___MMSrcLocalClass___accept_properties_visitor},
+  {(bigint) genericity___MMLocalClass___get_formal},
+  {(bigint) genericity___MMLocalClass___register_formal},
+  {(bigint) genericity___MMLocalClass___get_instantiate_type},
+  {(bigint) genericity___MMLocalClass___formals_types},
+  {(bigint) static_type___MMLocalClass___get_type},
+  {(bigint) genericity___MMLocalClass___is_generic},
+  {(bigint) inheritance___MMLocalClass___compute_super_classes},
+  {(bigint) inheritance___MMLocalClass___compute_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_global_properties},
+  {(bigint) inheritance___MMLocalClass___add_direct_parent},
+  {(bigint) inheritance___MMLocalClass___computed_super_classes},
+  {(bigint) inheritance___MMLocalClass___computed_ancestors},
+  {(bigint) inheritance___MMLocalClass___ancestor_for},
+  {(bigint) abstractmetamodel___MMLocalClass_____bra},
+  {(bigint) inheritance___MMLocalClass___add_default_any_class},
+  {(bigint) inheritance___MMLocalClass___add_super_classes},
+  {(bigint) inheritance___MMLocalClass___add_explicit_classes},
+  {(bigint) inheritance___MMLocalClass___compute_super_parents},
+  {(bigint) inheritance___MMLocalClass___build_ancestors},
+  {(bigint) inheritance___MMLocalClass___group_ancestors},
+  {(bigint) inheritance___MMLocalClass___merge_ancestors},
+  {(bigint) inheritance___MMLocalClass___inherit_local_property},
+  {(bigint) genericity___MMLocalClass___get_type},
+  {(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) abstractmetamodel___MMLocalClass___name},
+  {(bigint) abstractmetamodel___MMLocalClass___arity},
+  {(bigint) abstractmetamodel___MMLocalClass___module},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract},
+  {(bigint) abstractmetamodel___MMLocalClass___abstract__eq},
+  {(bigint) abstractmetamodel___MMLocalClass___global},
+  {(bigint) abstractmetamodel___MMLocalClass___crhe},
+  {(bigint) abstractmetamodel___MMLocalClass___cshe},
+  {(bigint) abstractmetamodel___MMLocalClass___che},
+  {(bigint) abstractmetamodel___MMLocalClass___local_property_by_global},
+  {(bigint) abstractmetamodel___MMLocalClass___global_properties},
+  {(bigint) abstractmetamodel___MMLocalClass___properties_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___init},
+  {(bigint) abstractmetamodel___MMLocalClass___for_module},
+  {(bigint) abstractmetamodel___MMLocalClass___new_global},
+  {(bigint) abstractmetamodel___MMLocalClass___set_global},
+  {(bigint) abstractmetamodel___MMLocalClass___has_global_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___get_property_by_name},
+  {(bigint) abstractmetamodel___MMLocalClass___attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_method},
+  {(bigint) abstractmetamodel___MMLocalClass___select_attribute},
+  {(bigint) abstractmetamodel___MMLocalClass___super_methods_named},
+  {(bigint) abstractmetamodel___MMLocalClass___register_local_property},
+  {(bigint) abstractmetamodel___MMLocalClass___register_global_property},
+  {(bigint) inheritance___MMLocalClass_____bra},
+  {(bigint) abstractmetamodel___MMLocalClass___context},
+  {(bigint) virtualtype___MMLocalClass___virtual_type},
+  {(bigint) virtualtype___MMLocalClass___select_virtual_type},
+  {(bigint) compiling_global___MMLocalClass___compare},
+  {(bigint) compiling_global___MMLocalClass___declare_tables_to_c},
+  {(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) 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___add_src_local_property},
+  {(bigint) 3 /* 111: MMSrcLocalClass < MMSrcLocalClass: superclass init_table position */},
+  {(bigint) syntax_base___MMSrcLocalClass___nodes},
+  {(bigint) syntax_base___MMSrcLocalClass___formal_dict},
+  {(bigint) syntax_base___MMSrcLocalClass___formal_dict__eq},
+  {(bigint) syntax_base___MMSrcLocalClass___src_local_properties},
+  {(bigint) syntax_base___MMSrcLocalClass___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcLocalClass::_types */
@@ -77114,16 +78407,16 @@ val_t NEW_MMSrcLocalClass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 27);
   obj->vft = (classtable_elt_t*)VFT_MMSrcLocalClass;
-  ATTR_abstractmetamodel___MMLocalClass____arity(obj) = TAG_Int((long int)0);
-  ATTR_abstractmetamodel___MMLocalClass____abstract(obj) = TAG_Bool((long int)0);
-  variable0 = NEW_array___Array___init(); /*new Array[MMAncestor]*/
+  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]*/
   ATTR_inheritance___MMLocalClass____direct_parents(obj) = variable0;
-  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((long int)0);
-  variable1 = NEW_array___Array___init(); /*new Array[MMTypeGeneric]*/
+  ATTR_inheritance___MMLocalClass____computing_super(obj) = TAG_Bool((int)0);
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____types(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMTypeFormalParameter]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_genericity___MMLocalClass____formals_types(obj) = variable2;
-  ATTR_compiling_base___MMLocalClass____primitive_info_b(obj) = TAG_Bool((long int)0);
+  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) {
@@ -77132,832 +78425,677 @@ val_t NEW_syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2) {
   syntax_base___MMSrcLocalClass___init(self, p0, p1, p2, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcLocalProperty[74] = {
-  {(long int) 3147 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcLocalProperty < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMSrcLocalProperty < MMLocalProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 2579 /* 4: MMSrcLocalProperty < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMSrcLocalProperty < MMSrcLocalProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcLocalProperty < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMLocalProperty___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMSrcLocalProperty < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMSrcLocalProperty < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcLocalProperty___compile_property_to_c},
-  {(long int) 3 /* 72: MMSrcLocalProperty < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute MMSrcLocalProperty::_cname_cache */
-/* 2: Attribute MMSrcLocalProperty::_recv_alone */
-/* 3: Attribute MMSrcLocalProperty::_signature_cache */
-/* 4: Attribute MMSrcLocalProperty::_name */
-/* 5: Attribute MMSrcLocalProperty::_local_class */
-/* 6: Attribute MMSrcLocalProperty::_global */
-/* 7: Attribute MMSrcLocalProperty::_super_prop */
-/* 8: Attribute MMSrcLocalProperty::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMSrcLocalProperty::_cprhe */
-/* 11: Attribute MMSrcLocalProperty::_need_super */
-/* 12: Attribute MMSrcLocalProperty::_node */
-val_t NEW_MMSrcLocalProperty(void) {
-  obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
-  obj->vft = (classtable_elt_t*)VFT_MMSrcLocalProperty;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
-  return OBJ2VAL(obj);
-}
-const classtable_elt_t VFT_MMSrcAttribute[74] = {
-  {(long int) 3287 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcAttribute < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMSrcAttribute < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2587 /* 3: MMSrcAttribute < MMAttribute: superclass typecheck marker */},
-  {(long int) 2579 /* 4: MMSrcAttribute < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMSrcAttribute < MMSrcLocalProperty: superclass typecheck marker */},
-  {(long int) 3287 /* 6: MMSrcAttribute < MMSrcAttribute: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcAttribute < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMAttribute___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMSrcAttribute < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMAttribute___compile_access},
-  {(long int) 4 /* 62: MMSrcAttribute < MMAttribute: superclass init_table position */},
-  {(long int) 5 /* 63: MMSrcAttribute < MMSrcAttribute: superclass init_table position */},
-  {(long int) syntax_base___MMSrcAttribute___init},
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMSrcAttribute < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcLocalProperty___compile_property_to_c},
-  {(long int) 3 /* 72: MMSrcAttribute < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
+const classtable_elt_t VFT_MMSrcAttribute[65] = {
+  {(bigint) 3175 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSrcAttribute < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMSrcAttribute < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2599 /* 3: MMSrcAttribute < MMAttribute: superclass typecheck marker */},
+  {(bigint) 3175 /* 4: MMSrcAttribute < MMSrcAttribute: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: MMSrcAttribute < 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___MMLocalProperty___compile_property_to_c},
+  {(bigint) compiling_base___MMLocalProperty___cname},
+  {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
+  {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMSrcAttribute___node},
+  {(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) 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___MMAttribute___compile_access},
+  {(bigint) 2 /* 62: MMSrcAttribute < MMAttribute: superclass init_table position */},
+  {(bigint) 3 /* 63: MMSrcAttribute < MMSrcAttribute: superclass init_table position */},
+  {(bigint) syntax_base___MMSrcAttribute___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcAttribute::_cname_cache */
-/* 2: Attribute MMSrcAttribute::_recv_alone */
-/* 3: Attribute MMSrcAttribute::_signature_cache */
+/* 2: Attribute MMSrcAttribute::_signature */
+/* 3: Attribute MMSrcAttribute::_signatures_cache */
 /* 4: Attribute MMSrcAttribute::_name */
 /* 5: Attribute MMSrcAttribute::_local_class */
 /* 6: Attribute MMSrcAttribute::_global */
-/* 7: Attribute MMSrcAttribute::_super_prop */
-/* 8: Attribute MMSrcAttribute::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMSrcAttribute::_cprhe */
-/* 11: Attribute MMSrcAttribute::_need_super */
-/* 12: Attribute MMSrcAttribute::_node */
+/* 7: Attribute MMSrcAttribute::_prhe */
+/* 8: Attribute MMSrcAttribute::_need_super */
+/* 9: Attribute MMSrcAttribute::_node */
 val_t NEW_MMSrcAttribute(void) {
+  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
+  obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMSrcAttribute;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  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) {
-  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  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[77] = {
-  {(long int) 3283 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcMethod < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMSrcMethod < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2563 /* 3: MMSrcMethod < MMMethod: superclass typecheck marker */},
-  {(long int) 2579 /* 4: MMSrcMethod < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMSrcMethod < MMSrcLocalProperty: superclass typecheck marker */},
-  {(long int) 3283 /* 6: MMSrcMethod < MMSrcMethod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcMethod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMMethod___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMSrcMethod < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMMethod___compile_call},
-  {(long int) compiling_methods___MMMethod___compile_constructor_call},
-  {(long int) compiling_methods___MMMethod___compile_super_call},
-  {(long int) 4 /* 64: MMSrcMethod < MMMethod: superclass init_table position */},
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMSrcMethod < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcMethod___compile_property_to_c},
-  {(long int) 3 /* 72: MMSrcMethod < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
-  {(long int) compiling_methods___MMSrcMethod___decl_csignature},
-  {(long int) compiling_methods___MMSrcMethod___do_compile_inside},
-  {(long int) 5 /* 76: MMSrcMethod < MMSrcMethod: superclass init_table position */},
+const classtable_elt_t VFT_MMSrcMethod[68] = {
+  {(bigint) 3167 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSrcMethod < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMSrcMethod < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2583 /* 3: MMSrcMethod < MMMethod: superclass typecheck marker */},
+  {(bigint) 3167 /* 4: MMSrcMethod < MMSrcMethod: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: MMSrcMethod < 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___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMLocalProperty___node},
+  {(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) 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 /* 64: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcMethod::_cname_cache */
-/* 2: Attribute MMSrcMethod::_recv_alone */
-/* 3: Attribute MMSrcMethod::_signature_cache */
+/* 2: Attribute MMSrcMethod::_signature */
+/* 3: Attribute MMSrcMethod::_signatures_cache */
 /* 4: Attribute MMSrcMethod::_name */
 /* 5: Attribute MMSrcMethod::_local_class */
 /* 6: Attribute MMSrcMethod::_global */
-/* 7: Attribute MMSrcMethod::_super_prop */
-/* 8: Attribute MMSrcMethod::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMSrcMethod::_cprhe */
-/* 11: Attribute MMSrcMethod::_need_super */
-/* 12: Attribute MMSrcMethod::_node */
+/* 7: Attribute MMSrcMethod::_prhe */
+/* 8: Attribute MMSrcMethod::_need_super */
 val_t NEW_MMSrcMethod(void) {
+  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
+  obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_MMSrcMethod;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
-  return OBJ2VAL(obj);
-}
-const classtable_elt_t VFT_MMAttrImplementationMethod[78] = {
-  {(long int) 3615 /* 0: Identity */},
-  {(long int) 3 /* 1: MMAttrImplementationMethod < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMAttrImplementationMethod < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2563 /* 3: MMAttrImplementationMethod < MMMethod: superclass typecheck marker */},
-  {(long int) 2579 /* 4: MMAttrImplementationMethod < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMAttrImplementationMethod < MMSrcLocalProperty: superclass typecheck marker */},
-  {(long int) 3283 /* 6: MMAttrImplementationMethod < MMSrcMethod: superclass typecheck marker */},
-  {(long int) 3615 /* 7: MMAttrImplementationMethod < MMAttrImplementationMethod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMAttrImplementationMethod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMMethod___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMAttrImplementationMethod < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMMethod___compile_call},
-  {(long int) compiling_methods___MMMethod___compile_constructor_call},
-  {(long int) compiling_methods___MMMethod___compile_super_call},
-  {(long int) 4 /* 64: MMAttrImplementationMethod < MMMethod: superclass init_table position */},
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMAttrImplementationMethod < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcMethod___compile_property_to_c},
-  {(long int) 3 /* 72: MMAttrImplementationMethod < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
-  {(long int) compiling_methods___MMSrcMethod___decl_csignature},
-  {(long int) compiling_methods___MMSrcMethod___do_compile_inside},
-  {(long int) 5 /* 76: MMAttrImplementationMethod < MMSrcMethod: superclass init_table position */},
-  {(long int) 6 /* 77: MMAttrImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
+  return OBJ2VAL(obj);
+}
+const classtable_elt_t VFT_MMAttrImplementationMethod[69] = {
+  {(bigint) 3295 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMAttrImplementationMethod < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMAttrImplementationMethod < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2583 /* 3: MMAttrImplementationMethod < MMMethod: superclass typecheck marker */},
+  {(bigint) 3167 /* 4: MMAttrImplementationMethod < MMSrcMethod: superclass typecheck marker */},
+  {(bigint) 3295 /* 5: MMAttrImplementationMethod < MMAttrImplementationMethod: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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: MMAttrImplementationMethod < 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___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMAttrImplementationMethod___node},
+  {(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) 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 /* 64: 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 */},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMAttrImplementationMethod::_cname_cache */
-/* 2: Attribute MMAttrImplementationMethod::_recv_alone */
-/* 3: Attribute MMAttrImplementationMethod::_signature_cache */
+/* 2: Attribute MMAttrImplementationMethod::_signature */
+/* 3: Attribute MMAttrImplementationMethod::_signatures_cache */
 /* 4: Attribute MMAttrImplementationMethod::_name */
 /* 5: Attribute MMAttrImplementationMethod::_local_class */
 /* 6: Attribute MMAttrImplementationMethod::_global */
-/* 7: Attribute MMAttrImplementationMethod::_super_prop */
-/* 8: Attribute MMAttrImplementationMethod::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMAttrImplementationMethod::_cprhe */
-/* 11: Attribute MMAttrImplementationMethod::_need_super */
-/* 12: Attribute MMAttrImplementationMethod::_node */
+/* 7: Attribute MMAttrImplementationMethod::_prhe */
+/* 8: Attribute MMAttrImplementationMethod::_need_super */
+/* 9: Attribute MMAttrImplementationMethod::_node */
 val_t NEW_MMAttrImplementationMethod(void) {
+  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
+  obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMAttrImplementationMethod;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
-  return OBJ2VAL(obj);
-}
-const classtable_elt_t VFT_MMReadImplementationMethod[80] = {
-  {(long int) 3779 /* 0: Identity */},
-  {(long int) 3 /* 1: MMReadImplementationMethod < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMReadImplementationMethod < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2563 /* 3: MMReadImplementationMethod < MMMethod: superclass typecheck marker */},
-  {(long int) 2579 /* 4: MMReadImplementationMethod < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMReadImplementationMethod < MMSrcLocalProperty: superclass typecheck marker */},
-  {(long int) 3283 /* 6: MMReadImplementationMethod < MMSrcMethod: superclass typecheck marker */},
-  {(long int) 3615 /* 7: MMReadImplementationMethod < MMAttrImplementationMethod: superclass typecheck marker */},
-  {(long int) 3779 /* 8: MMReadImplementationMethod < MMReadImplementationMethod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMReadImplementationMethod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMMethod___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMReadImplementationMethod < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMMethod___compile_call},
-  {(long int) compiling_methods___MMMethod___compile_constructor_call},
-  {(long int) compiling_methods___MMMethod___compile_super_call},
-  {(long int) 4 /* 64: MMReadImplementationMethod < MMMethod: superclass init_table position */},
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMReadImplementationMethod < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcMethod___compile_property_to_c},
-  {(long int) 3 /* 72: MMReadImplementationMethod < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
-  {(long int) compiling_methods___MMSrcMethod___decl_csignature},
-  {(long int) compiling_methods___MMReadImplementationMethod___do_compile_inside},
-  {(long int) 5 /* 76: MMReadImplementationMethod < MMSrcMethod: superclass init_table position */},
-  {(long int) 6 /* 77: MMReadImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
-  {(long int) 7 /* 78: MMReadImplementationMethod < MMReadImplementationMethod: superclass init_table position */},
-  {(long int) syntax_base___MMReadImplementationMethod___init},
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
+  return OBJ2VAL(obj);
+}
+const classtable_elt_t VFT_MMReadImplementationMethod[71] = {
+  {(bigint) 3627 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMReadImplementationMethod < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMReadImplementationMethod < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2583 /* 3: MMReadImplementationMethod < MMMethod: superclass typecheck marker */},
+  {(bigint) 3167 /* 4: MMReadImplementationMethod < MMSrcMethod: superclass typecheck marker */},
+  {(bigint) 3295 /* 5: MMReadImplementationMethod < MMAttrImplementationMethod: superclass typecheck marker */},
+  {(bigint) 3627 /* 6: MMReadImplementationMethod < MMReadImplementationMethod: 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: MMReadImplementationMethod < 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___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMAttrImplementationMethod___node},
+  {(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) 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 /* 64: 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) syntax_base___MMReadImplementationMethod___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMReadImplementationMethod::_cname_cache */
-/* 2: Attribute MMReadImplementationMethod::_recv_alone */
-/* 3: Attribute MMReadImplementationMethod::_signature_cache */
+/* 2: Attribute MMReadImplementationMethod::_signature */
+/* 3: Attribute MMReadImplementationMethod::_signatures_cache */
 /* 4: Attribute MMReadImplementationMethod::_name */
 /* 5: Attribute MMReadImplementationMethod::_local_class */
 /* 6: Attribute MMReadImplementationMethod::_global */
-/* 7: Attribute MMReadImplementationMethod::_super_prop */
-/* 8: Attribute MMReadImplementationMethod::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMReadImplementationMethod::_cprhe */
-/* 11: Attribute MMReadImplementationMethod::_need_super */
-/* 12: Attribute MMReadImplementationMethod::_node */
+/* 7: Attribute MMReadImplementationMethod::_prhe */
+/* 8: Attribute MMReadImplementationMethod::_need_super */
+/* 9: Attribute MMReadImplementationMethod::_node */
 val_t NEW_MMReadImplementationMethod(void) {
+  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
+  obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMReadImplementationMethod;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  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) {
-  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  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[80] = {
-  {(long int) 3775 /* 0: Identity */},
-  {(long int) 3 /* 1: MMWriteImplementationMethod < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMWriteImplementationMethod < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2563 /* 3: MMWriteImplementationMethod < MMMethod: superclass typecheck marker */},
-  {(long int) 2579 /* 4: MMWriteImplementationMethod < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMWriteImplementationMethod < MMSrcLocalProperty: superclass typecheck marker */},
-  {(long int) 3283 /* 6: MMWriteImplementationMethod < MMSrcMethod: superclass typecheck marker */},
-  {(long int) 3615 /* 7: MMWriteImplementationMethod < MMAttrImplementationMethod: superclass typecheck marker */},
-  {(long int) 3775 /* 8: MMWriteImplementationMethod < MMWriteImplementationMethod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMWriteImplementationMethod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMMethod___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMWriteImplementationMethod < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMMethod___compile_call},
-  {(long int) compiling_methods___MMMethod___compile_constructor_call},
-  {(long int) compiling_methods___MMMethod___compile_super_call},
-  {(long int) 4 /* 64: MMWriteImplementationMethod < MMMethod: superclass init_table position */},
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMWriteImplementationMethod < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcMethod___compile_property_to_c},
-  {(long int) 3 /* 72: MMWriteImplementationMethod < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
-  {(long int) compiling_methods___MMSrcMethod___decl_csignature},
-  {(long int) compiling_methods___MMWriteImplementationMethod___do_compile_inside},
-  {(long int) 5 /* 76: MMWriteImplementationMethod < MMSrcMethod: superclass init_table position */},
-  {(long int) 6 /* 77: MMWriteImplementationMethod < MMAttrImplementationMethod: superclass init_table position */},
-  {(long int) 7 /* 78: MMWriteImplementationMethod < MMWriteImplementationMethod: superclass init_table position */},
-  {(long int) syntax_base___MMWriteImplementationMethod___init},
+const classtable_elt_t VFT_MMWriteImplementationMethod[71] = {
+  {(bigint) 3623 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMWriteImplementationMethod < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMWriteImplementationMethod < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2583 /* 3: MMWriteImplementationMethod < MMMethod: superclass typecheck marker */},
+  {(bigint) 3167 /* 4: MMWriteImplementationMethod < MMSrcMethod: superclass typecheck marker */},
+  {(bigint) 3295 /* 5: MMWriteImplementationMethod < MMAttrImplementationMethod: superclass typecheck marker */},
+  {(bigint) 3623 /* 6: MMWriteImplementationMethod < MMWriteImplementationMethod: 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: MMWriteImplementationMethod < 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___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMAttrImplementationMethod___node},
+  {(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) 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 /* 64: 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) syntax_base___MMWriteImplementationMethod___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMWriteImplementationMethod::_cname_cache */
-/* 2: Attribute MMWriteImplementationMethod::_recv_alone */
-/* 3: Attribute MMWriteImplementationMethod::_signature_cache */
+/* 2: Attribute MMWriteImplementationMethod::_signature */
+/* 3: Attribute MMWriteImplementationMethod::_signatures_cache */
 /* 4: Attribute MMWriteImplementationMethod::_name */
 /* 5: Attribute MMWriteImplementationMethod::_local_class */
 /* 6: Attribute MMWriteImplementationMethod::_global */
-/* 7: Attribute MMWriteImplementationMethod::_super_prop */
-/* 8: Attribute MMWriteImplementationMethod::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMWriteImplementationMethod::_cprhe */
-/* 11: Attribute MMWriteImplementationMethod::_need_super */
-/* 12: Attribute MMWriteImplementationMethod::_node */
+/* 7: Attribute MMWriteImplementationMethod::_prhe */
+/* 8: Attribute MMWriteImplementationMethod::_need_super */
+/* 9: Attribute MMWriteImplementationMethod::_node */
 val_t NEW_MMWriteImplementationMethod(void) {
+  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
+  obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMWriteImplementationMethod;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  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) {
-  int init_table[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+  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[79] = {
-  {(long int) 3611 /* 0: Identity */},
-  {(long int) 3 /* 1: MMMethSrcMethod < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMMethSrcMethod < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2563 /* 3: MMMethSrcMethod < MMMethod: superclass typecheck marker */},
-  {(long int) 2579 /* 4: MMMethSrcMethod < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMMethSrcMethod < MMSrcLocalProperty: superclass typecheck marker */},
-  {(long int) 3283 /* 6: MMMethSrcMethod < MMSrcMethod: superclass typecheck marker */},
-  {(long int) 3611 /* 7: MMMethSrcMethod < MMMethSrcMethod: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMMethSrcMethod < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) inheritance___MMMethod___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMMethSrcMethod < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) compiling_methods___MMMethod___compile_call},
-  {(long int) compiling_methods___MMMethod___compile_constructor_call},
-  {(long int) compiling_methods___MMMethod___compile_super_call},
-  {(long int) 4 /* 64: MMMethSrcMethod < MMMethod: superclass init_table position */},
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMMethSrcMethod < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcMethod___compile_property_to_c},
-  {(long int) 3 /* 72: MMMethSrcMethod < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
-  {(long int) compiling_methods___MMSrcMethod___decl_csignature},
-  {(long int) compiling_methods___MMMethSrcMethod___do_compile_inside},
-  {(long int) 5 /* 76: MMMethSrcMethod < MMSrcMethod: superclass init_table position */},
-  {(long int) 6 /* 77: MMMethSrcMethod < MMMethSrcMethod: superclass init_table position */},
-  {(long int) syntax_base___MMMethSrcMethod___init},
+const classtable_elt_t VFT_MMMethSrcMethod[70] = {
+  {(bigint) 3291 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMMethSrcMethod < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMMethSrcMethod < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2583 /* 3: MMMethSrcMethod < MMMethod: superclass typecheck marker */},
+  {(bigint) 3167 /* 4: MMMethSrcMethod < MMSrcMethod: superclass typecheck marker */},
+  {(bigint) 3291 /* 5: MMMethSrcMethod < MMMethSrcMethod: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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: MMMethSrcMethod < 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___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMMethSrcMethod___node},
+  {(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) 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 /* 64: 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) syntax_base___MMMethSrcMethod___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMMethSrcMethod::_cname_cache */
-/* 2: Attribute MMMethSrcMethod::_recv_alone */
-/* 3: Attribute MMMethSrcMethod::_signature_cache */
+/* 2: Attribute MMMethSrcMethod::_signature */
+/* 3: Attribute MMMethSrcMethod::_signatures_cache */
 /* 4: Attribute MMMethSrcMethod::_name */
 /* 5: Attribute MMMethSrcMethod::_local_class */
 /* 6: Attribute MMMethSrcMethod::_global */
-/* 7: Attribute MMMethSrcMethod::_super_prop */
-/* 8: Attribute MMMethSrcMethod::_concrete_property */
-/* Instance Hole :( */
-/* 10: Attribute MMMethSrcMethod::_cprhe */
-/* 11: Attribute MMMethSrcMethod::_need_super */
-/* 12: Attribute MMMethSrcMethod::_node */
+/* 7: Attribute MMMethSrcMethod::_prhe */
+/* 8: Attribute MMMethSrcMethod::_need_super */
+/* 9: Attribute MMMethSrcMethod::_node */
 val_t NEW_MMMethSrcMethod(void) {
+  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
+  obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_MMMethSrcMethod;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  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) {
-  int init_table[7] = {0, 0, 0, 0, 0, 0, 0};
+  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[74] = {
-  {(long int) 3275 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcTypeProperty < Object: superclass typecheck marker */},
-  {(long int) 99 /* 2: MMSrcTypeProperty < MMLocalProperty: superclass typecheck marker */},
-  {(long int) 2531 /* 3: MMSrcTypeProperty < MMTypeProperty: superclass typecheck marker */},
-  {(long int) 2579 /* 4: MMSrcTypeProperty < MMConcreteProperty: superclass typecheck marker */},
-  {(long int) 3147 /* 5: MMSrcTypeProperty < MMSrcLocalProperty: superclass typecheck marker */},
-  {(long int) 3275 /* 6: MMSrcTypeProperty < MMSrcTypeProperty: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) abstractmetamodel___MMLocalProperty___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcTypeProperty < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_base___MMLocalProperty___cname},
-  {(long int) compiling_base___MMLocalProperty___color_id_for_super},
-  {(long int) genericity___MMLocalProperty___recv},
-  {(long int) genericity___MMLocalProperty___recv__eq},
-  {(long int) genericity___MMLocalProperty___adapt_property},
-  {(long int) inheritance___MMLocalProperty___inherit_from},
-  {(long int) inheritance___MMLocalProperty___inherit_global},
-  {(long int) virtualtype___MMTypeProperty___inherit_to},
-  {(long int) genericity___MMLocalProperty___inherit_from},
-  {(long int) genericity___MMLocalProperty___signature},
-  {(long int) static_type___MMLocalProperty___signature__eq},
-  {(long int) 1 /* 51: MMSrcTypeProperty < MMLocalProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMLocalProperty___name},
-  {(long int) abstractmetamodel___MMLocalProperty___local_class},
-  {(long int) abstractmetamodel___MMLocalProperty___global},
-  {(long int) abstractmetamodel___MMLocalProperty___super_prop},
-  {(long int) abstractmetamodel___MMLocalProperty___concrete_property},
-  {(long int) abstractmetamodel___MMLocalProperty___module},
-  {(long int) abstractmetamodel___MMLocalProperty___full_name},
-  {(long int) abstractmetamodel___MMLocalProperty___set_global},
-  {(long int) abstractmetamodel___MMLocalProperty___init},
-  {(long int) 4 /* 61: MMSrcTypeProperty < MMTypeProperty: superclass init_table position */},
-  {(long int) virtualtype___MMTypeProperty___stype},
-  {(long int) 5 /* 63: MMSrcTypeProperty < MMSrcTypeProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcTypeProperty___init},
-  {(long int) inheritance___MMConcreteProperty___is_deferred},
-  {(long int) 2 /* 66: MMSrcTypeProperty < MMConcreteProperty: superclass init_table position */},
-  {(long int) abstractmetamodel___MMConcreteProperty___cprhe},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super},
-  {(long int) abstractmetamodel___MMConcreteProperty___need_super__eq},
-  {(long int) abstractmetamodel___MMConcreteProperty___new_global},
-  {(long int) compiling_methods___MMSrcLocalProperty___compile_property_to_c},
-  {(long int) 3 /* 72: MMSrcTypeProperty < MMSrcLocalProperty: superclass init_table position */},
-  {(long int) syntax_base___MMSrcLocalProperty___node},
+const classtable_elt_t VFT_MMSrcTypeProperty[66] = {
+  {(bigint) 3163 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSrcTypeProperty < Object: superclass typecheck marker */},
+  {(bigint) 99 /* 2: MMSrcTypeProperty < MMLocalProperty: superclass typecheck marker */},
+  {(bigint) 2551 /* 3: MMSrcTypeProperty < MMTypeProperty: superclass typecheck marker */},
+  {(bigint) 3163 /* 4: MMSrcTypeProperty < MMSrcTypeProperty: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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: MMSrcTypeProperty < 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___MMLocalProperty___compile_property_to_c},
+  {(bigint) compiling_base___MMLocalProperty___cname},
+  {(bigint) compiling_base___MMLocalProperty___color_id_for_super},
+  {(bigint) mmbuilder___MMLocalProperty___accept_property_visitor},
+  {(bigint) syntax_base___MMSrcTypeProperty___node},
+  {(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) 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) 2 /* 61: 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) syntax_base___MMSrcTypeProperty___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcTypeProperty::_cname_cache */
-/* 2: Attribute MMSrcTypeProperty::_recv_alone */
-/* 3: Attribute MMSrcTypeProperty::_signature_cache */
+/* 2: Attribute MMSrcTypeProperty::_signature */
+/* 3: Attribute MMSrcTypeProperty::_signatures_cache */
 /* 4: Attribute MMSrcTypeProperty::_name */
 /* 5: Attribute MMSrcTypeProperty::_local_class */
 /* 6: Attribute MMSrcTypeProperty::_global */
-/* 7: Attribute MMSrcTypeProperty::_super_prop */
-/* 8: Attribute MMSrcTypeProperty::_concrete_property */
-/* 9: Attribute MMSrcTypeProperty::_stype_cache */
-/* 10: Attribute MMSrcTypeProperty::_cprhe */
-/* 11: Attribute MMSrcTypeProperty::_need_super */
-/* 12: Attribute MMSrcTypeProperty::_node */
+/* 7: Attribute MMSrcTypeProperty::_prhe */
+/* 8: Attribute MMSrcTypeProperty::_need_super */
+/* 9: Attribute MMSrcTypeProperty::_stypes_cache */
+/* 10: Attribute MMSrcTypeProperty::_node */
 val_t NEW_MMSrcTypeProperty(void) {
+  val_t variable0;
+  val_t variable1;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 13);
+  obj = alloc(sizeof(val_t) * 11);
   obj->vft = (classtable_elt_t*)VFT_MMSrcTypeProperty;
-  ATTR_abstractmetamodel___MMConcreteProperty____need_super(obj) = TAG_Bool((long int)0);
+  ATTR_abstractmetamodel___MMLocalProperty____need_super(obj) = TAG_Bool((int)0);
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  ATTR_static_type___MMLocalProperty____signatures_cache(obj) = variable0;
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
+  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) {
-  int init_table[6] = {0, 0, 0, 0, 0, 0};
+  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_Variable[46] = {
-  {(long int) 15 /* 0: Identity */},
-  {(long int) 3 /* 1: Variable < Object: superclass typecheck marker */},
-  {(long int) 15 /* 2: Variable < Variable: superclass typecheck marker */},
+  {(bigint) 15 /* 0: Identity */},
+  {(bigint) 3 /* 1: Variable < Object: superclass typecheck marker */},
+  {(bigint) 15 /* 2: Variable < Variable: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -77968,39 +79106,39 @@ const classtable_elt_t VFT_Variable[46] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: Variable < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: Variable < Variable: superclass init_table position */},
-  {(long int) syntax_base___Variable___name},
-  {(long int) syntax_base___Variable___decl},
-  {(long int) syntax_base___Variable___stype},
-  {(long int) syntax_base___Variable___stype__eq},
-  {(long int) syntax_base___Variable___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) syntax_base___Variable___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: Variable < 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) 1 /* 40: Variable < Variable: superclass init_table position */},
+  {(bigint) syntax_base___Variable___name},
+  {(bigint) syntax_base___Variable___decl},
+  {(bigint) syntax_base___Variable___stype},
+  {(bigint) syntax_base___Variable___stype__eq},
+  {(bigint) syntax_base___Variable___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute Variable::_name */
@@ -78019,70 +79157,70 @@ val_t NEW_syntax_base___Variable___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_AbsSyntaxVisitor[64] = {
-  {(long int) 2667 /* 0: Identity */},
-  {(long int) 3 /* 1: AbsSyntaxVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: AbsSyntaxVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: AbsSyntaxVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AbsSyntaxVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: AbsSyntaxVisitor < Visitor: superclass init_table position */},
-  {(long int) parser_prod___Visitor___visit},
-  {(long int) 2 /* 42: AbsSyntaxVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 2679 /* 0: Identity */},
+  {(bigint) 3 /* 1: AbsSyntaxVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: AbsSyntaxVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: AbsSyntaxVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AbsSyntaxVisitor < 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) 1 /* 40: AbsSyntaxVisitor < Visitor: superclass init_table position */},
+  {(bigint) parser_prod___Visitor___visit},
+  {(bigint) 2 /* 42: AbsSyntaxVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AbsSyntaxVisitor::_module */
@@ -78102,54 +79240,54 @@ val_t NEW_syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_CSHSorter[48] = {
-  {(long int) 2655 /* 0: Identity */},
-  {(long int) 3 /* 1: CSHSorter < Object: superclass typecheck marker */},
-  {(long int) 175 /* 2: CSHSorter < AbstractSorter: superclass typecheck marker */},
-  {(long int) 2655 /* 3: CSHSorter < CSHSorter: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: CSHSorter < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: CSHSorter < AbstractSorter: superclass init_table position */},
-  {(long int) mmbuilder___CSHSorter___compare},
-  {(long int) sorter___AbstractSorter___sort},
-  {(long int) sorter___AbstractSorter___sub_sort},
-  {(long int) sorter___AbstractSorter___quick_sort},
-  {(long int) sorter___AbstractSorter___bubble_sort},
-  {(long int) 2 /* 46: CSHSorter < CSHSorter: superclass init_table position */},
-  {(long int) mmbuilder___CSHSorter___init},
+  {(bigint) 2667 /* 0: Identity */},
+  {(bigint) 3 /* 1: CSHSorter < Object: superclass typecheck marker */},
+  {(bigint) 175 /* 2: CSHSorter < AbstractSorter: superclass typecheck marker */},
+  {(bigint) 2667 /* 3: CSHSorter < CSHSorter: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: CSHSorter < 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) 1 /* 40: CSHSorter < AbstractSorter: superclass init_table position */},
+  {(bigint) mmbuilder___CSHSorter___compare},
+  {(bigint) sorter___AbstractSorter___sort},
+  {(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) mmbuilder___CSHSorter___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_CSHSorter(void) {
@@ -78165,58 +79303,58 @@ val_t NEW_mmbuilder___CSHSorter___init() {
   return self;
 }
 const classtable_elt_t VFT_MMSrcAncestor[52] = {
-  {(long int) 2551 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcAncestor < Object: superclass typecheck marker */},
-  {(long int) 123 /* 2: MMSrcAncestor < MMAncestor: superclass typecheck marker */},
-  {(long int) 2551 /* 3: MMSrcAncestor < MMSrcAncestor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) static_type___MMAncestor___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcAncestor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) inheritance___MMAncestor___add_in},
-  {(long int) 1 /* 41: MMSrcAncestor < MMAncestor: superclass init_table position */},
-  {(long int) static_type___MMAncestor___stype},
-  {(long int) static_type___MMAncestor___stype__eq},
-  {(long int) static_type___MMAncestor___inheriter},
-  {(long int) static_type___MMAncestor___inheriter__eq},
-  {(long int) static_type___MMAncestor___is_reffinement},
-  {(long int) static_type___MMAncestor___is_specialisation},
-  {(long int) mmbuilder___MMSrcAncestor___local_class},
-  {(long int) 2 /* 49: MMSrcAncestor < MMSrcAncestor: superclass init_table position */},
-  {(long int) mmbuilder___MMSrcAncestor___node},
-  {(long int) mmbuilder___MMSrcAncestor___init},
+  {(bigint) 2571 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSrcAncestor < Object: superclass typecheck marker */},
+  {(bigint) 123 /* 2: MMSrcAncestor < MMAncestor: superclass typecheck marker */},
+  {(bigint) 2571 /* 3: MMSrcAncestor < MMSrcAncestor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) static_type___MMAncestor___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMSrcAncestor < 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) inheritance___MMAncestor___add_in},
+  {(bigint) 1 /* 41: MMSrcAncestor < MMAncestor: superclass init_table position */},
+  {(bigint) static_type___MMAncestor___stype},
+  {(bigint) static_type___MMAncestor___stype__eq},
+  {(bigint) static_type___MMAncestor___inheriter},
+  {(bigint) static_type___MMAncestor___inheriter__eq},
+  {(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) mmbuilder___MMSrcAncestor___node},
+  {(bigint) mmbuilder___MMSrcAncestor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcAncestor::_stype */
@@ -78236,76 +79374,76 @@ val_t NEW_mmbuilder___MMSrcAncestor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ClassBuilderVisitor[70] = {
-  {(long int) 3215 /* 0: Identity */},
-  {(long int) 3 /* 1: ClassBuilderVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: ClassBuilderVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: ClassBuilderVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 3215 /* 4: ClassBuilderVisitor < ClassBuilderVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ClassBuilderVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ClassBuilderVisitor < Visitor: superclass init_table position */},
-  {(long int) mmbuilder___ClassBuilderVisitor___visit},
-  {(long int) 2 /* 42: ClassBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: ClassBuilderVisitor < ClassBuilderVisitor: superclass init_table position */},
-  {(long int) mmbuilder___ClassBuilderVisitor___local_class_arity},
-  {(long int) mmbuilder___ClassBuilderVisitor___local_class_arity__eq},
-  {(long int) mmbuilder___ClassBuilderVisitor___formals},
-  {(long int) mmbuilder___ClassBuilderVisitor___formals__eq},
-  {(long int) mmbuilder___ClassBuilderVisitor___init},
+  {(bigint) 3227 /* 0: Identity */},
+  {(bigint) 3 /* 1: ClassBuilderVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: ClassBuilderVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: ClassBuilderVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 3227 /* 4: ClassBuilderVisitor < ClassBuilderVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ClassBuilderVisitor < 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) 1 /* 40: ClassBuilderVisitor < Visitor: superclass init_table position */},
+  {(bigint) mmbuilder___ClassBuilderVisitor___visit},
+  {(bigint) 2 /* 42: ClassBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: ClassBuilderVisitor < ClassBuilderVisitor: superclass init_table position */},
+  {(bigint) mmbuilder___ClassBuilderVisitor___local_class_arity},
+  {(bigint) mmbuilder___ClassBuilderVisitor___local_class_arity__eq},
+  {(bigint) mmbuilder___ClassBuilderVisitor___formals},
+  {(bigint) mmbuilder___ClassBuilderVisitor___formals__eq},
+  {(bigint) mmbuilder___ClassBuilderVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ClassBuilderVisitor::_module */
@@ -78318,7 +79456,7 @@ val_t NEW_ClassBuilderVisitor(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ClassBuilderVisitor;
-  ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(obj) = TAG_Int((long int)0);
+  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) {
@@ -78328,72 +79466,72 @@ val_t NEW_mmbuilder___ClassBuilderVisitor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ClassSpecializationBuilderVisitor[66] = {
-  {(long int) 3211 /* 0: Identity */},
-  {(long int) 3 /* 1: ClassSpecializationBuilderVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: ClassSpecializationBuilderVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: ClassSpecializationBuilderVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 3211 /* 4: ClassSpecializationBuilderVisitor < ClassSpecializationBuilderVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ClassSpecializationBuilderVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ClassSpecializationBuilderVisitor < Visitor: superclass init_table position */},
-  {(long int) mmbuilder___ClassSpecializationBuilderVisitor___visit},
-  {(long int) 2 /* 42: ClassSpecializationBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: ClassSpecializationBuilderVisitor < ClassSpecializationBuilderVisitor: superclass init_table position */},
-  {(long int) mmbuilder___ClassSpecializationBuilderVisitor___init},
+  {(bigint) 3223 /* 0: Identity */},
+  {(bigint) 3 /* 1: ClassSpecializationBuilderVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: ClassSpecializationBuilderVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: ClassSpecializationBuilderVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 3223 /* 4: ClassSpecializationBuilderVisitor < ClassSpecializationBuilderVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ClassSpecializationBuilderVisitor < 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) 1 /* 40: ClassSpecializationBuilderVisitor < Visitor: superclass init_table position */},
+  {(bigint) mmbuilder___ClassSpecializationBuilderVisitor___visit},
+  {(bigint) 2 /* 42: ClassSpecializationBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: ClassSpecializationBuilderVisitor < ClassSpecializationBuilderVisitor: superclass init_table position */},
+  {(bigint) mmbuilder___ClassSpecializationBuilderVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ClassSpecializationBuilderVisitor::_module */
@@ -78413,72 +79551,72 @@ val_t NEW_mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0, val_t p
   return self;
 }
 const classtable_elt_t VFT_ClassAncestorBuilder[66] = {
-  {(long int) 3219 /* 0: Identity */},
-  {(long int) 3 /* 1: ClassAncestorBuilder < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: ClassAncestorBuilder < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: ClassAncestorBuilder < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 3219 /* 4: ClassAncestorBuilder < ClassAncestorBuilder: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ClassAncestorBuilder < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ClassAncestorBuilder < Visitor: superclass init_table position */},
-  {(long int) mmbuilder___ClassAncestorBuilder___visit},
-  {(long int) 2 /* 42: ClassAncestorBuilder < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: ClassAncestorBuilder < ClassAncestorBuilder: superclass init_table position */},
-  {(long int) mmbuilder___ClassAncestorBuilder___init},
+  {(bigint) 3231 /* 0: Identity */},
+  {(bigint) 3 /* 1: ClassAncestorBuilder < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: ClassAncestorBuilder < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: ClassAncestorBuilder < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 3231 /* 4: ClassAncestorBuilder < ClassAncestorBuilder: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ClassAncestorBuilder < 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) 1 /* 40: ClassAncestorBuilder < Visitor: superclass init_table position */},
+  {(bigint) mmbuilder___ClassAncestorBuilder___visit},
+  {(bigint) 2 /* 42: ClassAncestorBuilder < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: ClassAncestorBuilder < ClassAncestorBuilder: superclass init_table position */},
+  {(bigint) mmbuilder___ClassAncestorBuilder___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ClassAncestorBuilder::_module */
@@ -78498,72 +79636,72 @@ val_t NEW_mmbuilder___ClassAncestorBuilder___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_ClassVerifierVisitor[66] = {
-  {(long int) 3207 /* 0: Identity */},
-  {(long int) 3 /* 1: ClassVerifierVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: ClassVerifierVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: ClassVerifierVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 3207 /* 4: ClassVerifierVisitor < ClassVerifierVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ClassVerifierVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ClassVerifierVisitor < Visitor: superclass init_table position */},
-  {(long int) mmbuilder___ClassVerifierVisitor___visit},
-  {(long int) 2 /* 42: ClassVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: ClassVerifierVisitor < ClassVerifierVisitor: superclass init_table position */},
-  {(long int) mmbuilder___ClassVerifierVisitor___init},
+  {(bigint) 3219 /* 0: Identity */},
+  {(bigint) 3 /* 1: ClassVerifierVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: ClassVerifierVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: ClassVerifierVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 3219 /* 4: ClassVerifierVisitor < ClassVerifierVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ClassVerifierVisitor < 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) 1 /* 40: ClassVerifierVisitor < Visitor: superclass init_table position */},
+  {(bigint) mmbuilder___ClassVerifierVisitor___visit},
+  {(bigint) 2 /* 42: ClassVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: ClassVerifierVisitor < ClassVerifierVisitor: superclass init_table position */},
+  {(bigint) mmbuilder___ClassVerifierVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ClassVerifierVisitor::_module */
@@ -78583,72 +79721,72 @@ val_t NEW_mmbuilder___ClassVerifierVisitor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_PropertyBuilderVisitor[66] = {
-  {(long int) 3027 /* 0: Identity */},
-  {(long int) 3 /* 1: PropertyBuilderVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: PropertyBuilderVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: PropertyBuilderVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 3027 /* 4: PropertyBuilderVisitor < PropertyBuilderVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PropertyBuilderVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: PropertyBuilderVisitor < Visitor: superclass init_table position */},
-  {(long int) mmbuilder___PropertyBuilderVisitor___visit},
-  {(long int) 2 /* 42: PropertyBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: PropertyBuilderVisitor < PropertyBuilderVisitor: superclass init_table position */},
-  {(long int) mmbuilder___PropertyBuilderVisitor___init},
+  {(bigint) 3043 /* 0: Identity */},
+  {(bigint) 3 /* 1: PropertyBuilderVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: PropertyBuilderVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: PropertyBuilderVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 3043 /* 4: PropertyBuilderVisitor < PropertyBuilderVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PropertyBuilderVisitor < 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) 1 /* 40: PropertyBuilderVisitor < Visitor: superclass init_table position */},
+  {(bigint) mmbuilder___PropertyBuilderVisitor___visit},
+  {(bigint) 2 /* 42: PropertyBuilderVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: PropertyBuilderVisitor < PropertyBuilderVisitor: superclass init_table position */},
+  {(bigint) mmbuilder___PropertyBuilderVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PropertyBuilderVisitor::_module */
@@ -78668,80 +79806,80 @@ val_t NEW_mmbuilder___PropertyBuilderVisitor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_PropertyVerifierVisitor[74] = {
-  {(long int) 3023 /* 0: Identity */},
-  {(long int) 3 /* 1: PropertyVerifierVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: PropertyVerifierVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: PropertyVerifierVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 3023 /* 4: PropertyVerifierVisitor < PropertyVerifierVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PropertyVerifierVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: PropertyVerifierVisitor < Visitor: superclass init_table position */},
-  {(long int) mmbuilder___PropertyVerifierVisitor___visit},
-  {(long int) 2 /* 42: PropertyVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: PropertyVerifierVisitor < PropertyVerifierVisitor: superclass init_table position */},
-  {(long int) mmbuilder___PropertyVerifierVisitor___params},
-  {(long int) mmbuilder___PropertyVerifierVisitor___params__eq},
-  {(long int) mmbuilder___PropertyVerifierVisitor___untyped_params},
-  {(long int) mmbuilder___PropertyVerifierVisitor___untyped_params__eq},
-  {(long int) mmbuilder___PropertyVerifierVisitor___vararg_rank},
-  {(long int) mmbuilder___PropertyVerifierVisitor___vararg_rank__eq},
-  {(long int) mmbuilder___PropertyVerifierVisitor___signature},
-  {(long int) mmbuilder___PropertyVerifierVisitor___signature__eq},
-  {(long int) mmbuilder___PropertyVerifierVisitor___init},
+  {(bigint) 3039 /* 0: Identity */},
+  {(bigint) 3 /* 1: PropertyVerifierVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: PropertyVerifierVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: PropertyVerifierVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 3039 /* 4: PropertyVerifierVisitor < PropertyVerifierVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PropertyVerifierVisitor < 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) 1 /* 40: PropertyVerifierVisitor < Visitor: superclass init_table position */},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___visit},
+  {(bigint) 2 /* 42: PropertyVerifierVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: PropertyVerifierVisitor < PropertyVerifierVisitor: superclass init_table position */},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___params},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___params__eq},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___untyped_params},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___untyped_params__eq},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___vararg_rank},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___vararg_rank__eq},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___signature},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___signature__eq},
+  {(bigint) mmbuilder___PropertyVerifierVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PropertyVerifierVisitor::_module */
@@ -78756,7 +79894,7 @@ val_t NEW_PropertyVerifierVisitor(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 9);
   obj->vft = (classtable_elt_t*)VFT_PropertyVerifierVisitor;
-  ATTR_mmbuilder___PropertyVerifierVisitor____vararg_rank(obj) = TAG_Int((long int)0);
+  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) {
@@ -78765,81 +79903,77 @@ val_t NEW_mmbuilder___PropertyVerifierVisitor___init(val_t p0, val_t p1) {
   mmbuilder___PropertyVerifierVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_MMSrcTypeFormalParameter[74] = {
-  {(long int) 3279 /* 0: Identity */},
-  {(long int) 3 /* 1: MMSrcTypeFormalParameter < Object: superclass typecheck marker */},
-  {(long int) 87 /* 2: MMSrcTypeFormalParameter < MMType: superclass typecheck marker */},
-  {(long int) 2539 /* 3: MMSrcTypeFormalParameter < MMTypeFormal: superclass typecheck marker */},
-  {(long int) 3143 /* 4: MMSrcTypeFormalParameter < MMTypeFormalParameter: superclass typecheck marker */},
-  {(long int) 3279 /* 5: MMSrcTypeFormalParameter < MMSrcTypeFormalParameter: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) type_formal___MMTypeFormal___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MMSrcTypeFormalParameter < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_methods___MMType___compile_cast},
-  {(long int) compiling_methods___MMType___compile_type_check},
-  {(long int) compiling_base___MMType___cname},
-  {(long int) compiling_base___MMType___default_cvalue},
-  {(long int) compiling_base___MMType___boxtype},
-  {(long int) compiling_base___MMType___unboxtype},
-  {(long int) genericity___MMTypeFormal___is_generic},
-  {(long int) type_formal___MMTypeFormal___direct_type},
-  {(long int) 1 /* 48: MMSrcTypeFormalParameter < MMType: superclass init_table position */},
-  {(long int) genericity___MMTypeFormalParameter___module},
-  {(long int) type_formal___MMTypeFormal___local_class},
-  {(long int) type_formal___MMTypeFormal_____l},
-  {(long int) type_formal___MMTypeFormal___is_supertype},
-  {(long int) static_type___MMType___select_method},
-  {(long int) static_type___MMType___select_attribute},
-  {(long int) type_formal___MMTypeFormal___select_property},
-  {(long int) genericity___MMTypeFormalParameter___for_module},
-  {(long int) genericity___MMTypeFormalParameter___adapt_to},
-  {(long int) genericity___MMTypeFormalParameter___upcast_for},
-  {(long int) static_type___MMType___not_for_self},
-  {(long int) virtualtype___MMType___select_virtual_type},
-  {(long int) 2 /* 61: MMSrcTypeFormalParameter < MMTypeFormal: superclass init_table position */},
-  {(long int) type_formal___MMTypeFormal___name},
-  {(long int) type_formal___MMTypeFormal___bound},
-  {(long int) type_formal___MMTypeFormal___init},
-  {(long int) 3 /* 65: MMSrcTypeFormalParameter < MMTypeFormalParameter: superclass init_table position */},
-  {(long int) genericity___MMTypeFormalParameter___def_class},
-  {(long int) genericity___MMTypeFormalParameter___position},
-  {(long int) genericity___MMTypeFormalParameter___bound__eq},
-  {(long int) genericity___MMTypeFormalParameter___with_bound},
-  {(long int) genericity___MMTypeFormalParameter___init},
-  {(long int) 4 /* 71: MMSrcTypeFormalParameter < MMSrcTypeFormalParameter: superclass init_table position */},
-  {(long int) mmbuilder___MMSrcTypeFormalParameter___node},
-  {(long int) mmbuilder___MMSrcTypeFormalParameter___init},
+const classtable_elt_t VFT_MMSrcTypeFormalParameter[70] = {
+  {(bigint) 3287 /* 0: Identity */},
+  {(bigint) 3 /* 1: MMSrcTypeFormalParameter < Object: superclass typecheck marker */},
+  {(bigint) 87 /* 2: MMSrcTypeFormalParameter < MMType: superclass typecheck marker */},
+  {(bigint) 2559 /* 3: MMSrcTypeFormalParameter < MMTypeFormal: superclass typecheck marker */},
+  {(bigint) 3159 /* 4: MMSrcTypeFormalParameter < MMTypeFormalParameter: superclass typecheck marker */},
+  {(bigint) 3287 /* 5: MMSrcTypeFormalParameter < MMSrcTypeFormalParameter: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) type_formal___MMTypeFormal___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MMSrcTypeFormalParameter < 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___MMType___compile_cast},
+  {(bigint) compiling_methods___MMType___compile_type_check},
+  {(bigint) compiling_base___MMType___cname},
+  {(bigint) compiling_base___MMType___default_cvalue},
+  {(bigint) compiling_base___MMType___boxtype},
+  {(bigint) compiling_base___MMType___unboxtype},
+  {(bigint) genericity___MMTypeFormal___is_generic},
+  {(bigint) type_formal___MMTypeFormal___direct_type},
+  {(bigint) 1 /* 48: MMSrcTypeFormalParameter < MMType: superclass init_table position */},
+  {(bigint) genericity___MMTypeFormalParameter___module},
+  {(bigint) type_formal___MMTypeFormal___local_class},
+  {(bigint) type_formal___MMTypeFormal_____l},
+  {(bigint) type_formal___MMTypeFormal___is_supertype},
+  {(bigint) genericity___MMTypeFormalParameter___for_module},
+  {(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) type_formal___MMTypeFormal___name},
+  {(bigint) type_formal___MMTypeFormal___bound},
+  {(bigint) type_formal___MMTypeFormal___init},
+  {(bigint) 3 /* 61: 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) mmbuilder___MMSrcTypeFormalParameter___node},
+  {(bigint) mmbuilder___MMSrcTypeFormalParameter___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MMSrcTypeFormalParameter::_name */
@@ -78851,7 +79985,7 @@ val_t NEW_MMSrcTypeFormalParameter(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 6);
   obj->vft = (classtable_elt_t*)VFT_MMSrcTypeFormalParameter;
-  ATTR_genericity___MMTypeFormalParameter____position(obj) = TAG_Int((long int)0);
+  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) {
@@ -78861,10 +79995,10 @@ val_t NEW_mmbuilder___MMSrcTypeFormalParameter___init(val_t p0, val_t p1, val_t
   return self;
 }
 const classtable_elt_t VFT_MethidAccumulator[45] = {
-  {(long int) 2523 /* 0: Identity */},
-  {(long int) 3 /* 1: MethidAccumulator < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: MethidAccumulator < Visitor: superclass typecheck marker */},
-  {(long int) 2523 /* 3: MethidAccumulator < MethidAccumulator: superclass typecheck marker */},
+  {(bigint) 2543 /* 0: Identity */},
+  {(bigint) 3 /* 1: MethidAccumulator < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: MethidAccumulator < Visitor: superclass typecheck marker */},
+  {(bigint) 2543 /* 3: MethidAccumulator < MethidAccumulator: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -78874,38 +80008,38 @@ const classtable_elt_t VFT_MethidAccumulator[45] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: MethidAccumulator < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: MethidAccumulator < Visitor: superclass init_table position */},
-  {(long int) mmbuilder___MethidAccumulator___visit},
-  {(long int) 2 /* 42: MethidAccumulator < MethidAccumulator: superclass init_table position */},
-  {(long int) mmbuilder___MethidAccumulator___name},
-  {(long int) mmbuilder___MethidAccumulator___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: MethidAccumulator < 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) 1 /* 40: MethidAccumulator < Visitor: superclass init_table position */},
+  {(bigint) mmbuilder___MethidAccumulator___visit},
+  {(bigint) 2 /* 42: MethidAccumulator < MethidAccumulator: superclass init_table position */},
+  {(bigint) mmbuilder___MethidAccumulator___name},
+  {(bigint) mmbuilder___MethidAccumulator___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute MethidAccumulator::_name */
@@ -78921,77 +80055,79 @@ val_t NEW_mmbuilder___MethidAccumulator___init() {
   mmbuilder___MethidAccumulator___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_ControlFlowVisitor[70] = {
-  {(long int) 3203 /* 0: Identity */},
-  {(long int) 3 /* 1: ControlFlowVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: ControlFlowVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: ControlFlowVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 3203 /* 4: ControlFlowVisitor < ControlFlowVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ControlFlowVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ControlFlowVisitor < Visitor: superclass init_table position */},
-  {(long int) control_flow___ControlFlowVisitor___visit},
-  {(long int) 2 /* 42: ControlFlowVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: ControlFlowVisitor < ControlFlowVisitor: superclass init_table position */},
-  {(long int) control_flow___ControlFlowVisitor___once_count},
-  {(long int) control_flow___ControlFlowVisitor___once_count__eq},
-  {(long int) control_flow___ControlFlowVisitor___control_flow_ctx},
-  {(long int) control_flow___ControlFlowVisitor___control_flow_ctx__eq},
-  {(long int) control_flow___ControlFlowVisitor___init},
+const classtable_elt_t VFT_ControlFlowVisitor[72] = {
+  {(bigint) 3215 /* 0: Identity */},
+  {(bigint) 3 /* 1: ControlFlowVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: ControlFlowVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: ControlFlowVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 3215 /* 4: ControlFlowVisitor < ControlFlowVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ControlFlowVisitor < 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) 1 /* 40: ControlFlowVisitor < Visitor: superclass init_table position */},
+  {(bigint) control_flow___ControlFlowVisitor___visit},
+  {(bigint) 2 /* 42: ControlFlowVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: 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},
+  {(bigint) control_flow___ControlFlowVisitor___control_flow_ctx__eq},
+  {(bigint) control_flow___ControlFlowVisitor___check_is_set},
+  {(bigint) control_flow___ControlFlowVisitor___mark_is_set},
+  {(bigint) control_flow___ControlFlowVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ControlFlowVisitor::_module */
@@ -79004,7 +80140,7 @@ val_t NEW_ControlFlowVisitor(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ControlFlowVisitor;
-  ATTR_control_flow___ControlFlowVisitor____once_count(obj) = TAG_Int((long int)0);
+  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) {
@@ -79013,60 +80149,62 @@ val_t NEW_control_flow___ControlFlowVisitor___init(val_t p0, val_t p1) {
   control_flow___ControlFlowVisitor___init(self, p0, p1, init_table);
   return self;
 }
-const classtable_elt_t VFT_ControlFlowContext[53] = {
-  {(long int) 147 /* 0: Identity */},
-  {(long int) 3 /* 1: ControlFlowContext < Object: superclass typecheck marker */},
-  {(long int) 147 /* 2: ControlFlowContext < ControlFlowContext: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ControlFlowContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ControlFlowContext < ControlFlowContext: superclass init_table position */},
-  {(long int) control_flow___ControlFlowContext___prev},
-  {(long int) control_flow___ControlFlowContext___has_return},
-  {(long int) control_flow___ControlFlowContext___has_return__eq},
-  {(long int) control_flow___ControlFlowContext___unreash},
-  {(long int) control_flow___ControlFlowContext___unreash__eq},
-  {(long int) control_flow___ControlFlowContext___already_unreash},
-  {(long int) control_flow___ControlFlowContext___already_unreash__eq},
-  {(long int) control_flow___ControlFlowContext___base_block},
-  {(long int) control_flow___ControlFlowContext___base_block__eq},
-  {(long int) control_flow___ControlFlowContext___sub},
-  {(long int) control_flow___ControlFlowContext___init},
-  {(long int) control_flow___ControlFlowContext___with},
+const classtable_elt_t VFT_ControlFlowContext[55] = {
+  {(bigint) 147 /* 0: Identity */},
+  {(bigint) 3 /* 1: ControlFlowContext < Object: superclass typecheck marker */},
+  {(bigint) 147 /* 2: ControlFlowContext < ControlFlowContext: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ControlFlowContext < 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) 1 /* 40: ControlFlowContext < ControlFlowContext: superclass init_table position */},
+  {(bigint) control_flow___ControlFlowContext___prev},
+  {(bigint) control_flow___ControlFlowContext___has_return},
+  {(bigint) control_flow___ControlFlowContext___has_return__eq},
+  {(bigint) control_flow___ControlFlowContext___unreash},
+  {(bigint) control_flow___ControlFlowContext___unreash__eq},
+  {(bigint) control_flow___ControlFlowContext___already_unreash},
+  {(bigint) control_flow___ControlFlowContext___already_unreash__eq},
+  {(bigint) control_flow___ControlFlowContext___base_block},
+  {(bigint) control_flow___ControlFlowContext___base_block__eq},
+  {(bigint) control_flow___ControlFlowContext___set_variables},
+  {(bigint) control_flow___ControlFlowContext___is_set},
+  {(bigint) control_flow___ControlFlowContext___sub},
+  {(bigint) control_flow___ControlFlowContext___init},
+  {(bigint) control_flow___ControlFlowContext___with},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ControlFlowContext::_prev */
@@ -79074,13 +80212,17 @@ const classtable_elt_t VFT_ControlFlowContext[53] = {
 /* 3: Attribute ControlFlowContext::_unreash */
 /* 4: Attribute ControlFlowContext::_already_unreash */
 /* 5: Attribute ControlFlowContext::_base_block */
+/* 6: Attribute ControlFlowContext::_set_variables */
 val_t NEW_ControlFlowContext(void) {
+  val_t variable0;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 6);
+  obj = alloc(sizeof(val_t) * 7);
   obj->vft = (classtable_elt_t*)VFT_ControlFlowContext;
-  ATTR_control_flow___ControlFlowContext____has_return(obj) = TAG_Bool((long int)0);
-  ATTR_control_flow___ControlFlowContext____unreash(obj) = TAG_Bool((long int)0);
-  ATTR_control_flow___ControlFlowContext____already_unreash(obj) = TAG_Bool((long int)0);
+  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]*/
+  ATTR_control_flow___ControlFlowContext____set_variables(obj) = variable0;
   return OBJ2VAL(obj);
 }
 val_t NEW_control_flow___ControlFlowContext___init() {
@@ -79096,84 +80238,84 @@ val_t NEW_control_flow___ControlFlowContext___with(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_ABlockControler[78] = {
-  {(long int) 3567 /* 0: Identity */},
-  {(long int) 3 /* 1: ABlockControler < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ABlockControler < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ABlockControler < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ABlockControler < PExpr: superclass typecheck marker */},
-  {(long int) 3567 /* 5: ABlockControler < ABlockControler: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ABlockControler < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ABlockControler < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ABlockControler < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ABlockControler < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 4 /* 76: ABlockControler < ABlockControler: superclass init_table position */},
-  {(long int) control_flow___ABlockControler___block},
+  {(bigint) 3575 /* 0: Identity */},
+  {(bigint) 3 /* 1: ABlockControler < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: ABlockControler < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: ABlockControler < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: ABlockControler < PExpr: superclass typecheck marker */},
+  {(bigint) 3575 /* 5: ABlockControler < ABlockControler: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ABlockControler < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ABlockControler < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) control_flow___ABlockControler___block},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ABlockControler::_parent */
@@ -79189,85 +80331,85 @@ val_t NEW_ABlockControler(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_AControlableBlock[79] = {
-  {(long int) 3535 /* 0: Identity */},
-  {(long int) 3 /* 1: AControlableBlock < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AControlableBlock < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AControlableBlock < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AControlableBlock < PExpr: superclass typecheck marker */},
-  {(long int) 3535 /* 5: AControlableBlock < AControlableBlock: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AControlableBlock < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AControlableBlock < PNode: superclass init_table position */},
-  {(long int) control_flow___AControlableBlock___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AControlableBlock < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___AControlableBlock___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AControlableBlock < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) compiling_methods___AControlableBlock___compile_inside_block},
-  {(long int) 4 /* 77: AControlableBlock < AControlableBlock: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
+  {(bigint) 3543 /* 0: Identity */},
+  {(bigint) 3 /* 1: AControlableBlock < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AControlableBlock < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AControlableBlock < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AControlableBlock < PExpr: superclass typecheck marker */},
+  {(bigint) 3543 /* 5: AControlableBlock < AControlableBlock: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AControlableBlock < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AControlableBlock < PNode: superclass init_table position */},
+  {(bigint) control_flow___AControlableBlock___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) control_flow___PNode___accept_control_flow},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AControlableBlock::_parent */
@@ -79282,83 +80424,83 @@ val_t NEW_AControlableBlock(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_TypingVisitor[77] = {
-  {(long int) 2671 /* 0: Identity */},
-  {(long int) 3 /* 1: TypingVisitor < Object: superclass typecheck marker */},
-  {(long int) 7 /* 2: TypingVisitor < Visitor: superclass typecheck marker */},
-  {(long int) 2667 /* 3: TypingVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
-  {(long int) 2671 /* 4: TypingVisitor < TypingVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TypingVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TypingVisitor < Visitor: superclass init_table position */},
-  {(long int) typing___TypingVisitor___visit},
-  {(long int) 2 /* 42: TypingVisitor < AbsSyntaxVisitor: superclass init_table position */},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_bool},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_int},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_float},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_char},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_string},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_collection},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_array},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_discrete},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_range},
-  {(long int) syntax_base___AbsSyntaxVisitor___type_none},
-  {(long int) syntax_base___AbsSyntaxVisitor___module},
-  {(long int) syntax_base___AbsSyntaxVisitor___module__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_class__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property},
-  {(long int) syntax_base___AbsSyntaxVisitor___local_property__eq},
-  {(long int) syntax_base___AbsSyntaxVisitor___tc},
-  {(long int) syntax_base___AbsSyntaxVisitor___error},
-  {(long int) syntax_base___AbsSyntaxVisitor___warning},
-  {(long int) syntax_base___AbsSyntaxVisitor___check_conform},
-  {(long int) syntax_base___AbsSyntaxVisitor___init},
-  {(long int) 3 /* 64: TypingVisitor < TypingVisitor: superclass init_table position */},
-  {(long int) typing___TypingVisitor___variable_ctx},
-  {(long int) typing___TypingVisitor___variable_ctx__eq},
-  {(long int) typing___TypingVisitor___self_type},
-  {(long int) typing___TypingVisitor___self_type__eq},
-  {(long int) typing___TypingVisitor___top_block},
-  {(long int) typing___TypingVisitor___top_block__eq},
-  {(long int) typing___TypingVisitor___explicit_super_init_calls},
-  {(long int) typing___TypingVisitor___explicit_super_init_calls__eq},
-  {(long int) typing___TypingVisitor___explicit_other_init_call},
-  {(long int) typing___TypingVisitor___explicit_other_init_call__eq},
-  {(long int) typing___TypingVisitor___init},
-  {(long int) typing___TypingVisitor___get_default_constructor_for},
+  {(bigint) 2683 /* 0: Identity */},
+  {(bigint) 3 /* 1: TypingVisitor < Object: superclass typecheck marker */},
+  {(bigint) 7 /* 2: TypingVisitor < Visitor: superclass typecheck marker */},
+  {(bigint) 2679 /* 3: TypingVisitor < AbsSyntaxVisitor: superclass typecheck marker */},
+  {(bigint) 2683 /* 4: TypingVisitor < TypingVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TypingVisitor < 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) 1 /* 40: TypingVisitor < Visitor: superclass init_table position */},
+  {(bigint) typing___TypingVisitor___visit},
+  {(bigint) 2 /* 42: TypingVisitor < AbsSyntaxVisitor: superclass init_table position */},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_bool},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_int},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_float},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_char},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_string},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_collection},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_array},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_discrete},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_range},
+  {(bigint) syntax_base___AbsSyntaxVisitor___type_none},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module},
+  {(bigint) syntax_base___AbsSyntaxVisitor___module__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_class__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property},
+  {(bigint) syntax_base___AbsSyntaxVisitor___local_property__eq},
+  {(bigint) syntax_base___AbsSyntaxVisitor___tc},
+  {(bigint) syntax_base___AbsSyntaxVisitor___error},
+  {(bigint) syntax_base___AbsSyntaxVisitor___warning},
+  {(bigint) syntax_base___AbsSyntaxVisitor___check_conform},
+  {(bigint) syntax_base___AbsSyntaxVisitor___init},
+  {(bigint) 3 /* 64: TypingVisitor < TypingVisitor: superclass init_table position */},
+  {(bigint) typing___TypingVisitor___variable_ctx},
+  {(bigint) typing___TypingVisitor___variable_ctx__eq},
+  {(bigint) typing___TypingVisitor___self_type},
+  {(bigint) typing___TypingVisitor___self_type__eq},
+  {(bigint) typing___TypingVisitor___top_block},
+  {(bigint) typing___TypingVisitor___top_block__eq},
+  {(bigint) typing___TypingVisitor___explicit_super_init_calls},
+  {(bigint) typing___TypingVisitor___explicit_super_init_calls__eq},
+  {(bigint) typing___TypingVisitor___explicit_other_init_call},
+  {(bigint) typing___TypingVisitor___explicit_other_init_call__eq},
+  {(bigint) typing___TypingVisitor___init},
+  {(bigint) typing___TypingVisitor___get_default_constructor_for},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TypingVisitor::_module */
@@ -79374,7 +80516,7 @@ val_t NEW_TypingVisitor(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 10);
   obj->vft = (classtable_elt_t*)VFT_TypingVisitor;
-  ATTR_typing___TypingVisitor____explicit_other_init_call(obj) = TAG_Bool((long int)0);
+  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) {
@@ -79384,9 +80526,9 @@ val_t NEW_typing___TypingVisitor___init(val_t p0, val_t p1) {
   return self;
 }
 const classtable_elt_t VFT_VariableContext[47] = {
-  {(long int) 11 /* 0: Identity */},
-  {(long int) 3 /* 1: VariableContext < Object: superclass typecheck marker */},
-  {(long int) 11 /* 2: VariableContext < VariableContext: superclass typecheck marker */},
+  {(bigint) 11 /* 0: Identity */},
+  {(bigint) 3 /* 1: VariableContext < Object: superclass typecheck marker */},
+  {(bigint) 11 /* 2: VariableContext < VariableContext: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -79397,40 +80539,40 @@ const classtable_elt_t VFT_VariableContext[47] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: VariableContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: VariableContext < VariableContext: superclass init_table position */},
-  {(long int) typing___VariableContext_____bra},
-  {(long int) typing___VariableContext___add},
-  {(long int) typing___VariableContext___stype},
-  {(long int) typing___VariableContext___sub},
-  {(long int) typing___VariableContext___sub_with},
-  {(long int) typing___VariableContext___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: VariableContext < 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) 1 /* 40: VariableContext < VariableContext: superclass init_table position */},
+  {(bigint) typing___VariableContext_____bra},
+  {(bigint) typing___VariableContext___add},
+  {(bigint) typing___VariableContext___stype},
+  {(bigint) typing___VariableContext___sub},
+  {(bigint) typing___VariableContext___sub_with},
+  {(bigint) typing___VariableContext___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute VariableContext::_dico */
@@ -79447,56 +80589,56 @@ val_t NEW_typing___VariableContext___init() {
   return self;
 }
 const classtable_elt_t VFT_SubVariableContext[50] = {
-  {(long int) 199 /* 0: Identity */},
-  {(long int) 3 /* 1: SubVariableContext < Object: superclass typecheck marker */},
-  {(long int) 11 /* 2: SubVariableContext < VariableContext: superclass typecheck marker */},
-  {(long int) 199 /* 3: SubVariableContext < SubVariableContext: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: SubVariableContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: SubVariableContext < VariableContext: superclass init_table position */},
-  {(long int) typing___SubVariableContext_____bra},
-  {(long int) typing___VariableContext___add},
-  {(long int) typing___SubVariableContext___stype},
-  {(long int) typing___VariableContext___sub},
-  {(long int) typing___VariableContext___sub_with},
-  {(long int) typing___VariableContext___init},
-  {(long int) 2 /* 47: SubVariableContext < SubVariableContext: superclass init_table position */},
-  {(long int) typing___SubVariableContext___prev},
-  {(long int) typing___SubVariableContext___with},
+  {(bigint) 199 /* 0: Identity */},
+  {(bigint) 3 /* 1: SubVariableContext < Object: superclass typecheck marker */},
+  {(bigint) 11 /* 2: SubVariableContext < VariableContext: superclass typecheck marker */},
+  {(bigint) 199 /* 3: SubVariableContext < SubVariableContext: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: SubVariableContext < 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) 1 /* 40: SubVariableContext < VariableContext: superclass init_table position */},
+  {(bigint) typing___SubVariableContext_____bra},
+  {(bigint) typing___VariableContext___add},
+  {(bigint) typing___SubVariableContext___stype},
+  {(bigint) typing___VariableContext___sub},
+  {(bigint) typing___VariableContext___sub_with},
+  {(bigint) typing___VariableContext___init},
+  {(bigint) 2 /* 47: SubVariableContext < SubVariableContext: superclass init_table position */},
+  {(bigint) typing___SubVariableContext___prev},
+  {(bigint) typing___SubVariableContext___with},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute SubVariableContext::_dico */
@@ -79516,100 +80658,100 @@ val_t NEW_typing___SubVariableContext___with(val_t p0, val_t p1, val_t p2) {
   return self;
 }
 const classtable_elt_t VFT_AAbsSendExpr[94] = {
-  {(long int) 3599 /* 0: Identity */},
-  {(long int) 3 /* 1: AAbsSendExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: AAbsSendExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: AAbsSendExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: AAbsSendExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: AAbsSendExpr < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AAbsSendExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: AAbsSendExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: AAbsSendExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: AAbsSendExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 88: AAbsSendExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
+  {(bigint) 3611 /* 0: Identity */},
+  {(bigint) 3 /* 1: AAbsSendExpr < Object: superclass typecheck marker */},
+  {(bigint) 63 /* 2: AAbsSendExpr < PNode: superclass typecheck marker */},
+  {(bigint) 2511 /* 3: AAbsSendExpr < Prod: superclass typecheck marker */},
+  {(bigint) 3095 /* 4: AAbsSendExpr < PExpr: superclass typecheck marker */},
+  {(bigint) 3611 /* 5: AAbsSendExpr < AAbsSendExpr: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AAbsSendExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: AAbsSendExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) typing___PExpr___is_implicit_self},
+  {(bigint) typing___PExpr___is_self},
+  {(bigint) typing___PExpr___is_variable},
+  {(bigint) typing___PExpr___if_true_variable_ctx},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 88: AAbsSendExpr < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute AAbsSendExpr::_parent */
@@ -79626,100 +80768,100 @@ val_t NEW_AAbsSendExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_ASuperInitCall[94] = {
-  {(long int) 3663 /* 0: Identity */},
-  {(long int) 3 /* 1: ASuperInitCall < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASuperInitCall < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASuperInitCall < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ASuperInitCall < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ASuperInitCall < AAbsSendExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {(long int) 3663 /* 7: ASuperInitCall < ASuperInitCall: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ASuperInitCall < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___PNode___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___PNode___visit_all},
-  {(long int) parser_prod___PNode___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 1 /* 57: ASuperInitCall < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___PNode___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 2 /* 66: ASuperInitCall < Prod: superclass init_table position */},
-  {(long int) compiling_methods___PExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___PExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 3 /* 71: ASuperInitCall < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 5 /* 76: ASuperInitCall < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) 4 /* 88: ASuperInitCall < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
+  {(bigint) 3675 /* 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 */},
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ASuperInitCall < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___PNode___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___PNode___visit_all},
+  {(bigint) parser_prod___PNode___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 1 /* 57: ASuperInitCall < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___PNode___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) 4 /* 88: ASuperInitCall < AAbsSendExpr: superclass init_table position */},
+  {(bigint) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASuperInitCall::_parent */
@@ -79736,108 +80878,108 @@ val_t NEW_ASuperInitCall(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_ASendReassignExpr[102] = {
-  {(long int) 3807 /* 0: Identity */},
-  {(long int) 3 /* 1: ASendReassignExpr < Object: superclass typecheck marker */},
-  {(long int) 63 /* 2: ASendReassignExpr < PNode: superclass typecheck marker */},
-  {(long int) 2495 /* 3: ASendReassignExpr < Prod: superclass typecheck marker */},
-  {(long int) 3079 /* 4: ASendReassignExpr < PExpr: superclass typecheck marker */},
-  {(long int) 3599 /* 5: ASendReassignExpr < AAbsSendExpr: superclass typecheck marker */},
-  {(long int) 3383 /* 6: ASendReassignExpr < AReassignFormExpr: superclass typecheck marker */},
-  {(long int) 3663 /* 7: ASendReassignExpr < ASuperInitCall: superclass typecheck marker */},
-  {(long int) 3791 /* 8: ASendReassignExpr < ASendExpr: superclass typecheck marker */},
-  {(long int) 3807 /* 9: ASendReassignExpr < ASendReassignExpr: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 2 /* 20: ASendReassignExpr < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) mmbuilder___PExpr___accept_class_builder},
-  {(long int) mmbuilder___PNode___accept_class_specialization_builder},
-  {(long int) mmbuilder___PNode___accept_class_ancestor_builder},
-  {(long int) mmbuilder___PNode___accept_class_verifier},
-  {(long int) mmbuilder___PExpr___accept_property_builder},
-  {(long int) mmbuilder___PExpr___accept_property_verifier},
-  {(long int) syntax_base___PNode___accept_abs_syntax_visitor},
-  {(long int) parser_prod___PNode___parent},
-  {(long int) parser_prod___PNode___parent__eq},
-  {(long int) parser_prod___PNode___remove_child},
-  {(long int) parser_prod___ASendExpr___replace_child},
-  {(long int) parser_prod___Prod___replace_with},
-  {(long int) parser_prod___ASendExpr___visit_all},
-  {(long int) parser_prod___ASendExpr___visit_all_reverse},
-  {(long int) parser_prod___Prod___locate},
-  {(long int) parser_prod___Prod___line_number},
-  {(long int) parser_prod___PNode___printl},
-  {(long int) 3 /* 57: ASendReassignExpr < PNode: superclass init_table position */},
-  {(long int) control_flow___PNode___accept_control_flow},
-  {(long int) typing___PNode___accept_typing},
-  {(long int) typing___ASendExpr___after_typing},
-  {(long int) parser_prod___Prod___first_token},
-  {(long int) parser_prod___Prod___first_token__eq},
-  {(long int) parser_prod___Prod___last_token},
-  {(long int) parser_prod___Prod___last_token__eq},
-  {(long int) parser_prod___PNode___replace_with},
-  {(long int) 4 /* 66: ASendReassignExpr < Prod: superclass init_table position */},
-  {(long int) compiling_methods___ASendReassignExpr___compile_expr},
-  {(long int) compiling_methods___PExpr___prepare_compile_stmt},
-  {(long int) compiling_methods___ASendExpr___compile_stmt},
-  {(long int) typing___PExpr___stype},
-  {(long int) 5 /* 71: ASendReassignExpr < PExpr: superclass init_table position */},
-  {(long int) typing___PExpr___is_implicit_self},
-  {(long int) typing___PExpr___is_self},
-  {(long int) typing___PExpr___is_variable},
-  {(long int) typing___PExpr___if_true_variable_ctx},
-  {(long int) 0 /* 76: ASendReassignExpr < ASuperInitCall: superclass init_table position */},
-  {(long int) typing___ASuperInitCall___register_super_init_call},
-  {(long int) 8 /* 78: ASendReassignExpr < ASendReassignExpr: superclass init_table position */},
-  {(long int) typing___ASendReassignExpr___read_prop},
-  {0} /* Class Hole :( */,
-  {(long int) typing___AReassignFormExpr___do_lvalue_typing},
-  {(long int) typing___AReassignFormExpr___assign_method},
-  {(long int) 7 /* 83: ASendReassignExpr < AReassignFormExpr: superclass init_table position */},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op},
-  {(long int) parser_nodes___AReassignFormExpr___n_assign_op__eq},
-  {(long int) parser_nodes___AReassignFormExpr___n_value},
-  {(long int) parser_nodes___AReassignFormExpr___n_value__eq},
-  {(long int) 1 /* 88: ASendReassignExpr < AAbsSendExpr: superclass init_table position */},
-  {(long int) typing___AAbsSendExpr___do_typing},
-  {(long int) typing___AAbsSendExpr___get_property},
-  {(long int) typing___AAbsSendExpr___process_signature},
-  {(long int) typing___AAbsSendExpr___prop},
-  {(long int) typing___AAbsSendExpr___arguments},
-  {(long int) typing___ASendExpr___name},
-  {(long int) typing___ASendExpr___raw_arguments},
-  {(long int) typing___ASendReassignExpr___do_all_typing},
-  {(long int) parser_prod___ASendExpr___empty_init},
-  {(long int) parser_prod___ASendExpr___init_asendexpr},
-  {(long int) 6 /* 99: ASendReassignExpr < ASendExpr: superclass init_table position */},
-  {(long int) parser_nodes___ASendExpr___n_expr},
-  {(long int) parser_prod___ASendExpr___n_expr__eq},
+  {(bigint) 3811 /* 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 */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 2 /* 20: ASendReassignExpr < 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) mmbuilder___PExpr___accept_class_builder},
+  {(bigint) mmbuilder___PNode___accept_class_specialization_builder},
+  {(bigint) mmbuilder___PNode___accept_class_ancestor_builder},
+  {(bigint) mmbuilder___PNode___accept_class_verifier},
+  {(bigint) mmbuilder___PExpr___accept_property_builder},
+  {(bigint) mmbuilder___PExpr___accept_property_verifier},
+  {(bigint) syntax_base___PNode___accept_abs_syntax_visitor},
+  {(bigint) parser_prod___PNode___parent},
+  {(bigint) parser_prod___PNode___parent__eq},
+  {(bigint) parser_prod___PNode___remove_child},
+  {(bigint) parser_prod___ASendExpr___replace_child},
+  {(bigint) parser_prod___Prod___replace_with},
+  {(bigint) parser_prod___ASendExpr___visit_all},
+  {(bigint) parser_prod___ASendExpr___visit_all_reverse},
+  {(bigint) parser_prod___Prod___locate},
+  {(bigint) parser_prod___Prod___line_number},
+  {(bigint) parser_prod___PNode___printl},
+  {(bigint) 3 /* 57: ASendReassignExpr < PNode: superclass init_table position */},
+  {(bigint) control_flow___PNode___accept_control_flow},
+  {(bigint) typing___PNode___accept_typing},
+  {(bigint) typing___ASendExpr___after_typing},
+  {(bigint) parser_prod___Prod___first_token},
+  {(bigint) parser_prod___Prod___first_token__eq},
+  {(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) 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) 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) typing___ASuperInitCall___register_super_init_call},
+  {(bigint) 8 /* 78: 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) 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) typing___AAbsSendExpr___do_typing},
+  {(bigint) typing___AAbsSendExpr___get_property},
+  {(bigint) typing___AAbsSendExpr___process_signature},
+  {(bigint) typing___AAbsSendExpr___prop},
+  {(bigint) typing___AAbsSendExpr___arguments},
+  {(bigint) typing___ASendExpr___name},
+  {(bigint) typing___ASendExpr___raw_arguments},
+  {(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) parser_nodes___ASendExpr___n_expr},
+  {(bigint) parser_prod___ASendExpr___n_expr__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ASendReassignExpr::_parent */
@@ -79859,56 +81001,56 @@ val_t NEW_ASendReassignExpr(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_SrcModuleLoader[50] = {
-  {(long int) 203 /* 0: Identity */},
-  {(long int) 3 /* 1: SrcModuleLoader < Object: superclass typecheck marker */},
-  {(long int) 79 /* 2: SrcModuleLoader < ModuleLoader: superclass typecheck marker */},
-  {(long int) 203 /* 3: SrcModuleLoader < SrcModuleLoader: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: SrcModuleLoader < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: SrcModuleLoader < ModuleLoader: superclass init_table position */},
-  {(long int) syntax___SrcModuleLoader___file_type},
-  {(long int) mmloader___ModuleLoader___try_to_load_dir},
-  {(long int) mmloader___ModuleLoader___can_handle},
-  {(long int) mmloader___ModuleLoader___load_and_process_module},
-  {(long int) mmloader___ModuleLoader___load_module},
-  {(long int) syntax___SrcModuleLoader___parse_file},
-  {(long int) syntax___SrcModuleLoader___process_metamodel},
-  {(long int) 2 /* 48: SrcModuleLoader < SrcModuleLoader: superclass init_table position */},
-  {(long int) syntax___SrcModuleLoader___init},
+  {(bigint) 203 /* 0: Identity */},
+  {(bigint) 3 /* 1: SrcModuleLoader < Object: superclass typecheck marker */},
+  {(bigint) 79 /* 2: SrcModuleLoader < ModuleLoader: superclass typecheck marker */},
+  {(bigint) 203 /* 3: SrcModuleLoader < SrcModuleLoader: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: SrcModuleLoader < 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) 1 /* 40: SrcModuleLoader < ModuleLoader: superclass init_table position */},
+  {(bigint) syntax___SrcModuleLoader___file_type},
+  {(bigint) mmloader___ModuleLoader___try_to_load_dir},
+  {(bigint) mmloader___ModuleLoader___can_handle},
+  {(bigint) mmloader___ModuleLoader___load_and_process_module},
+  {(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) syntax___SrcModuleLoader___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_SrcModuleLoader(void) {
@@ -79923,129 +81065,126 @@ val_t NEW_syntax___SrcModuleLoader___init() {
   syntax___SrcModuleLoader___init(self, init_table);
   return self;
 }
-const classtable_elt_t VFT_AbstractCompiler[93] = {
-  {(long int) 3227 /* 0: Identity */},
-  {(long int) 3 /* 1: AbstractCompiler < Object: superclass typecheck marker */},
-  {(long int) 119 /* 2: AbstractCompiler < MMContext: superclass typecheck marker */},
-  {(long int) 179 /* 3: AbstractCompiler < ToolContext: superclass typecheck marker */},
-  {(long int) 3227 /* 4: AbstractCompiler < AbstractCompiler: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: AbstractCompiler < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) syntax___MMContext___tc},
-  {(long int) syntax___MMContext___tc__eq},
-  {(long int) 1 /* 42: AbstractCompiler < MMContext: superclass init_table position */},
-  {(long int) abstractmetamodel___MMContext___init},
-  {(long int) abstractmetamodel___MMContext___module_hierarchy},
-  {(long int) abstractmetamodel___MMContext___class_hierarchy},
-  {(long int) abstractmetamodel___MMContext___modules},
-  {(long int) abstractmetamodel___MMContext___add_module},
-  {(long int) abstractmetamodel___MMContext___add_global_class},
-  {(long int) abstractmetamodel___MMContext___add_local_class},
-  {(long int) compiling_base___ToolContext___global},
-  {(long int) compiling_base___ToolContext___global__eq},
-  {(long int) compiling_base___ToolContext___attr_sim},
-  {(long int) compiling_base___ToolContext___attr_sim__eq},
-  {(long int) compiling_base___ToolContext___base_dir},
-  {(long int) compiling_base___ToolContext___base_dir__eq},
-  {(long int) compiling_base___ToolContext___clibdir},
-  {(long int) compiling_base___ToolContext___clibdir__eq},
-  {(long int) compiling_base___ToolContext___bindir},
-  {(long int) compiling_base___ToolContext___bindir__eq},
-  {(long int) compiling_base___ToolContext___output_file},
-  {(long int) compiling_base___ToolContext___output_file__eq},
-  {(long int) compiling_base___ToolContext___boost},
-  {(long int) compiling_base___ToolContext___boost__eq},
-  {(long int) compiling_base___ToolContext___no_cc},
-  {(long int) compiling_base___ToolContext___no_cc__eq},
-  {(long int) compiling_base___ToolContext___ext_prefix},
-  {(long int) compiling_base___ToolContext___ext_prefix__eq},
-  {(long int) 2 /* 68: AbstractCompiler < ToolContext: superclass init_table position */},
-  {(long int) mmloader___ToolContext___error_count},
-  {(long int) mmloader___ToolContext___warning_count},
-  {(long int) mmloader___ToolContext___error},
-  {(long int) mmloader___ToolContext___warning},
-  {(long int) mmloader___ToolContext___paths},
-  {(long int) mmloader___ToolContext___option_context},
-  {(long int) mmloader___ToolContext___opt_warn},
-  {(long int) mmloader___ToolContext___opt_path},
-  {(long int) mmloader___ToolContext___opt_log},
-  {(long int) mmloader___ToolContext___opt_only_metamodel},
-  {(long int) mmloader___ToolContext___opt_only_parse},
-  {(long int) mmloader___ToolContext___opt_help},
-  {(long int) mmloader___ToolContext___init},
-  {(long int) mmloader___ToolContext___process_options},
-  {(long int) mmloader___ToolContext___try_to_load},
-  {(long int) mmloader___ToolContext___get_module_from_filename},
-  {(long int) mmloader___ToolContext___get_module},
-  {(long int) mmloader___ToolContext___directory_for},
-  {(long int) mmloader___ToolContext___register_loader},
-  {(long int) 3 /* 88: AbstractCompiler < AbstractCompiler: superclass init_table position */},
-  {(long int) abstracttool___AbstractCompiler___init},
-  {(long int) abstracttool___AbstractCompiler___exec_cmd_line},
-  {(long int) abstracttool___AbstractCompiler___perform_work},
-  {(long int) abstracttool___AbstractCompiler___dump_context_info},
-};
-/* 0: Pointer to the classtable */
-/* 1: Attribute AbstractCompiler::_tc */
-/* 2: Attribute AbstractCompiler::_module_hierarchy */
-/* 3: Attribute AbstractCompiler::_class_hierarchy */
-/* 4: Attribute AbstractCompiler::_global_classes */
-/* 5: Attribute AbstractCompiler::_modules */
-/* 6: Attribute AbstractCompiler::_global */
-/* 7: Attribute AbstractCompiler::_attr_sim */
-/* 8: Attribute AbstractCompiler::_base_dir */
-/* 9: Attribute AbstractCompiler::_clibdir */
-/* 10: Attribute AbstractCompiler::_bindir */
-/* 11: Attribute AbstractCompiler::_output_file */
-/* 12: Attribute AbstractCompiler::_boost */
-/* 13: Attribute AbstractCompiler::_no_cc */
-/* 14: Attribute AbstractCompiler::_ext_prefix */
-/* 15: Attribute AbstractCompiler::_error_count */
-/* 16: Attribute AbstractCompiler::_warning_count */
-/* 17: Attribute AbstractCompiler::_paths */
-/* 18: Attribute AbstractCompiler::_loaders */
-/* 19: Attribute AbstractCompiler::_option_context */
-/* 20: Attribute AbstractCompiler::_opt_warn */
-/* 21: Attribute AbstractCompiler::_opt_path */
-/* 22: Attribute AbstractCompiler::_opt_log */
-/* 23: Attribute AbstractCompiler::_opt_only_metamodel */
-/* 24: Attribute AbstractCompiler::_opt_only_parse */
-/* 25: Attribute AbstractCompiler::_opt_help */
-/* 26: Attribute AbstractCompiler::_processing_modules */
-/* 27: Attribute AbstractCompiler::_path_dirs */
+const classtable_elt_t VFT_AbstractCompiler[91] = {
+  {(bigint) 3239 /* 0: Identity */},
+  {(bigint) 3 /* 1: AbstractCompiler < Object: superclass typecheck marker */},
+  {(bigint) 119 /* 2: AbstractCompiler < MMContext: superclass typecheck marker */},
+  {(bigint) 179 /* 3: AbstractCompiler < ToolContext: superclass typecheck marker */},
+  {(bigint) 3239 /* 4: AbstractCompiler < AbstractCompiler: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: AbstractCompiler < 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) 1 /* 40: AbstractCompiler < MMContext: superclass init_table position */},
+  {(bigint) abstractmetamodel___MMContext___init},
+  {(bigint) abstractmetamodel___MMContext___module_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___class_hierarchy},
+  {(bigint) abstractmetamodel___MMContext___modules},
+  {(bigint) abstractmetamodel___MMContext___add_module},
+  {(bigint) abstractmetamodel___MMContext___add_global_class},
+  {(bigint) abstractmetamodel___MMContext___add_local_class},
+  {(bigint) compiling_base___ToolContext___global},
+  {(bigint) compiling_base___ToolContext___global__eq},
+  {(bigint) compiling_base___ToolContext___attr_sim},
+  {(bigint) compiling_base___ToolContext___attr_sim__eq},
+  {(bigint) compiling_base___ToolContext___base_dir},
+  {(bigint) compiling_base___ToolContext___base_dir__eq},
+  {(bigint) compiling_base___ToolContext___clibdir},
+  {(bigint) compiling_base___ToolContext___clibdir__eq},
+  {(bigint) compiling_base___ToolContext___bindir},
+  {(bigint) compiling_base___ToolContext___bindir__eq},
+  {(bigint) compiling_base___ToolContext___output_file},
+  {(bigint) compiling_base___ToolContext___output_file__eq},
+  {(bigint) compiling_base___ToolContext___boost},
+  {(bigint) compiling_base___ToolContext___boost__eq},
+  {(bigint) compiling_base___ToolContext___no_cc},
+  {(bigint) compiling_base___ToolContext___no_cc__eq},
+  {(bigint) compiling_base___ToolContext___ext_prefix},
+  {(bigint) compiling_base___ToolContext___ext_prefix__eq},
+  {(bigint) 2 /* 66: AbstractCompiler < ToolContext: superclass init_table position */},
+  {(bigint) mmloader___ToolContext___error_count},
+  {(bigint) mmloader___ToolContext___warning_count},
+  {(bigint) mmloader___ToolContext___error},
+  {(bigint) mmloader___ToolContext___warning},
+  {(bigint) mmloader___ToolContext___paths},
+  {(bigint) mmloader___ToolContext___option_context},
+  {(bigint) mmloader___ToolContext___opt_warn},
+  {(bigint) mmloader___ToolContext___opt_path},
+  {(bigint) mmloader___ToolContext___opt_log},
+  {(bigint) mmloader___ToolContext___opt_only_metamodel},
+  {(bigint) mmloader___ToolContext___opt_only_parse},
+  {(bigint) mmloader___ToolContext___opt_help},
+  {(bigint) mmloader___ToolContext___init},
+  {(bigint) mmloader___ToolContext___process_options},
+  {(bigint) mmloader___ToolContext___try_to_load},
+  {(bigint) mmloader___ToolContext___get_module_from_filename},
+  {(bigint) mmloader___ToolContext___get_module},
+  {(bigint) mmloader___ToolContext___directory_for},
+  {(bigint) mmloader___ToolContext___register_loader},
+  {(bigint) 3 /* 86: AbstractCompiler < AbstractCompiler: superclass init_table position */},
+  {(bigint) abstracttool___AbstractCompiler___init},
+  {(bigint) abstracttool___AbstractCompiler___exec_cmd_line},
+  {(bigint) abstracttool___AbstractCompiler___perform_work},
+  {(bigint) abstracttool___AbstractCompiler___dump_context_info},
+};
+/* 0: Pointer to the classtable */
+/* 1: Attribute AbstractCompiler::_module_hierarchy */
+/* 2: Attribute AbstractCompiler::_class_hierarchy */
+/* 3: Attribute AbstractCompiler::_global_classes */
+/* 4: Attribute AbstractCompiler::_modules */
+/* 5: Attribute AbstractCompiler::_global */
+/* 6: Attribute AbstractCompiler::_attr_sim */
+/* 7: Attribute AbstractCompiler::_base_dir */
+/* 8: Attribute AbstractCompiler::_clibdir */
+/* 9: Attribute AbstractCompiler::_bindir */
+/* 10: Attribute AbstractCompiler::_output_file */
+/* 11: Attribute AbstractCompiler::_boost */
+/* 12: Attribute AbstractCompiler::_no_cc */
+/* 13: Attribute AbstractCompiler::_ext_prefix */
+/* 14: Attribute AbstractCompiler::_error_count */
+/* 15: Attribute AbstractCompiler::_warning_count */
+/* 16: Attribute AbstractCompiler::_paths */
+/* 17: Attribute AbstractCompiler::_loaders */
+/* 18: Attribute AbstractCompiler::_option_context */
+/* 19: Attribute AbstractCompiler::_opt_warn */
+/* 20: Attribute AbstractCompiler::_opt_path */
+/* 21: Attribute AbstractCompiler::_opt_log */
+/* 22: Attribute AbstractCompiler::_opt_only_metamodel */
+/* 23: Attribute AbstractCompiler::_opt_only_parse */
+/* 24: Attribute AbstractCompiler::_opt_help */
+/* 25: Attribute AbstractCompiler::_processing_modules */
+/* 26: Attribute AbstractCompiler::_path_dirs */
 val_t NEW_AbstractCompiler(void) {
   val_t variable0;
   val_t variable1;
@@ -80074,74 +81213,74 @@ val_t NEW_AbstractCompiler(void) {
   val_t variable24;
   val_t variable25;
   obj_t obj;
-  obj = alloc(sizeof(val_t) * 28);
+  obj = alloc(sizeof(val_t) * 27);
   obj->vft = (classtable_elt_t*)VFT_AbstractCompiler;
-  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMModule]*/
+  variable0 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____module_hierarchy(obj) = variable0;
-  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalClass]*/
+  variable1 = NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
   ATTR_abstractmetamodel___MMContext____class_hierarchy(obj) = variable1;
-  variable2 = NEW_array___Array___init(); /*new Array[MMGlobalClass]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____global_classes(obj) = variable2;
-  variable3 = NEW_array___Array___init(); /*new Array[MMModule]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_abstractmetamodel___MMContext____modules(obj) = variable3;
-  ATTR_mmloader___ToolContext____error_count(obj) = TAG_Int((long int)0);
-  ATTR_mmloader___ToolContext____warning_count(obj) = TAG_Int((long int)0);
-  variable4 = NEW_array___Array___init(); /*new Array[ModuleLoader]*/
+  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]*/
   ATTR_mmloader___ToolContext____loaders(obj) = variable4;
   variable5 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable9) /*AbstractArray::add*/;
   variable8 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable12) /*AbstractArray::add*/;
   variable11 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*AbstractArray::add*/;
   variable14 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*AbstractArray::add*/;
   variable17 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*AbstractArray::add*/;
   variable20 = NEW_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[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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable24) /*Array::add*/;
+  ((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*/
-  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable25) /*AbstractArray::add*/;
   variable23 = NEW_opts___OptionBool___init(variable21, variable22); /*new OptionBool*/
   ATTR_mmloader___ToolContext____opt_help(obj) = variable23;
-  variable24 = NEW_hash___HashSet___init(); /*new HashSet[Symbol]*/
+  variable24 = NEW_hash___HashSet___init(); /*new HashSet[E]*/
   ATTR_mmloader___ToolContext____processing_modules(obj) = variable24;
-  variable25 = NEW_hash___HashMap___init(); /*new HashMap[String, MMDirectory]*/
+  variable25 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_mmloader___ToolContext____path_dirs(obj) = variable25;
-  ATTR_compiling_base___ToolContext____global(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____attr_sim(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____boost(obj) = TAG_Bool((long int)0);
-  ATTR_compiling_base___ToolContext____no_cc(obj) = TAG_Bool((long int)0);
+  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);
   return OBJ2VAL(obj);
 }
 val_t NEW_abstracttool___AbstractCompiler___init() {
@@ -80151,89 +81290,89 @@ val_t NEW_abstracttool___AbstractCompiler___init() {
   return self;
 }
 const classtable_elt_t VFT_CompilerVisitor[83] = {
-  {(long int) 151 /* 0: Identity */},
-  {(long int) 3 /* 1: CompilerVisitor < Object: superclass typecheck marker */},
-  {(long int) 151 /* 2: CompilerVisitor < CompilerVisitor: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) compiling_base___CompilerVisitor___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: CompilerVisitor < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) compiling_global___CompilerVisitor___global_analysis},
-  {(long int) compiling_global___CompilerVisitor___global_analysis__eq},
-  {(long int) compiling_methods___CompilerVisitor___compile_stmt},
-  {(long int) compiling_methods___CompilerVisitor___compile_expr},
-  {(long int) compiling_methods___CompilerVisitor___ensure_var},
-  {(long int) compiling_methods___CompilerVisitor___add_assignment},
-  {(long int) compiling_methods___CompilerVisitor___variable},
-  {(long int) compiling_methods___CompilerVisitor___get_var},
-  {(long int) compiling_methods___CompilerVisitor___free_var},
-  {(long int) compiling_methods___CompilerVisitor___clear},
-  {(long int) compiling_methods___CompilerVisitor___varnames},
-  {(long int) compiling_methods___CompilerVisitor___has_return},
-  {(long int) compiling_methods___CompilerVisitor___has_return__eq},
-  {(long int) compiling_methods___CompilerVisitor___method_params},
-  {(long int) compiling_methods___CompilerVisitor___method_params__eq},
-  {(long int) compiling_methods___CompilerVisitor___method},
-  {(long int) compiling_methods___CompilerVisitor___method__eq},
-  {(long int) compiling_methods___CompilerVisitor___return_label},
-  {(long int) compiling_methods___CompilerVisitor___return_label__eq},
-  {(long int) compiling_methods___CompilerVisitor___break_label},
-  {(long int) compiling_methods___CompilerVisitor___break_label__eq},
-  {(long int) compiling_methods___CompilerVisitor___continue_label},
-  {(long int) compiling_methods___CompilerVisitor___continue_label__eq},
-  {(long int) compiling_methods___CompilerVisitor___return_value},
-  {(long int) compiling_methods___CompilerVisitor___return_value__eq},
-  {(long int) compiling_methods___CompilerVisitor___locate},
-  {(long int) compiling_base___CompilerVisitor___init},
-  {(long int) compiling_methods___CompilerVisitor___invoke_super_init_calls_after},
-  {(long int) 1 /* 68: CompilerVisitor < CompilerVisitor: superclass init_table position */},
-  {(long int) compiling_base___CompilerVisitor___add_decl},
-  {(long int) compiling_base___CompilerVisitor___add_instr},
-  {(long int) compiling_base___CompilerVisitor___new_number},
-  {(long int) compiling_base___CompilerVisitor___indent},
-  {(long int) compiling_base___CompilerVisitor___unindent},
-  {(long int) compiling_base___CompilerVisitor___module},
-  {(long int) compiling_base___CompilerVisitor___module__eq},
-  {(long int) compiling_base___CompilerVisitor___ctx},
-  {(long int) compiling_base___CompilerVisitor___ctx__eq},
-  {(long int) compiling_base___CompilerVisitor___indent_level},
-  {(long int) compiling_base___CompilerVisitor___indent_level__eq},
-  {(long int) compiling_base___CompilerVisitor___tc},
-  {(long int) compiling_base___CompilerVisitor___tc__eq},
-  {(long int) compiling_methods___CompilerVisitor___init},
+  {(bigint) 151 /* 0: Identity */},
+  {(bigint) 3 /* 1: CompilerVisitor < Object: superclass typecheck marker */},
+  {(bigint) 151 /* 2: CompilerVisitor < CompilerVisitor: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) compiling_base___CompilerVisitor___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: CompilerVisitor < 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_global___CompilerVisitor___global_analysis},
+  {(bigint) compiling_global___CompilerVisitor___global_analysis__eq},
+  {(bigint) compiling_methods___CompilerVisitor___compile_stmt},
+  {(bigint) compiling_methods___CompilerVisitor___compile_expr},
+  {(bigint) compiling_methods___CompilerVisitor___ensure_var},
+  {(bigint) compiling_methods___CompilerVisitor___add_assignment},
+  {(bigint) compiling_methods___CompilerVisitor___variable},
+  {(bigint) compiling_methods___CompilerVisitor___get_var},
+  {(bigint) compiling_methods___CompilerVisitor___free_var},
+  {(bigint) compiling_methods___CompilerVisitor___clear},
+  {(bigint) compiling_methods___CompilerVisitor___varnames},
+  {(bigint) compiling_methods___CompilerVisitor___has_return},
+  {(bigint) compiling_methods___CompilerVisitor___has_return__eq},
+  {(bigint) compiling_methods___CompilerVisitor___method_params},
+  {(bigint) compiling_methods___CompilerVisitor___method_params__eq},
+  {(bigint) compiling_methods___CompilerVisitor___method},
+  {(bigint) compiling_methods___CompilerVisitor___method__eq},
+  {(bigint) compiling_methods___CompilerVisitor___return_label},
+  {(bigint) compiling_methods___CompilerVisitor___return_label__eq},
+  {(bigint) compiling_methods___CompilerVisitor___break_label},
+  {(bigint) compiling_methods___CompilerVisitor___break_label__eq},
+  {(bigint) compiling_methods___CompilerVisitor___continue_label},
+  {(bigint) compiling_methods___CompilerVisitor___continue_label__eq},
+  {(bigint) compiling_methods___CompilerVisitor___return_value},
+  {(bigint) compiling_methods___CompilerVisitor___return_value__eq},
+  {(bigint) compiling_methods___CompilerVisitor___printf_locate_error},
+  {(bigint) compiling_base___CompilerVisitor___init},
+  {(bigint) compiling_methods___CompilerVisitor___invoke_super_init_calls_after},
+  {(bigint) 1 /* 68: CompilerVisitor < CompilerVisitor: superclass init_table position */},
+  {(bigint) compiling_base___CompilerVisitor___add_decl},
+  {(bigint) compiling_base___CompilerVisitor___add_instr},
+  {(bigint) compiling_base___CompilerVisitor___new_number},
+  {(bigint) compiling_base___CompilerVisitor___indent},
+  {(bigint) compiling_base___CompilerVisitor___unindent},
+  {(bigint) compiling_base___CompilerVisitor___module},
+  {(bigint) compiling_base___CompilerVisitor___module__eq},
+  {(bigint) compiling_base___CompilerVisitor___ctx},
+  {(bigint) compiling_base___CompilerVisitor___ctx__eq},
+  {(bigint) compiling_base___CompilerVisitor___indent_level},
+  {(bigint) compiling_base___CompilerVisitor___indent_level__eq},
+  {(bigint) compiling_base___CompilerVisitor___tc},
+  {(bigint) compiling_base___CompilerVisitor___tc__eq},
+  {(bigint) compiling_methods___CompilerVisitor___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute CompilerVisitor::_global_analysis */
@@ -80258,15 +81397,15 @@ val_t NEW_CompilerVisitor(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 17);
   obj->vft = (classtable_elt_t*)VFT_CompilerVisitor;
-  ATTR_compiling_base___CompilerVisitor____number_cpt(obj) = TAG_Int((long int)0);
+  ATTR_compiling_base___CompilerVisitor____number_cpt(obj) = TAG_Int((bigint)0);
   variable0 = NEW_compiling_base___CContext___init(); /*new CContext*/
   ATTR_compiling_base___CompilerVisitor____ctx(obj) = variable0;
-  ATTR_compiling_base___CompilerVisitor____indent_level(obj) = TAG_Int((long int)0);
-  ATTR_compiling_methods___CompilerVisitor____variable_index(obj) = TAG_Int((long int)0);
-  ATTR_compiling_methods___CompilerVisitor____variable_index_max(obj) = TAG_Int((long int)0);
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[Variable, String]*/
+  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]*/
   ATTR_compiling_methods___CompilerVisitor____varnames(obj) = variable1;
-  ATTR_compiling_methods___CompilerVisitor____has_return(obj) = TAG_Bool((long int)0);
+  ATTR_compiling_methods___CompilerVisitor____has_return(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_compiling_base___CompilerVisitor___init(val_t p0) {
@@ -80276,9 +81415,9 @@ val_t NEW_compiling_base___CompilerVisitor___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_CContext[45] = {
-  {(long int) 167 /* 0: Identity */},
-  {(long int) 3 /* 1: CContext < Object: superclass typecheck marker */},
-  {(long int) 167 /* 2: CContext < CContext: superclass typecheck marker */},
+  {(bigint) 167 /* 0: Identity */},
+  {(bigint) 3 /* 1: CContext < Object: superclass typecheck marker */},
+  {(bigint) 167 /* 2: CContext < CContext: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -80289,38 +81428,38 @@ const classtable_elt_t VFT_CContext[45] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: CContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: CContext < CContext: superclass init_table position */},
-  {(long int) compiling_base___CContext___decls},
-  {(long int) compiling_base___CContext___instrs},
-  {(long int) compiling_base___CContext___append},
-  {(long int) compiling_base___CContext___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: CContext < 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) 1 /* 40: CContext < CContext: superclass init_table position */},
+  {(bigint) compiling_base___CContext___decls},
+  {(bigint) compiling_base___CContext___instrs},
+  {(bigint) compiling_base___CContext___append},
+  {(bigint) compiling_base___CContext___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute CContext::_decls */
@@ -80331,9 +81470,9 @@ 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[String]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_compiling_base___CContext____decls(obj) = variable0;
-  variable1 = NEW_array___Array___init(); /*new Array[String]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_compiling_base___CContext____instrs(obj) = variable1;
   return OBJ2VAL(obj);
 }
@@ -80344,9 +81483,9 @@ val_t NEW_compiling_base___CContext___init() {
   return self;
 }
 const classtable_elt_t VFT_PrimitiveInfo[48] = {
-  {(long int) 47 /* 0: Identity */},
-  {(long int) 3 /* 1: PrimitiveInfo < Object: superclass typecheck marker */},
-  {(long int) 47 /* 2: PrimitiveInfo < PrimitiveInfo: superclass typecheck marker */},
+  {(bigint) 47 /* 0: Identity */},
+  {(bigint) 3 /* 1: PrimitiveInfo < Object: superclass typecheck marker */},
+  {(bigint) 47 /* 2: PrimitiveInfo < PrimitiveInfo: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -80357,41 +81496,41 @@ const classtable_elt_t VFT_PrimitiveInfo[48] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: PrimitiveInfo < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: PrimitiveInfo < PrimitiveInfo: superclass init_table position */},
-  {(long int) compiling_base___PrimitiveInfo___name},
-  {(long int) compiling_base___PrimitiveInfo___name__eq},
-  {(long int) compiling_base___PrimitiveInfo___tagged},
-  {(long int) compiling_base___PrimitiveInfo___tagged__eq},
-  {(long int) compiling_base___PrimitiveInfo___cname},
-  {(long int) compiling_base___PrimitiveInfo___cname__eq},
-  {(long int) compiling_base___PrimitiveInfo___init},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: PrimitiveInfo < 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) 1 /* 40: PrimitiveInfo < PrimitiveInfo: superclass init_table position */},
+  {(bigint) compiling_base___PrimitiveInfo___name},
+  {(bigint) compiling_base___PrimitiveInfo___name__eq},
+  {(bigint) compiling_base___PrimitiveInfo___tagged},
+  {(bigint) compiling_base___PrimitiveInfo___tagged__eq},
+  {(bigint) compiling_base___PrimitiveInfo___cname},
+  {(bigint) compiling_base___PrimitiveInfo___cname__eq},
+  {(bigint) compiling_base___PrimitiveInfo___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute PrimitiveInfo::_name */
@@ -80401,7 +81540,7 @@ val_t NEW_PrimitiveInfo(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 4);
   obj->vft = (classtable_elt_t*)VFT_PrimitiveInfo;
-  ATTR_compiling_base___PrimitiveInfo____tagged(obj) = TAG_Bool((long int)0);
+  ATTR_compiling_base___PrimitiveInfo____tagged(obj) = TAG_Bool((int)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_compiling_base___PrimitiveInfo___init() {
@@ -80411,9 +81550,9 @@ val_t NEW_compiling_base___PrimitiveInfo___init() {
   return self;
 }
 const classtable_elt_t VFT_ColorContext[44] = {
-  {(long int) 159 /* 0: Identity */},
-  {(long int) 3 /* 1: ColorContext < Object: superclass typecheck marker */},
-  {(long int) 159 /* 2: ColorContext < ColorContext: superclass typecheck marker */},
+  {(bigint) 159 /* 0: Identity */},
+  {(bigint) 3 /* 1: ColorContext < Object: superclass typecheck marker */},
+  {(bigint) 159 /* 2: ColorContext < ColorContext: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -80424,37 +81563,37 @@ const classtable_elt_t VFT_ColorContext[44] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ColorContext < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ColorContext < ColorContext: superclass init_table position */},
-  {(long int) compiling_global___ColorContext___color},
-  {(long int) compiling_global___ColorContext___has_color},
-  {(long int) compiling_global___ColorContext___color__eq},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ColorContext < 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) 1 /* 40: ColorContext < ColorContext: superclass init_table position */},
+  {(bigint) compiling_global___ColorContext___color},
+  {(bigint) compiling_global___ColorContext___has_color},
+  {(bigint) compiling_global___ColorContext___color__eq},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute ColorContext::_colors */
@@ -80465,56 +81604,56 @@ val_t NEW_ColorContext(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_GlobalAnalysis[50] = {
-  {(long int) 2619 /* 0: Identity */},
-  {(long int) 3 /* 1: GlobalAnalysis < Object: superclass typecheck marker */},
-  {(long int) 159 /* 2: GlobalAnalysis < ColorContext: superclass typecheck marker */},
-  {(long int) 2619 /* 3: GlobalAnalysis < GlobalAnalysis: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: GlobalAnalysis < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: GlobalAnalysis < ColorContext: superclass init_table position */},
-  {(long int) compiling_global___ColorContext___color},
-  {(long int) compiling_global___ColorContext___has_color},
-  {(long int) compiling_global___ColorContext___color__eq},
-  {(long int) 2 /* 44: GlobalAnalysis < GlobalAnalysis: superclass init_table position */},
-  {(long int) compiling_global___GlobalAnalysis___compiled_classes},
-  {(long int) compiling_global___GlobalAnalysis___module},
-  {(long int) compiling_global___GlobalAnalysis___max_class_table_length},
-  {(long int) compiling_global___GlobalAnalysis___max_class_table_length__eq},
-  {(long int) compiling_global___GlobalAnalysis___init},
+  {(bigint) 2631 /* 0: Identity */},
+  {(bigint) 3 /* 1: GlobalAnalysis < Object: superclass typecheck marker */},
+  {(bigint) 159 /* 2: GlobalAnalysis < ColorContext: superclass typecheck marker */},
+  {(bigint) 2631 /* 3: GlobalAnalysis < GlobalAnalysis: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: GlobalAnalysis < 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) 1 /* 40: GlobalAnalysis < ColorContext: superclass init_table position */},
+  {(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___GlobalAnalysis___compiled_classes},
+  {(bigint) compiling_global___GlobalAnalysis___module},
+  {(bigint) compiling_global___GlobalAnalysis___max_class_table_length},
+  {(bigint) compiling_global___GlobalAnalysis___max_class_table_length__eq},
+  {(bigint) compiling_global___GlobalAnalysis___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute GlobalAnalysis::_colors */
@@ -80525,7 +81664,7 @@ val_t NEW_GlobalAnalysis(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 5);
   obj->vft = (classtable_elt_t*)VFT_GlobalAnalysis;
-  ATTR_compiling_global___GlobalAnalysis____max_class_table_length(obj) = TAG_Int((long int)0);
+  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) {
@@ -80535,63 +81674,63 @@ val_t NEW_compiling_global___GlobalAnalysis___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_CompiledClass[57] = {
-  {(long int) 2643 /* 0: Identity */},
-  {(long int) 3 /* 1: CompiledClass < Object: superclass typecheck marker */},
-  {(long int) 159 /* 2: CompiledClass < ColorContext: superclass typecheck marker */},
-  {(long int) 2643 /* 3: CompiledClass < CompiledClass: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: CompiledClass < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: CompiledClass < ColorContext: superclass init_table position */},
-  {(long int) compiling_global___ColorContext___color},
-  {(long int) compiling_global___ColorContext___has_color},
-  {(long int) compiling_global___ColorContext___color__eq},
-  {(long int) 2 /* 44: CompiledClass < CompiledClass: superclass init_table position */},
-  {(long int) compiling_global___CompiledClass___local_class},
-  {(long int) compiling_global___CompiledClass___id},
-  {(long int) compiling_global___CompiledClass___id__eq},
-  {(long int) compiling_global___CompiledClass___class_table},
-  {(long int) compiling_global___CompiledClass___class_table__eq},
-  {(long int) compiling_global___CompiledClass___instance_table},
-  {(long int) compiling_global___CompiledClass___instance_table__eq},
-  {(long int) compiling_global___CompiledClass___class_layout},
-  {(long int) compiling_global___CompiledClass___class_layout__eq},
-  {(long int) compiling_global___CompiledClass___instance_layout},
-  {(long int) compiling_global___CompiledClass___instance_layout__eq},
-  {(long int) compiling_global___CompiledClass___init},
+  {(bigint) 2655 /* 0: Identity */},
+  {(bigint) 3 /* 1: CompiledClass < Object: superclass typecheck marker */},
+  {(bigint) 159 /* 2: CompiledClass < ColorContext: superclass typecheck marker */},
+  {(bigint) 2655 /* 3: CompiledClass < CompiledClass: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: CompiledClass < 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) 1 /* 40: CompiledClass < ColorContext: superclass init_table position */},
+  {(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___CompiledClass___local_class},
+  {(bigint) compiling_global___CompiledClass___id},
+  {(bigint) compiling_global___CompiledClass___id__eq},
+  {(bigint) compiling_global___CompiledClass___class_table},
+  {(bigint) compiling_global___CompiledClass___class_table__eq},
+  {(bigint) compiling_global___CompiledClass___instance_table},
+  {(bigint) compiling_global___CompiledClass___instance_table__eq},
+  {(bigint) compiling_global___CompiledClass___class_layout},
+  {(bigint) compiling_global___CompiledClass___class_layout__eq},
+  {(bigint) compiling_global___CompiledClass___instance_layout},
+  {(bigint) compiling_global___CompiledClass___instance_layout__eq},
+  {(bigint) compiling_global___CompiledClass___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute CompiledClass::_colors */
@@ -80605,7 +81744,7 @@ val_t NEW_CompiledClass(void) {
   obj_t obj;
   obj = alloc(sizeof(val_t) * 8);
   obj->vft = (classtable_elt_t*)VFT_CompiledClass;
-  ATTR_compiling_global___CompiledClass____id(obj) = TAG_Int((long int)0);
+  ATTR_compiling_global___CompiledClass____id(obj) = TAG_Int((bigint)0);
   return OBJ2VAL(obj);
 }
 val_t NEW_compiling_global___CompiledClass___init(val_t p0) {
@@ -80615,9 +81754,9 @@ val_t NEW_compiling_global___CompiledClass___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableElt[45] = {
-  {(long int) 19 /* 0: Identity */},
-  {(long int) 3 /* 1: TableElt < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableElt < TableElt: superclass typecheck marker */},
+  {(bigint) 19 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableElt < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableElt < TableElt: superclass typecheck marker */},
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
@@ -80628,38 +81767,38 @@ const classtable_elt_t VFT_TableElt[45] = {
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
   {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableElt < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableElt < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableElt___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableElt___compile_to_c},
+  {(bigint) utils___Object___cmangle},
+  {(bigint) utils___Object___cmangle_table},
+  {(bigint) hash___Object___hash},
+  {(bigint) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableElt < 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) 1 /* 40: TableElt < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___is_related_to},
+  {(bigint) compiling_global___TableElt___length},
+  {(bigint) compiling_global___TableElt___item},
+  {(bigint) compiling_global___TableElt___compile_to_c},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_TableElt(void) {
@@ -80669,54 +81808,54 @@ val_t NEW_TableElt(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_LocalTableElt[48] = {
-  {(long int) 2591 /* 0: Identity */},
-  {(long int) 3 /* 1: LocalTableElt < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: LocalTableElt < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: LocalTableElt < LocalTableElt: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: LocalTableElt < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: LocalTableElt < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableElt___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableElt___compile_to_c},
-  {(long int) 2 /* 45: LocalTableElt < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___LocalTableElt___symbol},
-  {(long int) compiling_global___LocalTableElt___value},
+  {(bigint) 2603 /* 0: Identity */},
+  {(bigint) 3 /* 1: LocalTableElt < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: LocalTableElt < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: LocalTableElt < LocalTableElt: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: LocalTableElt < 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) 1 /* 40: LocalTableElt < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___is_related_to},
+  {(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___LocalTableElt___symbol},
+  {(bigint) compiling_global___LocalTableElt___value},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_LocalTableElt(void) {
@@ -80726,56 +81865,56 @@ val_t NEW_LocalTableElt(void) {
   return OBJ2VAL(obj);
 }
 const classtable_elt_t VFT_TableEltPropPos[50] = {
-  {(long int) 2675 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltPropPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltPropPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltPropPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2675 /* 4: TableEltPropPos < TableEltPropPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltPropPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltPropPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableElt___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableElt___compile_to_c},
-  {(long int) 2 /* 45: TableEltPropPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltPropPos___symbol},
-  {(long int) compiling_global___TableEltPropPos___value},
-  {(long int) 3 /* 48: TableEltPropPos < TableEltPropPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltPropPos___init},
+  {(bigint) 2687 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltPropPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltPropPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltPropPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2687 /* 4: TableEltPropPos < TableEltPropPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltPropPos < 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) 1 /* 40: TableEltPropPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___is_related_to},
+  {(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___TableEltPropPos___symbol},
+  {(bigint) compiling_global___TableEltPropPos___value},
+  {(bigint) 3 /* 48: TableEltPropPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltPropPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltPropPos::_property */
@@ -80792,58 +81931,58 @@ val_t NEW_compiling_global___TableEltPropPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltMethPos[52] = {
-  {(long int) 3235 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltMethPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltMethPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltMethPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2675 /* 4: TableEltMethPos < TableEltPropPos: superclass typecheck marker */},
-  {(long int) 3235 /* 5: TableEltMethPos < TableEltMethPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltMethPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltMethPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableElt___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltMethPos___compile_to_c},
-  {(long int) 2 /* 45: TableEltMethPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltPropPos___symbol},
-  {(long int) compiling_global___TableEltPropPos___value},
-  {(long int) 3 /* 48: TableEltMethPos < TableEltPropPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltPropPos___init},
-  {(long int) 4 /* 50: TableEltMethPos < TableEltMethPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltMethPos___init},
+  {(bigint) 3247 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltMethPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltMethPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltMethPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2687 /* 4: TableEltMethPos < TableEltPropPos: superclass typecheck marker */},
+  {(bigint) 3247 /* 5: TableEltMethPos < TableEltMethPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltMethPos < 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) 1 /* 40: TableEltMethPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___is_related_to},
+  {(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___TableEltPropPos___symbol},
+  {(bigint) compiling_global___TableEltPropPos___value},
+  {(bigint) 3 /* 48: TableEltMethPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltPropPos___init},
+  {(bigint) 4 /* 50: TableEltMethPos < TableEltMethPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltMethPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltMethPos::_property */
@@ -80860,58 +81999,58 @@ val_t NEW_compiling_global___TableEltMethPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltSuperPos[52] = {
-  {(long int) 3231 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltSuperPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltSuperPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltSuperPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2675 /* 4: TableEltSuperPos < TableEltPropPos: superclass typecheck marker */},
-  {(long int) 3231 /* 5: TableEltSuperPos < TableEltSuperPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltSuperPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltSuperPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableElt___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltSuperPos___compile_to_c},
-  {(long int) 2 /* 45: TableEltSuperPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltSuperPos___symbol},
-  {(long int) compiling_global___TableEltPropPos___value},
-  {(long int) 3 /* 48: TableEltSuperPos < TableEltPropPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltPropPos___init},
-  {(long int) 4 /* 50: TableEltSuperPos < TableEltSuperPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltSuperPos___init},
+  {(bigint) 3243 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltSuperPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltSuperPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltSuperPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2687 /* 4: TableEltSuperPos < TableEltPropPos: superclass typecheck marker */},
+  {(bigint) 3243 /* 5: TableEltSuperPos < TableEltSuperPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltSuperPos < 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) 1 /* 40: TableEltSuperPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___is_related_to},
+  {(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___TableEltSuperPos___symbol},
+  {(bigint) compiling_global___TableEltPropPos___value},
+  {(bigint) 3 /* 48: TableEltSuperPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltPropPos___init},
+  {(bigint) 4 /* 50: TableEltSuperPos < TableEltSuperPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltSuperPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltSuperPos::_property */
@@ -80928,58 +82067,58 @@ val_t NEW_compiling_global___TableEltSuperPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltAttrPos[52] = {
-  {(long int) 3251 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltAttrPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltAttrPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltAttrPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2675 /* 4: TableEltAttrPos < TableEltPropPos: superclass typecheck marker */},
-  {(long int) 3251 /* 5: TableEltAttrPos < TableEltAttrPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltAttrPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltAttrPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableElt___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltAttrPos___compile_to_c},
-  {(long int) 2 /* 45: TableEltAttrPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltPropPos___symbol},
-  {(long int) compiling_global___TableEltPropPos___value},
-  {(long int) 3 /* 48: TableEltAttrPos < TableEltPropPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltPropPos___init},
-  {(long int) 4 /* 50: TableEltAttrPos < TableEltAttrPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltAttrPos___init},
+  {(bigint) 3263 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltAttrPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltAttrPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltAttrPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2687 /* 4: TableEltAttrPos < TableEltPropPos: superclass typecheck marker */},
+  {(bigint) 3263 /* 5: TableEltAttrPos < TableEltAttrPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltAttrPos < 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) 1 /* 40: TableEltAttrPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___is_related_to},
+  {(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___TableEltPropPos___symbol},
+  {(bigint) compiling_global___TableEltPropPos___value},
+  {(bigint) 3 /* 48: TableEltAttrPos < TableEltPropPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltPropPos___init},
+  {(bigint) 4 /* 50: TableEltAttrPos < TableEltAttrPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltAttrPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltAttrPos::_property */
@@ -80996,56 +82135,56 @@ val_t NEW_compiling_global___TableEltAttrPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltClassPos[50] = {
-  {(long int) 2679 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltClassPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltClassPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltClassPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2679 /* 4: TableEltClassPos < TableEltClassPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltClassPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltClassPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableElt___compile_to_c},
-  {(long int) 2 /* 45: TableEltClassPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___LocalTableElt___symbol},
-  {(long int) compiling_global___LocalTableElt___value},
-  {(long int) 3 /* 48: TableEltClassPos < TableEltClassPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___init},
+  {(bigint) 2691 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltClassPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltClassPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltClassPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2691 /* 4: TableEltClassPos < TableEltClassPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltClassPos < 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) 1 /* 40: TableEltClassPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___is_related_to},
+  {(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___LocalTableElt___symbol},
+  {(bigint) compiling_global___LocalTableElt___value},
+  {(bigint) 3 /* 48: TableEltClassPos < TableEltClassPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltClassPos::_local_class */
@@ -81062,58 +82201,58 @@ val_t NEW_compiling_global___TableEltClassPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltClassIdPos[52] = {
-  {(long int) 3243 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltClassIdPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltClassIdPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltClassIdPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2679 /* 4: TableEltClassIdPos < TableEltClassPos: superclass typecheck marker */},
-  {(long int) 3243 /* 5: TableEltClassIdPos < TableEltClassIdPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltClassIdPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltClassIdPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableElt___compile_to_c},
-  {(long int) 2 /* 45: TableEltClassIdPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassIdPos___symbol},
-  {(long int) compiling_global___TableEltClassIdPos___value},
-  {(long int) 3 /* 48: TableEltClassIdPos < TableEltClassPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___init},
-  {(long int) 4 /* 50: TableEltClassIdPos < TableEltClassIdPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassIdPos___init},
+  {(bigint) 3255 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltClassIdPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltClassIdPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltClassIdPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2691 /* 4: TableEltClassIdPos < TableEltClassPos: superclass typecheck marker */},
+  {(bigint) 3255 /* 5: TableEltClassIdPos < TableEltClassIdPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltClassIdPos < 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) 1 /* 40: TableEltClassIdPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___is_related_to},
+  {(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___TableEltClassIdPos___symbol},
+  {(bigint) compiling_global___TableEltClassIdPos___value},
+  {(bigint) 3 /* 48: TableEltClassIdPos < TableEltClassPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___init},
+  {(bigint) 4 /* 50: TableEltClassIdPos < TableEltClassIdPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassIdPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltClassIdPos::_local_class */
@@ -81130,58 +82269,58 @@ val_t NEW_compiling_global___TableEltClassIdPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltClassInitTablePos[52] = {
-  {(long int) 3239 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltClassInitTablePos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltClassInitTablePos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltClassInitTablePos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2679 /* 4: TableEltClassInitTablePos < TableEltClassPos: superclass typecheck marker */},
-  {(long int) 3239 /* 5: TableEltClassInitTablePos < TableEltClassInitTablePos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltClassInitTablePos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltClassInitTablePos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltClassInitTablePos___compile_to_c},
-  {(long int) 2 /* 45: TableEltClassInitTablePos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassInitTablePos___symbol},
-  {(long int) compiling_global___TableEltClassInitTablePos___value},
-  {(long int) 3 /* 48: TableEltClassInitTablePos < TableEltClassPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___init},
-  {(long int) 4 /* 50: TableEltClassInitTablePos < TableEltClassInitTablePos: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassInitTablePos___init},
+  {(bigint) 3251 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltClassInitTablePos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltClassInitTablePos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltClassInitTablePos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2691 /* 4: TableEltClassInitTablePos < TableEltClassPos: superclass typecheck marker */},
+  {(bigint) 3251 /* 5: TableEltClassInitTablePos < TableEltClassInitTablePos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltClassInitTablePos < 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) 1 /* 40: TableEltClassInitTablePos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___is_related_to},
+  {(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___TableEltClassInitTablePos___symbol},
+  {(bigint) compiling_global___TableEltClassInitTablePos___value},
+  {(bigint) 3 /* 48: TableEltClassInitTablePos < TableEltClassPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___init},
+  {(bigint) 4 /* 50: TableEltClassInitTablePos < TableEltClassInitTablePos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassInitTablePos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltClassInitTablePos::_local_class */
@@ -81198,58 +82337,58 @@ val_t NEW_compiling_global___TableEltClassInitTablePos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltClassColorPos[52] = {
-  {(long int) 3247 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltClassColorPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltClassColorPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltClassColorPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2679 /* 4: TableEltClassColorPos < TableEltClassPos: superclass typecheck marker */},
-  {(long int) 3247 /* 5: TableEltClassColorPos < TableEltClassColorPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltClassColorPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltClassColorPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltClassColorPos___compile_to_c},
-  {(long int) 2 /* 45: TableEltClassColorPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassColorPos___symbol},
-  {(long int) compiling_global___TableEltClassColorPos___value},
-  {(long int) 3 /* 48: TableEltClassColorPos < TableEltClassPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassPos___init},
-  {(long int) 4 /* 50: TableEltClassColorPos < TableEltClassColorPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassColorPos___init},
+  {(bigint) 3259 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltClassColorPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltClassColorPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltClassColorPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2691 /* 4: TableEltClassColorPos < TableEltClassPos: superclass typecheck marker */},
+  {(bigint) 3259 /* 5: TableEltClassColorPos < TableEltClassColorPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltClassColorPos < 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) 1 /* 40: TableEltClassColorPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___is_related_to},
+  {(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___TableEltClassColorPos___symbol},
+  {(bigint) compiling_global___TableEltClassColorPos___value},
+  {(bigint) 3 /* 48: TableEltClassColorPos < TableEltClassPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassPos___init},
+  {(bigint) 4 /* 50: TableEltClassColorPos < TableEltClassColorPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassColorPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltClassColorPos::_local_class */
@@ -81266,56 +82405,56 @@ val_t NEW_compiling_global___TableEltClassColorPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltBaseAttrPos[50] = {
-  {(long int) 2683 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltBaseAttrPos < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltBaseAttrPos < TableElt: superclass typecheck marker */},
-  {(long int) 2591 /* 3: TableEltBaseAttrPos < LocalTableElt: superclass typecheck marker */},
-  {(long int) 2683 /* 4: TableEltBaseAttrPos < TableEltBaseAttrPos: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltBaseAttrPos < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltBaseAttrPos < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableElt___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltBaseAttrPos___compile_to_c},
-  {(long int) 2 /* 45: TableEltBaseAttrPos < LocalTableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltBaseAttrPos___symbol},
-  {(long int) compiling_global___TableEltBaseAttrPos___value},
-  {(long int) 3 /* 48: TableEltBaseAttrPos < TableEltBaseAttrPos: superclass init_table position */},
-  {(long int) compiling_global___TableEltBaseAttrPos___init},
+  {(bigint) 2695 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltBaseAttrPos < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltBaseAttrPos < TableElt: superclass typecheck marker */},
+  {(bigint) 2603 /* 3: TableEltBaseAttrPos < LocalTableElt: superclass typecheck marker */},
+  {(bigint) 2695 /* 4: TableEltBaseAttrPos < TableEltBaseAttrPos: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltBaseAttrPos < 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) 1 /* 40: TableEltBaseAttrPos < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableElt___is_related_to},
+  {(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___TableEltBaseAttrPos___symbol},
+  {(bigint) compiling_global___TableEltBaseAttrPos___value},
+  {(bigint) 3 /* 48: TableEltBaseAttrPos < TableEltBaseAttrPos: superclass init_table position */},
+  {(bigint) compiling_global___TableEltBaseAttrPos___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltBaseAttrPos::_local_class */
@@ -81332,54 +82471,54 @@ val_t NEW_compiling_global___TableEltBaseAttrPos___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltComposite[48] = {
-  {(long int) 191 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltComposite < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltComposite < TableElt: superclass typecheck marker */},
-  {(long int) 191 /* 3: TableEltComposite < TableEltComposite: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltComposite < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltComposite < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltComposite___is_related_to},
-  {(long int) compiling_global___TableEltComposite___length},
-  {(long int) compiling_global___TableEltComposite___item},
-  {(long int) compiling_global___TableEltComposite___compile_to_c},
-  {(long int) 2 /* 45: TableEltComposite < TableEltComposite: superclass init_table position */},
-  {(long int) compiling_global___TableEltComposite___add},
-  {(long int) compiling_global___TableEltComposite___init},
+  {(bigint) 191 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltComposite < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltComposite < TableElt: superclass typecheck marker */},
+  {(bigint) 191 /* 3: TableEltComposite < TableEltComposite: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltComposite < 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) 1 /* 40: TableEltComposite < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableEltComposite___is_related_to},
+  {(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___TableEltComposite___add},
+  {(bigint) compiling_global___TableEltComposite___init},
 };
 /* 0: Pointer to the classtable */
 /* 1: Attribute TableEltComposite::_table */
@@ -81398,53 +82537,53 @@ val_t NEW_compiling_global___TableEltComposite___init(val_t p0) {
   return self;
 }
 const classtable_elt_t VFT_TableEltClassSelfId[47] = {
-  {(long int) 195 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltClassSelfId < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltClassSelfId < TableElt: superclass typecheck marker */},
-  {(long int) 195 /* 3: TableEltClassSelfId < TableEltClassSelfId: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltClassSelfId < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltClassSelfId < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassSelfId___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltClassSelfId___compile_to_c},
-  {(long int) 2 /* 45: TableEltClassSelfId < TableEltClassSelfId: superclass init_table position */},
-  {(long int) compiling_global___TableEltClassSelfId___init},
+  {(bigint) 195 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltClassSelfId < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltClassSelfId < TableElt: superclass typecheck marker */},
+  {(bigint) 195 /* 3: TableEltClassSelfId < TableEltClassSelfId: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltClassSelfId < 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) 1 /* 40: TableEltClassSelfId < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableEltClassSelfId___is_related_to},
+  {(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___TableEltClassSelfId___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_TableEltClassSelfId(void) {
@@ -81460,53 +82599,53 @@ val_t NEW_compiling_global___TableEltClassSelfId___init() {
   return self;
 }
 const classtable_elt_t VFT_TableEltVftPointer[47] = {
-  {(long int) 187 /* 0: Identity */},
-  {(long int) 3 /* 1: TableEltVftPointer < Object: superclass typecheck marker */},
-  {(long int) 19 /* 2: TableEltVftPointer < TableElt: superclass typecheck marker */},
-  {(long int) 187 /* 3: TableEltVftPointer < TableEltVftPointer: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: TableEltVftPointer < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: TableEltVftPointer < TableElt: superclass init_table position */},
-  {(long int) compiling_global___TableEltVftPointer___is_related_to},
-  {(long int) compiling_global___TableElt___length},
-  {(long int) compiling_global___TableElt___item},
-  {(long int) compiling_global___TableEltVftPointer___compile_to_c},
-  {(long int) 2 /* 45: TableEltVftPointer < TableEltVftPointer: superclass init_table position */},
-  {(long int) compiling_global___TableEltVftPointer___init},
+  {(bigint) 187 /* 0: Identity */},
+  {(bigint) 3 /* 1: TableEltVftPointer < Object: superclass typecheck marker */},
+  {(bigint) 19 /* 2: TableEltVftPointer < TableElt: superclass typecheck marker */},
+  {(bigint) 187 /* 3: TableEltVftPointer < TableEltVftPointer: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: TableEltVftPointer < 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) 1 /* 40: TableEltVftPointer < TableElt: superclass init_table position */},
+  {(bigint) compiling_global___TableEltVftPointer___is_related_to},
+  {(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___TableEltVftPointer___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_TableEltVftPointer(void) {
@@ -81522,54 +82661,54 @@ val_t NEW_compiling_global___TableEltVftPointer___init() {
   return self;
 }
 const classtable_elt_t VFT_ClassSorter[48] = {
-  {(long int) 2651 /* 0: Identity */},
-  {(long int) 3 /* 1: ClassSorter < Object: superclass typecheck marker */},
-  {(long int) 175 /* 2: ClassSorter < AbstractSorter: superclass typecheck marker */},
-  {(long int) 2651 /* 3: ClassSorter < ClassSorter: superclass typecheck marker */},
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {0} /* Class Hole :( */,
-  {(long int) utils___Object___cmangle},
-  {(long int) utils___Object___cmangle_table},
-  {(long int) hash___Object___hash},
-  {(long int) string___Object___to_s},
-  {(long int) string___Object___inspect},
-  {(long int) string___Object___inspect_head},
-  {(long int) string___Object___args},
-  {(long int) 0 /* 20: ClassSorter < Object: superclass init_table position */},
-  {(long int) kernel___Object___object_id},
-  {(long int) kernel___Object___is_same_type},
-  {(long int) kernel___Object_____eqeq},
-  {(long int) kernel___Object_____neq},
-  {(long int) kernel___Object___output},
-  {(long int) kernel___Object___exit},
-  {(long int) kernel___Object___sys},
-  {(long int) time___Object___get_time},
-  {(long int) file___Object___printn},
-  {(long int) file___Object___print},
-  {(long int) file___Object___getc},
-  {(long int) file___Object___gets},
-  {(long int) file___Object___stdin},
-  {(long int) file___Object___stdout},
-  {(long int) file___Object___stderr},
-  {(long int) math___Object___atan2},
-  {(long int) math___Object___pi},
-  {(long int) math___Object___srand_from},
-  {(long int) math___Object___srand},
-  {(long int) 1 /* 40: ClassSorter < AbstractSorter: superclass init_table position */},
-  {(long int) compiling_global___ClassSorter___compare},
-  {(long int) sorter___AbstractSorter___sort},
-  {(long int) sorter___AbstractSorter___sub_sort},
-  {(long int) sorter___AbstractSorter___quick_sort},
-  {(long int) sorter___AbstractSorter___bubble_sort},
-  {(long int) 2 /* 46: ClassSorter < ClassSorter: superclass init_table position */},
-  {(long int) compiling_global___ClassSorter___init},
+  {(bigint) 2663 /* 0: Identity */},
+  {(bigint) 3 /* 1: ClassSorter < Object: superclass typecheck marker */},
+  {(bigint) 175 /* 2: ClassSorter < AbstractSorter: superclass typecheck marker */},
+  {(bigint) 2663 /* 3: ClassSorter < ClassSorter: superclass typecheck marker */},
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {0} /* Class Hole :( */,
+  {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) string___Object___to_s},
+  {(bigint) string___Object___inspect},
+  {(bigint) string___Object___inspect_head},
+  {(bigint) string___Object___args},
+  {(bigint) 0 /* 20: ClassSorter < 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) 1 /* 40: ClassSorter < AbstractSorter: superclass init_table position */},
+  {(bigint) compiling_global___ClassSorter___compare},
+  {(bigint) sorter___AbstractSorter___sort},
+  {(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) compiling_global___ClassSorter___init},
 };
 /* 0: Pointer to the classtable */
 val_t NEW_ClassSorter(void) {
index dc8bbb1..bdb7536 100644 (file)
@@ -1,71 +1,71 @@
 /* This C file is generated by NIT to compile module opts. */
 #include "opts._sep.h"
 val_t opts___Option___names(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___names, 16};
+  struct trace_t trace = {NULL, LOCATE_opts, 16, LOCATE_opts___Option___names};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___Option____names( self) /*Option::_names*/;
 }
 val_t opts___Option___helptext(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___helptext, 22};
+  struct trace_t trace = {NULL, LOCATE_opts, 22, LOCATE_opts___Option___helptext};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___Option____helptext( self) /*Option::_helptext*/;
 }
 val_t opts___Option___mandatory(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___mandatory, 25};
+  struct trace_t trace = {NULL, LOCATE_opts, 25, LOCATE_opts___Option___mandatory};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___Option____mandatory( self) /*Option::_mandatory*/;
 }
 void opts___Option___mandatory__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___mandatory__eq, 25};
+  struct trace_t trace = {NULL, LOCATE_opts, 25, LOCATE_opts___Option___mandatory__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_opts___Option____mandatory( self) /*Option::_mandatory*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t opts___Option___context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___context, 28};
+  struct trace_t trace = {NULL, LOCATE_opts, 28, LOCATE_opts___Option___context};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___Option____context( self) /*Option::_context*/;
 }
 void opts___Option___context__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___context__eq, 28};
+  struct trace_t trace = {NULL, LOCATE_opts, 28, LOCATE_opts___Option___context__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_opts___Option____context( self) /*Option::_context*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t opts___Option___value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___value, 31};
+  struct trace_t trace = {NULL, LOCATE_opts, 31, LOCATE_opts___Option___value};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___Option____value( self) /*Option::_value*/;
 }
 void opts___Option___value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___value__eq, 31};
+  struct trace_t trace = {NULL, LOCATE_opts, 31, LOCATE_opts___Option___value__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_opts___Option____value( self) /*Option::_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t opts___Option___default_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___default_value, 34};
+  struct trace_t trace = {NULL, LOCATE_opts, 34, LOCATE_opts___Option___default_value};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___Option____default_value( self) /*Option::_default_value*/;
 }
 void opts___Option___default_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___default_value__eq, 34};
+  struct trace_t trace = {NULL, LOCATE_opts, 34, LOCATE_opts___Option___default_value__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_opts___Option____default_value( self) /*Option::_default_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void opts___Option___init_opt(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___init_opt, 37};
+  struct trace_t trace = {NULL, LOCATE_opts, 37, LOCATE_opts___Option___init_opt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -75,12 +75,12 @@ void opts___Option___init_opt(val_t  self, val_t  param0, val_t  param1, val_t
   variable1 =  param1;
   variable2 =  param2;
   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*/) /*Array::==*/)));
+  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[String]*/
+    variable3 = NEW_array___Array___init(); /*new Array[E]*/
     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*/) /*Array::to_a*/;
+    variable3 = ((array___Collection___to_a_t)CALL( variable2 /*names*/,COLOR_array___Collection___to_a))( variable2 /*names*/) /*Collection::to_a*/;
     ATTR_opts___Option____names( self) /*Option::_names*/ = variable3;
   }
   ATTR_opts___Option____helptext( self) /*Option::_helptext*/ =  variable0 /*help*/;
@@ -91,20 +91,20 @@ void opts___Option___init_opt(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 void opts___Option___add_aliases(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___add_aliases, 50};
+  struct trace_t trace = {NULL, LOCATE_opts, 50, LOCATE_opts___Option___add_aliases};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   /* check if p<Array[String] with p:String */
-  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_opts___Option___init_opt, 51); nit_exit(1); } /*cast Array[String]*/;
+  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___Option___init_opt, LOCATE_opts, 51); nit_exit(1); } /*cast Array[String]*/;
   variable0 =  param0;
   variable1 = ATTR_opts___Option____names( self) /*Option::_names*/;
-  ((abstract_collection___SimpleCollection___add_all_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add_all))(variable1,  variable0 /*names*/) /*Array::add_all*/;
+  ((abstract_collection___SimpleCollection___add_all_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add_all))(variable1,  variable0 /*names*/) /*SimpleCollection::add_all*/;
   tracehead = trace.prev;
   return;
 }
 val_t opts___Option___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___to_s, 53};
+  struct trace_t trace = {NULL, LOCATE_opts, 53, LOCATE_opts___Option___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((opts___Option___pretty_t)CALL( self,COLOR_opts___Option___pretty))( self,  TAG_Int(2)) /*Option::pretty*/;
@@ -114,7 +114,7 @@ val_t opts___Option___to_s(val_t  self) {
   return variable0;
 }
 val_t opts___Option___pretty(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___pretty, 56};
+  struct trace_t trace = {NULL, LOCATE_opts, 56, LOCATE_opts___Option___pretty};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -125,11 +125,11 @@ val_t opts___Option___pretty(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable2 = ATTR_opts___Option____names( self) /*Option::_names*/;
   variable3 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
-  variable2 = ((string___Collection___join_t)CALL(variable2,COLOR_string___Collection___join))(variable2, variable3) /*Array::join*/;
+  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*/
   ((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*/) /*String::length*/;
+  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)));
@@ -147,7 +147,7 @@ val_t opts___Option___pretty(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___Option___pretty_default(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___pretty_default, 69};
+  struct trace_t trace = {NULL, LOCATE_opts, 69, LOCATE_opts___Option___pretty_default};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -179,26 +179,27 @@ val_t opts___Option___pretty_default(val_t  self) {
   return variable0;
 }
 void opts___Option___read_param(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___Option___read_param, 77};
+  struct trace_t trace = {NULL, LOCATE_opts, 77, LOCATE_opts___Option___read_param};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "read_param", LOCATE_opts___Option___pretty_default, 77);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___Option___pretty_default, LOCATE_opts, 77);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void opts___OptionText___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionText___init, 83};
+  struct trace_t trace = {NULL, LOCATE_opts, 83, LOCATE_opts___OptionText___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionText].i]) return;
-  ((opts___Option___init_opt_t)CALL( self,COLOR_opts___Option___init_opt))( self,  variable0 /*text*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/, init_table /*YYY*/) /*OptionText::init_opt*/;
+  ((opts___Option___init_opt_t)CALL( self,COLOR_opts___Option___init_opt))( self,  variable0 /*text*/,  NIT_NULL /*null*/,  NIT_NULL /*null*/, init_table /*YYY*/) /*Option::init_opt*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionText].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t opts___OptionText___pretty(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionText___pretty, 85};
+  struct trace_t trace = {NULL, LOCATE_opts, 85, LOCATE_opts___OptionText___pretty};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -210,68 +211,69 @@ val_t opts___OptionText___pretty(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___OptionText___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionText___to_s, 87};
+  struct trace_t trace = {NULL, LOCATE_opts, 87, LOCATE_opts___OptionText___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((opts___Option___helptext_t)CALL( self,COLOR_opts___Option___helptext))( self) /*OptionText::helptext*/;
+  variable0 = ((opts___Option___helptext_t)CALL( self,COLOR_opts___Option___helptext))( self) /*Option::helptext*/;
   goto return_label7;
   return_label7: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void opts___OptionBool___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionBool___init, 94};
+  struct trace_t trace = {NULL, LOCATE_opts, 94, LOCATE_opts___OptionBool___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
-  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_opts___OptionText___to_s, 94); nit_exit(1); } /*cast Array[String]*/;
+  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionText___to_s, LOCATE_opts, 94); nit_exit(1); } /*cast Array[String]*/;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionBool].i]) return;
-  ((opts___Option___init_opt_t)CALL( self,COLOR_opts___Option___init_opt))( self,  variable0 /*help*/,  TAG_Bool(false),  variable1 /*names*/, init_table /*YYY*/) /*OptionBool::init_opt*/;
+  ((opts___Option___init_opt_t)CALL( self,COLOR_opts___Option___init_opt))( self,  variable0 /*help*/,  TAG_Bool(false),  variable1 /*names*/, init_table /*YYY*/) /*Option::init_opt*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionBool].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void opts___OptionBool___read_param(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionBool___read_param, 96};
+  struct trace_t trace = {NULL, LOCATE_opts, 96, LOCATE_opts___OptionBool___read_param};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ((opts___Option___value__eq_t)CALL( self,COLOR_opts___Option___value__eq))( self,  TAG_Bool(true)) /*OptionBool::value=*/;
+  ((opts___Option___value__eq_t)CALL( self,COLOR_opts___Option___value__eq))( self,  TAG_Bool(true)) /*Option::value=*/;
   tracehead = trace.prev;
   return;
 }
 val_t opts___OptionParameter___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionParameter___convert, 102};
+  struct trace_t trace = {NULL, LOCATE_opts, 102, LOCATE_opts___OptionParameter___convert};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "convert", LOCATE_opts___OptionBool___read_param, 102);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionBool___read_param, LOCATE_opts, 102);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void opts___OptionParameter___read_param(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionParameter___read_param, 104};
+  struct trace_t trace = {NULL, LOCATE_opts, 104, LOCATE_opts___OptionParameter___read_param};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((opts___Option___context_t)CALL( self,COLOR_opts___Option___context))( self) /*OptionParameter::context*/;
-  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*/) /*OptionContext::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_opts___OptionParameter___read_param, 106); nit_exit(1);}
+  variable1 = ((opts___Option___context_t)CALL( self,COLOR_opts___Option___context))( self) /*Option::context*/;
+  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_opts___OptionParameter___read_param, LOCATE_opts, 106); nit_exit(1);}
   variable1 = ((abstract_collection___Iterator___is_ok_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___is_ok))( variable0 /*it*/) /*Iterator::is_ok*/;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ((abstract_collection___Iterator___item_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___item))( variable0 /*it*/) /*Iterator::item*/;
     variable1 = ((opts___OptionParameter___convert_t)CALL( self,COLOR_opts___OptionParameter___convert))( self, variable1) /*OptionParameter::convert*/;
-    ((opts___Option___value__eq_t)CALL( self,COLOR_opts___Option___value__eq))( self, variable1) /*OptionParameter::value=*/;
+    ((opts___Option___value__eq_t)CALL( self,COLOR_opts___Option___value__eq))( self, variable1) /*Option::value=*/;
     ((abstract_collection___Iterator___next_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___next))( variable0 /*it*/) /*Iterator::next*/;
   }
   tracehead = trace.prev;
   return;
 }
 void opts___OptionParameter___init_opt(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionParameter___init_opt, 115};
+  struct trace_t trace = {NULL, LOCATE_opts, 115, LOCATE_opts___OptionParameter___init_opt};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -286,22 +288,22 @@ void opts___OptionParameter___init_opt(val_t  self, val_t  param0, val_t  param1
   return;
 }
 void opts___OptionString___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionString___init, 122};
+  struct trace_t trace = {NULL, LOCATE_opts, 122, LOCATE_opts___OptionString___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
-  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_opts___OptionParameter___init_opt, 122); nit_exit(1); } /*cast Array[String]*/;
+  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionParameter___init_opt, LOCATE_opts, 122); nit_exit(1); } /*cast Array[String]*/;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionString].i]) return;
-  ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self,  variable0 /*help*/,  NIT_NULL /*null*/,  variable1 /*names*/, init_table /*YYY*/) /*OptionString::init_opt*/;
+  ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self,  variable0 /*help*/,  NIT_NULL /*null*/,  variable1 /*names*/, init_table /*YYY*/) /*OptionParameter::init_opt*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionString].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t opts___OptionString___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionString___convert, 124};
+  struct trace_t trace = {NULL, LOCATE_opts, 124, LOCATE_opts___OptionString___convert};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -313,7 +315,7 @@ val_t opts___OptionString___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 void opts___OptionEnum___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionEnum___init, 132};
+  struct trace_t trace = {NULL, LOCATE_opts, 132, LOCATE_opts___OptionEnum___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -333,18 +335,18 @@ void opts___OptionEnum___init(val_t  self, val_t  param0, val_t  param1, val_t
   variable1 =  param1;
   variable2 =  param2;
   /* check if p<Array[String] with p:String */
-  if (( param3!=NIT_NULL) && !VAL_ISA( param3, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_opts___OptionString___convert, 132); nit_exit(1); } /*cast Array[String]*/;
+  if (( param3!=NIT_NULL) && !VAL_ISA( param3, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionString___convert, LOCATE_opts, 132); nit_exit(1); } /*cast Array[String]*/;
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionEnum].i]) return;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*enum*/ ==  NIT_NULL /*null*/) || (( variable0 /*enum*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable0 /*enum*/,COLOR_kernel___Object_____eqeq))( variable0 /*enum*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*enum*/ ==  NIT_NULL /*null*/) || (( variable0 /*enum*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*enum*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*enum*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*enum*/,COLOR_kernel___Object_____eqeq))( variable0 /*enum*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   variable5 = variable4;
   if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ((array___AbstractArray___length_t)CALL( variable0 /*enum*/,COLOR_abstract_collection___Collection___length))( variable0 /*enum*/) /*Array::length*/;
+    variable5 = ((array___AbstractArray___length_t)CALL( variable0 /*enum*/,COLOR_abstract_collection___Collection___length))( variable0 /*enum*/) /*AbstractArray::length*/;
     variable5 = TAG_Bool(UNTAG_Int(variable5)>UNTAG_Int( TAG_Int(0)));
   }
   variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_opts___OptionEnum___init, 134); nit_exit(1);}
-  variable4 = ((array___Collection___to_a_t)CALL( variable0 /*enum*/,COLOR_array___Collection___to_a))( variable0 /*enum*/) /*Array::to_a*/;
+  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*/
@@ -356,26 +358,26 @@ void opts___OptionEnum___init(val_t  self, val_t  param0, val_t  param1, val_t
   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 = ((string___Collection___join_t)CALL( variable0 /*enum*/,COLOR_string___Collection___join))( variable0 /*enum*/, variable10) /*Array::join*/;
+  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*/
   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*/) /*OptionEnum::init_opt*/;
+  ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self, variable4,  variable2 /*default*/,  variable3 /*names*/, init_table /*YYY*/) /*OptionParameter::init_opt*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionEnum].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t opts___OptionEnum___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionEnum___convert, 139};
+  struct trace_t trace = {NULL, LOCATE_opts, 139, LOCATE_opts___OptionEnum___convert};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ATTR_opts___OptionEnum____enum( self) /*OptionEnum::_enum*/;
-  variable2 = ((array___AbstractArray___index_of_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___index_of))(variable2,  variable0 /*str*/) /*Array::index_of*/;
+  variable2 = ((array___AbstractArray___index_of_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___index_of))(variable2,  variable0 /*str*/) /*AbstractArray::index_of*/;
   variable1 = variable2;
   variable1 =  variable1 /*id*/;
   goto return_label15;
@@ -384,7 +386,7 @@ val_t opts___OptionEnum___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___OptionEnum___pretty_default(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionEnum___pretty_default, 145};
+  struct trace_t trace = {NULL, LOCATE_opts, 145, LOCATE_opts___OptionEnum___pretty_default};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -394,7 +396,7 @@ val_t opts___OptionEnum___pretty_default(val_t  self) {
     val_t variable6;
     val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*OptionEnum::default_value*/;
+  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*/
@@ -402,17 +404,17 @@ val_t opts___OptionEnum___pretty_default(val_t  self) {
     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*/;
-    variable4 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*OptionEnum::default_value*/;
+    variable4 = ((opts___Option___default_value_t)CALL( self,COLOR_opts___Option___default_value))( self) /*Option::default_value*/;
     variable5 = variable4;
     variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable7 = variable6;
     if (UNTAG_Bool(variable7)) { /* and */
       variable7 = variable3;
-      variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
+      variable7 = ATTR_array___AbstractArray____length(variable7) /*AbstractArray::_length*/;
       variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
     }
     variable6 = variable7;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_opts, 229); nit_exit(1);}
     variable6 = variable3;
     variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
     variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
@@ -434,7 +436,7 @@ val_t opts___OptionEnum___pretty_default(val_t  self) {
   return variable0;
 }
 void opts___OptionInt___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionInt___init, 159};
+  struct trace_t trace = {NULL, LOCATE_opts, 159, LOCATE_opts___OptionInt___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -442,16 +444,16 @@ void opts___OptionInt___init(val_t  self, val_t  param0, val_t  param1, val_t  p
   variable0 =  param0;
   variable1 =  param1;
   /* check if p<Array[String] with p:String */
-  if (( param2!=NIT_NULL) && !VAL_ISA( param2, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_array___Array_____bra, 159); nit_exit(1); } /*cast Array[String]*/;
+  if (( param2!=NIT_NULL) && !VAL_ISA( param2, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_opts, 159); nit_exit(1); } /*cast Array[String]*/;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionInt].i]) return;
-  ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self,  variable0 /*help*/,  variable1 /*default*/,  variable2 /*names*/, init_table /*YYY*/) /*OptionInt::init_opt*/;
+  ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self,  variable0 /*help*/,  variable1 /*default*/,  variable2 /*names*/, init_table /*YYY*/) /*OptionParameter::init_opt*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionInt].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t opts___OptionInt___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionInt___convert, 161};
+  struct trace_t trace = {NULL, LOCATE_opts, 161, LOCATE_opts___OptionInt___convert};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -463,32 +465,32 @@ val_t opts___OptionInt___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 void opts___OptionArray___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionArray___init, 168};
+  struct trace_t trace = {NULL, LOCATE_opts, 168, LOCATE_opts___OptionArray___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   /* check if p<Array[String] with p:String */
-  if (( param1!=NIT_NULL) && !VAL_ISA( param1, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_opts___OptionInt___convert, 168); nit_exit(1); } /*cast Array[String]*/;
+  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[String]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   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*/) /*OptionArray::init_opt*/;
+  ((opts___OptionParameter___init_opt_t)CALL( self,COLOR_opts___OptionParameter___init_opt))( self,  variable0 /*help*/, variable2,  variable1 /*names*/, init_table /*YYY*/) /*OptionParameter::init_opt*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionArray].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t opts___OptionArray___convert(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionArray___convert, 175};
+  struct trace_t trace = {NULL, LOCATE_opts, 175, LOCATE_opts___OptionArray___convert};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_opts___OptionArray____values( self) /*OptionArray::_values*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*str*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*str*/) /*AbstractArray::add*/;
   variable1 = ATTR_opts___OptionArray____values( self) /*OptionArray::_values*/;
   goto return_label21;
   return_label21: while(false);
@@ -496,19 +498,19 @@ val_t opts___OptionArray___convert(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t opts___OptionContext___options(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___options, 183};
+  struct trace_t trace = {NULL, LOCATE_opts, 183, LOCATE_opts___OptionContext___options};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
 }
 val_t opts___OptionContext___rest(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___rest, 184};
+  struct trace_t trace = {NULL, LOCATE_opts, 184, LOCATE_opts___OptionContext___rest};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_opts___OptionContext____rest( self) /*OptionContext::_rest*/;
 }
 void opts___OptionContext___usage(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___usage, 188};
+  struct trace_t trace = {NULL, LOCATE_opts, 188, LOCATE_opts___OptionContext___usage};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -519,19 +521,19 @@ void opts___OptionContext___usage(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(1);
   variable1 = ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 =  TAG_Int(3);
     variable4 = ((opts___Option___names_t)CALL( variable2 /*i*/,COLOR_opts___Option___names))( variable2 /*i*/) /*Option::names*/;
-    variable4 = ((array___AbstractArray___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Array::iterator*/;
+    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 = ((array___AbstractArray___length_t)CALL( variable5 /*n*/,COLOR_abstract_collection___Collection___length))( variable5 /*n*/) /*String::length*/;
+      variable6 = ((array___AbstractArray___length_t)CALL( variable5 /*n*/,COLOR_abstract_collection___Collection___length))( variable5 /*n*/) /*AbstractArray::length*/;
       variable6 = TAG_Int(UNTAG_Int(variable6)+UNTAG_Int( TAG_Int(2)));
       variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int(variable6)) /*l*/;
       continue_24: while(0);
@@ -547,13 +549,13 @@ void opts___OptionContext___usage(val_t  self) {
   }
   break_23: while(0);
   variable1 = ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
-  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     variable3 = ((opts___Option___pretty_t)CALL( variable2 /*i*/,COLOR_opts___Option___pretty))( variable2 /*i*/,  variable0 /*lmax*/) /*Option::pretty*/;
-    ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable3) /*OptionContext::print*/;
+    ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable3) /*Object::print*/;
     continue_25: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -562,7 +564,7 @@ void opts___OptionContext___usage(val_t  self) {
   return;
 }
 void opts___OptionContext___parse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___parse, 204};
+  struct trace_t trace = {NULL, LOCATE_opts, 204, LOCATE_opts___OptionContext___parse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -575,7 +577,7 @@ void opts___OptionContext___parse(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___parse_intern, 211};
+  struct trace_t trace = {NULL, LOCATE_opts, 211, LOCATE_opts___OptionContext___parse_intern};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -601,7 +603,7 @@ void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
     if (UNTAG_Bool(variable4)) { /*if*/
       ((abstract_collection___Iterator___next_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___next))( variable0 /*it*/) /*Iterator::next*/;
       variable4 = ((array___Iterator___to_a_t)CALL( variable0 /*it*/,COLOR_array___Iterator___to_a))( variable0 /*it*/) /*Iterator::to_a*/;
-      ((abstract_collection___SimpleCollection___add_all_t)CALL( variable2 /*rest*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable2 /*rest*/, variable4) /*Array::add_all*/;
+      ((abstract_collection___SimpleCollection___add_all_t)CALL( variable2 /*rest*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable2 /*rest*/, variable4) /*SimpleCollection::add_all*/;
       variable1 =  TAG_Bool(false) /*parseargs=*/;
     } else { /*if*/
       variable4 = ATTR_opts___OptionContext____optmap( self) /*OptionContext::_optmap*/;
@@ -614,7 +616,7 @@ void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
         ((opts___Option___read_param_t)CALL( variable4 /*opt*/,COLOR_opts___Option___read_param))( variable4 /*opt*/,  variable0 /*it*/) /*Option::read_param*/;
       } else { /*if*/
         variable4 = ((abstract_collection___Iterator___item_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___item))( variable0 /*it*/) /*Iterator::item*/;
-        ((array___AbstractArray___add_t)CALL( variable2 /*rest*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*rest*/, variable4) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL( variable2 /*rest*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*rest*/, variable4) /*AbstractArray::add*/;
         ((abstract_collection___Iterator___next_t)CALL( variable0 /*it*/,COLOR_abstract_collection___Iterator___next))( variable0 /*it*/) /*Iterator::next*/;
       }
     }
@@ -625,23 +627,23 @@ void opts___OptionContext___parse_intern(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionContext___add_option(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___add_option, 236};
+  struct trace_t trace = {NULL, LOCATE_opts, 236, LOCATE_opts___OptionContext___add_option};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   /* check if p<Array[Option] with p:Option */
-  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_opts___OptionContext___parse_intern, 236); nit_exit(1); } /*cast Array[Option]*/;
+  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_opts___OptionContext___parse_intern, LOCATE_opts, 236); nit_exit(1); } /*cast Array[Option]*/;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*opts*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*opts*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*opts*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*opts*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
     variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
     ((opts___Option___context__eq_t)CALL( variable2 /*opt*/,COLOR_opts___Option___context__eq))( variable2 /*opt*/,  self) /*Option::context=*/;
     variable3 = ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*opt*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable2 /*opt*/) /*AbstractArray::add*/;
     continue_30: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -650,22 +652,22 @@ void opts___OptionContext___add_option(val_t  self, val_t  param0) {
   return;
 }
 void opts___OptionContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___init, 244};
+  struct trace_t trace = {NULL, LOCATE_opts, 244, LOCATE_opts___OptionContext___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionContext].i]) return;
-  variable0 = NEW_array___Array___init(); /*new Array[Option]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/ = variable0;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[String, Option]*/
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_opts___OptionContext____optmap( self) /*OptionContext::_optmap*/ = variable0;
-  variable0 = NEW_array___Array___init(); /*new Array[String]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_opts___OptionContext____rest( self) /*OptionContext::_rest*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OptionContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void opts___OptionContext___build(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_opts___OptionContext___build, 251};
+  struct trace_t trace = {NULL, LOCATE_opts, 251, LOCATE_opts___OptionContext___build};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -673,13 +675,13 @@ void opts___OptionContext___build(val_t  self) {
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_opts___OptionContext____options( self) /*OptionContext::_options*/;
-  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Array::iterator*/;
+  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable1 = ((array___ArrayIterator___is_ok_t)CALL(variable0,COLOR_abstract_collection___Iterator___is_ok))(variable0) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable1)) break; /*for*/
     variable1 = ((array___ArrayIterator___item_t)CALL(variable0,COLOR_abstract_collection___Iterator___item))(variable0) /*ArrayIterator::item*/;
     variable2 = ((opts___Option___names_t)CALL( variable1 /*o*/,COLOR_opts___Option___names))( variable1 /*o*/) /*Option::names*/;
-    variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+    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*/
index 3d81232..b3c5ba1 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires opts. */
-#ifndef opts_3_sep
-#define opts_3_sep
+#ifndef opts_2_sep
+#define opts_2_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
@@ -21,7 +21,7 @@ extern const classtable_elt_t VFT_OptionInt[];
 extern const classtable_elt_t VFT_OptionArray[];
 
 extern const classtable_elt_t VFT_OptionContext[];
-#define LOCATE_opts "opts"
+#define LOCATE_opts "./../lib/opts.nit"
 extern const int SFT_opts[];
 #define ID_Option SFT_opts[0]
 #define COLOR_Option SFT_opts[1]
index b78fbb2..b4a98f3 100644 (file)
@@ -1,33 +1,33 @@
 /* This C file is generated by NIT to compile module parser. */
 #include "parser._sep.h"
 val_t parser___State___state(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser___State___state, 10};
+  struct trace_t trace = {NULL, LOCATE_parser, 10, LOCATE_parser___State___state};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_parser___State____state( self) /*State::_state*/;
 }
 void parser___State___state__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___State___state__eq, 10};
+  struct trace_t trace = {NULL, LOCATE_parser, 10, LOCATE_parser___State___state__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser___State____state( self) /*State::_state*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser___State___nodes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser___State___nodes, 13};
+  struct trace_t trace = {NULL, LOCATE_parser, 13, LOCATE_parser___State___nodes};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_parser___State____nodes( self) /*State::_nodes*/;
 }
 void parser___State___nodes__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___State___nodes__eq, 13};
+  struct trace_t trace = {NULL, LOCATE_parser, 13, LOCATE_parser___State___nodes__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser___State____nodes( self) /*State::_nodes*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser___State___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___State___init, 16};
+  struct trace_t trace = {NULL, LOCATE_parser, 16, LOCATE_parser___State___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -41,26 +41,26 @@ void parser___State___init(val_t  self, val_t  param0, val_t  param1, int* init_
   return;
 }
 void parser___Parser___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___Parser___init, 33};
+  struct trace_t trace = {NULL, LOCATE_parser, 34, LOCATE_parser___Parser___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   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[State]*/
+  variable1 = NEW_array___Array___init(); /*new Array[E]*/
   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;
-  ((parser_tables___Parser___build_goto_table_t)CALL( self,COLOR_parser_tables___Parser___build_goto_table))( self) /*Parser::build_goto_table*/;
-  ((parser_tables___Parser___build_action_table_t)CALL( self,COLOR_parser_tables___Parser___build_action_table))( self) /*Parser::build_action_table*/;
+  ((parser_tables___ParserTable___build_goto_table_t)CALL( self,COLOR_parser_tables___ParserTable___build_goto_table))( self) /*ParserTable::build_goto_table*/;
+  ((parser_tables___ParserTable___build_action_table_t)CALL( self,COLOR_parser_tables___ParserTable___build_action_table))( self) /*ParserTable::build_action_table*/;
   ((parser___Parser___build_reduce_table_t)CALL( self,COLOR_parser___Parser___build_reduce_table))( self) /*Parser::build_reduce_table*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t parser___Parser___go_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___Parser___go_to, 44};
+  struct trace_t trace = {NULL, LOCATE_parser, 45, LOCATE_parser___Parser___go_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -76,17 +76,17 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((parser___Parser___state_t)CALL( self,COLOR_parser___Parser___state))( self) /*Parser::state*/;
   variable1 = variable2;
-  variable3 = ATTR_parser_tables___Parser____goto_table( self) /*Parser::_goto_table*/;
+  variable3 = ATTR_parser_tables___ParserTable____goto_table( self) /*ParserTable::_goto_table*/;
   variable4 =  variable0 /*index*/;
   variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable6 = variable5;
   if (UNTAG_Bool(variable6)) { /* and */
     variable6 = variable3;
-    variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
+    variable6 = ATTR_array___AbstractArray____length(variable6) /*AbstractArray::_length*/;
     variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
   }
   variable5 = variable6;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
   variable5 = variable3;
   variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
   variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
@@ -95,7 +95,7 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
   variable3 = variable5;
   variable2 = variable3;
   variable3 =  TAG_Int(1);
-  variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*table*/,COLOR_abstract_collection___Collection___length))( variable2 /*table*/) /*Array::length*/;
+  variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*table*/,COLOR_abstract_collection___Collection___length))( variable2 /*table*/) /*AbstractArray::length*/;
   variable5 = TAG_Int(UNTAG_Int(variable5)/UNTAG_Int( TAG_Int(2)));
   variable5 = TAG_Int(UNTAG_Int(variable5)-UNTAG_Int( TAG_Int(1)));
   variable4 = variable5;
@@ -111,11 +111,11 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
     variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable9 = variable8;
     if (UNTAG_Bool(variable9)) { /* and */
-      variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
+      variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*AbstractArray::_length*/;
       variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
     }
     variable8 = variable9;
-    if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
     variable8 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
     variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
     goto return_label5;
@@ -130,11 +130,11 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
       variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
-        variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
       variable8 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
       goto return_label6;
@@ -150,11 +150,11 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
         variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable10 = variable9;
         if (UNTAG_Bool(variable10)) { /* and */
-          variable10 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
+          variable10 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*AbstractArray::_length*/;
           variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
         }
         variable9 = variable10;
-        if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
         variable9 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
         variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
         goto return_label7;
@@ -171,11 +171,11 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
   variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable7 = variable6;
   if (UNTAG_Bool(variable7)) { /* and */
-    variable7 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
+    variable7 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*AbstractArray::_length*/;
     variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
   }
   variable6 = variable7;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
   variable6 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
   variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
   goto return_label8;
@@ -188,7 +188,7 @@ val_t parser___Parser___go_to(val_t  self, val_t  param0) {
   return variable1;
 }
 void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser___Parser___push, 68};
+  struct trace_t trace = {NULL, LOCATE_parser, 69, LOCATE_parser___Parser___push};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -205,7 +205,7 @@ void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
   variable2 = variable3;
   ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ =  variable2 /*pos*/;
   variable3 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
-  variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*AbstractArray::length*/;
   variable3 = TAG_Bool(UNTAG_Int( variable2 /*pos*/)<UNTAG_Int(variable3));
   if (UNTAG_Bool(variable3)) { /*if*/
     variable4 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
@@ -214,11 +214,11 @@ void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
     variable7 = variable6;
     if (UNTAG_Bool(variable7)) { /* and */
       variable7 = variable4;
-      variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
+      variable7 = ATTR_array___AbstractArray____length(variable7) /*AbstractArray::_length*/;
       variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
     }
     variable6 = variable7;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
     variable6 = variable4;
     variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
     variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
@@ -231,13 +231,13 @@ void parser___Parser___push(val_t  self, val_t  param0, val_t  param1) {
   } else { /*if*/
     variable3 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
     variable4 = NEW_parser___State___init( variable0 /*numstate*/,  variable1 /*list_node*/); /*new State*/
-    ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*Array::push*/;
+    ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*AbstractArray::push*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t parser___Parser___state(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser___Parser___state, 82};
+  struct trace_t trace = {NULL, LOCATE_parser, 83, LOCATE_parser___Parser___state};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -251,11 +251,11 @@ val_t parser___Parser___state(val_t  self) {
   variable4 = variable3;
   if (UNTAG_Bool(variable4)) { /* and */
     variable4 = variable0;
-    variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
+    variable4 = ATTR_array___AbstractArray____length(variable4) /*AbstractArray::_length*/;
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
   }
   variable3 = variable4;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
   variable3 = variable0;
   variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
@@ -269,7 +269,7 @@ val_t parser___Parser___state(val_t  self) {
   return variable0;
 }
 val_t parser___Parser___pop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser___Parser___pop, 88};
+  struct trace_t trace = {NULL, LOCATE_parser, 89, LOCATE_parser___Parser___pop};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -284,11 +284,11 @@ val_t parser___Parser___pop(val_t  self) {
   variable5 = variable4;
   if (UNTAG_Bool(variable5)) { /* and */
     variable5 = variable1;
-    variable5 = ATTR_array___AbstractArray____length(variable5) /*Array::_length*/;
+    variable5 = ATTR_array___AbstractArray____length(variable5) /*AbstractArray::_length*/;
     variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
   }
   variable4 = variable5;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
   variable4 = variable1;
   variable4 = ATTR_array___Array____items(variable4) /*Array::_items*/;
   variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
@@ -307,7 +307,7 @@ val_t parser___Parser___pop(val_t  self) {
   return variable0;
 }
 val_t parser___Parser___parse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser___Parser___parse, 96};
+  struct trace_t trace = {NULL, LOCATE_parser, 97, LOCATE_parser___Parser___parse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -342,25 +342,25 @@ val_t parser___Parser___parse(val_t  self) {
     variable5 = TAG_Bool(( variable2 /*token*/==NIT_NULL) || VAL_ISA( variable2 /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
     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 (%s: %d)\n", "", LOCATE_parser___Parser___parse, 109); nit_exit(1);}
+      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*/
       variable0 = variable5;
       goto return_label15;
     }
     variable6 = ((lexer___Token___parser_index_t)CALL( variable2 /*token*/,COLOR_lexer___Token___parser_index))( variable2 /*token*/) /*Token::parser_index*/;
     variable5 = variable6;
-    variable7 = ATTR_parser_tables___Parser____action_table( self) /*Parser::_action_table*/;
+    variable7 = ATTR_parser_tables___ParserTable____action_table( self) /*ParserTable::_action_table*/;
     variable8 = ((parser___Parser___state_t)CALL( self,COLOR_parser___Parser___state))( self) /*Parser::state*/;
     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) /*Array::_length*/;
+      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 (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
     variable10 = variable7;
     variable10 = ATTR_array___Array____items(variable10) /*Array::_items*/;
     variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
@@ -372,11 +372,11 @@ val_t parser___Parser___parse(val_t  self) {
     variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable10 = variable9;
     if (UNTAG_Bool(variable10)) { /* and */
-      variable10 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
+      variable10 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*AbstractArray::_length*/;
       variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
     }
     variable9 = variable10;
-    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
     variable9 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
     variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
     goto return_label18;
@@ -387,11 +387,11 @@ val_t parser___Parser___parse(val_t  self) {
     variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable11 = variable10;
     if (UNTAG_Bool(variable11)) { /* and */
-      variable11 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
+      variable11 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*AbstractArray::_length*/;
       variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
     }
     variable10 = variable11;
-    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
     variable10 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
     variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
     goto return_label19;
@@ -399,7 +399,7 @@ val_t parser___Parser___parse(val_t  self) {
     variable9 = variable10;
     variable8 = variable9;
     variable9 =  TAG_Int(1);
-    variable11 = ((array___AbstractArray___length_t)CALL( variable6 /*table*/,COLOR_abstract_collection___Collection___length))( variable6 /*table*/) /*Array::length*/;
+    variable11 = ((array___AbstractArray___length_t)CALL( variable6 /*table*/,COLOR_abstract_collection___Collection___length))( variable6 /*table*/) /*AbstractArray::length*/;
     variable11 = TAG_Int(UNTAG_Int(variable11)/UNTAG_Int( TAG_Int(3)));
     variable11 = TAG_Int(UNTAG_Int(variable11)-UNTAG_Int( TAG_Int(1)));
     variable10 = variable11;
@@ -415,11 +415,11 @@ val_t parser___Parser___parse(val_t  self) {
       variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable15 = variable14;
       if (UNTAG_Bool(variable15)) { /* and */
-        variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
+        variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*AbstractArray::_length*/;
         variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
       }
       variable14 = variable15;
-      if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
       variable14 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
       variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
       goto return_label21;
@@ -434,11 +434,11 @@ val_t parser___Parser___parse(val_t  self) {
         variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable15 = variable14;
         if (UNTAG_Bool(variable15)) { /* and */
-          variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
+          variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*AbstractArray::_length*/;
           variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
         }
         variable14 = variable15;
-        if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
         variable14 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
         variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
         goto return_label22;
@@ -454,11 +454,11 @@ val_t parser___Parser___parse(val_t  self) {
           variable15 = TAG_Bool(UNTAG_Int( variable14 /*index*/)>=UNTAG_Int( TAG_Int(0)));
           variable16 = variable15;
           if (UNTAG_Bool(variable16)) { /* and */
-            variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
+            variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*AbstractArray::_length*/;
             variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)<UNTAG_Int(variable16));
           }
           variable15 = variable16;
-          if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+          if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
           variable15 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
           variable15 = UNBOX_NativeArray(variable15)[UNTAG_Int( variable14 /*index*/)];
           goto return_label23;
@@ -470,11 +470,11 @@ val_t parser___Parser___parse(val_t  self) {
           variable15 = TAG_Bool(UNTAG_Int( variable14 /*index*/)>=UNTAG_Int( TAG_Int(0)));
           variable16 = variable15;
           if (UNTAG_Bool(variable16)) { /* and */
-            variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
+            variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*AbstractArray::_length*/;
             variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)<UNTAG_Int(variable16));
           }
           variable15 = variable16;
-          if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+          if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
           variable15 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
           variable15 = UNBOX_NativeArray(variable15)[UNTAG_Int( variable14 /*index*/)];
           goto return_label24;
@@ -501,11 +501,11 @@ val_t parser___Parser___parse(val_t  self) {
         variable14 = variable13;
         if (UNTAG_Bool(variable14)) { /* and */
           variable14 = variable11;
-          variable14 = ATTR_array___AbstractArray____length(variable14) /*Array::_length*/;
+          variable14 = ATTR_array___AbstractArray____length(variable14) /*AbstractArray::_length*/;
           variable14 = TAG_Bool(UNTAG_Int( variable12 /*index*/)<UNTAG_Int(variable14));
         }
         variable13 = variable14;
-        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
         variable13 = variable11;
         variable13 = ATTR_array___Array____items(variable13) /*Array::_items*/;
         variable13 = UNBOX_NativeArray(variable13)[UNTAG_Int( variable12 /*index*/)];
@@ -519,11 +519,11 @@ val_t parser___Parser___parse(val_t  self) {
           variable12 = ((lexer___Lexer___next_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___next))( variable1 /*lexer*/) /*Lexer::next*/;
           variable11 = variable12;
           variable12 = TAG_Bool(( variable11 /*node2*/==NIT_NULL) || VAL_ISA( variable11 /*node2*/, COLOR_EOF, ID_EOF)) /*cast EOF*/;
-          if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_array___Array_____bra, 142); nit_exit(1);}
+          if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 143); nit_exit(1);}
           variable13 = ((parser___Parser___pop_t)CALL( self,COLOR_parser___Parser___pop))( self) /*Parser::pop*/;
           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 (%s: %d)\n", "", LOCATE_array___Array_____bra, 144); nit_exit(1);}
+          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*/
           variable13 = variable14;
           variable14 = NEW_parser___SearchTokensVisitor___init(); /*new SearchTokensVisitor*/
@@ -534,18 +534,18 @@ val_t parser___Parser___parse(val_t  self) {
           variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(3)));
           if (UNTAG_Bool(variable11)) { /*if*/
             variable12 = ((lexer___Lexer___filename_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___filename))( variable1 /*lexer*/) /*Lexer::filename*/;
-            variable13 = ((parser_tables___Parser___error_messages_t)CALL( self,COLOR_parser_tables___Parser___error_messages))( self) /*Parser::error_messages*/;
-            variable14 = ((parser_tables___Parser___errors_t)CALL( self,COLOR_parser_tables___Parser___errors))( self) /*Parser::errors*/;
+            variable13 = ((parser_tables___ParserTable___error_messages_t)CALL( self,COLOR_parser_tables___ParserTable___error_messages))( self) /*ParserTable::error_messages*/;
+            variable14 = ((parser_tables___ParserTable___errors_t)CALL( self,COLOR_parser_tables___ParserTable___errors))( self) /*ParserTable::errors*/;
             variable15 =  variable8 /*action_value*/;
             variable16 = TAG_Bool(UNTAG_Int( variable15 /*index*/)>=UNTAG_Int( TAG_Int(0)));
             variable17 = variable16;
             if (UNTAG_Bool(variable17)) { /* and */
               variable17 = variable14;
-              variable17 = ATTR_array___AbstractArray____length(variable17) /*Array::_length*/;
+              variable17 = ATTR_array___AbstractArray____length(variable17) /*AbstractArray::_length*/;
               variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
             }
             variable16 = variable17;
-            if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+            if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
             variable16 = variable14;
             variable16 = ATTR_array___Array____items(variable16) /*Array::_items*/;
             variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
@@ -557,11 +557,11 @@ val_t parser___Parser___parse(val_t  self) {
             variable17 = variable16;
             if (UNTAG_Bool(variable17)) { /* and */
               variable17 = variable13;
-              variable17 = ATTR_array___AbstractArray____length(variable17) /*Array::_length*/;
+              variable17 = ATTR_array___AbstractArray____length(variable17) /*AbstractArray::_length*/;
               variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
             }
             variable16 = variable17;
-            if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+            if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 229); nit_exit(1);}
             variable16 = variable13;
             variable16 = ATTR_array___Array____items(variable16) /*Array::_items*/;
             variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
@@ -589,7 +589,7 @@ val_t parser___Parser___parse(val_t  self) {
   return variable0;
 }
 void parser___Parser___build_reduce_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser___Parser___build_reduce_table, 158};
+  struct trace_t trace = {NULL, LOCATE_parser, 159, LOCATE_parser___Parser___build_reduce_table};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1160,1154 +1160,1166 @@ void parser___Parser___build_reduce_table(val_t  self) {
   val_t variable567;
   val_t variable568;
   val_t variable569;
+  val_t variable570;
+  val_t variable571;
+  val_t variable572;
+  val_t variable573;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(569)); /*new Array[ReduceAction]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(573)); /*new Array[E]*/
   variable1 = NEW_parser___ReduceAction0___init(); /*new ReduceAction0*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   variable2 = NEW_parser___ReduceAction1___init(); /*new ReduceAction1*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*AbstractArray::add*/;
   variable3 = NEW_parser___ReduceAction2___init(); /*new ReduceAction2*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*AbstractArray::add*/;
   variable4 = NEW_parser___ReduceAction3___init(); /*new ReduceAction3*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*AbstractArray::add*/;
   variable5 = NEW_parser___ReduceAction4___init(); /*new ReduceAction4*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*AbstractArray::add*/;
   variable6 = NEW_parser___ReduceAction5___init(); /*new ReduceAction5*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*AbstractArray::add*/;
   variable7 = NEW_parser___ReduceAction6___init(); /*new ReduceAction6*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*AbstractArray::add*/;
   variable8 = NEW_parser___ReduceAction7___init(); /*new ReduceAction7*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*AbstractArray::add*/;
   variable9 = NEW_parser___ReduceAction8___init(); /*new ReduceAction8*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*AbstractArray::add*/;
   variable10 = NEW_parser___ReduceAction9___init(); /*new ReduceAction9*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*AbstractArray::add*/;
   variable11 = NEW_parser___ReduceAction10___init(); /*new ReduceAction10*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*AbstractArray::add*/;
   variable12 = NEW_parser___ReduceAction11___init(); /*new ReduceAction11*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*AbstractArray::add*/;
   variable13 = NEW_parser___ReduceAction12___init(); /*new ReduceAction12*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*AbstractArray::add*/;
   variable14 = NEW_parser___ReduceAction13___init(); /*new ReduceAction13*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*AbstractArray::add*/;
   variable15 = NEW_parser___ReduceAction14___init(); /*new ReduceAction14*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*AbstractArray::add*/;
   variable16 = NEW_parser___ReduceAction15___init(); /*new ReduceAction15*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*AbstractArray::add*/;
   variable17 = NEW_parser___ReduceAction16___init(); /*new ReduceAction16*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*AbstractArray::add*/;
   variable18 = NEW_parser___ReduceAction17___init(); /*new ReduceAction17*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*AbstractArray::add*/;
   variable19 = NEW_parser___ReduceAction18___init(); /*new ReduceAction18*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*AbstractArray::add*/;
   variable20 = NEW_parser___ReduceAction19___init(); /*new ReduceAction19*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*AbstractArray::add*/;
   variable21 = NEW_parser___ReduceAction20___init(); /*new ReduceAction20*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*AbstractArray::add*/;
   variable22 = NEW_parser___ReduceAction21___init(); /*new ReduceAction21*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*AbstractArray::add*/;
   variable23 = NEW_parser___ReduceAction22___init(); /*new ReduceAction22*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*AbstractArray::add*/;
   variable24 = NEW_parser___ReduceAction23___init(); /*new ReduceAction23*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*AbstractArray::add*/;
   variable25 = NEW_parser___ReduceAction24___init(); /*new ReduceAction24*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*AbstractArray::add*/;
   variable26 = NEW_parser___ReduceAction25___init(); /*new ReduceAction25*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*AbstractArray::add*/;
   variable27 = NEW_parser___ReduceAction26___init(); /*new ReduceAction26*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*AbstractArray::add*/;
   variable28 = NEW_parser___ReduceAction27___init(); /*new ReduceAction27*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*AbstractArray::add*/;
   variable29 = NEW_parser___ReduceAction28___init(); /*new ReduceAction28*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*AbstractArray::add*/;
   variable30 = NEW_parser___ReduceAction29___init(); /*new ReduceAction29*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*AbstractArray::add*/;
   variable31 = NEW_parser___ReduceAction30___init(); /*new ReduceAction30*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*AbstractArray::add*/;
   variable32 = NEW_parser___ReduceAction31___init(); /*new ReduceAction31*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*AbstractArray::add*/;
   variable33 = NEW_parser___ReduceAction32___init(); /*new ReduceAction32*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*AbstractArray::add*/;
   variable34 = NEW_parser___ReduceAction33___init(); /*new ReduceAction33*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*AbstractArray::add*/;
   variable35 = NEW_parser___ReduceAction34___init(); /*new ReduceAction34*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*AbstractArray::add*/;
   variable36 = NEW_parser___ReduceAction35___init(); /*new ReduceAction35*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*AbstractArray::add*/;
   variable37 = NEW_parser___ReduceAction36___init(); /*new ReduceAction36*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*AbstractArray::add*/;
   variable38 = NEW_parser___ReduceAction37___init(); /*new ReduceAction37*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*AbstractArray::add*/;
   variable39 = NEW_parser___ReduceAction38___init(); /*new ReduceAction38*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*AbstractArray::add*/;
   variable40 = NEW_parser___ReduceAction39___init(); /*new ReduceAction39*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*AbstractArray::add*/;
   variable41 = NEW_parser___ReduceAction40___init(); /*new ReduceAction40*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*AbstractArray::add*/;
   variable42 = NEW_parser___ReduceAction41___init(); /*new ReduceAction41*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*AbstractArray::add*/;
   variable43 = NEW_parser___ReduceAction42___init(); /*new ReduceAction42*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*AbstractArray::add*/;
   variable44 = NEW_parser___ReduceAction43___init(); /*new ReduceAction43*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*AbstractArray::add*/;
   variable45 = NEW_parser___ReduceAction44___init(); /*new ReduceAction44*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*AbstractArray::add*/;
   variable46 = NEW_parser___ReduceAction45___init(); /*new ReduceAction45*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*AbstractArray::add*/;
   variable47 = NEW_parser___ReduceAction46___init(); /*new ReduceAction46*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*AbstractArray::add*/;
   variable48 = NEW_parser___ReduceAction47___init(); /*new ReduceAction47*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*AbstractArray::add*/;
   variable49 = NEW_parser___ReduceAction48___init(); /*new ReduceAction48*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*AbstractArray::add*/;
   variable50 = NEW_parser___ReduceAction49___init(); /*new ReduceAction49*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*AbstractArray::add*/;
   variable51 = NEW_parser___ReduceAction50___init(); /*new ReduceAction50*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*AbstractArray::add*/;
   variable52 = NEW_parser___ReduceAction51___init(); /*new ReduceAction51*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*AbstractArray::add*/;
   variable53 = NEW_parser___ReduceAction52___init(); /*new ReduceAction52*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*AbstractArray::add*/;
   variable54 = NEW_parser___ReduceAction53___init(); /*new ReduceAction53*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*AbstractArray::add*/;
   variable55 = NEW_parser___ReduceAction54___init(); /*new ReduceAction54*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*AbstractArray::add*/;
   variable56 = NEW_parser___ReduceAction55___init(); /*new ReduceAction55*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*AbstractArray::add*/;
   variable57 = NEW_parser___ReduceAction56___init(); /*new ReduceAction56*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*AbstractArray::add*/;
   variable58 = NEW_parser___ReduceAction57___init(); /*new ReduceAction57*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*AbstractArray::add*/;
   variable59 = NEW_parser___ReduceAction58___init(); /*new ReduceAction58*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*AbstractArray::add*/;
   variable60 = NEW_parser___ReduceAction59___init(); /*new ReduceAction59*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*AbstractArray::add*/;
   variable61 = NEW_parser___ReduceAction60___init(); /*new ReduceAction60*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*AbstractArray::add*/;
   variable62 = NEW_parser___ReduceAction61___init(); /*new ReduceAction61*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*AbstractArray::add*/;
   variable63 = NEW_parser___ReduceAction62___init(); /*new ReduceAction62*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*AbstractArray::add*/;
   variable64 = NEW_parser___ReduceAction63___init(); /*new ReduceAction63*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*AbstractArray::add*/;
   variable65 = NEW_parser___ReduceAction64___init(); /*new ReduceAction64*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*AbstractArray::add*/;
   variable66 = NEW_parser___ReduceAction65___init(); /*new ReduceAction65*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*AbstractArray::add*/;
   variable67 = NEW_parser___ReduceAction66___init(); /*new ReduceAction66*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*AbstractArray::add*/;
   variable68 = NEW_parser___ReduceAction67___init(); /*new ReduceAction67*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*AbstractArray::add*/;
   variable69 = NEW_parser___ReduceAction68___init(); /*new ReduceAction68*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*AbstractArray::add*/;
   variable70 = NEW_parser___ReduceAction69___init(); /*new ReduceAction69*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*AbstractArray::add*/;
   variable71 = NEW_parser___ReduceAction70___init(); /*new ReduceAction70*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*AbstractArray::add*/;
   variable72 = NEW_parser___ReduceAction71___init(); /*new ReduceAction71*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*AbstractArray::add*/;
   variable73 = NEW_parser___ReduceAction72___init(); /*new ReduceAction72*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*AbstractArray::add*/;
   variable74 = NEW_parser___ReduceAction73___init(); /*new ReduceAction73*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*AbstractArray::add*/;
   variable75 = NEW_parser___ReduceAction74___init(); /*new ReduceAction74*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*AbstractArray::add*/;
   variable76 = NEW_parser___ReduceAction75___init(); /*new ReduceAction75*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*AbstractArray::add*/;
   variable77 = NEW_parser___ReduceAction76___init(); /*new ReduceAction76*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*AbstractArray::add*/;
   variable78 = NEW_parser___ReduceAction77___init(); /*new ReduceAction77*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*AbstractArray::add*/;
   variable79 = NEW_parser___ReduceAction78___init(); /*new ReduceAction78*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*AbstractArray::add*/;
   variable80 = NEW_parser___ReduceAction79___init(); /*new ReduceAction79*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*AbstractArray::add*/;
   variable81 = NEW_parser___ReduceAction80___init(); /*new ReduceAction80*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*AbstractArray::add*/;
   variable82 = NEW_parser___ReduceAction81___init(); /*new ReduceAction81*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*AbstractArray::add*/;
   variable83 = NEW_parser___ReduceAction82___init(); /*new ReduceAction82*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*AbstractArray::add*/;
   variable84 = NEW_parser___ReduceAction83___init(); /*new ReduceAction83*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*AbstractArray::add*/;
   variable85 = NEW_parser___ReduceAction84___init(); /*new ReduceAction84*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*AbstractArray::add*/;
   variable86 = NEW_parser___ReduceAction85___init(); /*new ReduceAction85*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*AbstractArray::add*/;
   variable87 = NEW_parser___ReduceAction86___init(); /*new ReduceAction86*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*AbstractArray::add*/;
   variable88 = NEW_parser___ReduceAction87___init(); /*new ReduceAction87*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*AbstractArray::add*/;
   variable89 = NEW_parser___ReduceAction88___init(); /*new ReduceAction88*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*AbstractArray::add*/;
   variable90 = NEW_parser___ReduceAction89___init(); /*new ReduceAction89*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*AbstractArray::add*/;
   variable91 = NEW_parser___ReduceAction90___init(); /*new ReduceAction90*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*AbstractArray::add*/;
   variable92 = NEW_parser___ReduceAction91___init(); /*new ReduceAction91*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*AbstractArray::add*/;
   variable93 = NEW_parser___ReduceAction92___init(); /*new ReduceAction92*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*AbstractArray::add*/;
   variable94 = NEW_parser___ReduceAction93___init(); /*new ReduceAction93*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*AbstractArray::add*/;
   variable95 = NEW_parser___ReduceAction94___init(); /*new ReduceAction94*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*AbstractArray::add*/;
   variable96 = NEW_parser___ReduceAction95___init(); /*new ReduceAction95*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*AbstractArray::add*/;
   variable97 = NEW_parser___ReduceAction96___init(); /*new ReduceAction96*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*AbstractArray::add*/;
   variable98 = NEW_parser___ReduceAction97___init(); /*new ReduceAction97*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*AbstractArray::add*/;
   variable99 = NEW_parser___ReduceAction98___init(); /*new ReduceAction98*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*AbstractArray::add*/;
   variable100 = NEW_parser___ReduceAction99___init(); /*new ReduceAction99*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*AbstractArray::add*/;
   variable101 = NEW_parser___ReduceAction100___init(); /*new ReduceAction100*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*AbstractArray::add*/;
   variable102 = NEW_parser___ReduceAction101___init(); /*new ReduceAction101*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*AbstractArray::add*/;
   variable103 = NEW_parser___ReduceAction102___init(); /*new ReduceAction102*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*AbstractArray::add*/;
   variable104 = NEW_parser___ReduceAction103___init(); /*new ReduceAction103*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*AbstractArray::add*/;
   variable105 = NEW_parser___ReduceAction104___init(); /*new ReduceAction104*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*AbstractArray::add*/;
   variable106 = NEW_parser___ReduceAction105___init(); /*new ReduceAction105*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*AbstractArray::add*/;
   variable107 = NEW_parser___ReduceAction106___init(); /*new ReduceAction106*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*AbstractArray::add*/;
   variable108 = NEW_parser___ReduceAction107___init(); /*new ReduceAction107*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*AbstractArray::add*/;
   variable109 = NEW_parser___ReduceAction108___init(); /*new ReduceAction108*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*AbstractArray::add*/;
   variable110 = NEW_parser___ReduceAction109___init(); /*new ReduceAction109*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*AbstractArray::add*/;
   variable111 = NEW_parser___ReduceAction110___init(); /*new ReduceAction110*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*AbstractArray::add*/;
   variable112 = NEW_parser___ReduceAction111___init(); /*new ReduceAction111*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*AbstractArray::add*/;
   variable113 = NEW_parser___ReduceAction112___init(); /*new ReduceAction112*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*AbstractArray::add*/;
   variable114 = NEW_parser___ReduceAction113___init(); /*new ReduceAction113*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*AbstractArray::add*/;
   variable115 = NEW_parser___ReduceAction114___init(); /*new ReduceAction114*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*AbstractArray::add*/;
   variable116 = NEW_parser___ReduceAction115___init(); /*new ReduceAction115*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*AbstractArray::add*/;
   variable117 = NEW_parser___ReduceAction116___init(); /*new ReduceAction116*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*AbstractArray::add*/;
   variable118 = NEW_parser___ReduceAction117___init(); /*new ReduceAction117*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*AbstractArray::add*/;
   variable119 = NEW_parser___ReduceAction118___init(); /*new ReduceAction118*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*AbstractArray::add*/;
   variable120 = NEW_parser___ReduceAction119___init(); /*new ReduceAction119*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*AbstractArray::add*/;
   variable121 = NEW_parser___ReduceAction120___init(); /*new ReduceAction120*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*AbstractArray::add*/;
   variable122 = NEW_parser___ReduceAction121___init(); /*new ReduceAction121*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*AbstractArray::add*/;
   variable123 = NEW_parser___ReduceAction122___init(); /*new ReduceAction122*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*AbstractArray::add*/;
   variable124 = NEW_parser___ReduceAction123___init(); /*new ReduceAction123*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*AbstractArray::add*/;
   variable125 = NEW_parser___ReduceAction124___init(); /*new ReduceAction124*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*AbstractArray::add*/;
   variable126 = NEW_parser___ReduceAction125___init(); /*new ReduceAction125*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*AbstractArray::add*/;
   variable127 = NEW_parser___ReduceAction126___init(); /*new ReduceAction126*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*AbstractArray::add*/;
   variable128 = NEW_parser___ReduceAction127___init(); /*new ReduceAction127*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*AbstractArray::add*/;
   variable129 = NEW_parser___ReduceAction128___init(); /*new ReduceAction128*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*AbstractArray::add*/;
   variable130 = NEW_parser___ReduceAction129___init(); /*new ReduceAction129*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*AbstractArray::add*/;
   variable131 = NEW_parser___ReduceAction130___init(); /*new ReduceAction130*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*AbstractArray::add*/;
   variable132 = NEW_parser___ReduceAction131___init(); /*new ReduceAction131*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*AbstractArray::add*/;
   variable133 = NEW_parser___ReduceAction132___init(); /*new ReduceAction132*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*AbstractArray::add*/;
   variable134 = NEW_parser___ReduceAction133___init(); /*new ReduceAction133*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*AbstractArray::add*/;
   variable135 = NEW_parser___ReduceAction134___init(); /*new ReduceAction134*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*AbstractArray::add*/;
   variable136 = NEW_parser___ReduceAction135___init(); /*new ReduceAction135*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*AbstractArray::add*/;
   variable137 = NEW_parser___ReduceAction136___init(); /*new ReduceAction136*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*AbstractArray::add*/;
   variable138 = NEW_parser___ReduceAction137___init(); /*new ReduceAction137*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*AbstractArray::add*/;
   variable139 = NEW_parser___ReduceAction138___init(); /*new ReduceAction138*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*AbstractArray::add*/;
   variable140 = NEW_parser___ReduceAction139___init(); /*new ReduceAction139*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*AbstractArray::add*/;
   variable141 = NEW_parser___ReduceAction140___init(); /*new ReduceAction140*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*AbstractArray::add*/;
   variable142 = NEW_parser___ReduceAction141___init(); /*new ReduceAction141*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*AbstractArray::add*/;
   variable143 = NEW_parser___ReduceAction142___init(); /*new ReduceAction142*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*AbstractArray::add*/;
   variable144 = NEW_parser___ReduceAction143___init(); /*new ReduceAction143*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*AbstractArray::add*/;
   variable145 = NEW_parser___ReduceAction144___init(); /*new ReduceAction144*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*AbstractArray::add*/;
   variable146 = NEW_parser___ReduceAction145___init(); /*new ReduceAction145*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*AbstractArray::add*/;
   variable147 = NEW_parser___ReduceAction146___init(); /*new ReduceAction146*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*AbstractArray::add*/;
   variable148 = NEW_parser___ReduceAction147___init(); /*new ReduceAction147*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*AbstractArray::add*/;
   variable149 = NEW_parser___ReduceAction148___init(); /*new ReduceAction148*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*AbstractArray::add*/;
   variable150 = NEW_parser___ReduceAction149___init(); /*new ReduceAction149*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*AbstractArray::add*/;
   variable151 = NEW_parser___ReduceAction150___init(); /*new ReduceAction150*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*AbstractArray::add*/;
   variable152 = NEW_parser___ReduceAction151___init(); /*new ReduceAction151*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*AbstractArray::add*/;
   variable153 = NEW_parser___ReduceAction152___init(); /*new ReduceAction152*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*AbstractArray::add*/;
   variable154 = NEW_parser___ReduceAction153___init(); /*new ReduceAction153*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*AbstractArray::add*/;
   variable155 = NEW_parser___ReduceAction154___init(); /*new ReduceAction154*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*AbstractArray::add*/;
   variable156 = NEW_parser___ReduceAction155___init(); /*new ReduceAction155*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*AbstractArray::add*/;
   variable157 = NEW_parser___ReduceAction156___init(); /*new ReduceAction156*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*AbstractArray::add*/;
   variable158 = NEW_parser___ReduceAction157___init(); /*new ReduceAction157*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*AbstractArray::add*/;
   variable159 = NEW_parser___ReduceAction158___init(); /*new ReduceAction158*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*AbstractArray::add*/;
   variable160 = NEW_parser___ReduceAction159___init(); /*new ReduceAction159*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*AbstractArray::add*/;
   variable161 = NEW_parser___ReduceAction160___init(); /*new ReduceAction160*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*AbstractArray::add*/;
   variable162 = NEW_parser___ReduceAction161___init(); /*new ReduceAction161*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*AbstractArray::add*/;
   variable163 = NEW_parser___ReduceAction162___init(); /*new ReduceAction162*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*AbstractArray::add*/;
   variable164 = NEW_parser___ReduceAction163___init(); /*new ReduceAction163*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*AbstractArray::add*/;
   variable165 = NEW_parser___ReduceAction164___init(); /*new ReduceAction164*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*AbstractArray::add*/;
   variable166 = NEW_parser___ReduceAction165___init(); /*new ReduceAction165*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable166) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable166) /*AbstractArray::add*/;
   variable167 = NEW_parser___ReduceAction166___init(); /*new ReduceAction166*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable167) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable167) /*AbstractArray::add*/;
   variable168 = NEW_parser___ReduceAction167___init(); /*new ReduceAction167*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable168) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable168) /*AbstractArray::add*/;
   variable169 = NEW_parser___ReduceAction168___init(); /*new ReduceAction168*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable169) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable169) /*AbstractArray::add*/;
   variable170 = NEW_parser___ReduceAction169___init(); /*new ReduceAction169*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable170) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable170) /*AbstractArray::add*/;
   variable171 = NEW_parser___ReduceAction170___init(); /*new ReduceAction170*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable171) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable171) /*AbstractArray::add*/;
   variable172 = NEW_parser___ReduceAction171___init(); /*new ReduceAction171*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable172) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable172) /*AbstractArray::add*/;
   variable173 = NEW_parser___ReduceAction172___init(); /*new ReduceAction172*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable173) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable173) /*AbstractArray::add*/;
   variable174 = NEW_parser___ReduceAction173___init(); /*new ReduceAction173*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable174) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable174) /*AbstractArray::add*/;
   variable175 = NEW_parser___ReduceAction174___init(); /*new ReduceAction174*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable175) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable175) /*AbstractArray::add*/;
   variable176 = NEW_parser___ReduceAction175___init(); /*new ReduceAction175*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable176) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable176) /*AbstractArray::add*/;
   variable177 = NEW_parser___ReduceAction176___init(); /*new ReduceAction176*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable177) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable177) /*AbstractArray::add*/;
   variable178 = NEW_parser___ReduceAction177___init(); /*new ReduceAction177*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable178) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable178) /*AbstractArray::add*/;
   variable179 = NEW_parser___ReduceAction178___init(); /*new ReduceAction178*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable179) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable179) /*AbstractArray::add*/;
   variable180 = NEW_parser___ReduceAction179___init(); /*new ReduceAction179*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable180) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable180) /*AbstractArray::add*/;
   variable181 = NEW_parser___ReduceAction180___init(); /*new ReduceAction180*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable181) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable181) /*AbstractArray::add*/;
   variable182 = NEW_parser___ReduceAction181___init(); /*new ReduceAction181*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable182) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable182) /*AbstractArray::add*/;
   variable183 = NEW_parser___ReduceAction182___init(); /*new ReduceAction182*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable183) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable183) /*AbstractArray::add*/;
   variable184 = NEW_parser___ReduceAction183___init(); /*new ReduceAction183*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable184) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable184) /*AbstractArray::add*/;
   variable185 = NEW_parser___ReduceAction184___init(); /*new ReduceAction184*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable185) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable185) /*AbstractArray::add*/;
   variable186 = NEW_parser___ReduceAction185___init(); /*new ReduceAction185*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable186) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable186) /*AbstractArray::add*/;
   variable187 = NEW_parser___ReduceAction186___init(); /*new ReduceAction186*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable187) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable187) /*AbstractArray::add*/;
   variable188 = NEW_parser___ReduceAction187___init(); /*new ReduceAction187*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable188) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable188) /*AbstractArray::add*/;
   variable189 = NEW_parser___ReduceAction188___init(); /*new ReduceAction188*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable189) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable189) /*AbstractArray::add*/;
   variable190 = NEW_parser___ReduceAction189___init(); /*new ReduceAction189*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable190) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable190) /*AbstractArray::add*/;
   variable191 = NEW_parser___ReduceAction190___init(); /*new ReduceAction190*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable191) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable191) /*AbstractArray::add*/;
   variable192 = NEW_parser___ReduceAction191___init(); /*new ReduceAction191*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable192) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable192) /*AbstractArray::add*/;
   variable193 = NEW_parser___ReduceAction192___init(); /*new ReduceAction192*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable193) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable193) /*AbstractArray::add*/;
   variable194 = NEW_parser___ReduceAction193___init(); /*new ReduceAction193*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable194) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable194) /*AbstractArray::add*/;
   variable195 = NEW_parser___ReduceAction194___init(); /*new ReduceAction194*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable195) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable195) /*AbstractArray::add*/;
   variable196 = NEW_parser___ReduceAction195___init(); /*new ReduceAction195*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable196) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable196) /*AbstractArray::add*/;
   variable197 = NEW_parser___ReduceAction196___init(); /*new ReduceAction196*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable197) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable197) /*AbstractArray::add*/;
   variable198 = NEW_parser___ReduceAction197___init(); /*new ReduceAction197*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable198) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable198) /*AbstractArray::add*/;
   variable199 = NEW_parser___ReduceAction198___init(); /*new ReduceAction198*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable199) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable199) /*AbstractArray::add*/;
   variable200 = NEW_parser___ReduceAction199___init(); /*new ReduceAction199*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable200) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable200) /*AbstractArray::add*/;
   variable201 = NEW_parser___ReduceAction200___init(); /*new ReduceAction200*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable201) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable201) /*AbstractArray::add*/;
   variable202 = NEW_parser___ReduceAction201___init(); /*new ReduceAction201*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable202) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable202) /*AbstractArray::add*/;
   variable203 = NEW_parser___ReduceAction202___init(); /*new ReduceAction202*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable203) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable203) /*AbstractArray::add*/;
   variable204 = NEW_parser___ReduceAction203___init(); /*new ReduceAction203*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable204) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable204) /*AbstractArray::add*/;
   variable205 = NEW_parser___ReduceAction204___init(); /*new ReduceAction204*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable205) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable205) /*AbstractArray::add*/;
   variable206 = NEW_parser___ReduceAction205___init(); /*new ReduceAction205*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable206) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable206) /*AbstractArray::add*/;
   variable207 = NEW_parser___ReduceAction206___init(); /*new ReduceAction206*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable207) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable207) /*AbstractArray::add*/;
   variable208 = NEW_parser___ReduceAction207___init(); /*new ReduceAction207*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable208) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable208) /*AbstractArray::add*/;
   variable209 = NEW_parser___ReduceAction208___init(); /*new ReduceAction208*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable209) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable209) /*AbstractArray::add*/;
   variable210 = NEW_parser___ReduceAction209___init(); /*new ReduceAction209*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable210) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable210) /*AbstractArray::add*/;
   variable211 = NEW_parser___ReduceAction210___init(); /*new ReduceAction210*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable211) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable211) /*AbstractArray::add*/;
   variable212 = NEW_parser___ReduceAction211___init(); /*new ReduceAction211*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable212) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable212) /*AbstractArray::add*/;
   variable213 = NEW_parser___ReduceAction212___init(); /*new ReduceAction212*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable213) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable213) /*AbstractArray::add*/;
   variable214 = NEW_parser___ReduceAction213___init(); /*new ReduceAction213*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable214) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable214) /*AbstractArray::add*/;
   variable215 = NEW_parser___ReduceAction214___init(); /*new ReduceAction214*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable215) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable215) /*AbstractArray::add*/;
   variable216 = NEW_parser___ReduceAction215___init(); /*new ReduceAction215*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable216) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable216) /*AbstractArray::add*/;
   variable217 = NEW_parser___ReduceAction216___init(); /*new ReduceAction216*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable217) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable217) /*AbstractArray::add*/;
   variable218 = NEW_parser___ReduceAction217___init(); /*new ReduceAction217*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable218) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable218) /*AbstractArray::add*/;
   variable219 = NEW_parser___ReduceAction218___init(); /*new ReduceAction218*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable219) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable219) /*AbstractArray::add*/;
   variable220 = NEW_parser___ReduceAction219___init(); /*new ReduceAction219*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable220) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable220) /*AbstractArray::add*/;
   variable221 = NEW_parser___ReduceAction220___init(); /*new ReduceAction220*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable221) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable221) /*AbstractArray::add*/;
   variable222 = NEW_parser___ReduceAction221___init(); /*new ReduceAction221*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable222) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable222) /*AbstractArray::add*/;
   variable223 = NEW_parser___ReduceAction222___init(); /*new ReduceAction222*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable223) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable223) /*AbstractArray::add*/;
   variable224 = NEW_parser___ReduceAction223___init(); /*new ReduceAction223*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable224) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable224) /*AbstractArray::add*/;
   variable225 = NEW_parser___ReduceAction224___init(); /*new ReduceAction224*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable225) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable225) /*AbstractArray::add*/;
   variable226 = NEW_parser___ReduceAction225___init(); /*new ReduceAction225*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable226) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable226) /*AbstractArray::add*/;
   variable227 = NEW_parser___ReduceAction226___init(); /*new ReduceAction226*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable227) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable227) /*AbstractArray::add*/;
   variable228 = NEW_parser___ReduceAction227___init(); /*new ReduceAction227*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable228) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable228) /*AbstractArray::add*/;
   variable229 = NEW_parser___ReduceAction228___init(); /*new ReduceAction228*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable229) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable229) /*AbstractArray::add*/;
   variable230 = NEW_parser___ReduceAction229___init(); /*new ReduceAction229*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable230) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable230) /*AbstractArray::add*/;
   variable231 = NEW_parser___ReduceAction230___init(); /*new ReduceAction230*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable231) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable231) /*AbstractArray::add*/;
   variable232 = NEW_parser___ReduceAction231___init(); /*new ReduceAction231*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable232) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable232) /*AbstractArray::add*/;
   variable233 = NEW_parser___ReduceAction232___init(); /*new ReduceAction232*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable233) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable233) /*AbstractArray::add*/;
   variable234 = NEW_parser___ReduceAction233___init(); /*new ReduceAction233*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable234) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable234) /*AbstractArray::add*/;
   variable235 = NEW_parser___ReduceAction234___init(); /*new ReduceAction234*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable235) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable235) /*AbstractArray::add*/;
   variable236 = NEW_parser___ReduceAction235___init(); /*new ReduceAction235*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable236) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable236) /*AbstractArray::add*/;
   variable237 = NEW_parser___ReduceAction236___init(); /*new ReduceAction236*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable237) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable237) /*AbstractArray::add*/;
   variable238 = NEW_parser___ReduceAction237___init(); /*new ReduceAction237*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable238) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable238) /*AbstractArray::add*/;
   variable239 = NEW_parser___ReduceAction238___init(); /*new ReduceAction238*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable239) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable239) /*AbstractArray::add*/;
   variable240 = NEW_parser___ReduceAction239___init(); /*new ReduceAction239*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable240) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable240) /*AbstractArray::add*/;
   variable241 = NEW_parser___ReduceAction240___init(); /*new ReduceAction240*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable241) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable241) /*AbstractArray::add*/;
   variable242 = NEW_parser___ReduceAction241___init(); /*new ReduceAction241*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable242) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable242) /*AbstractArray::add*/;
   variable243 = NEW_parser___ReduceAction242___init(); /*new ReduceAction242*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable243) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable243) /*AbstractArray::add*/;
   variable244 = NEW_parser___ReduceAction243___init(); /*new ReduceAction243*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable244) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable244) /*AbstractArray::add*/;
   variable245 = NEW_parser___ReduceAction244___init(); /*new ReduceAction244*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable245) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable245) /*AbstractArray::add*/;
   variable246 = NEW_parser___ReduceAction245___init(); /*new ReduceAction245*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable246) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable246) /*AbstractArray::add*/;
   variable247 = NEW_parser___ReduceAction246___init(); /*new ReduceAction246*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable247) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable247) /*AbstractArray::add*/;
   variable248 = NEW_parser___ReduceAction247___init(); /*new ReduceAction247*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable248) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable248) /*AbstractArray::add*/;
   variable249 = NEW_parser___ReduceAction248___init(); /*new ReduceAction248*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable249) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable249) /*AbstractArray::add*/;
   variable250 = NEW_parser___ReduceAction249___init(); /*new ReduceAction249*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable250) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable250) /*AbstractArray::add*/;
   variable251 = NEW_parser___ReduceAction250___init(); /*new ReduceAction250*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable251) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable251) /*AbstractArray::add*/;
   variable252 = NEW_parser___ReduceAction251___init(); /*new ReduceAction251*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable252) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable252) /*AbstractArray::add*/;
   variable253 = NEW_parser___ReduceAction252___init(); /*new ReduceAction252*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable253) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable253) /*AbstractArray::add*/;
   variable254 = NEW_parser___ReduceAction253___init(); /*new ReduceAction253*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable254) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable254) /*AbstractArray::add*/;
   variable255 = NEW_parser___ReduceAction254___init(); /*new ReduceAction254*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable255) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable255) /*AbstractArray::add*/;
   variable256 = NEW_parser___ReduceAction255___init(); /*new ReduceAction255*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable256) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable256) /*AbstractArray::add*/;
   variable257 = NEW_parser___ReduceAction256___init(); /*new ReduceAction256*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable257) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable257) /*AbstractArray::add*/;
   variable258 = NEW_parser___ReduceAction257___init(); /*new ReduceAction257*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable258) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable258) /*AbstractArray::add*/;
   variable259 = NEW_parser___ReduceAction258___init(); /*new ReduceAction258*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable259) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable259) /*AbstractArray::add*/;
   variable260 = NEW_parser___ReduceAction259___init(); /*new ReduceAction259*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable260) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable260) /*AbstractArray::add*/;
   variable261 = NEW_parser___ReduceAction260___init(); /*new ReduceAction260*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable261) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable261) /*AbstractArray::add*/;
   variable262 = NEW_parser___ReduceAction261___init(); /*new ReduceAction261*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable262) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable262) /*AbstractArray::add*/;
   variable263 = NEW_parser___ReduceAction262___init(); /*new ReduceAction262*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable263) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable263) /*AbstractArray::add*/;
   variable264 = NEW_parser___ReduceAction263___init(); /*new ReduceAction263*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable264) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable264) /*AbstractArray::add*/;
   variable265 = NEW_parser___ReduceAction264___init(); /*new ReduceAction264*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable265) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable265) /*AbstractArray::add*/;
   variable266 = NEW_parser___ReduceAction265___init(); /*new ReduceAction265*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable266) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable266) /*AbstractArray::add*/;
   variable267 = NEW_parser___ReduceAction266___init(); /*new ReduceAction266*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable267) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable267) /*AbstractArray::add*/;
   variable268 = NEW_parser___ReduceAction267___init(); /*new ReduceAction267*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable268) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable268) /*AbstractArray::add*/;
   variable269 = NEW_parser___ReduceAction268___init(); /*new ReduceAction268*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable269) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable269) /*AbstractArray::add*/;
   variable270 = NEW_parser___ReduceAction269___init(); /*new ReduceAction269*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable270) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable270) /*AbstractArray::add*/;
   variable271 = NEW_parser___ReduceAction270___init(); /*new ReduceAction270*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable271) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable271) /*AbstractArray::add*/;
   variable272 = NEW_parser___ReduceAction271___init(); /*new ReduceAction271*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable272) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable272) /*AbstractArray::add*/;
   variable273 = NEW_parser___ReduceAction272___init(); /*new ReduceAction272*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable273) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable273) /*AbstractArray::add*/;
   variable274 = NEW_parser___ReduceAction273___init(); /*new ReduceAction273*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable274) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable274) /*AbstractArray::add*/;
   variable275 = NEW_parser___ReduceAction274___init(); /*new ReduceAction274*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable275) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable275) /*AbstractArray::add*/;
   variable276 = NEW_parser___ReduceAction275___init(); /*new ReduceAction275*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable276) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable276) /*AbstractArray::add*/;
   variable277 = NEW_parser___ReduceAction276___init(); /*new ReduceAction276*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable277) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable277) /*AbstractArray::add*/;
   variable278 = NEW_parser___ReduceAction277___init(); /*new ReduceAction277*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable278) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable278) /*AbstractArray::add*/;
   variable279 = NEW_parser___ReduceAction278___init(); /*new ReduceAction278*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable279) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable279) /*AbstractArray::add*/;
   variable280 = NEW_parser___ReduceAction279___init(); /*new ReduceAction279*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable280) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable280) /*AbstractArray::add*/;
   variable281 = NEW_parser___ReduceAction280___init(); /*new ReduceAction280*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable281) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable281) /*AbstractArray::add*/;
   variable282 = NEW_parser___ReduceAction281___init(); /*new ReduceAction281*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable282) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable282) /*AbstractArray::add*/;
   variable283 = NEW_parser___ReduceAction282___init(); /*new ReduceAction282*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable283) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable283) /*AbstractArray::add*/;
   variable284 = NEW_parser___ReduceAction283___init(); /*new ReduceAction283*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable284) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable284) /*AbstractArray::add*/;
   variable285 = NEW_parser___ReduceAction284___init(); /*new ReduceAction284*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable285) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable285) /*AbstractArray::add*/;
   variable286 = NEW_parser___ReduceAction285___init(); /*new ReduceAction285*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable286) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable286) /*AbstractArray::add*/;
   variable287 = NEW_parser___ReduceAction286___init(); /*new ReduceAction286*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable287) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable287) /*AbstractArray::add*/;
   variable288 = NEW_parser___ReduceAction287___init(); /*new ReduceAction287*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable288) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable288) /*AbstractArray::add*/;
   variable289 = NEW_parser___ReduceAction288___init(); /*new ReduceAction288*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable289) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable289) /*AbstractArray::add*/;
   variable290 = NEW_parser___ReduceAction289___init(); /*new ReduceAction289*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable290) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable290) /*AbstractArray::add*/;
   variable291 = NEW_parser___ReduceAction290___init(); /*new ReduceAction290*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable291) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable291) /*AbstractArray::add*/;
   variable292 = NEW_parser___ReduceAction291___init(); /*new ReduceAction291*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable292) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable292) /*AbstractArray::add*/;
   variable293 = NEW_parser___ReduceAction292___init(); /*new ReduceAction292*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable293) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable293) /*AbstractArray::add*/;
   variable294 = NEW_parser___ReduceAction293___init(); /*new ReduceAction293*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable294) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable294) /*AbstractArray::add*/;
   variable295 = NEW_parser___ReduceAction294___init(); /*new ReduceAction294*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable295) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable295) /*AbstractArray::add*/;
   variable296 = NEW_parser___ReduceAction295___init(); /*new ReduceAction295*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable296) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable296) /*AbstractArray::add*/;
   variable297 = NEW_parser___ReduceAction296___init(); /*new ReduceAction296*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable297) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable297) /*AbstractArray::add*/;
   variable298 = NEW_parser___ReduceAction297___init(); /*new ReduceAction297*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable298) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable298) /*AbstractArray::add*/;
   variable299 = NEW_parser___ReduceAction298___init(); /*new ReduceAction298*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable299) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable299) /*AbstractArray::add*/;
   variable300 = NEW_parser___ReduceAction299___init(); /*new ReduceAction299*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable300) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable300) /*AbstractArray::add*/;
   variable301 = NEW_parser___ReduceAction300___init(); /*new ReduceAction300*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable301) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable301) /*AbstractArray::add*/;
   variable302 = NEW_parser___ReduceAction301___init(); /*new ReduceAction301*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable302) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable302) /*AbstractArray::add*/;
   variable303 = NEW_parser___ReduceAction302___init(); /*new ReduceAction302*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable303) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable303) /*AbstractArray::add*/;
   variable304 = NEW_parser___ReduceAction303___init(); /*new ReduceAction303*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable304) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable304) /*AbstractArray::add*/;
   variable305 = NEW_parser___ReduceAction304___init(); /*new ReduceAction304*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable305) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable305) /*AbstractArray::add*/;
   variable306 = NEW_parser___ReduceAction305___init(); /*new ReduceAction305*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable306) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable306) /*AbstractArray::add*/;
   variable307 = NEW_parser___ReduceAction306___init(); /*new ReduceAction306*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable307) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable307) /*AbstractArray::add*/;
   variable308 = NEW_parser___ReduceAction307___init(); /*new ReduceAction307*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable308) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable308) /*AbstractArray::add*/;
   variable309 = NEW_parser___ReduceAction308___init(); /*new ReduceAction308*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable309) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable309) /*AbstractArray::add*/;
   variable310 = NEW_parser___ReduceAction309___init(); /*new ReduceAction309*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable310) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable310) /*AbstractArray::add*/;
   variable311 = NEW_parser___ReduceAction310___init(); /*new ReduceAction310*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable311) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable311) /*AbstractArray::add*/;
   variable312 = NEW_parser___ReduceAction311___init(); /*new ReduceAction311*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable312) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable312) /*AbstractArray::add*/;
   variable313 = NEW_parser___ReduceAction312___init(); /*new ReduceAction312*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable313) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable313) /*AbstractArray::add*/;
   variable314 = NEW_parser___ReduceAction313___init(); /*new ReduceAction313*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable314) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable314) /*AbstractArray::add*/;
   variable315 = NEW_parser___ReduceAction314___init(); /*new ReduceAction314*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable315) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable315) /*AbstractArray::add*/;
   variable316 = NEW_parser___ReduceAction315___init(); /*new ReduceAction315*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable316) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable316) /*AbstractArray::add*/;
   variable317 = NEW_parser___ReduceAction316___init(); /*new ReduceAction316*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable317) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable317) /*AbstractArray::add*/;
   variable318 = NEW_parser___ReduceAction317___init(); /*new ReduceAction317*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable318) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable318) /*AbstractArray::add*/;
   variable319 = NEW_parser___ReduceAction318___init(); /*new ReduceAction318*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable319) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable319) /*AbstractArray::add*/;
   variable320 = NEW_parser___ReduceAction319___init(); /*new ReduceAction319*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable320) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable320) /*AbstractArray::add*/;
   variable321 = NEW_parser___ReduceAction320___init(); /*new ReduceAction320*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable321) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable321) /*AbstractArray::add*/;
   variable322 = NEW_parser___ReduceAction321___init(); /*new ReduceAction321*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable322) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable322) /*AbstractArray::add*/;
   variable323 = NEW_parser___ReduceAction322___init(); /*new ReduceAction322*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable323) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable323) /*AbstractArray::add*/;
   variable324 = NEW_parser___ReduceAction323___init(); /*new ReduceAction323*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable324) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable324) /*AbstractArray::add*/;
   variable325 = NEW_parser___ReduceAction324___init(); /*new ReduceAction324*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable325) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable325) /*AbstractArray::add*/;
   variable326 = NEW_parser___ReduceAction325___init(); /*new ReduceAction325*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable326) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable326) /*AbstractArray::add*/;
   variable327 = NEW_parser___ReduceAction326___init(); /*new ReduceAction326*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable327) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable327) /*AbstractArray::add*/;
   variable328 = NEW_parser___ReduceAction327___init(); /*new ReduceAction327*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable328) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable328) /*AbstractArray::add*/;
   variable329 = NEW_parser___ReduceAction328___init(); /*new ReduceAction328*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable329) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable329) /*AbstractArray::add*/;
   variable330 = NEW_parser___ReduceAction329___init(); /*new ReduceAction329*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable330) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable330) /*AbstractArray::add*/;
   variable331 = NEW_parser___ReduceAction330___init(); /*new ReduceAction330*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable331) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable331) /*AbstractArray::add*/;
   variable332 = NEW_parser___ReduceAction331___init(); /*new ReduceAction331*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable332) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable332) /*AbstractArray::add*/;
   variable333 = NEW_parser___ReduceAction332___init(); /*new ReduceAction332*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable333) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable333) /*AbstractArray::add*/;
   variable334 = NEW_parser___ReduceAction333___init(); /*new ReduceAction333*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable334) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable334) /*AbstractArray::add*/;
   variable335 = NEW_parser___ReduceAction334___init(); /*new ReduceAction334*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable335) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable335) /*AbstractArray::add*/;
   variable336 = NEW_parser___ReduceAction335___init(); /*new ReduceAction335*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable336) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable336) /*AbstractArray::add*/;
   variable337 = NEW_parser___ReduceAction336___init(); /*new ReduceAction336*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable337) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable337) /*AbstractArray::add*/;
   variable338 = NEW_parser___ReduceAction337___init(); /*new ReduceAction337*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable338) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable338) /*AbstractArray::add*/;
   variable339 = NEW_parser___ReduceAction338___init(); /*new ReduceAction338*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable339) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable339) /*AbstractArray::add*/;
   variable340 = NEW_parser___ReduceAction339___init(); /*new ReduceAction339*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable340) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable340) /*AbstractArray::add*/;
   variable341 = NEW_parser___ReduceAction340___init(); /*new ReduceAction340*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable341) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable341) /*AbstractArray::add*/;
   variable342 = NEW_parser___ReduceAction341___init(); /*new ReduceAction341*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable342) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable342) /*AbstractArray::add*/;
   variable343 = NEW_parser___ReduceAction342___init(); /*new ReduceAction342*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable343) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable343) /*AbstractArray::add*/;
   variable344 = NEW_parser___ReduceAction343___init(); /*new ReduceAction343*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable344) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable344) /*AbstractArray::add*/;
   variable345 = NEW_parser___ReduceAction344___init(); /*new ReduceAction344*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable345) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable345) /*AbstractArray::add*/;
   variable346 = NEW_parser___ReduceAction345___init(); /*new ReduceAction345*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable346) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable346) /*AbstractArray::add*/;
   variable347 = NEW_parser___ReduceAction346___init(); /*new ReduceAction346*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable347) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable347) /*AbstractArray::add*/;
   variable348 = NEW_parser___ReduceAction347___init(); /*new ReduceAction347*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable348) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable348) /*AbstractArray::add*/;
   variable349 = NEW_parser___ReduceAction348___init(); /*new ReduceAction348*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable349) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable349) /*AbstractArray::add*/;
   variable350 = NEW_parser___ReduceAction349___init(); /*new ReduceAction349*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable350) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable350) /*AbstractArray::add*/;
   variable351 = NEW_parser___ReduceAction350___init(); /*new ReduceAction350*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable351) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable351) /*AbstractArray::add*/;
   variable352 = NEW_parser___ReduceAction351___init(); /*new ReduceAction351*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable352) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable352) /*AbstractArray::add*/;
   variable353 = NEW_parser___ReduceAction352___init(); /*new ReduceAction352*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable353) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable353) /*AbstractArray::add*/;
   variable354 = NEW_parser___ReduceAction353___init(); /*new ReduceAction353*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable354) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable354) /*AbstractArray::add*/;
   variable355 = NEW_parser___ReduceAction354___init(); /*new ReduceAction354*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable355) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable355) /*AbstractArray::add*/;
   variable356 = NEW_parser___ReduceAction355___init(); /*new ReduceAction355*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable356) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable356) /*AbstractArray::add*/;
   variable357 = NEW_parser___ReduceAction356___init(); /*new ReduceAction356*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable357) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable357) /*AbstractArray::add*/;
   variable358 = NEW_parser___ReduceAction357___init(); /*new ReduceAction357*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable358) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable358) /*AbstractArray::add*/;
   variable359 = NEW_parser___ReduceAction358___init(); /*new ReduceAction358*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable359) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable359) /*AbstractArray::add*/;
   variable360 = NEW_parser___ReduceAction359___init(); /*new ReduceAction359*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable360) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable360) /*AbstractArray::add*/;
   variable361 = NEW_parser___ReduceAction360___init(); /*new ReduceAction360*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable361) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable361) /*AbstractArray::add*/;
   variable362 = NEW_parser___ReduceAction361___init(); /*new ReduceAction361*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable362) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable362) /*AbstractArray::add*/;
   variable363 = NEW_parser___ReduceAction362___init(); /*new ReduceAction362*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable363) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable363) /*AbstractArray::add*/;
   variable364 = NEW_parser___ReduceAction363___init(); /*new ReduceAction363*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable364) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable364) /*AbstractArray::add*/;
   variable365 = NEW_parser___ReduceAction364___init(); /*new ReduceAction364*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable365) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable365) /*AbstractArray::add*/;
   variable366 = NEW_parser___ReduceAction365___init(); /*new ReduceAction365*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable366) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable366) /*AbstractArray::add*/;
   variable367 = NEW_parser___ReduceAction366___init(); /*new ReduceAction366*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable367) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable367) /*AbstractArray::add*/;
   variable368 = NEW_parser___ReduceAction367___init(); /*new ReduceAction367*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable368) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable368) /*AbstractArray::add*/;
   variable369 = NEW_parser___ReduceAction368___init(); /*new ReduceAction368*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable369) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable369) /*AbstractArray::add*/;
   variable370 = NEW_parser___ReduceAction369___init(); /*new ReduceAction369*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable370) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable370) /*AbstractArray::add*/;
   variable371 = NEW_parser___ReduceAction370___init(); /*new ReduceAction370*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable371) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable371) /*AbstractArray::add*/;
   variable372 = NEW_parser___ReduceAction371___init(); /*new ReduceAction371*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable372) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable372) /*AbstractArray::add*/;
   variable373 = NEW_parser___ReduceAction372___init(); /*new ReduceAction372*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable373) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable373) /*AbstractArray::add*/;
   variable374 = NEW_parser___ReduceAction373___init(); /*new ReduceAction373*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable374) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable374) /*AbstractArray::add*/;
   variable375 = NEW_parser___ReduceAction374___init(); /*new ReduceAction374*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable375) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable375) /*AbstractArray::add*/;
   variable376 = NEW_parser___ReduceAction375___init(); /*new ReduceAction375*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable376) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable376) /*AbstractArray::add*/;
   variable377 = NEW_parser___ReduceAction376___init(); /*new ReduceAction376*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable377) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable377) /*AbstractArray::add*/;
   variable378 = NEW_parser___ReduceAction377___init(); /*new ReduceAction377*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable378) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable378) /*AbstractArray::add*/;
   variable379 = NEW_parser___ReduceAction378___init(); /*new ReduceAction378*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable379) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable379) /*AbstractArray::add*/;
   variable380 = NEW_parser___ReduceAction379___init(); /*new ReduceAction379*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable380) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable380) /*AbstractArray::add*/;
   variable381 = NEW_parser___ReduceAction380___init(); /*new ReduceAction380*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable381) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable381) /*AbstractArray::add*/;
   variable382 = NEW_parser___ReduceAction381___init(); /*new ReduceAction381*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable382) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable382) /*AbstractArray::add*/;
   variable383 = NEW_parser___ReduceAction382___init(); /*new ReduceAction382*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable383) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable383) /*AbstractArray::add*/;
   variable384 = NEW_parser___ReduceAction383___init(); /*new ReduceAction383*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable384) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable384) /*AbstractArray::add*/;
   variable385 = NEW_parser___ReduceAction384___init(); /*new ReduceAction384*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable385) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable385) /*AbstractArray::add*/;
   variable386 = NEW_parser___ReduceAction385___init(); /*new ReduceAction385*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable386) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable386) /*AbstractArray::add*/;
   variable387 = NEW_parser___ReduceAction386___init(); /*new ReduceAction386*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable387) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable387) /*AbstractArray::add*/;
   variable388 = NEW_parser___ReduceAction387___init(); /*new ReduceAction387*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable388) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable388) /*AbstractArray::add*/;
   variable389 = NEW_parser___ReduceAction388___init(); /*new ReduceAction388*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable389) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable389) /*AbstractArray::add*/;
   variable390 = NEW_parser___ReduceAction389___init(); /*new ReduceAction389*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable390) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable390) /*AbstractArray::add*/;
   variable391 = NEW_parser___ReduceAction390___init(); /*new ReduceAction390*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable391) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable391) /*AbstractArray::add*/;
   variable392 = NEW_parser___ReduceAction391___init(); /*new ReduceAction391*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable392) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable392) /*AbstractArray::add*/;
   variable393 = NEW_parser___ReduceAction392___init(); /*new ReduceAction392*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable393) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable393) /*AbstractArray::add*/;
   variable394 = NEW_parser___ReduceAction393___init(); /*new ReduceAction393*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable394) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable394) /*AbstractArray::add*/;
   variable395 = NEW_parser___ReduceAction394___init(); /*new ReduceAction394*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable395) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable395) /*AbstractArray::add*/;
   variable396 = NEW_parser___ReduceAction395___init(); /*new ReduceAction395*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable396) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable396) /*AbstractArray::add*/;
   variable397 = NEW_parser___ReduceAction396___init(); /*new ReduceAction396*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable397) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable397) /*AbstractArray::add*/;
   variable398 = NEW_parser___ReduceAction397___init(); /*new ReduceAction397*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable398) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable398) /*AbstractArray::add*/;
   variable399 = NEW_parser___ReduceAction398___init(); /*new ReduceAction398*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable399) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable399) /*AbstractArray::add*/;
   variable400 = NEW_parser___ReduceAction399___init(); /*new ReduceAction399*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable400) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable400) /*AbstractArray::add*/;
   variable401 = NEW_parser___ReduceAction400___init(); /*new ReduceAction400*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable401) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable401) /*AbstractArray::add*/;
   variable402 = NEW_parser___ReduceAction401___init(); /*new ReduceAction401*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable402) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable402) /*AbstractArray::add*/;
   variable403 = NEW_parser___ReduceAction402___init(); /*new ReduceAction402*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable403) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable403) /*AbstractArray::add*/;
   variable404 = NEW_parser___ReduceAction403___init(); /*new ReduceAction403*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable404) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable404) /*AbstractArray::add*/;
   variable405 = NEW_parser___ReduceAction404___init(); /*new ReduceAction404*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable405) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable405) /*AbstractArray::add*/;
   variable406 = NEW_parser___ReduceAction405___init(); /*new ReduceAction405*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable406) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable406) /*AbstractArray::add*/;
   variable407 = NEW_parser___ReduceAction406___init(); /*new ReduceAction406*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable407) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable407) /*AbstractArray::add*/;
   variable408 = NEW_parser___ReduceAction407___init(); /*new ReduceAction407*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable408) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable408) /*AbstractArray::add*/;
   variable409 = NEW_parser___ReduceAction408___init(); /*new ReduceAction408*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable409) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable409) /*AbstractArray::add*/;
   variable410 = NEW_parser___ReduceAction409___init(); /*new ReduceAction409*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable410) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable410) /*AbstractArray::add*/;
   variable411 = NEW_parser___ReduceAction410___init(); /*new ReduceAction410*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable411) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable411) /*AbstractArray::add*/;
   variable412 = NEW_parser___ReduceAction411___init(); /*new ReduceAction411*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable412) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable412) /*AbstractArray::add*/;
   variable413 = NEW_parser___ReduceAction412___init(); /*new ReduceAction412*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable413) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable413) /*AbstractArray::add*/;
   variable414 = NEW_parser___ReduceAction413___init(); /*new ReduceAction413*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable414) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable414) /*AbstractArray::add*/;
   variable415 = NEW_parser___ReduceAction414___init(); /*new ReduceAction414*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable415) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable415) /*AbstractArray::add*/;
   variable416 = NEW_parser___ReduceAction415___init(); /*new ReduceAction415*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable416) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable416) /*AbstractArray::add*/;
   variable417 = NEW_parser___ReduceAction416___init(); /*new ReduceAction416*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable417) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable417) /*AbstractArray::add*/;
   variable418 = NEW_parser___ReduceAction417___init(); /*new ReduceAction417*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable418) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable418) /*AbstractArray::add*/;
   variable419 = NEW_parser___ReduceAction418___init(); /*new ReduceAction418*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable419) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable419) /*AbstractArray::add*/;
   variable420 = NEW_parser___ReduceAction419___init(); /*new ReduceAction419*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable420) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable420) /*AbstractArray::add*/;
   variable421 = NEW_parser___ReduceAction420___init(); /*new ReduceAction420*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable421) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable421) /*AbstractArray::add*/;
   variable422 = NEW_parser___ReduceAction421___init(); /*new ReduceAction421*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable422) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable422) /*AbstractArray::add*/;
   variable423 = NEW_parser___ReduceAction422___init(); /*new ReduceAction422*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable423) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable423) /*AbstractArray::add*/;
   variable424 = NEW_parser___ReduceAction423___init(); /*new ReduceAction423*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable424) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable424) /*AbstractArray::add*/;
   variable425 = NEW_parser___ReduceAction424___init(); /*new ReduceAction424*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable425) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable425) /*AbstractArray::add*/;
   variable426 = NEW_parser___ReduceAction425___init(); /*new ReduceAction425*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable426) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable426) /*AbstractArray::add*/;
   variable427 = NEW_parser___ReduceAction426___init(); /*new ReduceAction426*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable427) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable427) /*AbstractArray::add*/;
   variable428 = NEW_parser___ReduceAction427___init(); /*new ReduceAction427*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable428) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable428) /*AbstractArray::add*/;
   variable429 = NEW_parser___ReduceAction428___init(); /*new ReduceAction428*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable429) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable429) /*AbstractArray::add*/;
   variable430 = NEW_parser___ReduceAction429___init(); /*new ReduceAction429*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable430) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable430) /*AbstractArray::add*/;
   variable431 = NEW_parser___ReduceAction430___init(); /*new ReduceAction430*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable431) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable431) /*AbstractArray::add*/;
   variable432 = NEW_parser___ReduceAction431___init(); /*new ReduceAction431*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable432) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable432) /*AbstractArray::add*/;
   variable433 = NEW_parser___ReduceAction432___init(); /*new ReduceAction432*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable433) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable433) /*AbstractArray::add*/;
   variable434 = NEW_parser___ReduceAction433___init(); /*new ReduceAction433*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable434) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable434) /*AbstractArray::add*/;
   variable435 = NEW_parser___ReduceAction434___init(); /*new ReduceAction434*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable435) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable435) /*AbstractArray::add*/;
   variable436 = NEW_parser___ReduceAction435___init(); /*new ReduceAction435*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable436) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable436) /*AbstractArray::add*/;
   variable437 = NEW_parser___ReduceAction436___init(); /*new ReduceAction436*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable437) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable437) /*AbstractArray::add*/;
   variable438 = NEW_parser___ReduceAction437___init(); /*new ReduceAction437*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable438) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable438) /*AbstractArray::add*/;
   variable439 = NEW_parser___ReduceAction438___init(); /*new ReduceAction438*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable439) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable439) /*AbstractArray::add*/;
   variable440 = NEW_parser___ReduceAction439___init(); /*new ReduceAction439*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable440) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable440) /*AbstractArray::add*/;
   variable441 = NEW_parser___ReduceAction440___init(); /*new ReduceAction440*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable441) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable441) /*AbstractArray::add*/;
   variable442 = NEW_parser___ReduceAction441___init(); /*new ReduceAction441*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable442) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable442) /*AbstractArray::add*/;
   variable443 = NEW_parser___ReduceAction442___init(); /*new ReduceAction442*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable443) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable443) /*AbstractArray::add*/;
   variable444 = NEW_parser___ReduceAction443___init(); /*new ReduceAction443*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable444) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable444) /*AbstractArray::add*/;
   variable445 = NEW_parser___ReduceAction444___init(); /*new ReduceAction444*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable445) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable445) /*AbstractArray::add*/;
   variable446 = NEW_parser___ReduceAction445___init(); /*new ReduceAction445*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable446) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable446) /*AbstractArray::add*/;
   variable447 = NEW_parser___ReduceAction446___init(); /*new ReduceAction446*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable447) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable447) /*AbstractArray::add*/;
   variable448 = NEW_parser___ReduceAction447___init(); /*new ReduceAction447*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable448) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable448) /*AbstractArray::add*/;
   variable449 = NEW_parser___ReduceAction448___init(); /*new ReduceAction448*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable449) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable449) /*AbstractArray::add*/;
   variable450 = NEW_parser___ReduceAction449___init(); /*new ReduceAction449*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable450) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable450) /*AbstractArray::add*/;
   variable451 = NEW_parser___ReduceAction450___init(); /*new ReduceAction450*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable451) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable451) /*AbstractArray::add*/;
   variable452 = NEW_parser___ReduceAction451___init(); /*new ReduceAction451*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable452) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable452) /*AbstractArray::add*/;
   variable453 = NEW_parser___ReduceAction452___init(); /*new ReduceAction452*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable453) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable453) /*AbstractArray::add*/;
   variable454 = NEW_parser___ReduceAction453___init(); /*new ReduceAction453*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable454) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable454) /*AbstractArray::add*/;
   variable455 = NEW_parser___ReduceAction454___init(); /*new ReduceAction454*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable455) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable455) /*AbstractArray::add*/;
   variable456 = NEW_parser___ReduceAction455___init(); /*new ReduceAction455*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable456) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable456) /*AbstractArray::add*/;
   variable457 = NEW_parser___ReduceAction456___init(); /*new ReduceAction456*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable457) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable457) /*AbstractArray::add*/;
   variable458 = NEW_parser___ReduceAction457___init(); /*new ReduceAction457*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable458) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable458) /*AbstractArray::add*/;
   variable459 = NEW_parser___ReduceAction458___init(); /*new ReduceAction458*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable459) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable459) /*AbstractArray::add*/;
   variable460 = NEW_parser___ReduceAction459___init(); /*new ReduceAction459*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable460) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable460) /*AbstractArray::add*/;
   variable461 = NEW_parser___ReduceAction460___init(); /*new ReduceAction460*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable461) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable461) /*AbstractArray::add*/;
   variable462 = NEW_parser___ReduceAction461___init(); /*new ReduceAction461*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable462) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable462) /*AbstractArray::add*/;
   variable463 = NEW_parser___ReduceAction462___init(); /*new ReduceAction462*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable463) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable463) /*AbstractArray::add*/;
   variable464 = NEW_parser___ReduceAction463___init(); /*new ReduceAction463*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable464) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable464) /*AbstractArray::add*/;
   variable465 = NEW_parser___ReduceAction464___init(); /*new ReduceAction464*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable465) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable465) /*AbstractArray::add*/;
   variable466 = NEW_parser___ReduceAction465___init(); /*new ReduceAction465*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable466) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable466) /*AbstractArray::add*/;
   variable467 = NEW_parser___ReduceAction466___init(); /*new ReduceAction466*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable467) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable467) /*AbstractArray::add*/;
   variable468 = NEW_parser___ReduceAction467___init(); /*new ReduceAction467*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable468) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable468) /*AbstractArray::add*/;
   variable469 = NEW_parser___ReduceAction468___init(); /*new ReduceAction468*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable469) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable469) /*AbstractArray::add*/;
   variable470 = NEW_parser___ReduceAction469___init(); /*new ReduceAction469*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable470) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable470) /*AbstractArray::add*/;
   variable471 = NEW_parser___ReduceAction470___init(); /*new ReduceAction470*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable471) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable471) /*AbstractArray::add*/;
   variable472 = NEW_parser___ReduceAction471___init(); /*new ReduceAction471*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable472) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable472) /*AbstractArray::add*/;
   variable473 = NEW_parser___ReduceAction472___init(); /*new ReduceAction472*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable473) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable473) /*AbstractArray::add*/;
   variable474 = NEW_parser___ReduceAction473___init(); /*new ReduceAction473*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable474) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable474) /*AbstractArray::add*/;
   variable475 = NEW_parser___ReduceAction474___init(); /*new ReduceAction474*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable475) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable475) /*AbstractArray::add*/;
   variable476 = NEW_parser___ReduceAction475___init(); /*new ReduceAction475*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable476) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable476) /*AbstractArray::add*/;
   variable477 = NEW_parser___ReduceAction476___init(); /*new ReduceAction476*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable477) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable477) /*AbstractArray::add*/;
   variable478 = NEW_parser___ReduceAction477___init(); /*new ReduceAction477*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable478) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable478) /*AbstractArray::add*/;
   variable479 = NEW_parser___ReduceAction478___init(); /*new ReduceAction478*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable479) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable479) /*AbstractArray::add*/;
   variable480 = NEW_parser___ReduceAction479___init(); /*new ReduceAction479*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable480) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable480) /*AbstractArray::add*/;
   variable481 = NEW_parser___ReduceAction480___init(); /*new ReduceAction480*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable481) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable481) /*AbstractArray::add*/;
   variable482 = NEW_parser___ReduceAction481___init(); /*new ReduceAction481*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable482) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable482) /*AbstractArray::add*/;
   variable483 = NEW_parser___ReduceAction482___init(); /*new ReduceAction482*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable483) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable483) /*AbstractArray::add*/;
   variable484 = NEW_parser___ReduceAction483___init(); /*new ReduceAction483*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable484) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable484) /*AbstractArray::add*/;
   variable485 = NEW_parser___ReduceAction484___init(); /*new ReduceAction484*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable485) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable485) /*AbstractArray::add*/;
   variable486 = NEW_parser___ReduceAction485___init(); /*new ReduceAction485*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable486) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable486) /*AbstractArray::add*/;
   variable487 = NEW_parser___ReduceAction486___init(); /*new ReduceAction486*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable487) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable487) /*AbstractArray::add*/;
   variable488 = NEW_parser___ReduceAction487___init(); /*new ReduceAction487*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable488) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable488) /*AbstractArray::add*/;
   variable489 = NEW_parser___ReduceAction488___init(); /*new ReduceAction488*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable489) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable489) /*AbstractArray::add*/;
   variable490 = NEW_parser___ReduceAction489___init(); /*new ReduceAction489*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable490) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable490) /*AbstractArray::add*/;
   variable491 = NEW_parser___ReduceAction490___init(); /*new ReduceAction490*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable491) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable491) /*AbstractArray::add*/;
   variable492 = NEW_parser___ReduceAction491___init(); /*new ReduceAction491*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable492) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable492) /*AbstractArray::add*/;
   variable493 = NEW_parser___ReduceAction492___init(); /*new ReduceAction492*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable493) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable493) /*AbstractArray::add*/;
   variable494 = NEW_parser___ReduceAction493___init(); /*new ReduceAction493*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable494) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable494) /*AbstractArray::add*/;
   variable495 = NEW_parser___ReduceAction494___init(); /*new ReduceAction494*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable495) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable495) /*AbstractArray::add*/;
   variable496 = NEW_parser___ReduceAction495___init(); /*new ReduceAction495*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable496) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable496) /*AbstractArray::add*/;
   variable497 = NEW_parser___ReduceAction496___init(); /*new ReduceAction496*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable497) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable497) /*AbstractArray::add*/;
   variable498 = NEW_parser___ReduceAction497___init(); /*new ReduceAction497*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable498) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable498) /*AbstractArray::add*/;
   variable499 = NEW_parser___ReduceAction498___init(); /*new ReduceAction498*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable499) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable499) /*AbstractArray::add*/;
   variable500 = NEW_parser___ReduceAction499___init(); /*new ReduceAction499*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable500) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable500) /*AbstractArray::add*/;
   variable501 = NEW_parser___ReduceAction500___init(); /*new ReduceAction500*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable501) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable501) /*AbstractArray::add*/;
   variable502 = NEW_parser___ReduceAction501___init(); /*new ReduceAction501*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable502) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable502) /*AbstractArray::add*/;
   variable503 = NEW_parser___ReduceAction502___init(); /*new ReduceAction502*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable503) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable503) /*AbstractArray::add*/;
   variable504 = NEW_parser___ReduceAction503___init(); /*new ReduceAction503*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable504) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable504) /*AbstractArray::add*/;
   variable505 = NEW_parser___ReduceAction504___init(); /*new ReduceAction504*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable505) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable505) /*AbstractArray::add*/;
   variable506 = NEW_parser___ReduceAction505___init(); /*new ReduceAction505*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable506) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable506) /*AbstractArray::add*/;
   variable507 = NEW_parser___ReduceAction506___init(); /*new ReduceAction506*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable507) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable507) /*AbstractArray::add*/;
   variable508 = NEW_parser___ReduceAction507___init(); /*new ReduceAction507*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable508) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable508) /*AbstractArray::add*/;
   variable509 = NEW_parser___ReduceAction508___init(); /*new ReduceAction508*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable509) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable509) /*AbstractArray::add*/;
   variable510 = NEW_parser___ReduceAction509___init(); /*new ReduceAction509*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable510) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable510) /*AbstractArray::add*/;
   variable511 = NEW_parser___ReduceAction510___init(); /*new ReduceAction510*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable511) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable511) /*AbstractArray::add*/;
   variable512 = NEW_parser___ReduceAction511___init(); /*new ReduceAction511*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable512) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable512) /*AbstractArray::add*/;
   variable513 = NEW_parser___ReduceAction512___init(); /*new ReduceAction512*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable513) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable513) /*AbstractArray::add*/;
   variable514 = NEW_parser___ReduceAction513___init(); /*new ReduceAction513*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable514) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable514) /*AbstractArray::add*/;
   variable515 = NEW_parser___ReduceAction514___init(); /*new ReduceAction514*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable515) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable515) /*AbstractArray::add*/;
   variable516 = NEW_parser___ReduceAction515___init(); /*new ReduceAction515*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable516) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable516) /*AbstractArray::add*/;
   variable517 = NEW_parser___ReduceAction516___init(); /*new ReduceAction516*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable517) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable517) /*AbstractArray::add*/;
   variable518 = NEW_parser___ReduceAction517___init(); /*new ReduceAction517*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable518) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable518) /*AbstractArray::add*/;
   variable519 = NEW_parser___ReduceAction518___init(); /*new ReduceAction518*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable519) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable519) /*AbstractArray::add*/;
   variable520 = NEW_parser___ReduceAction519___init(); /*new ReduceAction519*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable520) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable520) /*AbstractArray::add*/;
   variable521 = NEW_parser___ReduceAction520___init(); /*new ReduceAction520*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable521) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable521) /*AbstractArray::add*/;
   variable522 = NEW_parser___ReduceAction521___init(); /*new ReduceAction521*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable522) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable522) /*AbstractArray::add*/;
   variable523 = NEW_parser___ReduceAction522___init(); /*new ReduceAction522*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable523) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable523) /*AbstractArray::add*/;
   variable524 = NEW_parser___ReduceAction523___init(); /*new ReduceAction523*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable524) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable524) /*AbstractArray::add*/;
   variable525 = NEW_parser___ReduceAction524___init(); /*new ReduceAction524*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable525) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable525) /*AbstractArray::add*/;
   variable526 = NEW_parser___ReduceAction525___init(); /*new ReduceAction525*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable526) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable526) /*AbstractArray::add*/;
   variable527 = NEW_parser___ReduceAction526___init(); /*new ReduceAction526*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable527) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable527) /*AbstractArray::add*/;
   variable528 = NEW_parser___ReduceAction527___init(); /*new ReduceAction527*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable528) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable528) /*AbstractArray::add*/;
   variable529 = NEW_parser___ReduceAction528___init(); /*new ReduceAction528*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable529) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable529) /*AbstractArray::add*/;
   variable530 = NEW_parser___ReduceAction529___init(); /*new ReduceAction529*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable530) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable530) /*AbstractArray::add*/;
   variable531 = NEW_parser___ReduceAction530___init(); /*new ReduceAction530*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable531) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable531) /*AbstractArray::add*/;
   variable532 = NEW_parser___ReduceAction531___init(); /*new ReduceAction531*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable532) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable532) /*AbstractArray::add*/;
   variable533 = NEW_parser___ReduceAction532___init(); /*new ReduceAction532*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable533) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable533) /*AbstractArray::add*/;
   variable534 = NEW_parser___ReduceAction533___init(); /*new ReduceAction533*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable534) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable534) /*AbstractArray::add*/;
   variable535 = NEW_parser___ReduceAction534___init(); /*new ReduceAction534*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable535) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable535) /*AbstractArray::add*/;
   variable536 = NEW_parser___ReduceAction535___init(); /*new ReduceAction535*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable536) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable536) /*AbstractArray::add*/;
   variable537 = NEW_parser___ReduceAction536___init(); /*new ReduceAction536*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable537) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable537) /*AbstractArray::add*/;
   variable538 = NEW_parser___ReduceAction537___init(); /*new ReduceAction537*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable538) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable538) /*AbstractArray::add*/;
   variable539 = NEW_parser___ReduceAction538___init(); /*new ReduceAction538*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable539) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable539) /*AbstractArray::add*/;
   variable540 = NEW_parser___ReduceAction539___init(); /*new ReduceAction539*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable540) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable540) /*AbstractArray::add*/;
   variable541 = NEW_parser___ReduceAction540___init(); /*new ReduceAction540*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable541) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable541) /*AbstractArray::add*/;
   variable542 = NEW_parser___ReduceAction541___init(); /*new ReduceAction541*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable542) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable542) /*AbstractArray::add*/;
   variable543 = NEW_parser___ReduceAction542___init(); /*new ReduceAction542*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable543) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable543) /*AbstractArray::add*/;
   variable544 = NEW_parser___ReduceAction543___init(); /*new ReduceAction543*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable544) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable544) /*AbstractArray::add*/;
   variable545 = NEW_parser___ReduceAction544___init(); /*new ReduceAction544*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable545) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable545) /*AbstractArray::add*/;
   variable546 = NEW_parser___ReduceAction545___init(); /*new ReduceAction545*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable546) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable546) /*AbstractArray::add*/;
   variable547 = NEW_parser___ReduceAction546___init(); /*new ReduceAction546*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable547) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable547) /*AbstractArray::add*/;
   variable548 = NEW_parser___ReduceAction547___init(); /*new ReduceAction547*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable548) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable548) /*AbstractArray::add*/;
   variable549 = NEW_parser___ReduceAction548___init(); /*new ReduceAction548*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable549) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable549) /*AbstractArray::add*/;
   variable550 = NEW_parser___ReduceAction549___init(); /*new ReduceAction549*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable550) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable550) /*AbstractArray::add*/;
   variable551 = NEW_parser___ReduceAction550___init(); /*new ReduceAction550*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable551) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable551) /*AbstractArray::add*/;
   variable552 = NEW_parser___ReduceAction551___init(); /*new ReduceAction551*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable552) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable552) /*AbstractArray::add*/;
   variable553 = NEW_parser___ReduceAction552___init(); /*new ReduceAction552*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable553) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable553) /*AbstractArray::add*/;
   variable554 = NEW_parser___ReduceAction553___init(); /*new ReduceAction553*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable554) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable554) /*AbstractArray::add*/;
   variable555 = NEW_parser___ReduceAction554___init(); /*new ReduceAction554*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable555) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable555) /*AbstractArray::add*/;
   variable556 = NEW_parser___ReduceAction555___init(); /*new ReduceAction555*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable556) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable556) /*AbstractArray::add*/;
   variable557 = NEW_parser___ReduceAction556___init(); /*new ReduceAction556*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable557) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable557) /*AbstractArray::add*/;
   variable558 = NEW_parser___ReduceAction557___init(); /*new ReduceAction557*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable558) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable558) /*AbstractArray::add*/;
   variable559 = NEW_parser___ReduceAction558___init(); /*new ReduceAction558*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable559) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable559) /*AbstractArray::add*/;
   variable560 = NEW_parser___ReduceAction559___init(); /*new ReduceAction559*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable560) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable560) /*AbstractArray::add*/;
   variable561 = NEW_parser___ReduceAction560___init(); /*new ReduceAction560*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable561) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable561) /*AbstractArray::add*/;
   variable562 = NEW_parser___ReduceAction561___init(); /*new ReduceAction561*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable562) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable562) /*AbstractArray::add*/;
   variable563 = NEW_parser___ReduceAction562___init(); /*new ReduceAction562*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable563) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable563) /*AbstractArray::add*/;
   variable564 = NEW_parser___ReduceAction563___init(); /*new ReduceAction563*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable564) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable564) /*AbstractArray::add*/;
   variable565 = NEW_parser___ReduceAction564___init(); /*new ReduceAction564*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable565) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable565) /*AbstractArray::add*/;
   variable566 = NEW_parser___ReduceAction565___init(); /*new ReduceAction565*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable566) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable566) /*AbstractArray::add*/;
   variable567 = NEW_parser___ReduceAction566___init(); /*new ReduceAction566*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable567) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable567) /*AbstractArray::add*/;
   variable568 = NEW_parser___ReduceAction567___init(); /*new ReduceAction567*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable568) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable568) /*AbstractArray::add*/;
   variable569 = NEW_parser___ReduceAction568___init(); /*new ReduceAction568*/
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable569) /*Array::add*/;
-  variable1 = NEW_array___Array___with(variable0); /*new Array[ReduceAction]*/
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable569) /*AbstractArray::add*/;
+  variable570 = NEW_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*/
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable571) /*AbstractArray::add*/;
+  variable572 = NEW_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*/
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable573) /*AbstractArray::add*/;
+  variable1 = NEW_array___Array___with(variable0); /*new Array[E]*/
   variable0 = variable1;
   ATTR_parser___Parser____reduce_table( self) /*Parser::_reduce_table*/ = variable0;
   tracehead = trace.prev;
   return;
 }
 void parser___SearchTokensVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___SearchTokensVisitor___visit, 739};
+  struct trace_t trace = {NULL, LOCATE_parser, 744, LOCATE_parser___SearchTokensVisitor___visit};
   val_t variable0;
   val_t variable1;
       val_t variable2;
@@ -2316,10 +2328,10 @@ void parser___SearchTokensVisitor___visit(val_t  self, val_t  param0) {
   variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
-    if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___SearchTokensVisitor___visit, 742); nit_exit(1);}
+    if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 747); nit_exit(1);}
     ATTR_parser___SearchTokensVisitor____last_token( self) /*SearchTokensVisitor::_last_token*/ =  variable0 /*n*/;
     variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/;
-    variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
+    variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
     while (true) { /*for*/
       variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
       if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -2330,13 +2342,13 @@ void parser___SearchTokensVisitor___visit(val_t  self, val_t  param0) {
     }
     break_30: while(0);
     variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/;
-    ((array___AbstractArray___clear_t)CALL(variable1,COLOR_abstract_collection___RemovableCollection___clear))(variable1) /*Array::clear*/;
+    ((array___AbstractArray___clear_t)CALL(variable1,COLOR_abstract_collection___RemovableCollection___clear))(variable1) /*AbstractArray::clear*/;
   } else { /*if*/
     variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
-    if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___SearchTokensVisitor___visit, 749); nit_exit(1);}
+    if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 754); nit_exit(1);}
     variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*n*/) /*Array::add*/;
-    ((parser_prod___PNode___visit_all_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___visit_all))( variable0 /*n*/,  self) /*Prod::visit_all*/;
+    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*n*/) /*AbstractArray::add*/;
+    ((parser_prod___PNode___visit_all_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___visit_all))( variable0 /*n*/,  self) /*PNode::visit_all*/;
     variable1 = ATTR_parser___SearchTokensVisitor____last_token( self) /*SearchTokensVisitor::_last_token*/;
     ((parser_prod___Prod___last_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___last_token__eq))( variable0 /*n*/, variable1) /*Prod::last_token=*/;
   }
@@ -2344,26 +2356,27 @@ void parser___SearchTokensVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 void parser___SearchTokensVisitor___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___SearchTokensVisitor___init, 755};
+  struct trace_t trace = {NULL, LOCATE_parser, 760, LOCATE_parser___SearchTokensVisitor___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return;
-  variable0 = NEW_array___Array___init(); /*new Array[Prod]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction___action, 763};
+  struct trace_t trace = {NULL, LOCATE_parser, 768, LOCATE_parser___ReduceAction___action};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "action", LOCATE_parser___SearchTokensVisitor___init, 763);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___init, LOCATE_parser, 768);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction0___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction0___action, 768};
+  struct trace_t trace = {NULL, LOCATE_parser, 773, LOCATE_parser___ReduceAction0___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2373,9 +2386,9 @@ void parser___ReduceAction0___action(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
-  variable4 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable5 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/,  variable2 /*listnode3*/,  variable3 /*listnode4*/); /*new AModule*/
   variable4 = variable5;
@@ -2386,7 +2399,7 @@ void parser___ReduceAction0___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction0___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction0___init, 781};
+  struct trace_t trace = {NULL, LOCATE_parser, 786, LOCATE_parser___ReduceAction0___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i] = 1;
@@ -2394,7 +2407,7 @@ void parser___ReduceAction0___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction1___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction1___action, 785};
+  struct trace_t trace = {NULL, LOCATE_parser, 790, LOCATE_parser___ReduceAction1___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2408,13 +2421,13 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction1___action, 792); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pmodulenode1*/ /*node_list=*/;
@@ -2424,7 +2437,7 @@ void parser___ReduceAction1___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction1___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction1___init, 801};
+  struct trace_t trace = {NULL, LOCATE_parser, 806, LOCATE_parser___ReduceAction1___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i] = 1;
@@ -2432,7 +2445,7 @@ void parser___ReduceAction1___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction2___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction2___action, 805};
+  struct trace_t trace = {NULL, LOCATE_parser, 810, LOCATE_parser___ReduceAction2___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2446,20 +2459,20 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode3*/==NIT_NULL) || VAL_ISA( variable5 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction2___action, 812); nit_exit(1);}
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction2___action, LOCATE_parser, 817); nit_exit(1);}
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode4*/) /*Array::is_empty*/;
+    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable6)) { /*if*/
       variable3 =  variable5 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode4*/,  variable5 /*listnode3*/) /*Array::append*/;
+      ((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*/
@@ -2471,7 +2484,7 @@ void parser___ReduceAction2___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction2___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction2___init, 828};
+  struct trace_t trace = {NULL, LOCATE_parser, 833, LOCATE_parser___ReduceAction2___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i] = 1;
@@ -2479,7 +2492,7 @@ void parser___ReduceAction2___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction3___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction3___action, 832};
+  struct trace_t trace = {NULL, LOCATE_parser, 837, LOCATE_parser___ReduceAction3___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2497,23 +2510,23 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction3___action, 840); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 845); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction3___action, 842); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 847); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable7 /*listnode3*/) /*Array::append*/;
+      ((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*/
@@ -2525,7 +2538,7 @@ void parser___ReduceAction3___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction3___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction3___init, 858};
+  struct trace_t trace = {NULL, LOCATE_parser, 863, LOCATE_parser___ReduceAction3___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i] = 1;
@@ -2533,7 +2546,7 @@ void parser___ReduceAction3___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction4___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction4___action, 862};
+  struct trace_t trace = {NULL, LOCATE_parser, 867, LOCATE_parser___ReduceAction4___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2547,20 +2560,20 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode4*/==NIT_NULL) || VAL_ISA( variable5 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction4___action, 869); nit_exit(1);}
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction4___action, LOCATE_parser, 874); nit_exit(1);}
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable6)) { /*if*/
       variable4 =  variable5 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable5 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -2572,7 +2585,7 @@ void parser___ReduceAction4___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction4___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction4___init, 885};
+  struct trace_t trace = {NULL, LOCATE_parser, 890, LOCATE_parser___ReduceAction4___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i] = 1;
@@ -2580,7 +2593,7 @@ void parser___ReduceAction4___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction5___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction5___action, 889};
+  struct trace_t trace = {NULL, LOCATE_parser, 894, LOCATE_parser___ReduceAction5___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2598,23 +2611,23 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction5___action, 897); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 902); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction5___action, 899); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 904); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable5 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -2626,7 +2639,7 @@ void parser___ReduceAction5___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction5___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction5___init, 915};
+  struct trace_t trace = {NULL, LOCATE_parser, 920, LOCATE_parser___ReduceAction5___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i] = 1;
@@ -2634,7 +2647,7 @@ void parser___ReduceAction5___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction6___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction6___action, 919};
+  struct trace_t trace = {NULL, LOCATE_parser, 924, LOCATE_parser___ReduceAction6___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2652,32 +2665,32 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction6___action, 927); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 932); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable6 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable6 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable7 =  variable2 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*listnode5*/==NIT_NULL) || VAL_ISA( variable7 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction6___action, 936); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 941); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable5 =  variable7 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/,  variable7 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -2689,7 +2702,7 @@ void parser___ReduceAction6___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction6___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction6___init, 952};
+  struct trace_t trace = {NULL, LOCATE_parser, 957, LOCATE_parser___ReduceAction6___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i] = 1;
@@ -2697,7 +2710,7 @@ void parser___ReduceAction6___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction7___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction7___action, 956};
+  struct trace_t trace = {NULL, LOCATE_parser, 961, LOCATE_parser___ReduceAction7___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2719,35 +2732,35 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction7___action, 965); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 970); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction7___action, 967); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 972); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable8 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable8 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable9 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction7___action, 976); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 981); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -2759,7 +2772,7 @@ void parser___ReduceAction7___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction7___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction7___init, 992};
+  struct trace_t trace = {NULL, LOCATE_parser, 997, LOCATE_parser___ReduceAction7___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i] = 1;
@@ -2767,7 +2780,7 @@ void parser___ReduceAction7___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction8___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction8___action, 996};
+  struct trace_t trace = {NULL, LOCATE_parser, 1001, LOCATE_parser___ReduceAction8___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2786,24 +2799,24 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable3 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction8___action, 1005); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction8___action, LOCATE_parser, 1010); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable7 /*ppropdefnode5*/) /*Array::add*/;
+    ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable9 = variable10;
@@ -2814,7 +2827,7 @@ void parser___ReduceAction8___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction8___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction8___init, 1023};
+  struct trace_t trace = {NULL, LOCATE_parser, 1028, LOCATE_parser___ReduceAction8___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i] = 1;
@@ -2822,7 +2835,7 @@ void parser___ReduceAction8___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction9___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction9___action, 1027};
+  struct trace_t trace = {NULL, LOCATE_parser, 1032, LOCATE_parser___ReduceAction9___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2845,36 +2858,36 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction9___action, 1037); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1042); nit_exit(1);}
   variable9 =  variable2 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*listnode6*/==NIT_NULL) || VAL_ISA( variable9 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction9___action, 1039); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1044); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/,  variable8 /*ppropdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/,  variable8 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode6*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable7 =  variable9 /*listnode6*/ /*listnode7=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/,  variable9 /*listnode6*/) /*Array::append*/;
+      ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
@@ -2885,7 +2898,7 @@ void parser___ReduceAction9___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction9___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction9___init, 1064};
+  struct trace_t trace = {NULL, LOCATE_parser, 1069, LOCATE_parser___ReduceAction9___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i] = 1;
@@ -2893,7 +2906,7 @@ void parser___ReduceAction9___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction10___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction10___action, 1068};
+  struct trace_t trace = {NULL, LOCATE_parser, 1073, LOCATE_parser___ReduceAction10___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2916,27 +2929,27 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction10___action, 1077); nit_exit(1);}
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  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]*/
   variable8 = variable9;
   variable9 =  variable3 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction10___action, 1080); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1085); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode6*/,  variable9 /*ppropdefnode5*/) /*Array::add*/;
+    ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
@@ -2947,7 +2960,7 @@ void parser___ReduceAction10___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction10___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction10___init, 1098};
+  struct trace_t trace = {NULL, LOCATE_parser, 1103, LOCATE_parser___ReduceAction10___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i] = 1;
@@ -2955,7 +2968,7 @@ void parser___ReduceAction10___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction11___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction11___action, 1102};
+  struct trace_t trace = {NULL, LOCATE_parser, 1107, LOCATE_parser___ReduceAction11___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2982,39 +2995,39 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction11___action, 1112); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new Array[Object]*/
+  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]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction11___action, 1115); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1120); nit_exit(1);}
   variable11 =  variable2 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*listnode6*/==NIT_NULL) || VAL_ISA( variable11 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction11___action, 1117); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1122); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/,  variable10 /*ppropdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/,  variable10 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode6*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode7*/) /*Array::is_empty*/;
+    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode7*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable12)) { /*if*/
       variable9 =  variable11 /*listnode6*/ /*listnode7=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode7*/,  variable11 /*listnode6*/) /*Array::append*/;
+      ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -3025,7 +3038,7 @@ void parser___ReduceAction11___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction11___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction11___init, 1142};
+  struct trace_t trace = {NULL, LOCATE_parser, 1147, LOCATE_parser___ReduceAction11___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i] = 1;
@@ -3033,7 +3046,7 @@ void parser___ReduceAction11___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction12___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction12___action, 1146};
+  struct trace_t trace = {NULL, LOCATE_parser, 1151, LOCATE_parser___ReduceAction12___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3056,36 +3069,36 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction12___action, 1155); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1160); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable5 =  variable7 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable7 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable3 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction12___action, 1165); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1170); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/,  variable9 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
@@ -3096,7 +3109,7 @@ void parser___ReduceAction12___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction12___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction12___init, 1183};
+  struct trace_t trace = {NULL, LOCATE_parser, 1188, LOCATE_parser___ReduceAction12___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i] = 1;
@@ -3104,7 +3117,7 @@ void parser___ReduceAction12___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction13___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction13___action, 1187};
+  struct trace_t trace = {NULL, LOCATE_parser, 1192, LOCATE_parser___ReduceAction13___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3131,48 +3144,48 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction13___action, 1197); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1202); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable6 =  variable8 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction13___action, 1207); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1212); nit_exit(1);}
   variable11 =  variable2 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*listnode7*/==NIT_NULL) || VAL_ISA( variable11 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction13___action, 1209); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1214); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/,  variable10 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/,  variable10 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*Array::is_empty*/;
+    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable12)) { /*if*/
       variable9 =  variable11 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/,  variable11 /*listnode7*/) /*Array::append*/;
+      ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -3183,7 +3196,7 @@ void parser___ReduceAction13___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction13___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction13___init, 1234};
+  struct trace_t trace = {NULL, LOCATE_parser, 1239, LOCATE_parser___ReduceAction13___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i] = 1;
@@ -3191,7 +3204,7 @@ void parser___ReduceAction13___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction14___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction14___action, 1238};
+  struct trace_t trace = {NULL, LOCATE_parser, 1243, LOCATE_parser___ReduceAction14___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3218,39 +3231,39 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction14___action, 1248); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1253); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction14___action, 1250); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1255); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable9 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
   variable10 = variable11;
   variable11 =  variable3 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction14___action, 1260); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1265); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/,  variable11 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -3261,7 +3274,7 @@ void parser___ReduceAction14___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction14___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction14___init, 1278};
+  struct trace_t trace = {NULL, LOCATE_parser, 1283, LOCATE_parser___ReduceAction14___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i] = 1;
@@ -3269,7 +3282,7 @@ void parser___ReduceAction14___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction15___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction15___action, 1282};
+  struct trace_t trace = {NULL, LOCATE_parser, 1287, LOCATE_parser___ReduceAction15___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3300,51 +3313,51 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction15___action, 1293); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1298); nit_exit(1);}
   variable10 =  variable5 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction15___action, 1295); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1300); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable10 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction15___action, 1305); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1310); nit_exit(1);}
   variable13 =  variable2 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*listnode7*/==NIT_NULL) || VAL_ISA( variable13 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction15___action, 1307); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1312); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/,  variable12 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/,  variable12 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
       variable11 =  variable13 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable13 /*listnode7*/) /*Array::append*/;
+      ((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*/
   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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -3355,7 +3368,7 @@ void parser___ReduceAction15___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction15___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction15___init, 1332};
+  struct trace_t trace = {NULL, LOCATE_parser, 1337, LOCATE_parser___ReduceAction15___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i] = 1;
@@ -3363,7 +3376,7 @@ void parser___ReduceAction15___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction16___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction16___action, 1336};
+  struct trace_t trace = {NULL, LOCATE_parser, 1341, LOCATE_parser___ReduceAction16___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3386,36 +3399,36 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction16___action, 1345); nit_exit(1);}
-  variable9 = NEW_array___Array___init(); /*new 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]*/
   variable8 = variable9;
   variable9 =  variable3 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction16___action, 1348); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1353); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/,  variable9 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   variable10 = variable11;
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode8*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable6 =  variable7 /*listnode4*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode8*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode8*/,  variable7 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
@@ -3426,7 +3439,7 @@ void parser___ReduceAction16___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction16___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction16___init, 1373};
+  struct trace_t trace = {NULL, LOCATE_parser, 1378, LOCATE_parser___ReduceAction16___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i] = 1;
@@ -3434,7 +3447,7 @@ void parser___ReduceAction16___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction17___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction17___action, 1377};
+  struct trace_t trace = {NULL, LOCATE_parser, 1382, LOCATE_parser___ReduceAction17___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3461,48 +3474,48 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction17___action, 1387); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new 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]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction17___action, 1390); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1395); nit_exit(1);}
   variable11 =  variable2 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*listnode7*/==NIT_NULL) || VAL_ISA( variable11 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction17___action, 1392); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1397); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/,  variable10 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/,  variable10 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*Array::is_empty*/;
+    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable12)) { /*if*/
       variable9 =  variable11 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/,  variable11 /*listnode7*/) /*Array::append*/;
+      ((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*/
   variable12 = variable13;
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable7 =  variable8 /*listnode4*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -3513,7 +3526,7 @@ void parser___ReduceAction17___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction17___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction17___init, 1424};
+  struct trace_t trace = {NULL, LOCATE_parser, 1429, LOCATE_parser___ReduceAction17___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i] = 1;
@@ -3521,7 +3534,7 @@ void parser___ReduceAction17___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction18___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction18___action, 1428};
+  struct trace_t trace = {NULL, LOCATE_parser, 1433, LOCATE_parser___ReduceAction18___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3548,39 +3561,39 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction18___action, 1438); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1443); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction18___action, 1440); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new 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]*/
   variable10 = variable11;
   variable11 =  variable3 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction18___action, 1443); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1448); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/,  variable11 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   variable12 = variable13;
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode8*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable7 =  variable9 /*listnode4*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode8*/,  variable9 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode8*/,  variable9 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -3591,7 +3604,7 @@ void parser___ReduceAction18___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction18___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction18___init, 1468};
+  struct trace_t trace = {NULL, LOCATE_parser, 1473, LOCATE_parser___ReduceAction18___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i] = 1;
@@ -3599,7 +3612,7 @@ void parser___ReduceAction18___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction19___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction19___action, 1472};
+  struct trace_t trace = {NULL, LOCATE_parser, 1477, LOCATE_parser___ReduceAction19___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3630,51 +3643,51 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction19___action, 1483); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1488); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction19___action, 1485); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new 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]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction19___action, 1488); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1493); nit_exit(1);}
   variable13 =  variable2 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*listnode7*/==NIT_NULL) || VAL_ISA( variable13 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction19___action, 1490); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1495); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/,  variable12 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/,  variable12 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
       variable11 =  variable13 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable13 /*listnode7*/) /*Array::append*/;
+      ((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*/
   variable14 = variable15;
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable8 =  variable10 /*listnode4*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  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*/) /*ATopClassdef::==*/)))))));
+  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*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -3685,7 +3698,7 @@ void parser___ReduceAction19___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction19___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction19___init, 1522};
+  struct trace_t trace = {NULL, LOCATE_parser, 1527, LOCATE_parser___ReduceAction19___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i] = 1;
@@ -3693,7 +3706,7 @@ void parser___ReduceAction19___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction20___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction20___action, 1526};
+  struct trace_t trace = {NULL, LOCATE_parser, 1531, LOCATE_parser___ReduceAction20___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3720,48 +3733,48 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction20___action, 1536); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1541); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable6 =  variable8 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction20___action, 1545); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new 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]*/
   variable10 = variable11;
   variable11 =  variable3 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction20___action, 1548); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1553); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/,  variable11 /*ppropdefnode7*/) /*Array::add*/;
+    ((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*/
   variable12 = variable13;
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable7 =  variable9 /*listnode5*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/,  variable9 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/,  variable9 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode6*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -3772,7 +3785,7 @@ void parser___ReduceAction20___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction20___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction20___init, 1573};
+  struct trace_t trace = {NULL, LOCATE_parser, 1578, LOCATE_parser___ReduceAction20___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i] = 1;
@@ -3780,7 +3793,7 @@ void parser___ReduceAction20___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction21___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction21___action, 1577};
+  struct trace_t trace = {NULL, LOCATE_parser, 1582, LOCATE_parser___ReduceAction21___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3811,60 +3824,60 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction21___action, 1588); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1593); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable7 =  variable9 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction21___action, 1597); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new 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]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction21___action, 1600); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1605); nit_exit(1);}
   variable13 =  variable2 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*listnode8*/==NIT_NULL) || VAL_ISA( variable13 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction21___action, 1602); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1607); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode9*/,  variable12 /*ppropdefnode7*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode9*/,  variable12 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
       variable11 =  variable13 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/,  variable13 /*listnode8*/) /*Array::append*/;
+      ((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*/
   variable14 = variable15;
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable8 =  variable10 /*listnode5*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/,  variable10 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/,  variable10 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode6*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -3875,7 +3888,7 @@ void parser___ReduceAction21___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction21___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction21___init, 1634};
+  struct trace_t trace = {NULL, LOCATE_parser, 1639, LOCATE_parser___ReduceAction21___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i] = 1;
@@ -3883,7 +3896,7 @@ void parser___ReduceAction21___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction22___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction22___action, 1638};
+  struct trace_t trace = {NULL, LOCATE_parser, 1643, LOCATE_parser___ReduceAction22___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3914,51 +3927,51 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction22___action, 1649); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1654); nit_exit(1);}
   variable10 =  variable5 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction22___action, 1651); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1656); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable10 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable10 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction22___action, 1660); nit_exit(1);}
-  variable13 = NEW_array___Array___init(); /*new 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]*/
   variable12 = variable13;
   variable13 =  variable3 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction22___action, 1663); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1668); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/,  variable13 /*ppropdefnode7*/) /*Array::add*/;
+    ((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*/
   variable14 = variable15;
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable8 =  variable11 /*listnode5*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/,  variable11 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/,  variable11 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode6*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -3969,7 +3982,7 @@ void parser___ReduceAction22___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction22___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction22___init, 1688};
+  struct trace_t trace = {NULL, LOCATE_parser, 1693, LOCATE_parser___ReduceAction22___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i] = 1;
@@ -3977,7 +3990,7 @@ void parser___ReduceAction22___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction23___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction23___action, 1692};
+  struct trace_t trace = {NULL, LOCATE_parser, 1697, LOCATE_parser___ReduceAction23___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4012,63 +4025,63 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction23___action, 1704); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1709); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction23___action, 1706); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1711); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
+    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable12)) { /*if*/
       variable8 =  variable11 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable11 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable11 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction23___action, 1715); nit_exit(1);}
-  variable14 = NEW_array___Array___init(); /*new 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]*/
   variable13 = variable14;
   variable14 =  variable4 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction23___action, 1718); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1723); nit_exit(1);}
   variable15 =  variable2 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*listnode8*/==NIT_NULL) || VAL_ISA( variable15 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction23___action, 1720); nit_exit(1);}
-  variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1725); nit_exit(1);}
+  variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable16)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode9*/,  variable14 /*ppropdefnode7*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode9*/,  variable14 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable15 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable15 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable15 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable15 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable15 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable16)) { /*if*/
-    variable16 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*Array::is_empty*/;
+    variable16 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable16)) { /*if*/
       variable13 =  variable15 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/,  variable15 /*listnode8*/) /*Array::append*/;
+      ((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*/
   variable16 = variable17;
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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*/
-    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/;
+    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable17)) { /*if*/
       variable9 =  variable12 /*listnode5*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/,  variable12 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/,  variable12 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode6*/) /*Array::add*/;
+    ((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*/
   variable17 = variable18;
@@ -4079,7 +4092,7 @@ void parser___ReduceAction23___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction23___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction23___init, 1752};
+  struct trace_t trace = {NULL, LOCATE_parser, 1757, LOCATE_parser___ReduceAction23___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i] = 1;
@@ -4087,7 +4100,7 @@ void parser___ReduceAction23___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction24___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction24___action, 1756};
+  struct trace_t trace = {NULL, LOCATE_parser, 1761, LOCATE_parser___ReduceAction24___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4101,16 +4114,16 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
-  variable5 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable5 /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction24___action, 1763); nit_exit(1);}
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable5 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction24___action, LOCATE_parser, 1768); nit_exit(1);}
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable5 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode5*/,  variable5 /*pclassdefnode4*/) /*Array::add*/;
+    ((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*/
   variable6 = variable7;
@@ -4121,7 +4134,7 @@ void parser___ReduceAction24___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction24___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction24___init, 1775};
+  struct trace_t trace = {NULL, LOCATE_parser, 1780, LOCATE_parser___ReduceAction24___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i] = 1;
@@ -4129,7 +4142,7 @@ void parser___ReduceAction24___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction25___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction25___action, 1779};
+  struct trace_t trace = {NULL, LOCATE_parser, 1784, LOCATE_parser___ReduceAction25___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4147,19 +4160,19 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction25___action, 1787); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 1792); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction25___action, 1789); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 1794); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/,  variable7 /*pclassdefnode4*/) /*Array::add*/;
+    ((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*/
   variable8 = variable9;
@@ -4170,7 +4183,7 @@ void parser___ReduceAction25___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction25___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction25___init, 1801};
+  struct trace_t trace = {NULL, LOCATE_parser, 1806, LOCATE_parser___ReduceAction25___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i] = 1;
@@ -4178,7 +4191,7 @@ void parser___ReduceAction25___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction26___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction26___action, 1805};
+  struct trace_t trace = {NULL, LOCATE_parser, 1810, LOCATE_parser___ReduceAction26___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4196,28 +4209,28 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction26___action, 1813); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 1818); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable6 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable6 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable7 =  variable2 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction26___action, 1822); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 1827); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/,  variable7 /*pclassdefnode5*/) /*Array::add*/;
+    ((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*/
   variable8 = variable9;
@@ -4228,7 +4241,7 @@ void parser___ReduceAction26___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction26___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction26___init, 1834};
+  struct trace_t trace = {NULL, LOCATE_parser, 1839, LOCATE_parser___ReduceAction26___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i] = 1;
@@ -4236,7 +4249,7 @@ void parser___ReduceAction26___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction27___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction27___action, 1838};
+  struct trace_t trace = {NULL, LOCATE_parser, 1843, LOCATE_parser___ReduceAction27___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4258,31 +4271,31 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction27___action, 1847); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 1852); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction27___action, 1849); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 1854); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable8 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable8 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable9 =  variable2 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction27___action, 1858); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 1863); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable9 /*pclassdefnode5*/) /*Array::add*/;
+    ((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*/
   variable10 = variable11;
@@ -4293,7 +4306,7 @@ void parser___ReduceAction27___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction27___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction27___init, 1870};
+  struct trace_t trace = {NULL, LOCATE_parser, 1875, LOCATE_parser___ReduceAction27___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i] = 1;
@@ -4301,7 +4314,7 @@ void parser___ReduceAction27___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction28___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction28___action, 1874};
+  struct trace_t trace = {NULL, LOCATE_parser, 1879, LOCATE_parser___ReduceAction28___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4319,28 +4332,28 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction28___action, 1882); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 1887); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction28___action, 1884); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 1889); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable5 =  variable6 /*listnode4*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/,  variable6 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/,  variable6 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/,  variable7 /*pclassdefnode5*/) /*Array::add*/;
+    ((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*/
   variable8 = variable9;
@@ -4351,7 +4364,7 @@ void parser___ReduceAction28___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction28___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction28___init, 1903};
+  struct trace_t trace = {NULL, LOCATE_parser, 1908, LOCATE_parser___ReduceAction28___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i] = 1;
@@ -4359,7 +4372,7 @@ void parser___ReduceAction28___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction29___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction29___action, 1907};
+  struct trace_t trace = {NULL, LOCATE_parser, 1912, LOCATE_parser___ReduceAction29___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4381,31 +4394,31 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction29___action, 1916); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 1921); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction29___action, 1918); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 1923); nit_exit(1);}
   variable9 =  variable2 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction29___action, 1920); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 1925); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable8 /*listnode4*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable9 /*pclassdefnode5*/) /*Array::add*/;
+    ((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*/
   variable10 = variable11;
@@ -4416,7 +4429,7 @@ void parser___ReduceAction29___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction29___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction29___init, 1939};
+  struct trace_t trace = {NULL, LOCATE_parser, 1944, LOCATE_parser___ReduceAction29___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i] = 1;
@@ -4424,7 +4437,7 @@ void parser___ReduceAction29___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction30___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction30___action, 1943};
+  struct trace_t trace = {NULL, LOCATE_parser, 1948, LOCATE_parser___ReduceAction30___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4446,40 +4459,40 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction30___action, 1952); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 1957); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable5 =  variable7 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable7 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/,  variable7 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable8 =  variable3 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*listnode5*/==NIT_NULL) || VAL_ISA( variable8 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction30___action, 1961); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 1966); nit_exit(1);}
   variable9 =  variable2 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction30___action, 1963); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 1968); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode7*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode7*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable8 /*listnode5*/ /*listnode7=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode7*/,  variable8 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode7*/,  variable8 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode7*/,  variable9 /*pclassdefnode6*/) /*Array::add*/;
+    ((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*/
   variable10 = variable11;
@@ -4490,7 +4503,7 @@ void parser___ReduceAction30___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction30___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction30___init, 1982};
+  struct trace_t trace = {NULL, LOCATE_parser, 1987, LOCATE_parser___ReduceAction30___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i] = 1;
@@ -4498,7 +4511,7 @@ void parser___ReduceAction30___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction31___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction31___action, 1986};
+  struct trace_t trace = {NULL, LOCATE_parser, 1991, LOCATE_parser___ReduceAction31___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4524,43 +4537,43 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction31___action, 1996); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2001); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction31___action, 1998); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2003); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable9 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable9 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable10 =  variable3 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction31___action, 2007); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2012); nit_exit(1);}
   variable11 =  variable2 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction31___action, 2009); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2014); nit_exit(1);}
+  variable12 = 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(variable12)) { /*if*/
-    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*Array::is_empty*/;
+    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable12)) { /*if*/
       variable7 =  variable10 /*listnode5*/ /*listnode7=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/,  variable10 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/,  variable10 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/,  variable11 /*pclassdefnode6*/) /*Array::add*/;
+    ((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*/
   variable12 = variable13;
@@ -4571,7 +4584,7 @@ void parser___ReduceAction31___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction31___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction31___init, 2028};
+  struct trace_t trace = {NULL, LOCATE_parser, 2033, LOCATE_parser___ReduceAction31___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i] = 1;
@@ -4579,7 +4592,7 @@ void parser___ReduceAction31___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction32___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction32___action, 2032};
+  struct trace_t trace = {NULL, LOCATE_parser, 2037, LOCATE_parser___ReduceAction32___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4602,31 +4615,31 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction32___action, 2042); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2047); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode6*/,  variable8 /*ppropdefnode5*/) /*Array::add*/;
+    ((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*/
   variable9 = variable10;
   variable10 =  variable2 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable10 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction32___action, 2050); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2055); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable9 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/,  variable9 /*pclassdefnode4*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/,  variable9 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode7*/ ==  NIT_NULL /*null*/) || (( variable10 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode7*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode7*/ ==  NIT_NULL /*null*/) || (( variable10 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/,  variable10 /*pclassdefnode7*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
@@ -4637,7 +4650,7 @@ void parser___ReduceAction32___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction32___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction32___init, 2065};
+  struct trace_t trace = {NULL, LOCATE_parser, 2070, LOCATE_parser___ReduceAction32___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i] = 1;
@@ -4645,7 +4658,7 @@ void parser___ReduceAction32___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction33___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction33___action, 2069};
+  struct trace_t trace = {NULL, LOCATE_parser, 2074, LOCATE_parser___ReduceAction33___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4672,43 +4685,43 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction33___action, 2080); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2085); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*listnode6*/==NIT_NULL) || VAL_ISA( variable10 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction33___action, 2082); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2087); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/,  variable9 /*ppropdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/,  variable9 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode6*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode7*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode7*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode6*/ /*listnode7=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode7*/,  variable10 /*listnode6*/) /*Array::append*/;
+      ((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*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction33___action, 2097); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2102); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable11 /*pclassdefnode4*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable11 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode8*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -4719,7 +4732,7 @@ void parser___ReduceAction33___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction33___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction33___init, 2112};
+  struct trace_t trace = {NULL, LOCATE_parser, 2117, LOCATE_parser___ReduceAction33___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i] = 1;
@@ -4727,7 +4740,7 @@ void parser___ReduceAction33___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction34___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction34___action, 2116};
+  struct trace_t trace = {NULL, LOCATE_parser, 2121, LOCATE_parser___ReduceAction34___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4754,34 +4767,34 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction34___action, 2126); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new Array[Object]*/
+  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]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction34___action, 2129); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2134); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode6*/,  variable10 /*ppropdefnode5*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction34___action, 2137); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2142); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/,  variable11 /*pclassdefnode4*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/,  variable11 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode7*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/,  variable12 /*pclassdefnode7*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -4792,7 +4805,7 @@ void parser___ReduceAction34___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction34___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction34___init, 2152};
+  struct trace_t trace = {NULL, LOCATE_parser, 2157, LOCATE_parser___ReduceAction34___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i] = 1;
@@ -4800,7 +4813,7 @@ void parser___ReduceAction34___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction35___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction35___action, 2156};
+  struct trace_t trace = {NULL, LOCATE_parser, 2161, LOCATE_parser___ReduceAction35___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4831,46 +4844,46 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction35___action, 2167); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new Array[Object]*/
+  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]*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction35___action, 2170); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2175); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*listnode6*/==NIT_NULL) || VAL_ISA( variable12 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction35___action, 2172); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2177); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/,  variable11 /*ppropdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/,  variable11 /*ppropdefnode5*/) /*AbstractArray::add*/;
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode6*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode7*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode7*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable10 =  variable12 /*listnode6*/ /*listnode7=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode7*/,  variable12 /*listnode6*/) /*Array::append*/;
+      ((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*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction35___action, 2187); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2192); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode4*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable13 /*pclassdefnode4*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable13 /*pclassdefnode4*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode8*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -4881,7 +4894,7 @@ void parser___ReduceAction35___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction35___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction35___init, 2202};
+  struct trace_t trace = {NULL, LOCATE_parser, 2207, LOCATE_parser___ReduceAction35___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i] = 1;
@@ -4889,7 +4902,7 @@ void parser___ReduceAction35___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction36___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction36___action, 2206};
+  struct trace_t trace = {NULL, LOCATE_parser, 2211, LOCATE_parser___ReduceAction36___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4916,43 +4929,43 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction36___action, 2216); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2221); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable6 =  variable8 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction36___action, 2226); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2231); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/,  variable10 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction36___action, 2234); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2239); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable11 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable11 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode8*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -4963,7 +4976,7 @@ void parser___ReduceAction36___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction36___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction36___init, 2249};
+  struct trace_t trace = {NULL, LOCATE_parser, 2254, LOCATE_parser___ReduceAction36___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i] = 1;
@@ -4971,7 +4984,7 @@ void parser___ReduceAction36___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction37___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction37___action, 2253};
+  struct trace_t trace = {NULL, LOCATE_parser, 2258, LOCATE_parser___ReduceAction37___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5002,55 +5015,55 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction37___action, 2264); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2269); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable7 =  variable9 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction37___action, 2274); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2279); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*listnode7*/==NIT_NULL) || VAL_ISA( variable12 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction37___action, 2276); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2281); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/,  variable11 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/,  variable11 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable10 =  variable12 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/,  variable12 /*listnode7*/) /*Array::append*/;
+      ((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*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction37___action, 2291); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2296); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable13 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable13 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode9*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -5061,7 +5074,7 @@ void parser___ReduceAction37___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction37___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction37___init, 2306};
+  struct trace_t trace = {NULL, LOCATE_parser, 2311, LOCATE_parser___ReduceAction37___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i] = 1;
@@ -5069,7 +5082,7 @@ void parser___ReduceAction37___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction38___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction38___action, 2310};
+  struct trace_t trace = {NULL, LOCATE_parser, 2315, LOCATE_parser___ReduceAction38___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5100,46 +5113,46 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction38___action, 2321); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2326); nit_exit(1);}
   variable10 =  variable5 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction38___action, 2323); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2328); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable10 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction38___action, 2333); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2338); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/,  variable12 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction38___action, 2341); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2346); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable13 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable13 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode8*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -5150,7 +5163,7 @@ void parser___ReduceAction38___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction38___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction38___init, 2356};
+  struct trace_t trace = {NULL, LOCATE_parser, 2361, LOCATE_parser___ReduceAction38___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i] = 1;
@@ -5158,7 +5171,7 @@ void parser___ReduceAction38___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction39___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction39___action, 2360};
+  struct trace_t trace = {NULL, LOCATE_parser, 2365, LOCATE_parser___ReduceAction39___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5193,58 +5206,58 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction39___action, 2372); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2377); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction39___action, 2374); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2379); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
+    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable12)) { /*if*/
       variable8 =  variable11 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable11 /*listnode3*/) /*Array::append*/;
+      ((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[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction39___action, 2384); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2389); nit_exit(1);}
   variable14 =  variable3 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*listnode7*/==NIT_NULL) || VAL_ISA( variable14 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction39___action, 2386); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2391); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/,  variable13 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/,  variable13 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable12 =  variable14 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable14 /*listnode7*/) /*Array::append*/;
+      ((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*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction39___action, 2401); nit_exit(1);}
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2406); nit_exit(1);}
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable15 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable15 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode9*/) /*Array::add*/;
+    ((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*/
   variable17 = variable18;
@@ -5255,7 +5268,7 @@ void parser___ReduceAction39___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction39___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction39___init, 2416};
+  struct trace_t trace = {NULL, LOCATE_parser, 2421, LOCATE_parser___ReduceAction39___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i] = 1;
@@ -5263,7 +5276,7 @@ void parser___ReduceAction39___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction40___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction40___action, 2420};
+  struct trace_t trace = {NULL, LOCATE_parser, 2425, LOCATE_parser___ReduceAction40___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5290,43 +5303,43 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
-  variable8 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction40___action, 2430); nit_exit(1);}
-  variable10 = NEW_array___Array___init(); /*new 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]*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction40___action, 2433); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2438); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/,  variable10 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   variable11 = variable12;
   variable12 =  variable2 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction40___action, 2441); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2446); nit_exit(1);}
+  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*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable7 =  variable8 /*listnode4*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/,  variable8 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable11 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable11 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/,  variable12 /*pclassdefnode8*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
@@ -5337,7 +5350,7 @@ void parser___ReduceAction40___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction40___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction40___init, 2463};
+  struct trace_t trace = {NULL, LOCATE_parser, 2468, LOCATE_parser___ReduceAction40___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i] = 1;
@@ -5345,7 +5358,7 @@ void parser___ReduceAction40___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction41___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction41___action, 2467};
+  struct trace_t trace = {NULL, LOCATE_parser, 2472, LOCATE_parser___ReduceAction41___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5376,55 +5389,55 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction41___action, 2478); nit_exit(1);}
-  variable11 = NEW_array___Array___init(); /*new 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]*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction41___action, 2481); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2486); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*listnode7*/==NIT_NULL) || VAL_ISA( variable12 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction41___action, 2483); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2488); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/,  variable11 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/,  variable11 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable10 =  variable12 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/,  variable12 /*listnode7*/) /*Array::append*/;
+      ((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*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction41___action, 2498); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2503); nit_exit(1);}
+  variable15 = 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(variable15)) { /*if*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable8 =  variable9 /*listnode4*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/,  variable9 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/,  variable9 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable13 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable13 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode9*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -5435,7 +5448,7 @@ void parser___ReduceAction41___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction41___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction41___init, 2520};
+  struct trace_t trace = {NULL, LOCATE_parser, 2525, LOCATE_parser___ReduceAction41___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i] = 1;
@@ -5443,7 +5456,7 @@ void parser___ReduceAction41___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction42___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction42___action, 2524};
+  struct trace_t trace = {NULL, LOCATE_parser, 2529, LOCATE_parser___ReduceAction42___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5474,46 +5487,46 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction42___action, 2535); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2540); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction42___action, 2537); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new 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]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction42___action, 2540); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2545); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/,  variable12 /*ppropdefnode6*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction42___action, 2548); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2553); nit_exit(1);}
+  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*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable8 =  variable10 /*listnode4*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/,  variable10 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable13 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable13 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/,  variable14 /*pclassdefnode8*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -5524,7 +5537,7 @@ void parser___ReduceAction42___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction42___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction42___init, 2570};
+  struct trace_t trace = {NULL, LOCATE_parser, 2575, LOCATE_parser___ReduceAction42___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i] = 1;
@@ -5532,7 +5545,7 @@ void parser___ReduceAction42___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction43___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction43___action, 2574};
+  struct trace_t trace = {NULL, LOCATE_parser, 2579, LOCATE_parser___ReduceAction43___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5567,58 +5580,58 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction43___action, 2586); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2591); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction43___action, 2588); nit_exit(1);}
-  variable13 = NEW_array___Array___init(); /*new 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]*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction43___action, 2591); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2596); nit_exit(1);}
   variable14 =  variable3 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*listnode7*/==NIT_NULL) || VAL_ISA( variable14 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction43___action, 2593); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2598); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/,  variable13 /*ppropdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/,  variable13 /*ppropdefnode6*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable12 =  variable14 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable14 /*listnode7*/) /*Array::append*/;
+      ((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*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction43___action, 2608); nit_exit(1);}
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2613); nit_exit(1);}
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/;
+    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable17)) { /*if*/
       variable9 =  variable11 /*listnode4*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/,  variable11 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/,  variable11 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable15 /*pclassdefnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable15 /*pclassdefnode5*/) /*AbstractArray::add*/;
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode9*/) /*Array::add*/;
+    ((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*/
   variable17 = variable18;
@@ -5629,7 +5642,7 @@ void parser___ReduceAction43___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction43___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction43___init, 2630};
+  struct trace_t trace = {NULL, LOCATE_parser, 2635, LOCATE_parser___ReduceAction43___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i] = 1;
@@ -5637,7 +5650,7 @@ void parser___ReduceAction43___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction44___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction44___action, 2634};
+  struct trace_t trace = {NULL, LOCATE_parser, 2639, LOCATE_parser___ReduceAction44___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5668,55 +5681,55 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
-  variable9 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable6 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction44___action, 2645); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2650); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable7 =  variable9 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction44___action, 2654); nit_exit(1);}
-  variable12 = NEW_array___Array___init(); /*new 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]*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction44___action, 2657); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2662); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/,  variable12 /*ppropdefnode7*/) /*Array::add*/;
+    ((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*/
   variable13 = variable14;
   variable14 =  variable2 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction44___action, 2665); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2670); nit_exit(1);}
+  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*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable8 =  variable10 /*listnode5*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/,  variable10 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/,  variable10 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable13 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable13 /*pclassdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable13 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/,  variable14 /*pclassdefnode9*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
@@ -5727,7 +5740,7 @@ void parser___ReduceAction44___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction44___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction44___init, 2687};
+  struct trace_t trace = {NULL, LOCATE_parser, 2692, LOCATE_parser___ReduceAction44___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i] = 1;
@@ -5735,7 +5748,7 @@ void parser___ReduceAction44___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction45___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction45___action, 2691};
+  struct trace_t trace = {NULL, LOCATE_parser, 2696, LOCATE_parser___ReduceAction45___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5770,67 +5783,67 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction45___action, 2703); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2708); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable10 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable10 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction45___action, 2712); nit_exit(1);}
-  variable13 = NEW_array___Array___init(); /*new 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]*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction45___action, 2715); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2720); nit_exit(1);}
   variable14 =  variable3 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*listnode8*/==NIT_NULL) || VAL_ISA( variable14 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction45___action, 2717); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2722); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode9*/,  variable13 /*ppropdefnode7*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode9*/,  variable13 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable14 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*Array::is_empty*/;
+    variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable15)) { /*if*/
       variable12 =  variable14 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/,  variable14 /*listnode8*/) /*Array::append*/;
+      ((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*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction45___action, 2732); nit_exit(1);}
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2737); nit_exit(1);}
+  variable17 = 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(variable17)) { /*if*/
-    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode11*/) /*Array::is_empty*/;
+    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode11*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable17)) { /*if*/
       variable9 =  variable11 /*listnode5*/ /*listnode11=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode11*/,  variable11 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode11*/,  variable11 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/,  variable15 /*pclassdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/,  variable15 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode10*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode10*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode10*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/,  variable16 /*pclassdefnode10*/) /*Array::add*/;
+    ((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*/
   variable17 = variable18;
@@ -5841,7 +5854,7 @@ void parser___ReduceAction45___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction45___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction45___init, 2754};
+  struct trace_t trace = {NULL, LOCATE_parser, 2759, LOCATE_parser___ReduceAction45___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i] = 1;
@@ -5849,7 +5862,7 @@ void parser___ReduceAction45___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction46___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction46___action, 2758};
+  struct trace_t trace = {NULL, LOCATE_parser, 2763, LOCATE_parser___ReduceAction46___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5884,58 +5897,58 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
-  variable10 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable7 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction46___action, 2770); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2775); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction46___action, 2772); nit_exit(1);}
-  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2777); nit_exit(1);}
+  variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable12)) { /*if*/
-    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
+    variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable12)) { /*if*/
       variable8 =  variable11 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable11 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable11 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction46___action, 2781); nit_exit(1);}
-  variable14 = NEW_array___Array___init(); /*new 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]*/
   variable13 = variable14;
   variable14 =  variable4 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction46___action, 2784); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2789); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode8*/,  variable14 /*ppropdefnode7*/) /*Array::add*/;
+    ((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*/
   variable15 = variable16;
   variable16 =  variable2 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction46___action, 2792); nit_exit(1);}
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2797); nit_exit(1);}
+  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*/
-    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/;
+    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable17)) { /*if*/
       variable9 =  variable12 /*listnode5*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/,  variable12 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/,  variable12 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable15 /*pclassdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable15 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ ==  NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/,  variable16 /*pclassdefnode9*/) /*Array::add*/;
+    ((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*/
   variable17 = variable18;
@@ -5946,7 +5959,7 @@ void parser___ReduceAction46___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction46___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction46___init, 2814};
+  struct trace_t trace = {NULL, LOCATE_parser, 2819, LOCATE_parser___ReduceAction46___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i] = 1;
@@ -5954,7 +5967,7 @@ void parser___ReduceAction46___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction47___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction47___action, 2818};
+  struct trace_t trace = {NULL, LOCATE_parser, 2823, LOCATE_parser___ReduceAction47___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5993,70 +6006,70 @@ 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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
-  variable11 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
   variable10 = variable11;
   variable11 =  variable8 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable11 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction47___action, 2831); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2836); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*listnode3*/==NIT_NULL) || VAL_ISA( variable12 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction47___action, 2833); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2838); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode4*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable9 =  variable12 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode4*/,  variable12 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode4*/,  variable12 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction47___action, 2842); nit_exit(1);}
-  variable15 = NEW_array___Array___init(); /*new 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]*/
   variable14 = variable15;
   variable15 =  variable5 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction47___action, 2845); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2850); nit_exit(1);}
   variable16 =  variable3 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*listnode8*/==NIT_NULL) || VAL_ISA( variable16 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction47___action, 2847); nit_exit(1);}
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable15 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable15 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2852); nit_exit(1);}
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*ppropdefnode7*/ ==  NIT_NULL /*null*/) || (( variable15 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable15 /*ppropdefnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode9*/,  variable15 /*ppropdefnode7*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode9*/,  variable15 /*ppropdefnode7*/) /*AbstractArray::add*/;
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable16 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable16 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable16 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/;
+    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable17)) { /*if*/
       variable14 =  variable16 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/,  variable16 /*listnode8*/) /*Array::append*/;
+      ((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*/
   variable17 = variable18;
   variable18 =  variable2 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable18 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction47___action, 2862); nit_exit(1);}
-  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 2867); nit_exit(1);}
+  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable19)) { /*if*/
-    variable19 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode11*/) /*Array::is_empty*/;
+    variable19 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode11*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable19)) { /*if*/
       variable10 =  variable13 /*listnode5*/ /*listnode11=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode11*/,  variable13 /*listnode5*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode11*/,  variable13 /*listnode5*/) /*IndexedCollection::append*/;
     }
   }
-  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable17 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable17 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable17 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
+  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*pclassdefnode6*/ ==  NIT_NULL /*null*/) || (( variable17 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable17 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable17 /*pclassdefnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable19)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/,  variable17 /*pclassdefnode6*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/,  variable17 /*pclassdefnode6*/) /*AbstractArray::add*/;
   }
-  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*pclassdefnode10*/ ==  NIT_NULL /*null*/) || (( variable18 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable18 /*pclassdefnode10*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*pclassdefnode10*/ ==  NIT_NULL /*null*/) || (( variable18 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable18 /*pclassdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable19)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/,  variable18 /*pclassdefnode10*/) /*Array::add*/;
+    ((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*/
   variable19 = variable20;
@@ -6067,7 +6080,7 @@ void parser___ReduceAction47___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction47___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction47___init, 2884};
+  struct trace_t trace = {NULL, LOCATE_parser, 2889, LOCATE_parser___ReduceAction47___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i] = 1;
@@ -6075,7 +6088,7 @@ void parser___ReduceAction47___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction48___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction48___action, 2888};
+  struct trace_t trace = {NULL, LOCATE_parser, 2893, LOCATE_parser___ReduceAction48___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6103,13 +6116,13 @@ void parser___ReduceAction48___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable7 =  variable6 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction48___action, 2897); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 2902); nit_exit(1);}
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*tkwpackagenode3*/==NIT_NULL) || VAL_ISA( variable8 /*tkwpackagenode3*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction48___action, 2899); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 2904); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction48___action, 2901); nit_exit(1);}
+  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*/
   variable10 = variable11;
   variable1 =  variable10 /*ppackagedeclnode1*/ /*node_list=*/;
@@ -6119,7 +6132,7 @@ void parser___ReduceAction48___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction48___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction48___init, 2910};
+  struct trace_t trace = {NULL, LOCATE_parser, 2915, LOCATE_parser___ReduceAction48___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i] = 1;
@@ -6127,7 +6140,7 @@ void parser___ReduceAction48___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction49___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction49___action, 2914};
+  struct trace_t trace = {NULL, LOCATE_parser, 2919, LOCATE_parser___ReduceAction49___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6158,13 +6171,13 @@ void parser___ReduceAction49___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction49___action, 2924); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 2929); nit_exit(1);}
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction49___action, 2926); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 2931); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction49___action, 2928); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable1 =  variable11 /*pimportnode1*/ /*node_list=*/;
@@ -6174,7 +6187,7 @@ void parser___ReduceAction49___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction49___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction49___init, 2937};
+  struct trace_t trace = {NULL, LOCATE_parser, 2942, LOCATE_parser___ReduceAction49___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i] = 1;
@@ -6182,7 +6195,7 @@ void parser___ReduceAction49___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction50___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction50___action, 2941};
+  struct trace_t trace = {NULL, LOCATE_parser, 2946, LOCATE_parser___ReduceAction50___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6213,13 +6226,13 @@ void parser___ReduceAction50___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction50___action, 2951); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 2956); nit_exit(1);}
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction50___action, 2953); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 2958); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction50___action, 2955); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable1 =  variable11 /*pimportnode1*/ /*node_list=*/;
@@ -6229,7 +6242,7 @@ void parser___ReduceAction50___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction50___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction50___init, 2964};
+  struct trace_t trace = {NULL, LOCATE_parser, 2969, LOCATE_parser___ReduceAction50___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i] = 1;
@@ -6237,7 +6250,7 @@ void parser___ReduceAction50___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction51___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction51___action, 2968};
+  struct trace_t trace = {NULL, LOCATE_parser, 2973, LOCATE_parser___ReduceAction51___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6250,14 +6263,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction51___action, 2974); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode2*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction51___action, LOCATE_parser, 2979); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode3*/,  variable4 /*ppropdefnode2*/) /*Array::add*/;
+    ((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*/
   variable5 = variable6;
@@ -6268,7 +6281,7 @@ void parser___ReduceAction51___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction51___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction51___init, 2984};
+  struct trace_t trace = {NULL, LOCATE_parser, 2989, LOCATE_parser___ReduceAction51___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i] = 1;
@@ -6276,7 +6289,7 @@ void parser___ReduceAction51___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction52___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction52___action, 2988};
+  struct trace_t trace = {NULL, LOCATE_parser, 2993, LOCATE_parser___ReduceAction52___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6293,7 +6306,7 @@ void parser___ReduceAction52___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction52___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction52___init, 2995};
+  struct trace_t trace = {NULL, LOCATE_parser, 3000, LOCATE_parser___ReduceAction52___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i] = 1;
@@ -6301,7 +6314,7 @@ void parser___ReduceAction52___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction53___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction53___action, 2999};
+  struct trace_t trace = {NULL, LOCATE_parser, 3004, LOCATE_parser___ReduceAction53___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6321,14 +6334,14 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction53___action, 3007); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode4*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction53___action, LOCATE_parser, 3012); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/,  variable6 /*pexprnode4*/) /*Array::add*/;
+    ((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*/
   variable7 = variable8;
@@ -6341,7 +6354,7 @@ void parser___ReduceAction53___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction53___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction53___init, 3021};
+  struct trace_t trace = {NULL, LOCATE_parser, 3026, LOCATE_parser___ReduceAction53___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i] = 1;
@@ -6349,7 +6362,7 @@ void parser___ReduceAction53___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction54___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction54___action, 3025};
+  struct trace_t trace = {NULL, LOCATE_parser, 3030, LOCATE_parser___ReduceAction54___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6373,25 +6386,25 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction54___action, 3034); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3039); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*listnode5*/==NIT_NULL) || VAL_ISA( variable8 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction54___action, 3036); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode4*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3041); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable7 /*pexprnode4*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/,  variable7 /*pexprnode4*/) /*AbstractArray::add*/;
   }
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable6 =  variable8 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable8 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -6405,7 +6418,7 @@ void parser___ReduceAction54___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction54___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction54___init, 3057};
+  struct trace_t trace = {NULL, LOCATE_parser, 3062, LOCATE_parser___ReduceAction54___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i] = 1;
@@ -6413,7 +6426,7 @@ void parser___ReduceAction54___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction55___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction55___action, 3061};
+  struct trace_t trace = {NULL, LOCATE_parser, 3066, LOCATE_parser___ReduceAction55___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6449,24 +6462,24 @@ 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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
-  variable11 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
   variable12 =  variable8 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction55___action, 3075); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3080); nit_exit(1);}
   variable13 =  variable7 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction55___action, 3077); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3082); nit_exit(1);}
   variable14 =  variable6 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable14 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction55___action, 3079); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3084); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction55___action, 3081); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*pclassdefnode1*/ /*node_list=*/;
@@ -6476,7 +6489,7 @@ void parser___ReduceAction55___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction55___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction55___init, 3095};
+  struct trace_t trace = {NULL, LOCATE_parser, 3100, LOCATE_parser___ReduceAction55___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i] = 1;
@@ -6484,7 +6497,7 @@ void parser___ReduceAction55___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction56___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction56___action, 3099};
+  struct trace_t trace = {NULL, LOCATE_parser, 3104, LOCATE_parser___ReduceAction56___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6524,27 +6537,27 @@ 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[Object]*/
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
   variable13 =  variable9 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction56___action, 3114); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3119); nit_exit(1);}
   variable14 =  variable8 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction56___action, 3116); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3121); nit_exit(1);}
   variable15 =  variable7 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction56___action, 3118); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3123); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction56___action, 3120); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3125); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction56___action, 3122); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*pclassdefnode1*/ /*node_list=*/;
@@ -6554,7 +6567,7 @@ void parser___ReduceAction56___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction56___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction56___init, 3136};
+  struct trace_t trace = {NULL, LOCATE_parser, 3141, LOCATE_parser___ReduceAction56___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i] = 1;
@@ -6562,7 +6575,7 @@ void parser___ReduceAction56___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction57___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction57___action, 3140};
+  struct trace_t trace = {NULL, LOCATE_parser, 3145, LOCATE_parser___ReduceAction57___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6602,34 +6615,34 @@ 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[Object]*/
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
   variable13 =  variable9 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction57___action, 3155); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3160); nit_exit(1);}
   variable14 =  variable8 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction57___action, 3157); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3162); nit_exit(1);}
   variable15 =  variable7 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction57___action, 3159); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3164); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction57___action, 3161); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3166); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*listnode7*/==NIT_NULL) || VAL_ISA( variable17 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction57___action, 3163); nit_exit(1);}
-  variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable17 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable17 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3168); nit_exit(1);}
+  variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable17 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable17 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable17 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable17 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable18)) { /*if*/
-    variable18 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/;
+    variable18 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable18)) { /*if*/
       variable10 =  variable17 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/,  variable17 /*listnode7*/) /*Array::append*/;
+      ((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*/
@@ -6641,7 +6654,7 @@ void parser___ReduceAction57___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction57___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction57___init, 3184};
+  struct trace_t trace = {NULL, LOCATE_parser, 3189, LOCATE_parser___ReduceAction57___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i] = 1;
@@ -6649,7 +6662,7 @@ void parser___ReduceAction57___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction58___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction58___action, 3188};
+  struct trace_t trace = {NULL, LOCATE_parser, 3193, LOCATE_parser___ReduceAction58___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6693,37 +6706,37 @@ 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[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction58___action, 3204); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3209); nit_exit(1);}
   variable15 =  variable9 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction58___action, 3206); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3211); nit_exit(1);}
   variable16 =  variable8 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction58___action, 3208); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3213); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction58___action, 3210); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3215); nit_exit(1);}
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction58___action, 3212); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3217); nit_exit(1);}
   variable19 =  variable4 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*listnode7*/==NIT_NULL) || VAL_ISA( variable19 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction58___action, 3214); nit_exit(1);}
-  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3219); nit_exit(1);}
+  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable20)) { /*if*/
-    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
+    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable20)) { /*if*/
       variable11 =  variable19 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable19 /*listnode7*/) /*Array::append*/;
+      ((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*/
@@ -6735,7 +6748,7 @@ void parser___ReduceAction58___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction58___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction58___init, 3235};
+  struct trace_t trace = {NULL, LOCATE_parser, 3240, LOCATE_parser___ReduceAction58___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i] = 1;
@@ -6743,7 +6756,7 @@ void parser___ReduceAction58___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction59___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction59___action, 3239};
+  struct trace_t trace = {NULL, LOCATE_parser, 3244, LOCATE_parser___ReduceAction59___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6783,34 +6796,34 @@ 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[Object]*/
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
   variable10 = variable11;
-  variable12 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
   variable13 =  variable9 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction59___action, 3254); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3259); nit_exit(1);}
   variable14 =  variable8 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction59___action, 3256); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3261); nit_exit(1);}
   variable15 =  variable7 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction59___action, 3258); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3263); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction59___action, 3260); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3265); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*listnode8*/==NIT_NULL) || VAL_ISA( variable17 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction59___action, 3262); nit_exit(1);}
-  variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable17 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable17 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3267); nit_exit(1);}
+  variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable17 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable17 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable17 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable17 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable18)) { /*if*/
-    variable18 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*Array::is_empty*/;
+    variable18 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable18)) { /*if*/
       variable11 =  variable17 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/,  variable17 /*listnode8*/) /*Array::append*/;
+      ((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*/
@@ -6822,7 +6835,7 @@ void parser___ReduceAction59___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction59___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction59___init, 3283};
+  struct trace_t trace = {NULL, LOCATE_parser, 3288, LOCATE_parser___ReduceAction59___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i] = 1;
@@ -6830,7 +6843,7 @@ void parser___ReduceAction59___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction60___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction60___action, 3287};
+  struct trace_t trace = {NULL, LOCATE_parser, 3292, LOCATE_parser___ReduceAction60___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6874,37 +6887,37 @@ 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[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction60___action, 3303); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3308); nit_exit(1);}
   variable15 =  variable9 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction60___action, 3305); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3310); nit_exit(1);}
   variable16 =  variable8 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction60___action, 3307); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3312); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction60___action, 3309); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3314); nit_exit(1);}
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction60___action, 3311); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3316); nit_exit(1);}
   variable19 =  variable4 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*listnode8*/==NIT_NULL) || VAL_ISA( variable19 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction60___action, 3313); nit_exit(1);}
-  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3318); nit_exit(1);}
+  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable20)) { /*if*/
-    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*Array::is_empty*/;
+    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable20)) { /*if*/
       variable12 =  variable19 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/,  variable19 /*listnode8*/) /*Array::append*/;
+      ((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*/
@@ -6916,7 +6929,7 @@ void parser___ReduceAction60___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction60___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction60___init, 3334};
+  struct trace_t trace = {NULL, LOCATE_parser, 3339, LOCATE_parser___ReduceAction60___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i] = 1;
@@ -6924,7 +6937,7 @@ void parser___ReduceAction60___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction61___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction61___action, 3338};
+  struct trace_t trace = {NULL, LOCATE_parser, 3343, LOCATE_parser___ReduceAction61___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6968,46 +6981,46 @@ 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[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction61___action, 3354); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3359); nit_exit(1);}
   variable15 =  variable9 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction61___action, 3356); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3361); nit_exit(1);}
   variable16 =  variable8 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction61___action, 3358); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3363); nit_exit(1);}
   variable17 =  variable6 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction61___action, 3360); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3365); nit_exit(1);}
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*listnode7*/==NIT_NULL) || VAL_ISA( variable18 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction61___action, 3362); nit_exit(1);}
-  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable18 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable18 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable18 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3367); nit_exit(1);}
+  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable18 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable18 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable19)) { /*if*/
-    variable19 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
+    variable19 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable19)) { /*if*/
       variable11 =  variable18 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable18 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/,  variable18 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable19 =  variable4 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*listnode9*/==NIT_NULL) || VAL_ISA( variable19 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction61___action, 3371); nit_exit(1);}
-  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode9*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3376); nit_exit(1);}
+  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable20)) { /*if*/
-    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode10*/) /*Array::is_empty*/;
+    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable20)) { /*if*/
       variable12 =  variable19 /*listnode9*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode10*/,  variable19 /*listnode9*/) /*Array::append*/;
+      ((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*/
@@ -7019,7 +7032,7 @@ void parser___ReduceAction61___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction61___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction61___init, 3392};
+  struct trace_t trace = {NULL, LOCATE_parser, 3397, LOCATE_parser___ReduceAction61___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i] = 1;
@@ -7027,7 +7040,7 @@ void parser___ReduceAction61___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction62___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction62___action, 3396};
+  struct trace_t trace = {NULL, LOCATE_parser, 3401, LOCATE_parser___ReduceAction62___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7075,49 +7088,49 @@ 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[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction62___action, 3413); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3418); nit_exit(1);}
   variable16 =  variable10 /*nodearraylist2*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction62___action, 3415); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3420); nit_exit(1);}
   variable17 =  variable9 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction62___action, 3417); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3422); nit_exit(1);}
   variable18 =  variable8 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction62___action, 3419); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3424); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction62___action, 3421); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3426); nit_exit(1);}
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction62___action, 3423); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3428); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
+    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable21)) { /*if*/
       variable12 =  variable20 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable20 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable20 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable21 =  variable4 /*nodearraylist8*/;
   variable22 = TAG_Bool(( variable21 /*listnode9*/==NIT_NULL) || VAL_ISA( variable21 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction62___action, 3432); nit_exit(1);}
-  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3437); nit_exit(1);}
+  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable22)) { /*if*/
-    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode10*/) /*Array::is_empty*/;
+    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable22)) { /*if*/
       variable13 =  variable21 /*listnode9*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode10*/,  variable21 /*listnode9*/) /*Array::append*/;
+      ((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*/
@@ -7129,7 +7142,7 @@ void parser___ReduceAction62___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction62___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction62___init, 3453};
+  struct trace_t trace = {NULL, LOCATE_parser, 3458, LOCATE_parser___ReduceAction62___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i] = 1;
@@ -7137,7 +7150,7 @@ void parser___ReduceAction62___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction63___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction63___action, 3457};
+  struct trace_t trace = {NULL, LOCATE_parser, 3462, LOCATE_parser___ReduceAction63___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7180,30 +7193,30 @@ 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[Object]*/
+  variable12 = NEW_array___Array___init(); /*new Array[E]*/
   variable11 = variable12;
-  variable13 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
   variable14 =  variable10 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction63___action, 3473); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3478); nit_exit(1);}
   variable15 =  variable9 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction63___action, 3475); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3480); nit_exit(1);}
   variable16 =  variable8 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction63___action, 3477); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3482); nit_exit(1);}
   variable17 =  variable6 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction63___action, 3479); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3484); nit_exit(1);}
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction63___action, 3481); nit_exit(1);}
-  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable18 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable18 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3486); nit_exit(1);}
+  variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable18 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable18 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable19)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode10*/,  variable18 /*ppropdefnode9*/) /*Array::add*/;
+    ((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*/
   variable19 = variable20;
@@ -7214,7 +7227,7 @@ void parser___ReduceAction63___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction63___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction63___init, 3498};
+  struct trace_t trace = {NULL, LOCATE_parser, 3503, LOCATE_parser___ReduceAction63___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i] = 1;
@@ -7222,7 +7235,7 @@ void parser___ReduceAction63___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction64___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction64___action, 3502};
+  struct trace_t trace = {NULL, LOCATE_parser, 3507, LOCATE_parser___ReduceAction64___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7269,41 +7282,41 @@ 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[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction64___action, 3519); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3524); nit_exit(1);}
   variable16 =  variable10 /*nodearraylist2*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction64___action, 3521); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3526); nit_exit(1);}
   variable17 =  variable9 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction64___action, 3523); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3528); nit_exit(1);}
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction64___action, 3525); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3530); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction64___action, 3527); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3532); nit_exit(1);}
   variable20 =  variable4 /*nodearraylist8*/;
   variable21 = TAG_Bool(( variable20 /*listnode10*/==NIT_NULL) || VAL_ISA( variable20 /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction64___action, 3529); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable19 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3534); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable19 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/,  variable19 /*ppropdefnode9*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/,  variable19 /*ppropdefnode9*/) /*AbstractArray::add*/;
   }
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode10*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode10*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode10*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode10*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode11*/) /*Array::is_empty*/;
+    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode11*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable21)) { /*if*/
       variable14 =  variable20 /*listnode10*/ /*listnode11=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode11*/,  variable20 /*listnode10*/) /*Array::append*/;
+      ((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*/
@@ -7315,7 +7328,7 @@ void parser___ReduceAction64___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction64___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction64___init, 3553};
+  struct trace_t trace = {NULL, LOCATE_parser, 3558, LOCATE_parser___ReduceAction64___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i] = 1;
@@ -7323,7 +7336,7 @@ void parser___ReduceAction64___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction65___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction65___action, 3557};
+  struct trace_t trace = {NULL, LOCATE_parser, 3562, LOCATE_parser___ReduceAction65___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7370,33 +7383,33 @@ 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[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction65___action, 3574); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3579); nit_exit(1);}
   variable16 =  variable10 /*nodearraylist2*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction65___action, 3576); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3581); nit_exit(1);}
   variable17 =  variable9 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction65___action, 3578); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3583); nit_exit(1);}
   variable18 =  variable8 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction65___action, 3580); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3585); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction65___action, 3582); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3587); nit_exit(1);}
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction65___action, 3584); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable20 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3589); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable20 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode10*/,  variable20 /*ppropdefnode9*/) /*Array::add*/;
+    ((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*/
   variable21 = variable22;
@@ -7407,7 +7420,7 @@ void parser___ReduceAction65___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction65___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction65___init, 3601};
+  struct trace_t trace = {NULL, LOCATE_parser, 3606, LOCATE_parser___ReduceAction65___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i] = 1;
@@ -7415,7 +7428,7 @@ void parser___ReduceAction65___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction66___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction66___action, 3605};
+  struct trace_t trace = {NULL, LOCATE_parser, 3610, LOCATE_parser___ReduceAction66___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7466,44 +7479,44 @@ 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[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction66___action, 3623); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3628); nit_exit(1);}
   variable17 =  variable11 /*nodearraylist2*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction66___action, 3625); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3630); nit_exit(1);}
   variable18 =  variable10 /*nodearraylist3*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction66___action, 3627); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3632); nit_exit(1);}
   variable19 =  variable9 /*nodearraylist4*/;
   variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction66___action, 3629); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3634); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction66___action, 3631); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3636); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction66___action, 3633); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3638); nit_exit(1);}
   variable22 =  variable4 /*nodearraylist9*/;
   variable23 = TAG_Bool(( variable22 /*listnode10*/==NIT_NULL) || VAL_ISA( variable22 /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction66___action, 3635); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable21 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3640); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode9*/ ==  NIT_NULL /*null*/) || (( variable21 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/,  variable21 /*ppropdefnode9*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/,  variable21 /*ppropdefnode9*/) /*AbstractArray::add*/;
   }
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode10*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode10*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode10*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode10*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*listnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*listnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode11*/) /*Array::is_empty*/;
+    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode11*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable23)) { /*if*/
       variable15 =  variable22 /*listnode10*/ /*listnode11=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode11*/,  variable22 /*listnode10*/) /*Array::append*/;
+      ((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*/
@@ -7515,7 +7528,7 @@ void parser___ReduceAction66___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction66___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction66___init, 3659};
+  struct trace_t trace = {NULL, LOCATE_parser, 3664, LOCATE_parser___ReduceAction66___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i] = 1;
@@ -7523,7 +7536,7 @@ void parser___ReduceAction66___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction67___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction67___action, 3663};
+  struct trace_t trace = {NULL, LOCATE_parser, 3668, LOCATE_parser___ReduceAction67___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7570,42 +7583,42 @@ 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[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction67___action, 3680); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3685); nit_exit(1);}
   variable16 =  variable10 /*nodearraylist2*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction67___action, 3682); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3687); nit_exit(1);}
   variable17 =  variable9 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction67___action, 3684); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3689); nit_exit(1);}
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction67___action, 3686); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3691); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*listnode7*/==NIT_NULL) || VAL_ISA( variable19 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction67___action, 3688); nit_exit(1);}
-  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3693); nit_exit(1);}
+  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable20)) { /*if*/
-    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
+    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable20)) { /*if*/
       variable12 =  variable19 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable19 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/,  variable19 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction67___action, 3697); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3702); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/,  variable20 /*ppropdefnode10*/) /*Array::add*/;
+    ((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*/
   variable21 = variable22;
@@ -7616,7 +7629,7 @@ void parser___ReduceAction67___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction67___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction67___init, 3714};
+  struct trace_t trace = {NULL, LOCATE_parser, 3719, LOCATE_parser___ReduceAction67___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i] = 1;
@@ -7624,7 +7637,7 @@ void parser___ReduceAction67___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction68___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction68___action, 3718};
+  struct trace_t trace = {NULL, LOCATE_parser, 3723, LOCATE_parser___ReduceAction68___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7675,53 +7688,53 @@ 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[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction68___action, 3736); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3741); nit_exit(1);}
   variable17 =  variable11 /*nodearraylist2*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction68___action, 3738); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3743); nit_exit(1);}
   variable18 =  variable10 /*nodearraylist3*/;
   variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction68___action, 3740); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3745); nit_exit(1);}
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction68___action, 3742); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3747); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction68___action, 3744); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3749); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/;
+    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable21)) { /*if*/
       variable13 =  variable20 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/,  variable20 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/,  variable20 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction68___action, 3753); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3758); nit_exit(1);}
   variable22 =  variable4 /*nodearraylist9*/;
   variable23 = TAG_Bool(( variable22 /*listnode11*/==NIT_NULL) || VAL_ISA( variable22 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction68___action, 3755); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3760); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/,  variable21 /*ppropdefnode10*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/,  variable21 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*Array::is_empty*/;
+    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable23)) { /*if*/
       variable15 =  variable22 /*listnode11*/ /*listnode12=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/,  variable22 /*listnode11*/) /*Array::append*/;
+      ((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*/
@@ -7733,7 +7746,7 @@ void parser___ReduceAction68___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction68___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction68___init, 3779};
+  struct trace_t trace = {NULL, LOCATE_parser, 3784, LOCATE_parser___ReduceAction68___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i] = 1;
@@ -7741,7 +7754,7 @@ void parser___ReduceAction68___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction69___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction69___action, 3783};
+  struct trace_t trace = {NULL, LOCATE_parser, 3788, LOCATE_parser___ReduceAction69___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7792,45 +7805,45 @@ 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[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction69___action, 3801); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3806); nit_exit(1);}
   variable17 =  variable11 /*nodearraylist2*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction69___action, 3803); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3808); nit_exit(1);}
   variable18 =  variable10 /*nodearraylist3*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction69___action, 3805); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3810); nit_exit(1);}
   variable19 =  variable9 /*nodearraylist4*/;
   variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction69___action, 3807); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3812); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction69___action, 3809); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3814); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*listnode7*/==NIT_NULL) || VAL_ISA( variable21 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction69___action, 3811); nit_exit(1);}
-  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3816); nit_exit(1);}
+  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable22)) { /*if*/
-    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/;
+    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable22)) { /*if*/
       variable13 =  variable21 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/,  variable21 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/,  variable21 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction69___action, 3820); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3825); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/,  variable22 /*ppropdefnode10*/) /*Array::add*/;
+    ((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*/
   variable23 = variable24;
@@ -7841,7 +7854,7 @@ void parser___ReduceAction69___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction69___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction69___init, 3837};
+  struct trace_t trace = {NULL, LOCATE_parser, 3842, LOCATE_parser___ReduceAction69___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i] = 1;
@@ -7849,7 +7862,7 @@ void parser___ReduceAction69___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction70___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction70___action, 3841};
+  struct trace_t trace = {NULL, LOCATE_parser, 3846, LOCATE_parser___ReduceAction70___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7904,56 +7917,56 @@ 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[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable17 = NEW_array___Array___init(); /*new Array[E]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3860); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3865); nit_exit(1);}
   variable18 =  variable12 /*nodearraylist2*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3862); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3867); nit_exit(1);}
   variable19 =  variable11 /*nodearraylist3*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3864); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3869); nit_exit(1);}
   variable20 =  variable10 /*nodearraylist4*/;
   variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3866); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3871); nit_exit(1);}
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3868); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3873); nit_exit(1);}
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*listnode7*/==NIT_NULL) || VAL_ISA( variable22 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3870); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3875); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/;
+    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable23)) { /*if*/
       variable14 =  variable22 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/,  variable22 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/,  variable22 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3879); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3884); nit_exit(1);}
   variable24 =  variable4 /*nodearraylist10*/;
   variable25 = TAG_Bool(( variable24 /*listnode11*/==NIT_NULL) || VAL_ISA( variable24 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction70___action, 3881); nit_exit(1);}
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 3886); nit_exit(1);}
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/,  variable23 /*ppropdefnode10*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/,  variable23 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*Array::is_empty*/;
+    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable25)) { /*if*/
       variable16 =  variable24 /*listnode11*/ /*listnode12=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/,  variable24 /*listnode11*/) /*Array::append*/;
+      ((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*/
@@ -7965,7 +7978,7 @@ void parser___ReduceAction70___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction70___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction70___init, 3905};
+  struct trace_t trace = {NULL, LOCATE_parser, 3910, LOCATE_parser___ReduceAction70___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i] = 1;
@@ -7973,7 +7986,7 @@ void parser___ReduceAction70___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction71___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction71___action, 3909};
+  struct trace_t trace = {NULL, LOCATE_parser, 3914, LOCATE_parser___ReduceAction71___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8020,42 +8033,42 @@ 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[Object]*/
+  variable13 = NEW_array___Array___init(); /*new Array[E]*/
   variable12 = variable13;
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
   variable15 =  variable11 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction71___action, 3926); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 3931); nit_exit(1);}
   variable16 =  variable10 /*nodearraylist2*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction71___action, 3928); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 3933); nit_exit(1);}
   variable17 =  variable9 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction71___action, 3930); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 3935); nit_exit(1);}
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction71___action, 3932); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 3937); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*listnode8*/==NIT_NULL) || VAL_ISA( variable19 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction71___action, 3934); nit_exit(1);}
-  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 3939); nit_exit(1);}
+  variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable20)) { /*if*/
-    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*Array::is_empty*/;
+    variable20 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable20)) { /*if*/
       variable13 =  variable19 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/,  variable19 /*listnode8*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/,  variable19 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction71___action, 3943); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 3948); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/,  variable20 /*ppropdefnode10*/) /*Array::add*/;
+    ((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*/
   variable21 = variable22;
@@ -8066,7 +8079,7 @@ void parser___ReduceAction71___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction71___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction71___init, 3960};
+  struct trace_t trace = {NULL, LOCATE_parser, 3965, LOCATE_parser___ReduceAction71___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i] = 1;
@@ -8074,7 +8087,7 @@ void parser___ReduceAction71___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction72___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction72___action, 3964};
+  struct trace_t trace = {NULL, LOCATE_parser, 3969, LOCATE_parser___ReduceAction72___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8125,53 +8138,53 @@ 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[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction72___action, 3982); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 3987); nit_exit(1);}
   variable17 =  variable11 /*nodearraylist2*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction72___action, 3984); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 3989); nit_exit(1);}
   variable18 =  variable10 /*nodearraylist3*/;
   variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction72___action, 3986); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 3991); nit_exit(1);}
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction72___action, 3988); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 3993); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*listnode8*/==NIT_NULL) || VAL_ISA( variable20 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction72___action, 3990); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 3995); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/;
+    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable21)) { /*if*/
       variable14 =  variable20 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/,  variable20 /*listnode8*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/,  variable20 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction72___action, 3999); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4004); nit_exit(1);}
   variable22 =  variable4 /*nodearraylist9*/;
   variable23 = TAG_Bool(( variable22 /*listnode11*/==NIT_NULL) || VAL_ISA( variable22 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction72___action, 4001); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4006); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/,  variable21 /*ppropdefnode10*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/,  variable21 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*Array::is_empty*/;
+    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable23)) { /*if*/
       variable15 =  variable22 /*listnode11*/ /*listnode12=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/,  variable22 /*listnode11*/) /*Array::append*/;
+      ((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*/
@@ -8183,7 +8196,7 @@ void parser___ReduceAction72___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction72___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction72___init, 4025};
+  struct trace_t trace = {NULL, LOCATE_parser, 4030, LOCATE_parser___ReduceAction72___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i] = 1;
@@ -8191,7 +8204,7 @@ void parser___ReduceAction72___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction73___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction73___action, 4029};
+  struct trace_t trace = {NULL, LOCATE_parser, 4034, LOCATE_parser___ReduceAction73___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8242,45 +8255,45 @@ 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[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction73___action, 4047); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4052); nit_exit(1);}
   variable17 =  variable11 /*nodearraylist2*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction73___action, 4049); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4054); nit_exit(1);}
   variable18 =  variable10 /*nodearraylist3*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction73___action, 4051); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4056); nit_exit(1);}
   variable19 =  variable9 /*nodearraylist4*/;
   variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction73___action, 4053); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4058); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction73___action, 4055); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4060); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*listnode8*/==NIT_NULL) || VAL_ISA( variable21 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction73___action, 4057); nit_exit(1);}
-  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4062); nit_exit(1);}
+  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable22)) { /*if*/
-    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/;
+    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable22)) { /*if*/
       variable14 =  variable21 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/,  variable21 /*listnode8*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/,  variable21 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction73___action, 4066); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4071); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/,  variable22 /*ppropdefnode10*/) /*Array::add*/;
+    ((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*/
   variable23 = variable24;
@@ -8291,7 +8304,7 @@ void parser___ReduceAction73___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction73___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction73___init, 4083};
+  struct trace_t trace = {NULL, LOCATE_parser, 4088, LOCATE_parser___ReduceAction73___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i] = 1;
@@ -8299,7 +8312,7 @@ void parser___ReduceAction73___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction74___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction74___action, 4087};
+  struct trace_t trace = {NULL, LOCATE_parser, 4092, LOCATE_parser___ReduceAction74___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8354,56 +8367,56 @@ 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[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable17 = NEW_array___Array___init(); /*new Array[E]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4106); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4111); nit_exit(1);}
   variable18 =  variable12 /*nodearraylist2*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4108); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4113); nit_exit(1);}
   variable19 =  variable11 /*nodearraylist3*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4110); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4115); nit_exit(1);}
   variable20 =  variable10 /*nodearraylist4*/;
   variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4112); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4117); nit_exit(1);}
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4114); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4119); nit_exit(1);}
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*listnode8*/==NIT_NULL) || VAL_ISA( variable22 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4116); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode8*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4121); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode8*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*listnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*listnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode8*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode9*/) /*Array::is_empty*/;
+    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode9*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable23)) { /*if*/
       variable15 =  variable22 /*listnode8*/ /*listnode9=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode9*/,  variable22 /*listnode8*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode9*/,  variable22 /*listnode8*/) /*IndexedCollection::append*/;
     }
   }
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4125); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4130); nit_exit(1);}
   variable24 =  variable4 /*nodearraylist10*/;
   variable25 = TAG_Bool(( variable24 /*listnode11*/==NIT_NULL) || VAL_ISA( variable24 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction74___action, 4127); nit_exit(1);}
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4132); nit_exit(1);}
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ ==  NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/,  variable23 /*ppropdefnode10*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/,  variable23 /*ppropdefnode10*/) /*AbstractArray::add*/;
   }
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*listnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*Array::is_empty*/;
+    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable25)) { /*if*/
       variable16 =  variable24 /*listnode11*/ /*listnode12=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/,  variable24 /*listnode11*/) /*Array::append*/;
+      ((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*/
@@ -8415,7 +8428,7 @@ void parser___ReduceAction74___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction74___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction74___init, 4151};
+  struct trace_t trace = {NULL, LOCATE_parser, 4156, LOCATE_parser___ReduceAction74___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i] = 1;
@@ -8423,7 +8436,7 @@ void parser___ReduceAction74___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction75___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction75___action, 4155};
+  struct trace_t trace = {NULL, LOCATE_parser, 4160, LOCATE_parser___ReduceAction75___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8474,54 +8487,54 @@ 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[Object]*/
+  variable14 = NEW_array___Array___init(); /*new Array[E]*/
   variable13 = variable14;
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
   variable16 =  variable12 /*nodearraylist1*/;
   variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction75___action, 4173); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4178); nit_exit(1);}
   variable17 =  variable11 /*nodearraylist2*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction75___action, 4175); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4180); nit_exit(1);}
   variable18 =  variable10 /*nodearraylist3*/;
   variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction75___action, 4177); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4182); nit_exit(1);}
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction75___action, 4179); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4184); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction75___action, 4181); nit_exit(1);}
-  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4186); nit_exit(1);}
+  variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable21)) { /*if*/
-    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/;
+    variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable21)) { /*if*/
       variable13 =  variable20 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/,  variable20 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/,  variable20 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*listnode9*/==NIT_NULL) || VAL_ISA( variable21 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction75___action, 4190); nit_exit(1);}
-  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4195); nit_exit(1);}
+  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable22)) { /*if*/
-    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode10*/) /*Array::is_empty*/;
+    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable22)) { /*if*/
       variable14 =  variable21 /*listnode9*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode10*/,  variable21 /*listnode9*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode10*/,  variable21 /*listnode9*/) /*IndexedCollection::append*/;
     }
   }
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction75___action, 4199); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable22 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4204); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable22 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/,  variable22 /*ppropdefnode11*/) /*Array::add*/;
+    ((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*/
   variable23 = variable24;
@@ -8532,7 +8545,7 @@ void parser___ReduceAction75___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction75___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction75___init, 4216};
+  struct trace_t trace = {NULL, LOCATE_parser, 4221, LOCATE_parser___ReduceAction75___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i] = 1;
@@ -8540,7 +8553,7 @@ void parser___ReduceAction75___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction76___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction76___action, 4220};
+  struct trace_t trace = {NULL, LOCATE_parser, 4225, LOCATE_parser___ReduceAction76___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8595,65 +8608,65 @@ 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[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable17 = NEW_array___Array___init(); /*new Array[E]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4239); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4244); nit_exit(1);}
   variable18 =  variable12 /*nodearraylist2*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4241); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4246); nit_exit(1);}
   variable19 =  variable11 /*nodearraylist3*/;
   variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4243); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4248); nit_exit(1);}
   variable20 =  variable9 /*nodearraylist5*/;
   variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4245); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4250); nit_exit(1);}
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*listnode7*/==NIT_NULL) || VAL_ISA( variable21 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4247); nit_exit(1);}
-  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4252); nit_exit(1);}
+  variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable22)) { /*if*/
-    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/;
+    variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable22)) { /*if*/
       variable14 =  variable21 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/,  variable21 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/,  variable21 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*listnode9*/==NIT_NULL) || VAL_ISA( variable22 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4256); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode9*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4261); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*Array::is_empty*/;
+    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable23)) { /*if*/
       variable15 =  variable22 /*listnode9*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/,  variable22 /*listnode9*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/,  variable22 /*listnode9*/) /*IndexedCollection::append*/;
     }
   }
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4265); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4270); nit_exit(1);}
   variable24 =  variable4 /*nodearraylist10*/;
   variable25 = TAG_Bool(( variable24 /*listnode12*/==NIT_NULL) || VAL_ISA( variable24 /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction76___action, 4267); nit_exit(1);}
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable23 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4272); nit_exit(1);}
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable23 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode13*/,  variable23 /*ppropdefnode11*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode13*/,  variable23 /*ppropdefnode11*/) /*AbstractArray::add*/;
   }
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode12*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode12*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode12*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode12*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode12*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*listnode12*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*listnode12*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode12*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode13*/) /*Array::is_empty*/;
+    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode13*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable25)) { /*if*/
       variable16 =  variable24 /*listnode12*/ /*listnode13=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode13*/,  variable24 /*listnode12*/) /*Array::append*/;
+      ((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*/
@@ -8665,7 +8678,7 @@ void parser___ReduceAction76___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction76___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction76___init, 4291};
+  struct trace_t trace = {NULL, LOCATE_parser, 4296, LOCATE_parser___ReduceAction76___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i] = 1;
@@ -8673,7 +8686,7 @@ void parser___ReduceAction76___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction77___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction77___action, 4295};
+  struct trace_t trace = {NULL, LOCATE_parser, 4300, LOCATE_parser___ReduceAction77___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8728,57 +8741,57 @@ 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[Object]*/
+  variable15 = NEW_array___Array___init(); /*new Array[E]*/
   variable14 = variable15;
-  variable16 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable17 = NEW_array___Array___init(); /*new Array[E]*/
   variable16 = variable17;
   variable17 =  variable13 /*nodearraylist1*/;
   variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4314); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4319); nit_exit(1);}
   variable18 =  variable12 /*nodearraylist2*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4316); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4321); nit_exit(1);}
   variable19 =  variable11 /*nodearraylist3*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4318); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4323); nit_exit(1);}
   variable20 =  variable10 /*nodearraylist4*/;
   variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4320); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4325); nit_exit(1);}
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4322); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4327); nit_exit(1);}
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*listnode7*/==NIT_NULL) || VAL_ISA( variable22 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4324); nit_exit(1);}
-  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4329); nit_exit(1);}
+  variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable23)) { /*if*/
-    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/;
+    variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable23)) { /*if*/
       variable14 =  variable22 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/,  variable22 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/,  variable22 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*listnode9*/==NIT_NULL) || VAL_ISA( variable23 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4333); nit_exit(1);}
-  variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable23 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable23 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode9*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4338); nit_exit(1);}
+  variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable23 /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable24)) { /*if*/
-    variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*Array::is_empty*/;
+    variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable24)) { /*if*/
       variable15 =  variable23 /*listnode9*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/,  variable23 /*listnode9*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/,  variable23 /*listnode9*/) /*IndexedCollection::append*/;
     }
   }
   variable24 =  variable5 /*nodearraylist9*/;
   variable25 = TAG_Bool(( variable24 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable24 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction77___action, 4342); nit_exit(1);}
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable24 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4347); nit_exit(1);}
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable24 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/,  variable24 /*ppropdefnode11*/) /*Array::add*/;
+    ((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*/
   variable25 = variable26;
@@ -8789,7 +8802,7 @@ void parser___ReduceAction77___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction77___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction77___init, 4359};
+  struct trace_t trace = {NULL, LOCATE_parser, 4364, LOCATE_parser___ReduceAction77___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i] = 1;
@@ -8797,7 +8810,7 @@ void parser___ReduceAction77___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction78___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction78___action, 4363};
+  struct trace_t trace = {NULL, LOCATE_parser, 4368, LOCATE_parser___ReduceAction78___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8856,68 +8869,68 @@ 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[Object]*/
+  variable16 = NEW_array___Array___init(); /*new Array[E]*/
   variable15 = variable16;
-  variable17 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable17 = NEW_array___Array___init(); /*new Array[E]*/
   variable16 = variable17;
-  variable18 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable18 = NEW_array___Array___init(); /*new Array[E]*/
   variable17 = variable18;
   variable18 =  variable14 /*nodearraylist1*/;
   variable19 = TAG_Bool(( variable18 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable18 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4383); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4388); nit_exit(1);}
   variable19 =  variable13 /*nodearraylist2*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4385); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4390); nit_exit(1);}
   variable20 =  variable12 /*nodearraylist3*/;
   variable21 = TAG_Bool(( variable20 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4387); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4392); nit_exit(1);}
   variable21 =  variable11 /*nodearraylist4*/;
   variable22 = TAG_Bool(( variable21 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable21 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4389); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4394); nit_exit(1);}
   variable22 =  variable9 /*nodearraylist6*/;
   variable23 = TAG_Bool(( variable22 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable22 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4391); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4396); nit_exit(1);}
   variable23 =  variable8 /*nodearraylist7*/;
   variable24 = TAG_Bool(( variable23 /*listnode7*/==NIT_NULL) || VAL_ISA( variable23 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4393); nit_exit(1);}
-  variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable23 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable23 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode7*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4398); nit_exit(1);}
+  variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode7*/ ==  NIT_NULL /*null*/) || (( variable23 /*listnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*listnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*listnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode7*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable24)) { /*if*/
-    variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode8*/) /*Array::is_empty*/;
+    variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode8*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable24)) { /*if*/
       variable15 =  variable23 /*listnode7*/ /*listnode8=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode8*/,  variable23 /*listnode7*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode8*/,  variable23 /*listnode7*/) /*IndexedCollection::append*/;
     }
   }
   variable24 =  variable7 /*nodearraylist8*/;
   variable25 = TAG_Bool(( variable24 /*listnode9*/==NIT_NULL) || VAL_ISA( variable24 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4402); nit_exit(1);}
-  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode9*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4407); nit_exit(1);}
+  variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode9*/ ==  NIT_NULL /*null*/) || (( variable24 /*listnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*listnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*listnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode9*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable25)) { /*if*/
-    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode10*/) /*Array::is_empty*/;
+    variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode10*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable25)) { /*if*/
       variable16 =  variable24 /*listnode9*/ /*listnode10=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode10*/,  variable24 /*listnode9*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode10*/,  variable24 /*listnode9*/) /*IndexedCollection::append*/;
     }
   }
   variable25 =  variable6 /*nodearraylist9*/;
   variable26 = TAG_Bool(( variable25 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable25 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4411); nit_exit(1);}
+  if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4416); nit_exit(1);}
   variable26 =  variable4 /*nodearraylist11*/;
   variable27 = TAG_Bool(( variable26 /*listnode12*/==NIT_NULL) || VAL_ISA( variable26 /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction78___action, 4413); nit_exit(1);}
-  variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable25 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable25 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable25 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable25 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4418); nit_exit(1);}
+  variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable25 /*ppropdefnode11*/ ==  NIT_NULL /*null*/) || (( variable25 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable25 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable25 /*ppropdefnode11*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable27)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable17 /*listnode13*/,  variable25 /*ppropdefnode11*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable17 /*listnode13*/,  variable25 /*ppropdefnode11*/) /*AbstractArray::add*/;
   }
-  variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable26 /*listnode12*/ ==  NIT_NULL /*null*/) || (( variable26 /*listnode12*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable26 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable26 /*listnode12*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable26 /*listnode12*/ ==  NIT_NULL /*null*/) || (( variable26 /*listnode12*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable26 /*listnode12*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable26 /*listnode12*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable26 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable26 /*listnode12*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable27)) { /*if*/
-    variable27 = ((array___AbstractArray___is_empty_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable17 /*listnode13*/) /*Array::is_empty*/;
+    variable27 = ((array___AbstractArray___is_empty_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable17 /*listnode13*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable27)) { /*if*/
       variable17 =  variable26 /*listnode12*/ /*listnode13=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable17 /*listnode13*/,  variable26 /*listnode12*/) /*Array::append*/;
+      ((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*/
@@ -8929,7 +8942,7 @@ void parser___ReduceAction78___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction78___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction78___init, 4437};
+  struct trace_t trace = {NULL, LOCATE_parser, 4442, LOCATE_parser___ReduceAction78___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i] = 1;
@@ -8937,7 +8950,7 @@ void parser___ReduceAction78___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction79___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction79___action, 4441};
+  struct trace_t trace = {NULL, LOCATE_parser, 4446, LOCATE_parser___ReduceAction79___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8951,7 +8964,7 @@ void parser___ReduceAction79___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction79___action, 4446); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pclasskindnode1*/ /*node_list=*/;
@@ -8961,7 +8974,7 @@ void parser___ReduceAction79___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction79___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction79___init, 4453};
+  struct trace_t trace = {NULL, LOCATE_parser, 4458, LOCATE_parser___ReduceAction79___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i] = 1;
@@ -8969,7 +8982,7 @@ void parser___ReduceAction79___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction80___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction80___action, 4457};
+  struct trace_t trace = {NULL, LOCATE_parser, 4462, LOCATE_parser___ReduceAction80___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8987,10 +9000,10 @@ void parser___ReduceAction80___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwabstractnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwabstractnode2*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction80___action, 4463); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4468); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction80___action, 4465); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pclasskindnode1*/ /*node_list=*/;
@@ -9000,7 +9013,7 @@ void parser___ReduceAction80___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction80___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction80___init, 4473};
+  struct trace_t trace = {NULL, LOCATE_parser, 4478, LOCATE_parser___ReduceAction80___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i] = 1;
@@ -9008,7 +9021,7 @@ void parser___ReduceAction80___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction81___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction81___action, 4477};
+  struct trace_t trace = {NULL, LOCATE_parser, 4482, LOCATE_parser___ReduceAction81___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9022,7 +9035,7 @@ void parser___ReduceAction81___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction81___action, 4482); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pclasskindnode1*/ /*node_list=*/;
@@ -9032,7 +9045,7 @@ void parser___ReduceAction81___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction81___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction81___init, 4489};
+  struct trace_t trace = {NULL, LOCATE_parser, 4494, LOCATE_parser___ReduceAction81___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i] = 1;
@@ -9040,7 +9053,7 @@ void parser___ReduceAction81___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction82___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction82___action, 4493};
+  struct trace_t trace = {NULL, LOCATE_parser, 4498, LOCATE_parser___ReduceAction82___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9054,7 +9067,7 @@ void parser___ReduceAction82___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction82___action, 4498); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pclasskindnode1*/ /*node_list=*/;
@@ -9064,7 +9077,7 @@ void parser___ReduceAction82___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction82___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction82___init, 4505};
+  struct trace_t trace = {NULL, LOCATE_parser, 4510, LOCATE_parser___ReduceAction82___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i] = 1;
@@ -9072,7 +9085,7 @@ void parser___ReduceAction82___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction83___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction83___action, 4509};
+  struct trace_t trace = {NULL, LOCATE_parser, 4514, LOCATE_parser___ReduceAction83___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9096,14 +9109,14 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction83___action, 4519); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pformaldefnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pformaldefnode1*/,  NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction83___action, LOCATE_parser, 4524); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pformaldefnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pformaldefnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pformaldefnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pformaldefnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable7 /*listnode2*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(7)) /*Parser::go_to*/;
@@ -9112,7 +9125,7 @@ void parser___ReduceAction83___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction83___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction83___init, 4526};
+  struct trace_t trace = {NULL, LOCATE_parser, 4531, LOCATE_parser___ReduceAction83___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i] = 1;
@@ -9120,7 +9133,7 @@ void parser___ReduceAction83___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction84___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction84___action, 4530};
+  struct trace_t trace = {NULL, LOCATE_parser, 4535, LOCATE_parser___ReduceAction84___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9148,25 +9161,25 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction84___action, 4541); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4546); nit_exit(1);}
   variable10 =  variable4 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction84___action, 4543); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pformaldefnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pformaldefnode1*/,  NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4548); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pformaldefnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pformaldefnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pformaldefnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pformaldefnode1*/) /*AbstractArray::add*/;
   }
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable8 /*listnode3*/ /*node_list=*/;
@@ -9176,7 +9189,7 @@ void parser___ReduceAction84___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction84___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction84___init, 4557};
+  struct trace_t trace = {NULL, LOCATE_parser, 4562, LOCATE_parser___ReduceAction84___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i] = 1;
@@ -9184,7 +9197,7 @@ void parser___ReduceAction84___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction85___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction85___action, 4561};
+  struct trace_t trace = {NULL, LOCATE_parser, 4566, LOCATE_parser___ReduceAction85___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9203,7 +9216,7 @@ void parser___ReduceAction85___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist3*/;
   variable6 = TAG_Bool(( variable5 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction85___action, 4568); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction85___action, LOCATE_parser, 4573); nit_exit(1);}
   variable1 =  variable5 /*pformaldefnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(8)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
@@ -9211,7 +9224,7 @@ void parser___ReduceAction85___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction85___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction85___init, 4572};
+  struct trace_t trace = {NULL, LOCATE_parser, 4577, LOCATE_parser___ReduceAction85___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i] = 1;
@@ -9219,7 +9232,7 @@ void parser___ReduceAction85___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction86___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction86___action, 4576};
+  struct trace_t trace = {NULL, LOCATE_parser, 4581, LOCATE_parser___ReduceAction86___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9233,7 +9246,7 @@ void parser___ReduceAction86___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction86___action, 4581); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pformaldefnode1*/ /*node_list=*/;
@@ -9243,7 +9256,7 @@ void parser___ReduceAction86___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction86___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction86___init, 4589};
+  struct trace_t trace = {NULL, LOCATE_parser, 4594, LOCATE_parser___ReduceAction86___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i] = 1;
@@ -9251,7 +9264,7 @@ void parser___ReduceAction86___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction87___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction87___action, 4593};
+  struct trace_t trace = {NULL, LOCATE_parser, 4598, LOCATE_parser___ReduceAction87___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9269,10 +9282,10 @@ void parser___ReduceAction87___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*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 (%s: %d)\n", "", LOCATE_parser___ReduceAction87___action, 4599); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4604); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction87___action, 4601); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pformaldefnode1*/ /*node_list=*/;
@@ -9282,7 +9295,7 @@ void parser___ReduceAction87___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction87___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction87___init, 4609};
+  struct trace_t trace = {NULL, LOCATE_parser, 4614, LOCATE_parser___ReduceAction87___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i] = 1;
@@ -9290,7 +9303,7 @@ void parser___ReduceAction87___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction88___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction88___action, 4613};
+  struct trace_t trace = {NULL, LOCATE_parser, 4618, LOCATE_parser___ReduceAction88___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9314,10 +9327,10 @@ void parser___ReduceAction88___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*tkwspecialnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tkwspecialnode2*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction88___action, 4621); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4626); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction88___action, 4623); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*psuperclassnode1*/ /*node_list=*/;
@@ -9327,7 +9340,7 @@ void parser___ReduceAction88___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction88___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction88___init, 4631};
+  struct trace_t trace = {NULL, LOCATE_parser, 4636, LOCATE_parser___ReduceAction88___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i] = 1;
@@ -9335,7 +9348,7 @@ void parser___ReduceAction88___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction89___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction89___action, 4635};
+  struct trace_t trace = {NULL, LOCATE_parser, 4640, LOCATE_parser___ReduceAction89___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9351,7 +9364,7 @@ void parser___ReduceAction89___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction89___action, 4641); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction89___action, LOCATE_parser, 4646); nit_exit(1);}
   variable1 =  variable4 /*ppropdefnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(11)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5,  variable1 /*node_list*/) /*Parser::push*/;
@@ -9359,7 +9372,7 @@ void parser___ReduceAction89___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction89___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction89___init, 4645};
+  struct trace_t trace = {NULL, LOCATE_parser, 4650, LOCATE_parser___ReduceAction89___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i] = 1;
@@ -9367,7 +9380,7 @@ void parser___ReduceAction89___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction90___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction90___action, 4649};
+  struct trace_t trace = {NULL, LOCATE_parser, 4654, LOCATE_parser___ReduceAction90___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9403,26 +9416,26 @@ void parser___ReduceAction90___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction90___action, 4659); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4664); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction90___action, 4661); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction90___action, 4667); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable4 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction90___action, 4673); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4678); nit_exit(1);}
   variable14 =  variable3 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction90___action, 4675); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4680); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction90___action, 4677); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -9432,7 +9445,7 @@ void parser___ReduceAction90___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction90___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction90___init, 4692};
+  struct trace_t trace = {NULL, LOCATE_parser, 4697, LOCATE_parser___ReduceAction90___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i] = 1;
@@ -9440,7 +9453,7 @@ void parser___ReduceAction90___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction91___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction91___action, 4696};
+  struct trace_t trace = {NULL, LOCATE_parser, 4701, LOCATE_parser___ReduceAction91___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9480,29 +9493,29 @@ void parser___ReduceAction91___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction91___action, 4707); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4712); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction91___action, 4709); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction91___action, 4715); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4720); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction91___action, 4717); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable4 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction91___action, 4723); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4728); nit_exit(1);}
   variable16 =  variable3 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction91___action, 4725); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4730); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction91___action, 4727); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -9512,7 +9525,7 @@ void parser___ReduceAction91___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction91___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction91___init, 4742};
+  struct trace_t trace = {NULL, LOCATE_parser, 4747, LOCATE_parser___ReduceAction91___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i] = 1;
@@ -9520,7 +9533,7 @@ void parser___ReduceAction91___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction92___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction92___action, 4746};
+  struct trace_t trace = {NULL, LOCATE_parser, 4751, LOCATE_parser___ReduceAction92___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9551,21 +9564,21 @@ void parser___ReduceAction92___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable7 =  variable6 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction92___action, 4755); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4760); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction92___action, 4757); nit_exit(1);}
+  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*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction92___action, 4763); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4768); nit_exit(1);}
   variable11 =  variable3 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction92___action, 4765); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4770); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction92___action, 4767); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable1 =  variable13 /*ppropdefnode1*/ /*node_list=*/;
@@ -9575,7 +9588,7 @@ void parser___ReduceAction92___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction92___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction92___init, 4782};
+  struct trace_t trace = {NULL, LOCATE_parser, 4787, LOCATE_parser___ReduceAction92___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i] = 1;
@@ -9583,7 +9596,7 @@ void parser___ReduceAction92___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction93___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction93___action, 4786};
+  struct trace_t trace = {NULL, LOCATE_parser, 4791, LOCATE_parser___ReduceAction93___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9623,29 +9636,29 @@ void parser___ReduceAction93___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction93___action, 4797); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4802); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction93___action, 4799); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4804); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction93___action, 4801); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction93___action, 4807); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable4 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction93___action, 4813); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4818); nit_exit(1);}
   variable16 =  variable3 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction93___action, 4815); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4820); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction93___action, 4817); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -9655,7 +9668,7 @@ void parser___ReduceAction93___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction93___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction93___init, 4832};
+  struct trace_t trace = {NULL, LOCATE_parser, 4837, LOCATE_parser___ReduceAction93___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i] = 1;
@@ -9663,7 +9676,7 @@ void parser___ReduceAction93___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction94___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction94___action, 4836};
+  struct trace_t trace = {NULL, LOCATE_parser, 4841, LOCATE_parser___ReduceAction94___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9707,32 +9720,32 @@ void parser___ReduceAction94___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4848); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4853); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4850); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4855); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4852); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4858); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4863); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4860); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4866); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4871); nit_exit(1);}
   variable18 =  variable3 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4868); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4873); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction94___action, 4870); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
@@ -9742,7 +9755,7 @@ void parser___ReduceAction94___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction94___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction94___init, 4885};
+  struct trace_t trace = {NULL, LOCATE_parser, 4890, LOCATE_parser___ReduceAction94___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i] = 1;
@@ -9750,7 +9763,7 @@ void parser___ReduceAction94___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction95___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction95___action, 4889};
+  struct trace_t trace = {NULL, LOCATE_parser, 4894, LOCATE_parser___ReduceAction95___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9785,24 +9798,24 @@ void parser___ReduceAction95___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction95___action, 4899); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4904); nit_exit(1);}
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction95___action, 4901); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4906); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction95___action, 4903); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction95___action, 4909); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4914); nit_exit(1);}
   variable13 =  variable3 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction95___action, 4911); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 4916); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction95___action, 4913); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
@@ -9812,7 +9825,7 @@ void parser___ReduceAction95___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction95___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction95___init, 4928};
+  struct trace_t trace = {NULL, LOCATE_parser, 4933, LOCATE_parser___ReduceAction95___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i] = 1;
@@ -9820,7 +9833,7 @@ void parser___ReduceAction95___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction96___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction96___action, 4932};
+  struct trace_t trace = {NULL, LOCATE_parser, 4937, LOCATE_parser___ReduceAction96___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9851,21 +9864,21 @@ void parser___ReduceAction96___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable7 =  variable6 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction96___action, 4941); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 4946); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction96___action, 4943); nit_exit(1);}
+  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*/
   variable9 = variable10;
   variable10 =  variable4 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction96___action, 4949); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 4954); nit_exit(1);}
   variable11 =  variable3 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction96___action, 4951); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 4956); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction96___action, 4953); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable1 =  variable13 /*ppropdefnode1*/ /*node_list=*/;
@@ -9875,7 +9888,7 @@ void parser___ReduceAction96___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction96___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction96___init, 4968};
+  struct trace_t trace = {NULL, LOCATE_parser, 4973, LOCATE_parser___ReduceAction96___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i] = 1;
@@ -9883,7 +9896,7 @@ void parser___ReduceAction96___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction97___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction97___action, 4972};
+  struct trace_t trace = {NULL, LOCATE_parser, 4977, LOCATE_parser___ReduceAction97___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9918,24 +9931,24 @@ void parser___ReduceAction97___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction97___action, 4982); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 4987); nit_exit(1);}
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction97___action, 4984); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 4989); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction97___action, 4986); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction97___action, 4992); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 4997); nit_exit(1);}
   variable13 =  variable3 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction97___action, 4994); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 4999); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction97___action, 4996); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
@@ -9945,7 +9958,7 @@ void parser___ReduceAction97___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction97___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction97___init, 5011};
+  struct trace_t trace = {NULL, LOCATE_parser, 5016, LOCATE_parser___ReduceAction97___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i] = 1;
@@ -9953,7 +9966,7 @@ void parser___ReduceAction97___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction98___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction98___action, 5015};
+  struct trace_t trace = {NULL, LOCATE_parser, 5020, LOCATE_parser___ReduceAction98___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9979,16 +9992,16 @@ void parser___ReduceAction98___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction98___action, 5023); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5028); nit_exit(1);}
   variable7 =  variable4 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable7 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction98___action, 5025); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5030); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable8 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction98___action, 5027); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5032); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction98___action, 5029); nit_exit(1);}
+  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*/
   variable10 = variable11;
   variable1 =  variable10 /*ppropdefnode1*/ /*node_list=*/;
@@ -9998,7 +10011,7 @@ void parser___ReduceAction98___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction98___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction98___init, 5044};
+  struct trace_t trace = {NULL, LOCATE_parser, 5049, LOCATE_parser___ReduceAction98___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i] = 1;
@@ -10006,7 +10019,7 @@ void parser___ReduceAction98___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction99___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction99___action, 5048};
+  struct trace_t trace = {NULL, LOCATE_parser, 5053, LOCATE_parser___ReduceAction99___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10046,29 +10059,29 @@ void parser___ReduceAction99___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction99___action, 5059); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5064); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction99___action, 5061); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction99___action, 5067); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable5 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction99___action, 5073); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5078); nit_exit(1);}
   variable15 =  variable4 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction99___action, 5075); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5080); nit_exit(1);}
   variable16 =  variable3 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction99___action, 5077); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5082); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction99___action, 5079); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -10078,7 +10091,7 @@ void parser___ReduceAction99___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction99___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction99___init, 5094};
+  struct trace_t trace = {NULL, LOCATE_parser, 5099, LOCATE_parser___ReduceAction99___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i] = 1;
@@ -10086,7 +10099,7 @@ void parser___ReduceAction99___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction100___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction100___action, 5098};
+  struct trace_t trace = {NULL, LOCATE_parser, 5103, LOCATE_parser___ReduceAction100___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10130,32 +10143,32 @@ void parser___ReduceAction100___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5110); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5115); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5112); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5118); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5123); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5120); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5126); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5131); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5128); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5133); nit_exit(1);}
   variable18 =  variable3 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5130); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5135); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction100___action, 5132); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
@@ -10165,7 +10178,7 @@ void parser___ReduceAction100___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction100___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction100___init, 5147};
+  struct trace_t trace = {NULL, LOCATE_parser, 5152, LOCATE_parser___ReduceAction100___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i] = 1;
@@ -10173,7 +10186,7 @@ void parser___ReduceAction100___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction101___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction101___action, 5151};
+  struct trace_t trace = {NULL, LOCATE_parser, 5156, LOCATE_parser___ReduceAction101___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10208,24 +10221,24 @@ void parser___ReduceAction101___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction101___action, 5161); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5166); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction101___action, 5163); nit_exit(1);}
+  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*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction101___action, 5169); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5174); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction101___action, 5171); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5176); nit_exit(1);}
   variable13 =  variable3 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction101___action, 5173); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5178); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction101___action, 5175); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
@@ -10235,7 +10248,7 @@ void parser___ReduceAction101___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction101___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction101___init, 5190};
+  struct trace_t trace = {NULL, LOCATE_parser, 5195, LOCATE_parser___ReduceAction101___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i] = 1;
@@ -10243,7 +10256,7 @@ void parser___ReduceAction101___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction102___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction102___action, 5194};
+  struct trace_t trace = {NULL, LOCATE_parser, 5199, LOCATE_parser___ReduceAction102___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10287,32 +10300,32 @@ void parser___ReduceAction102___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5206); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5211); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5208); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5213); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5210); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5216); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5222); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5227); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5224); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5229); nit_exit(1);}
   variable18 =  variable3 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5226); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5231); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction102___action, 5228); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
@@ -10322,7 +10335,7 @@ void parser___ReduceAction102___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction102___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction102___init, 5243};
+  struct trace_t trace = {NULL, LOCATE_parser, 5248, LOCATE_parser___ReduceAction102___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i] = 1;
@@ -10330,7 +10343,7 @@ void parser___ReduceAction102___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction103___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction103___action, 5247};
+  struct trace_t trace = {NULL, LOCATE_parser, 5252, LOCATE_parser___ReduceAction103___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10378,35 +10391,35 @@ void parser___ReduceAction103___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5260); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5265); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5262); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5267); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5264); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5270); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5275); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5272); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5278); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5283); nit_exit(1);}
   variable19 =  variable4 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5280); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5285); nit_exit(1);}
   variable20 =  variable3 /*nodearraylist8*/;
   variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5282); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5287); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction103___action, 5284); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -10416,7 +10429,7 @@ void parser___ReduceAction103___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction103___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction103___init, 5299};
+  struct trace_t trace = {NULL, LOCATE_parser, 5304, LOCATE_parser___ReduceAction103___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i] = 1;
@@ -10424,7 +10437,7 @@ void parser___ReduceAction103___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction104___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction104___action, 5303};
+  struct trace_t trace = {NULL, LOCATE_parser, 5308, LOCATE_parser___ReduceAction104___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10463,27 +10476,27 @@ void parser___ReduceAction104___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction104___action, 5314); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5319); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction104___action, 5316); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5321); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction104___action, 5318); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction104___action, 5324); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5329); nit_exit(1);}
   variable14 =  variable4 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction104___action, 5326); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5331); nit_exit(1);}
   variable15 =  variable3 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction104___action, 5328); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5333); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction104___action, 5330); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -10493,7 +10506,7 @@ void parser___ReduceAction104___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction104___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction104___init, 5345};
+  struct trace_t trace = {NULL, LOCATE_parser, 5350, LOCATE_parser___ReduceAction104___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i] = 1;
@@ -10501,7 +10514,7 @@ void parser___ReduceAction104___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction105___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction105___action, 5349};
+  struct trace_t trace = {NULL, LOCATE_parser, 5354, LOCATE_parser___ReduceAction105___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10536,24 +10549,24 @@ void parser___ReduceAction105___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction105___action, 5359); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5364); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction105___action, 5361); nit_exit(1);}
+  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*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction105___action, 5367); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5372); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction105___action, 5369); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5374); nit_exit(1);}
   variable13 =  variable3 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction105___action, 5371); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5376); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction105___action, 5373); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
@@ -10563,7 +10576,7 @@ void parser___ReduceAction105___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction105___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction105___init, 5388};
+  struct trace_t trace = {NULL, LOCATE_parser, 5393, LOCATE_parser___ReduceAction105___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i] = 1;
@@ -10571,7 +10584,7 @@ void parser___ReduceAction105___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction106___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction106___action, 5392};
+  struct trace_t trace = {NULL, LOCATE_parser, 5397, LOCATE_parser___ReduceAction106___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10610,27 +10623,27 @@ void parser___ReduceAction106___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction106___action, 5403); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5408); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction106___action, 5405); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5410); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction106___action, 5407); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction106___action, 5413); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5418); nit_exit(1);}
   variable14 =  variable4 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction106___action, 5415); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5420); nit_exit(1);}
   variable15 =  variable3 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction106___action, 5417); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5422); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction106___action, 5419); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -10640,7 +10653,7 @@ void parser___ReduceAction106___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction106___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction106___init, 5434};
+  struct trace_t trace = {NULL, LOCATE_parser, 5439, LOCATE_parser___ReduceAction106___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i] = 1;
@@ -10648,7 +10661,7 @@ void parser___ReduceAction106___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction107___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction107___action, 5438};
+  struct trace_t trace = {NULL, LOCATE_parser, 5443, LOCATE_parser___ReduceAction107___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10678,19 +10691,19 @@ void parser___ReduceAction107___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable7 =  variable6 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction107___action, 5447); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5452); nit_exit(1);}
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction107___action, 5449); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5454); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable9 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction107___action, 5451); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5456); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable10 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction107___action, 5453); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5458); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction107___action, 5455); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*ppropdefnode1*/ /*node_list=*/;
@@ -10700,7 +10713,7 @@ void parser___ReduceAction107___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction107___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction107___init, 5470};
+  struct trace_t trace = {NULL, LOCATE_parser, 5475, LOCATE_parser___ReduceAction107___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i] = 1;
@@ -10708,7 +10721,7 @@ void parser___ReduceAction107___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction108___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction108___action, 5474};
+  struct trace_t trace = {NULL, LOCATE_parser, 5479, LOCATE_parser___ReduceAction108___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10748,29 +10761,29 @@ void parser___ReduceAction108___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction108___action, 5485); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5490); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction108___action, 5487); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction108___action, 5493); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable5 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction108___action, 5499); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5504); nit_exit(1);}
   variable15 =  variable4 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction108___action, 5501); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5506); nit_exit(1);}
   variable16 =  variable3 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction108___action, 5503); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5508); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction108___action, 5505); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -10780,7 +10793,7 @@ void parser___ReduceAction108___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction108___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction108___init, 5520};
+  struct trace_t trace = {NULL, LOCATE_parser, 5525, LOCATE_parser___ReduceAction108___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i] = 1;
@@ -10788,7 +10801,7 @@ void parser___ReduceAction108___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction109___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction109___action, 5524};
+  struct trace_t trace = {NULL, LOCATE_parser, 5529, LOCATE_parser___ReduceAction109___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10832,32 +10845,32 @@ void parser___ReduceAction109___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5536); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5541); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5538); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5544); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5549); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5546); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5552); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5557); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5554); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5559); nit_exit(1);}
   variable18 =  variable3 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5556); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5561); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction109___action, 5558); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
@@ -10867,7 +10880,7 @@ void parser___ReduceAction109___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction109___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction109___init, 5573};
+  struct trace_t trace = {NULL, LOCATE_parser, 5578, LOCATE_parser___ReduceAction109___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i] = 1;
@@ -10875,7 +10888,7 @@ void parser___ReduceAction109___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction110___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction110___action, 5577};
+  struct trace_t trace = {NULL, LOCATE_parser, 5582, LOCATE_parser___ReduceAction110___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10910,24 +10923,24 @@ void parser___ReduceAction110___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction110___action, 5587); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5592); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction110___action, 5589); nit_exit(1);}
+  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*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction110___action, 5595); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5600); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction110___action, 5597); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5602); nit_exit(1);}
   variable13 =  variable3 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction110___action, 5599); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5604); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction110___action, 5601); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
@@ -10937,7 +10950,7 @@ void parser___ReduceAction110___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction110___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction110___init, 5616};
+  struct trace_t trace = {NULL, LOCATE_parser, 5621, LOCATE_parser___ReduceAction110___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i] = 1;
@@ -10945,7 +10958,7 @@ void parser___ReduceAction110___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction111___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction111___action, 5620};
+  struct trace_t trace = {NULL, LOCATE_parser, 5625, LOCATE_parser___ReduceAction111___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10989,32 +11002,32 @@ void parser___ReduceAction111___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5632); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5637); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5634); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5639); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5636); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5642); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5648); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5653); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5650); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5655); nit_exit(1);}
   variable18 =  variable3 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5652); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5657); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction111___action, 5654); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
@@ -11024,7 +11037,7 @@ void parser___ReduceAction111___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction111___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction111___init, 5669};
+  struct trace_t trace = {NULL, LOCATE_parser, 5674, LOCATE_parser___ReduceAction111___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i] = 1;
@@ -11032,7 +11045,7 @@ void parser___ReduceAction111___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction112___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction112___action, 5673};
+  struct trace_t trace = {NULL, LOCATE_parser, 5678, LOCATE_parser___ReduceAction112___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11080,35 +11093,35 @@ void parser___ReduceAction112___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5686); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5691); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5688); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5693); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5690); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5696); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5701); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5698); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5704); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5709); nit_exit(1);}
   variable19 =  variable4 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5706); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5711); nit_exit(1);}
   variable20 =  variable3 /*nodearraylist8*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5708); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5713); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction112___action, 5710); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -11118,7 +11131,7 @@ void parser___ReduceAction112___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction112___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction112___init, 5725};
+  struct trace_t trace = {NULL, LOCATE_parser, 5730, LOCATE_parser___ReduceAction112___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i] = 1;
@@ -11126,7 +11139,7 @@ void parser___ReduceAction112___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction113___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction113___action, 5729};
+  struct trace_t trace = {NULL, LOCATE_parser, 5734, LOCATE_parser___ReduceAction113___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11165,27 +11178,27 @@ void parser___ReduceAction113___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction113___action, 5740); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5745); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction113___action, 5742); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5747); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction113___action, 5744); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction113___action, 5750); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5755); nit_exit(1);}
   variable14 =  variable4 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction113___action, 5752); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5757); nit_exit(1);}
   variable15 =  variable3 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction113___action, 5754); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5759); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction113___action, 5756); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -11195,7 +11208,7 @@ void parser___ReduceAction113___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction113___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction113___init, 5771};
+  struct trace_t trace = {NULL, LOCATE_parser, 5776, LOCATE_parser___ReduceAction113___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i] = 1;
@@ -11203,7 +11216,7 @@ void parser___ReduceAction113___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction114___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction114___action, 5775};
+  struct trace_t trace = {NULL, LOCATE_parser, 5780, LOCATE_parser___ReduceAction114___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11238,24 +11251,24 @@ void parser___ReduceAction114___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction114___action, 5785); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5790); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction114___action, 5787); nit_exit(1);}
+  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*/
   variable10 = variable11;
   variable11 =  variable5 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction114___action, 5793); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5798); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction114___action, 5795); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5800); nit_exit(1);}
   variable13 =  variable3 /*nodearraylist5*/;
   variable14 = TAG_Bool(( variable13 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction114___action, 5797); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5802); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction114___action, 5799); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
@@ -11265,7 +11278,7 @@ void parser___ReduceAction114___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction114___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction114___init, 5814};
+  struct trace_t trace = {NULL, LOCATE_parser, 5819, LOCATE_parser___ReduceAction114___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i] = 1;
@@ -11273,7 +11286,7 @@ void parser___ReduceAction114___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction115___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction115___action, 5818};
+  struct trace_t trace = {NULL, LOCATE_parser, 5823, LOCATE_parser___ReduceAction115___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11312,27 +11325,27 @@ void parser___ReduceAction115___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction115___action, 5829); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5834); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction115___action, 5831); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5836); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction115___action, 5833); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction115___action, 5839); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5844); nit_exit(1);}
   variable14 =  variable4 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction115___action, 5841); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5846); nit_exit(1);}
   variable15 =  variable3 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction115___action, 5843); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5848); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction115___action, 5845); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -11342,7 +11355,7 @@ void parser___ReduceAction115___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction115___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction115___init, 5860};
+  struct trace_t trace = {NULL, LOCATE_parser, 5865, LOCATE_parser___ReduceAction115___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i] = 1;
@@ -11350,7 +11363,7 @@ void parser___ReduceAction115___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction116___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction116___action, 5864};
+  struct trace_t trace = {NULL, LOCATE_parser, 5869, LOCATE_parser___ReduceAction116___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11380,19 +11393,19 @@ void parser___ReduceAction116___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable7 =  variable6 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction116___action, 5873); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5878); nit_exit(1);}
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction116___action, 5875); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5880); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable9 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction116___action, 5877); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5882); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable10 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction116___action, 5879); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5884); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction116___action, 5881); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*ppropdefnode1*/ /*node_list=*/;
@@ -11402,7 +11415,7 @@ void parser___ReduceAction116___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction116___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction116___init, 5896};
+  struct trace_t trace = {NULL, LOCATE_parser, 5901, LOCATE_parser___ReduceAction116___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i] = 1;
@@ -11410,7 +11423,7 @@ void parser___ReduceAction116___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction117___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction117___action, 5900};
+  struct trace_t trace = {NULL, LOCATE_parser, 5905, LOCATE_parser___ReduceAction117___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11454,32 +11467,32 @@ void parser___ReduceAction117___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5912); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5917); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5914); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5920); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable6 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5926); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5931); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5928); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5933); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5930); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5935); nit_exit(1);}
   variable18 =  variable3 /*nodearraylist7*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5932); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 5937); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction117___action, 5934); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
@@ -11489,7 +11502,7 @@ void parser___ReduceAction117___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction117___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction117___init, 5949};
+  struct trace_t trace = {NULL, LOCATE_parser, 5954, LOCATE_parser___ReduceAction117___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i] = 1;
@@ -11497,7 +11510,7 @@ void parser___ReduceAction117___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction118___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction118___action, 5953};
+  struct trace_t trace = {NULL, LOCATE_parser, 5958, LOCATE_parser___ReduceAction118___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11545,35 +11558,35 @@ void parser___ReduceAction118___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5966); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5971); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5968); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5974); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5979); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5976); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable6 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5982); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5987); nit_exit(1);}
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5984); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5989); nit_exit(1);}
   variable19 =  variable4 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5986); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5991); nit_exit(1);}
   variable20 =  variable3 /*nodearraylist8*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5988); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 5993); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction118___action, 5990); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -11583,7 +11596,7 @@ void parser___ReduceAction118___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction118___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction118___init, 6005};
+  struct trace_t trace = {NULL, LOCATE_parser, 6010, LOCATE_parser___ReduceAction118___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i] = 1;
@@ -11591,7 +11604,7 @@ void parser___ReduceAction118___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction119___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction119___action, 6009};
+  struct trace_t trace = {NULL, LOCATE_parser, 6014, LOCATE_parser___ReduceAction119___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11630,27 +11643,27 @@ void parser___ReduceAction119___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction119___action, 6020); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6025); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction119___action, 6022); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction119___action, 6028); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6033); nit_exit(1);}
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction119___action, 6030); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6035); nit_exit(1);}
   variable14 =  variable4 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction119___action, 6032); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6037); nit_exit(1);}
   variable15 =  variable3 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction119___action, 6034); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6039); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction119___action, 6036); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -11660,7 +11673,7 @@ void parser___ReduceAction119___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction119___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction119___init, 6051};
+  struct trace_t trace = {NULL, LOCATE_parser, 6056, LOCATE_parser___ReduceAction119___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i] = 1;
@@ -11668,7 +11681,7 @@ void parser___ReduceAction119___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction120___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction120___action, 6055};
+  struct trace_t trace = {NULL, LOCATE_parser, 6060, LOCATE_parser___ReduceAction120___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11716,35 +11729,35 @@ void parser___ReduceAction120___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6068); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6073); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6070); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6075); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6072); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6078); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable6 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6084); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6089); nit_exit(1);}
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6086); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6091); nit_exit(1);}
   variable19 =  variable4 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6088); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6093); nit_exit(1);}
   variable20 =  variable3 /*nodearraylist8*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6090); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6095); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction120___action, 6092); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -11754,7 +11767,7 @@ void parser___ReduceAction120___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction120___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction120___init, 6107};
+  struct trace_t trace = {NULL, LOCATE_parser, 6112, LOCATE_parser___ReduceAction120___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i] = 1;
@@ -11762,7 +11775,7 @@ void parser___ReduceAction120___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction121___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction121___action, 6111};
+  struct trace_t trace = {NULL, LOCATE_parser, 6116, LOCATE_parser___ReduceAction121___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11814,38 +11827,38 @@ void parser___ReduceAction121___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6125); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6130); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6127); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6132); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6129); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6135); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6140); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6137); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6143); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6148); nit_exit(1);}
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6145); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6150); nit_exit(1);}
   variable21 =  variable4 /*nodearraylist8*/;
   variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6147); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6152); nit_exit(1);}
   variable22 =  variable3 /*nodearraylist9*/;
   variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6149); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6154); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction121___action, 6151); nit_exit(1);}
+  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*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
@@ -11855,7 +11868,7 @@ void parser___ReduceAction121___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction121___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction121___init, 6166};
+  struct trace_t trace = {NULL, LOCATE_parser, 6171, LOCATE_parser___ReduceAction121___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i] = 1;
@@ -11863,7 +11876,7 @@ void parser___ReduceAction121___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction122___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction122___action, 6170};
+  struct trace_t trace = {NULL, LOCATE_parser, 6175, LOCATE_parser___ReduceAction122___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11906,30 +11919,30 @@ void parser___ReduceAction122___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6182); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6187); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6184); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6189); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6186); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6192); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6197); nit_exit(1);}
   variable15 =  variable5 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6194); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6199); nit_exit(1);}
   variable16 =  variable4 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6196); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6201); nit_exit(1);}
   variable17 =  variable3 /*nodearraylist7*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6198); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6203); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction122___action, 6200); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -11939,7 +11952,7 @@ void parser___ReduceAction122___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction122___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction122___init, 6215};
+  struct trace_t trace = {NULL, LOCATE_parser, 6220, LOCATE_parser___ReduceAction122___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i] = 1;
@@ -11947,7 +11960,7 @@ void parser___ReduceAction122___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction123___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction123___action, 6219};
+  struct trace_t trace = {NULL, LOCATE_parser, 6224, LOCATE_parser___ReduceAction123___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11986,27 +11999,27 @@ void parser___ReduceAction123___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction123___action, 6230); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6235); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction123___action, 6232); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable12 =  variable6 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction123___action, 6238); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6243); nit_exit(1);}
   variable13 =  variable5 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction123___action, 6240); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6245); nit_exit(1);}
   variable14 =  variable4 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction123___action, 6242); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6247); nit_exit(1);}
   variable15 =  variable3 /*nodearraylist6*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction123___action, 6244); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6249); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction123___action, 6246); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -12016,7 +12029,7 @@ void parser___ReduceAction123___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction123___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction123___init, 6261};
+  struct trace_t trace = {NULL, LOCATE_parser, 6266, LOCATE_parser___ReduceAction123___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i] = 1;
@@ -12024,7 +12037,7 @@ void parser___ReduceAction123___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction124___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction124___action, 6265};
+  struct trace_t trace = {NULL, LOCATE_parser, 6270, LOCATE_parser___ReduceAction124___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12067,30 +12080,30 @@ void parser___ReduceAction124___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6277); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6282); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6279); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6284); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6281); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6287); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6292); nit_exit(1);}
   variable15 =  variable5 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6289); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6294); nit_exit(1);}
   variable16 =  variable4 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6291); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6296); nit_exit(1);}
   variable17 =  variable3 /*nodearraylist7*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6293); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6298); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction124___action, 6295); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -12100,7 +12113,7 @@ void parser___ReduceAction124___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction124___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction124___init, 6310};
+  struct trace_t trace = {NULL, LOCATE_parser, 6315, LOCATE_parser___ReduceAction124___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i] = 1;
@@ -12108,7 +12121,7 @@ void parser___ReduceAction124___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction125___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction125___action, 6314};
+  struct trace_t trace = {NULL, LOCATE_parser, 6319, LOCATE_parser___ReduceAction125___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12142,22 +12155,22 @@ void parser___ReduceAction125___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction125___action, 6324); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6329); nit_exit(1);}
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction125___action, 6326); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6331); nit_exit(1);}
   variable10 =  variable5 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction125___action, 6328); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6333); nit_exit(1);}
   variable11 =  variable4 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction125___action, 6330); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6335); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist5*/;
   variable13 = TAG_Bool(( variable12 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction125___action, 6332); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6337); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction125___action, 6334); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -12167,7 +12180,7 @@ void parser___ReduceAction125___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction125___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction125___init, 6349};
+  struct trace_t trace = {NULL, LOCATE_parser, 6354, LOCATE_parser___ReduceAction125___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i] = 1;
@@ -12175,7 +12188,7 @@ void parser___ReduceAction125___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction126___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction126___action, 6353};
+  struct trace_t trace = {NULL, LOCATE_parser, 6358, LOCATE_parser___ReduceAction126___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12221,29 +12234,29 @@ void parser___ReduceAction126___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction126___action, 6366); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6371); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction126___action, 6368); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction126___action, 6374); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable7 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction126___action, 6380); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6385); nit_exit(1);}
   variable17 =  variable6 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction126___action, 6382); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6387); nit_exit(1);}
   variable18 =  variable5 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction126___action, 6384); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6389); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction126___action, 6386); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable1 =  variable20 /*ppropdefnode1*/ /*node_list=*/;
@@ -12253,7 +12266,7 @@ void parser___ReduceAction126___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction126___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction126___init, 6401};
+  struct trace_t trace = {NULL, LOCATE_parser, 6406, LOCATE_parser___ReduceAction126___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i] = 1;
@@ -12261,7 +12274,7 @@ void parser___ReduceAction126___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction127___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction127___action, 6405};
+  struct trace_t trace = {NULL, LOCATE_parser, 6410, LOCATE_parser___ReduceAction127___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12311,32 +12324,32 @@ void parser___ReduceAction127___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6419); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6424); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6421); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6427); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6432); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6429); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6435); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6440); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6437); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6442); nit_exit(1);}
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6439); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6444); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction127___action, 6441); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -12346,7 +12359,7 @@ void parser___ReduceAction127___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction127___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction127___init, 6456};
+  struct trace_t trace = {NULL, LOCATE_parser, 6461, LOCATE_parser___ReduceAction127___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i] = 1;
@@ -12354,7 +12367,7 @@ void parser___ReduceAction127___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction128___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction128___action, 6460};
+  struct trace_t trace = {NULL, LOCATE_parser, 6465, LOCATE_parser___ReduceAction128___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12395,24 +12408,24 @@ void parser___ReduceAction128___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction128___action, 6472); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6477); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction128___action, 6474); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction128___action, 6480); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6485); nit_exit(1);}
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction128___action, 6482); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6487); nit_exit(1);}
   variable15 =  variable5 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction128___action, 6484); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6489); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction128___action, 6486); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -12422,7 +12435,7 @@ void parser___ReduceAction128___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction128___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction128___init, 6501};
+  struct trace_t trace = {NULL, LOCATE_parser, 6506, LOCATE_parser___ReduceAction128___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i] = 1;
@@ -12430,7 +12443,7 @@ void parser___ReduceAction128___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction129___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction129___action, 6505};
+  struct trace_t trace = {NULL, LOCATE_parser, 6510, LOCATE_parser___ReduceAction129___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12480,32 +12493,32 @@ void parser___ReduceAction129___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6519); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6524); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6521); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6526); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6523); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6529); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6535); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6540); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6537); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6542); nit_exit(1);}
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6539); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6544); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction129___action, 6541); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -12515,7 +12528,7 @@ void parser___ReduceAction129___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction129___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction129___init, 6556};
+  struct trace_t trace = {NULL, LOCATE_parser, 6561, LOCATE_parser___ReduceAction129___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i] = 1;
@@ -12523,7 +12536,7 @@ void parser___ReduceAction129___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction130___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction130___action, 6560};
+  struct trace_t trace = {NULL, LOCATE_parser, 6565, LOCATE_parser___ReduceAction130___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12577,35 +12590,35 @@ void parser___ReduceAction130___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6575); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6580); nit_exit(1);}
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6577); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6582); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6579); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6585); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6590); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6587); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6593); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6598); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6595); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6600); nit_exit(1);}
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6597); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6602); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction130___action, 6599); nit_exit(1);}
+  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*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
@@ -12615,7 +12628,7 @@ void parser___ReduceAction130___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction130___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction130___init, 6614};
+  struct trace_t trace = {NULL, LOCATE_parser, 6619, LOCATE_parser___ReduceAction130___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i] = 1;
@@ -12623,7 +12636,7 @@ void parser___ReduceAction130___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction131___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction131___action, 6618};
+  struct trace_t trace = {NULL, LOCATE_parser, 6623, LOCATE_parser___ReduceAction131___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12668,27 +12681,27 @@ void parser___ReduceAction131___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction131___action, 6631); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6636); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction131___action, 6633); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6638); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction131___action, 6635); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction131___action, 6641); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6646); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction131___action, 6643); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6648); nit_exit(1);}
   variable17 =  variable5 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction131___action, 6645); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6650); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction131___action, 6647); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -12698,7 +12711,7 @@ void parser___ReduceAction131___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction131___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction131___init, 6662};
+  struct trace_t trace = {NULL, LOCATE_parser, 6667, LOCATE_parser___ReduceAction131___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i] = 1;
@@ -12706,7 +12719,7 @@ void parser___ReduceAction131___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction132___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction132___action, 6666};
+  struct trace_t trace = {NULL, LOCATE_parser, 6671, LOCATE_parser___ReduceAction132___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12747,24 +12760,24 @@ void parser___ReduceAction132___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction132___action, 6678); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6683); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction132___action, 6680); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable13 =  variable7 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction132___action, 6686); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6691); nit_exit(1);}
   variable14 =  variable6 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction132___action, 6688); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6693); nit_exit(1);}
   variable15 =  variable5 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction132___action, 6690); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6695); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction132___action, 6692); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -12774,7 +12787,7 @@ void parser___ReduceAction132___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction132___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction132___init, 6707};
+  struct trace_t trace = {NULL, LOCATE_parser, 6712, LOCATE_parser___ReduceAction132___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i] = 1;
@@ -12782,7 +12795,7 @@ void parser___ReduceAction132___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction133___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction133___action, 6711};
+  struct trace_t trace = {NULL, LOCATE_parser, 6716, LOCATE_parser___ReduceAction133___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12827,27 +12840,27 @@ void parser___ReduceAction133___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction133___action, 6724); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6729); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction133___action, 6726); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6731); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction133___action, 6728); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction133___action, 6734); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6739); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction133___action, 6736); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6741); nit_exit(1);}
   variable17 =  variable5 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction133___action, 6738); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6743); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction133___action, 6740); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -12857,7 +12870,7 @@ void parser___ReduceAction133___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction133___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction133___init, 6755};
+  struct trace_t trace = {NULL, LOCATE_parser, 6760, LOCATE_parser___ReduceAction133___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i] = 1;
@@ -12865,7 +12878,7 @@ void parser___ReduceAction133___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction134___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction134___action, 6759};
+  struct trace_t trace = {NULL, LOCATE_parser, 6764, LOCATE_parser___ReduceAction134___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12901,19 +12914,19 @@ void parser___ReduceAction134___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction134___action, 6770); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6775); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction134___action, 6772); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6777); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction134___action, 6774); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6779); nit_exit(1);}
   variable12 =  variable5 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction134___action, 6776); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6781); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction134___action, 6778); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -12923,7 +12936,7 @@ void parser___ReduceAction134___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction134___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction134___init, 6793};
+  struct trace_t trace = {NULL, LOCATE_parser, 6798, LOCATE_parser___ReduceAction134___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i] = 1;
@@ -12931,7 +12944,7 @@ void parser___ReduceAction134___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction135___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction135___action, 6797};
+  struct trace_t trace = {NULL, LOCATE_parser, 6802, LOCATE_parser___ReduceAction135___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12981,32 +12994,32 @@ void parser___ReduceAction135___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6811); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6816); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6813); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6819); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable8 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6825); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6830); nit_exit(1);}
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6827); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6832); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6829); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6834); nit_exit(1);}
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6831); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6836); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction135___action, 6833); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -13016,7 +13029,7 @@ void parser___ReduceAction135___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction135___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction135___init, 6848};
+  struct trace_t trace = {NULL, LOCATE_parser, 6853, LOCATE_parser___ReduceAction135___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i] = 1;
@@ -13024,7 +13037,7 @@ void parser___ReduceAction135___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction136___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction136___action, 6852};
+  struct trace_t trace = {NULL, LOCATE_parser, 6857, LOCATE_parser___ReduceAction136___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13078,35 +13091,35 @@ void parser___ReduceAction136___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6867); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6872); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6869); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable10 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6875); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6880); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6877); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6883); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6888); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6885); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6890); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6887); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6892); nit_exit(1);}
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6889); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6894); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction136___action, 6891); nit_exit(1);}
+  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*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
@@ -13116,7 +13129,7 @@ void parser___ReduceAction136___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction136___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction136___init, 6906};
+  struct trace_t trace = {NULL, LOCATE_parser, 6911, LOCATE_parser___ReduceAction136___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i] = 1;
@@ -13124,7 +13137,7 @@ void parser___ReduceAction136___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction137___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction137___action, 6910};
+  struct trace_t trace = {NULL, LOCATE_parser, 6915, LOCATE_parser___ReduceAction137___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13169,27 +13182,27 @@ void parser___ReduceAction137___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction137___action, 6923); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6928); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction137___action, 6925); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction137___action, 6931); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6936); nit_exit(1);}
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction137___action, 6933); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6938); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction137___action, 6935); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6940); nit_exit(1);}
   variable17 =  variable5 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction137___action, 6937); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6942); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction137___action, 6939); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -13199,7 +13212,7 @@ void parser___ReduceAction137___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction137___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction137___init, 6954};
+  struct trace_t trace = {NULL, LOCATE_parser, 6959, LOCATE_parser___ReduceAction137___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i] = 1;
@@ -13207,7 +13220,7 @@ void parser___ReduceAction137___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction138___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction138___action, 6958};
+  struct trace_t trace = {NULL, LOCATE_parser, 6963, LOCATE_parser___ReduceAction138___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13261,35 +13274,35 @@ void parser___ReduceAction138___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6973); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 6978); nit_exit(1);}
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6975); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 6980); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6977); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6983); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6989); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 6994); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6991); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 6996); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6993); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 6998); nit_exit(1);}
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6995); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7000); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction138___action, 6997); nit_exit(1);}
+  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*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
@@ -13299,7 +13312,7 @@ void parser___ReduceAction138___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction138___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction138___init, 7012};
+  struct trace_t trace = {NULL, LOCATE_parser, 7017, LOCATE_parser___ReduceAction138___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i] = 1;
@@ -13307,7 +13320,7 @@ void parser___ReduceAction138___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction139___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction139___action, 7016};
+  struct trace_t trace = {NULL, LOCATE_parser, 7021, LOCATE_parser___ReduceAction139___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13365,38 +13378,38 @@ void parser___ReduceAction139___action(val_t  self, val_t  param0) {
   variable13 = variable14;
   variable14 =  variable13 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7032); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7037); nit_exit(1);}
   variable15 =  variable12 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7034); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7039); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7036); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable18 =  variable10 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7042); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7047); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7044); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable21 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7050); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7055); nit_exit(1);}
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable22 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7052); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7057); nit_exit(1);}
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable23 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7054); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7059); nit_exit(1);}
   variable24 =  variable5 /*nodearraylist9*/;
   variable25 = TAG_Bool(( variable24 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable24 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7056); nit_exit(1);}
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7061); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction139___action, 7058); nit_exit(1);}
+  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*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
@@ -13406,7 +13419,7 @@ void parser___ReduceAction139___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction139___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction139___init, 7073};
+  struct trace_t trace = {NULL, LOCATE_parser, 7078, LOCATE_parser___ReduceAction139___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i] = 1;
@@ -13414,7 +13427,7 @@ void parser___ReduceAction139___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction140___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction140___action, 7077};
+  struct trace_t trace = {NULL, LOCATE_parser, 7082, LOCATE_parser___ReduceAction140___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13463,30 +13476,30 @@ void parser___ReduceAction140___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7091); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7096); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7093); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7098); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7095); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7101); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7106); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7103); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7108); nit_exit(1);}
   variable18 =  variable6 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7105); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7110); nit_exit(1);}
   variable19 =  variable5 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7107); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7112); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction140___action, 7109); nit_exit(1);}
+  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*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
@@ -13496,7 +13509,7 @@ void parser___ReduceAction140___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction140___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction140___init, 7124};
+  struct trace_t trace = {NULL, LOCATE_parser, 7129, LOCATE_parser___ReduceAction140___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i] = 1;
@@ -13504,7 +13517,7 @@ void parser___ReduceAction140___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction141___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction141___action, 7128};
+  struct trace_t trace = {NULL, LOCATE_parser, 7133, LOCATE_parser___ReduceAction141___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13549,27 +13562,27 @@ void parser___ReduceAction141___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction141___action, 7141); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7146); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction141___action, 7143); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction141___action, 7149); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7154); nit_exit(1);}
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction141___action, 7151); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7156); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction141___action, 7153); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7158); nit_exit(1);}
   variable17 =  variable5 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction141___action, 7155); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7160); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction141___action, 7157); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -13579,7 +13592,7 @@ void parser___ReduceAction141___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction141___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction141___init, 7172};
+  struct trace_t trace = {NULL, LOCATE_parser, 7177, LOCATE_parser___ReduceAction141___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i] = 1;
@@ -13587,7 +13600,7 @@ void parser___ReduceAction141___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction142___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction142___action, 7176};
+  struct trace_t trace = {NULL, LOCATE_parser, 7181, LOCATE_parser___ReduceAction142___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13636,30 +13649,30 @@ void parser___ReduceAction142___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7190); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7195); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7192); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7197); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7194); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7200); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7205); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7202); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7207); nit_exit(1);}
   variable18 =  variable6 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7204); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7209); nit_exit(1);}
   variable19 =  variable5 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7206); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7211); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction142___action, 7208); nit_exit(1);}
+  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*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
@@ -13669,7 +13682,7 @@ void parser___ReduceAction142___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction142___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction142___init, 7223};
+  struct trace_t trace = {NULL, LOCATE_parser, 7228, LOCATE_parser___ReduceAction142___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i] = 1;
@@ -13677,7 +13690,7 @@ void parser___ReduceAction142___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction143___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction143___action, 7227};
+  struct trace_t trace = {NULL, LOCATE_parser, 7232, LOCATE_parser___ReduceAction143___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13717,22 +13730,22 @@ void parser___ReduceAction143___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction143___action, 7239); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7244); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction143___action, 7241); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7246); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction143___action, 7243); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7248); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction143___action, 7245); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7250); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction143___action, 7247); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7252); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction143___action, 7249); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -13742,7 +13755,7 @@ void parser___ReduceAction143___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction143___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction143___init, 7264};
+  struct trace_t trace = {NULL, LOCATE_parser, 7269, LOCATE_parser___ReduceAction143___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i] = 1;
@@ -13750,7 +13763,7 @@ void parser___ReduceAction143___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction144___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction144___action, 7268};
+  struct trace_t trace = {NULL, LOCATE_parser, 7273, LOCATE_parser___ReduceAction144___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13800,32 +13813,32 @@ void parser___ReduceAction144___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7282); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7287); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7284); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7290); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable8 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7296); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7301); nit_exit(1);}
   variable18 =  variable7 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7298); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7303); nit_exit(1);}
   variable19 =  variable6 /*nodearraylist6*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7300); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7305); nit_exit(1);}
   variable20 =  variable5 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable20 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7302); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7307); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction144___action, 7304); nit_exit(1);}
+  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*/
   variable22 = variable23;
   variable1 =  variable22 /*ppropdefnode1*/ /*node_list=*/;
@@ -13835,7 +13848,7 @@ void parser___ReduceAction144___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction144___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction144___init, 7319};
+  struct trace_t trace = {NULL, LOCATE_parser, 7324, LOCATE_parser___ReduceAction144___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i] = 1;
@@ -13843,7 +13856,7 @@ void parser___ReduceAction144___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction145___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction145___action, 7323};
+  struct trace_t trace = {NULL, LOCATE_parser, 7328, LOCATE_parser___ReduceAction145___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13897,35 +13910,35 @@ void parser___ReduceAction145___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7338); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7343); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7340); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable10 /*nodearraylist3*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7346); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7351); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7348); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7354); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7359); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7356); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7361); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7358); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7363); nit_exit(1);}
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7360); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7365); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction145___action, 7362); nit_exit(1);}
+  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*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
@@ -13935,7 +13948,7 @@ void parser___ReduceAction145___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction145___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction145___init, 7377};
+  struct trace_t trace = {NULL, LOCATE_parser, 7382, LOCATE_parser___ReduceAction145___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i] = 1;
@@ -13943,7 +13956,7 @@ void parser___ReduceAction145___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction146___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction146___action, 7381};
+  struct trace_t trace = {NULL, LOCATE_parser, 7386, LOCATE_parser___ReduceAction146___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13988,27 +14001,27 @@ void parser___ReduceAction146___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction146___action, 7394); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7399); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction146___action, 7396); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction146___action, 7402); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7407); nit_exit(1);}
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction146___action, 7404); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7409); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction146___action, 7406); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7411); nit_exit(1);}
   variable17 =  variable5 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction146___action, 7408); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7413); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction146___action, 7410); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -14018,7 +14031,7 @@ void parser___ReduceAction146___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction146___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction146___init, 7425};
+  struct trace_t trace = {NULL, LOCATE_parser, 7430, LOCATE_parser___ReduceAction146___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i] = 1;
@@ -14026,7 +14039,7 @@ void parser___ReduceAction146___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction147___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction147___action, 7429};
+  struct trace_t trace = {NULL, LOCATE_parser, 7434, LOCATE_parser___ReduceAction147___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14080,35 +14093,35 @@ void parser___ReduceAction147___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7444); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7449); nit_exit(1);}
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7446); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7451); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7448); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7454); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7460); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7465); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7462); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7467); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7464); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7469); nit_exit(1);}
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7466); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7471); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction147___action, 7468); nit_exit(1);}
+  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*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
@@ -14118,7 +14131,7 @@ void parser___ReduceAction147___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction147___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction147___init, 7483};
+  struct trace_t trace = {NULL, LOCATE_parser, 7488, LOCATE_parser___ReduceAction147___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i] = 1;
@@ -14126,7 +14139,7 @@ void parser___ReduceAction147___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction148___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction148___action, 7487};
+  struct trace_t trace = {NULL, LOCATE_parser, 7492, LOCATE_parser___ReduceAction148___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14184,38 +14197,38 @@ void parser___ReduceAction148___action(val_t  self, val_t  param0) {
   variable13 = variable14;
   variable14 =  variable13 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7503); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7508); nit_exit(1);}
   variable15 =  variable12 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7505); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7510); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7507); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable18 =  variable10 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7513); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7518); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7515); nit_exit(1);}
+  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*/
   variable20 = variable21;
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7521); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7526); nit_exit(1);}
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7523); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7528); nit_exit(1);}
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7525); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7530); nit_exit(1);}
   variable24 =  variable5 /*nodearraylist9*/;
   variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7527); nit_exit(1);}
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7532); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction148___action, 7529); nit_exit(1);}
+  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*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
@@ -14225,7 +14238,7 @@ void parser___ReduceAction148___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction148___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction148___init, 7544};
+  struct trace_t trace = {NULL, LOCATE_parser, 7549, LOCATE_parser___ReduceAction148___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i] = 1;
@@ -14233,7 +14246,7 @@ void parser___ReduceAction148___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction149___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction149___action, 7548};
+  struct trace_t trace = {NULL, LOCATE_parser, 7553, LOCATE_parser___ReduceAction149___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14282,30 +14295,30 @@ void parser___ReduceAction149___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7562); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7567); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7564); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7569); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7566); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7572); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7577); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7574); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7579); nit_exit(1);}
   variable18 =  variable6 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7576); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7581); nit_exit(1);}
   variable19 =  variable5 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7578); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7583); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction149___action, 7580); nit_exit(1);}
+  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*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
@@ -14315,7 +14328,7 @@ void parser___ReduceAction149___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction149___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction149___init, 7595};
+  struct trace_t trace = {NULL, LOCATE_parser, 7600, LOCATE_parser___ReduceAction149___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i] = 1;
@@ -14323,7 +14336,7 @@ void parser___ReduceAction149___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction150___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction150___action, 7599};
+  struct trace_t trace = {NULL, LOCATE_parser, 7604, LOCATE_parser___ReduceAction150___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14368,27 +14381,27 @@ void parser___ReduceAction150___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction150___action, 7612); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7617); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction150___action, 7614); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable14 =  variable8 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction150___action, 7620); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7625); nit_exit(1);}
   variable15 =  variable7 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction150___action, 7622); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7627); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction150___action, 7624); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7629); nit_exit(1);}
   variable17 =  variable5 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction150___action, 7626); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7631); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction150___action, 7628); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -14398,7 +14411,7 @@ void parser___ReduceAction150___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction150___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction150___init, 7643};
+  struct trace_t trace = {NULL, LOCATE_parser, 7648, LOCATE_parser___ReduceAction150___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i] = 1;
@@ -14406,7 +14419,7 @@ void parser___ReduceAction150___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction151___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction151___action, 7647};
+  struct trace_t trace = {NULL, LOCATE_parser, 7652, LOCATE_parser___ReduceAction151___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14455,30 +14468,30 @@ void parser___ReduceAction151___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7661); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7666); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7663); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7668); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7665); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7671); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7676); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7673); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7678); nit_exit(1);}
   variable18 =  variable6 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7675); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7680); nit_exit(1);}
   variable19 =  variable5 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7677); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7682); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction151___action, 7679); nit_exit(1);}
+  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*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
@@ -14488,7 +14501,7 @@ void parser___ReduceAction151___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction151___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction151___init, 7694};
+  struct trace_t trace = {NULL, LOCATE_parser, 7699, LOCATE_parser___ReduceAction151___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i] = 1;
@@ -14496,7 +14509,7 @@ void parser___ReduceAction151___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction152___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction152___action, 7698};
+  struct trace_t trace = {NULL, LOCATE_parser, 7703, LOCATE_parser___ReduceAction152___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14536,22 +14549,22 @@ void parser___ReduceAction152___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction152___action, 7710); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7715); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction152___action, 7712); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7717); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction152___action, 7714); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7719); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction152___action, 7716); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7721); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction152___action, 7718); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7723); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction152___action, 7720); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -14561,7 +14574,7 @@ void parser___ReduceAction152___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction152___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction152___init, 7735};
+  struct trace_t trace = {NULL, LOCATE_parser, 7740, LOCATE_parser___ReduceAction152___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i] = 1;
@@ -14569,7 +14582,7 @@ void parser___ReduceAction152___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction153___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction153___action, 7739};
+  struct trace_t trace = {NULL, LOCATE_parser, 7744, LOCATE_parser___ReduceAction153___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14623,35 +14636,35 @@ void parser___ReduceAction153___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7754); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7759); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7756); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7762); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable18 =  variable9 /*nodearraylist4*/;
   variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7768); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7773); nit_exit(1);}
   variable19 =  variable8 /*nodearraylist5*/;
   variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7770); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7775); nit_exit(1);}
   variable20 =  variable7 /*nodearraylist6*/;
   variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7772); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7777); nit_exit(1);}
   variable21 =  variable6 /*nodearraylist7*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7774); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7779); nit_exit(1);}
   variable22 =  variable5 /*nodearraylist8*/;
   variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7776); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7781); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction153___action, 7778); nit_exit(1);}
+  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*/
   variable24 = variable25;
   variable1 =  variable24 /*ppropdefnode1*/ /*node_list=*/;
@@ -14661,7 +14674,7 @@ void parser___ReduceAction153___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction153___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction153___init, 7793};
+  struct trace_t trace = {NULL, LOCATE_parser, 7798, LOCATE_parser___ReduceAction153___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i] = 1;
@@ -14669,7 +14682,7 @@ void parser___ReduceAction153___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction154___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction154___action, 7797};
+  struct trace_t trace = {NULL, LOCATE_parser, 7802, LOCATE_parser___ReduceAction154___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14727,38 +14740,38 @@ void parser___ReduceAction154___action(val_t  self, val_t  param0) {
   variable13 = variable14;
   variable14 =  variable13 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7813); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7818); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7815); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable11 /*nodearraylist3*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7821); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7826); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7823); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable20 =  variable9 /*nodearraylist5*/;
   variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7829); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7834); nit_exit(1);}
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7831); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7836); nit_exit(1);}
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7833); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7838); nit_exit(1);}
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7835); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7840); nit_exit(1);}
   variable24 =  variable5 /*nodearraylist9*/;
   variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7837); nit_exit(1);}
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7842); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction154___action, 7839); nit_exit(1);}
+  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*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
@@ -14768,7 +14781,7 @@ void parser___ReduceAction154___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction154___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction154___init, 7854};
+  struct trace_t trace = {NULL, LOCATE_parser, 7859, LOCATE_parser___ReduceAction154___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i] = 1;
@@ -14776,7 +14789,7 @@ void parser___ReduceAction154___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction155___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction155___action, 7858};
+  struct trace_t trace = {NULL, LOCATE_parser, 7863, LOCATE_parser___ReduceAction155___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14825,30 +14838,30 @@ void parser___ReduceAction155___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7872); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7877); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7874); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7880); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7885); nit_exit(1);}
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7882); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7887); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7884); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7889); nit_exit(1);}
   variable18 =  variable6 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7886); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7891); nit_exit(1);}
   variable19 =  variable5 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7888); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7893); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction155___action, 7890); nit_exit(1);}
+  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*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
@@ -14858,7 +14871,7 @@ void parser___ReduceAction155___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction155___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction155___init, 7905};
+  struct trace_t trace = {NULL, LOCATE_parser, 7910, LOCATE_parser___ReduceAction155___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i] = 1;
@@ -14866,7 +14879,7 @@ void parser___ReduceAction155___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction156___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction156___action, 7909};
+  struct trace_t trace = {NULL, LOCATE_parser, 7914, LOCATE_parser___ReduceAction156___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14924,38 +14937,38 @@ void parser___ReduceAction156___action(val_t  self, val_t  param0) {
   variable13 = variable14;
   variable14 =  variable13 /*nodearraylist1*/;
   variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7925); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7930); nit_exit(1);}
   variable15 =  variable12 /*nodearraylist2*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7927); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7932); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7929); nit_exit(1);}
+  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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7935); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable20 =  variable9 /*nodearraylist5*/;
   variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7941); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7946); nit_exit(1);}
   variable21 =  variable8 /*nodearraylist6*/;
   variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7943); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7948); nit_exit(1);}
   variable22 =  variable7 /*nodearraylist7*/;
   variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7945); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7950); nit_exit(1);}
   variable23 =  variable6 /*nodearraylist8*/;
   variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7947); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7952); nit_exit(1);}
   variable24 =  variable5 /*nodearraylist9*/;
   variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7949); nit_exit(1);}
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7954); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction156___action, 7951); nit_exit(1);}
+  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*/
   variable26 = variable27;
   variable1 =  variable26 /*ppropdefnode1*/ /*node_list=*/;
@@ -14965,7 +14978,7 @@ void parser___ReduceAction156___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction156___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction156___init, 7966};
+  struct trace_t trace = {NULL, LOCATE_parser, 7971, LOCATE_parser___ReduceAction156___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i] = 1;
@@ -14973,7 +14986,7 @@ void parser___ReduceAction156___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction157___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction157___action, 7970};
+  struct trace_t trace = {NULL, LOCATE_parser, 7975, LOCATE_parser___ReduceAction157___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15035,41 +15048,41 @@ void parser___ReduceAction157___action(val_t  self, val_t  param0) {
   variable14 = variable15;
   variable15 =  variable14 /*nodearraylist1*/;
   variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 7987); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 7992); nit_exit(1);}
   variable16 =  variable13 /*nodearraylist2*/;
   variable17 = TAG_Bool(( variable16 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 7989); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 7994); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 7991); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable19 =  variable11 /*nodearraylist4*/;
   variable20 = TAG_Bool(( variable19 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 7997); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8002); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 7999); nit_exit(1);}
+  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*/
   variable21 = variable22;
   variable22 =  variable9 /*nodearraylist6*/;
   variable23 = TAG_Bool(( variable22 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable22 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 8005); nit_exit(1);}
+  if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8010); nit_exit(1);}
   variable23 =  variable8 /*nodearraylist7*/;
   variable24 = TAG_Bool(( variable23 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable23 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 8007); nit_exit(1);}
+  if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8012); nit_exit(1);}
   variable24 =  variable7 /*nodearraylist8*/;
   variable25 = TAG_Bool(( variable24 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable24 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 8009); nit_exit(1);}
+  if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8014); nit_exit(1);}
   variable25 =  variable6 /*nodearraylist9*/;
   variable26 = TAG_Bool(( variable25 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable25 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 8011); nit_exit(1);}
+  if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8016); nit_exit(1);}
   variable26 =  variable5 /*nodearraylist10*/;
   variable27 = TAG_Bool(( variable26 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable26 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 8013); nit_exit(1);}
+  if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8018); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction157___action, 8015); nit_exit(1);}
+  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*/
   variable28 = variable29;
   variable1 =  variable28 /*ppropdefnode1*/ /*node_list=*/;
@@ -15079,7 +15092,7 @@ void parser___ReduceAction157___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction157___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction157___init, 8030};
+  struct trace_t trace = {NULL, LOCATE_parser, 8035, LOCATE_parser___ReduceAction157___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i] = 1;
@@ -15087,7 +15100,7 @@ void parser___ReduceAction157___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction158___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction158___action, 8034};
+  struct trace_t trace = {NULL, LOCATE_parser, 8039, LOCATE_parser___ReduceAction158___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15140,33 +15153,33 @@ void parser___ReduceAction158___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8049); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8054); nit_exit(1);}
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8051); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8056); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8053); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8059); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8064); nit_exit(1);}
   variable18 =  variable8 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8061); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8066); nit_exit(1);}
   variable19 =  variable7 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8063); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8068); nit_exit(1);}
   variable20 =  variable6 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8065); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8070); nit_exit(1);}
   variable21 =  variable5 /*nodearraylist8*/;
   variable22 = TAG_Bool(( variable21 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8067); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8072); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction158___action, 8069); nit_exit(1);}
+  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*/
   variable23 = variable24;
   variable1 =  variable23 /*ppropdefnode1*/ /*node_list=*/;
@@ -15176,7 +15189,7 @@ void parser___ReduceAction158___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction158___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction158___init, 8084};
+  struct trace_t trace = {NULL, LOCATE_parser, 8089, LOCATE_parser___ReduceAction158___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i] = 1;
@@ -15184,7 +15197,7 @@ void parser___ReduceAction158___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction159___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction159___action, 8088};
+  struct trace_t trace = {NULL, LOCATE_parser, 8093, LOCATE_parser___ReduceAction159___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15233,30 +15246,30 @@ void parser___ReduceAction159___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8102); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8107); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8104); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable15 =  variable9 /*nodearraylist3*/;
   variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8110); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8115); nit_exit(1);}
   variable16 =  variable8 /*nodearraylist4*/;
   variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8112); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8117); nit_exit(1);}
   variable17 =  variable7 /*nodearraylist5*/;
   variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8114); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8119); nit_exit(1);}
   variable18 =  variable6 /*nodearraylist6*/;
   variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8116); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8121); nit_exit(1);}
   variable19 =  variable5 /*nodearraylist7*/;
   variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8118); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8123); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction159___action, 8120); nit_exit(1);}
+  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*/
   variable21 = variable22;
   variable1 =  variable21 /*ppropdefnode1*/ /*node_list=*/;
@@ -15266,7 +15279,7 @@ void parser___ReduceAction159___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction159___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction159___init, 8135};
+  struct trace_t trace = {NULL, LOCATE_parser, 8140, LOCATE_parser___ReduceAction159___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i] = 1;
@@ -15274,7 +15287,7 @@ void parser___ReduceAction159___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction160___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction160___action, 8139};
+  struct trace_t trace = {NULL, LOCATE_parser, 8144, LOCATE_parser___ReduceAction160___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15327,33 +15340,33 @@ void parser___ReduceAction160___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8154); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8159); nit_exit(1);}
   variable14 =  variable11 /*nodearraylist2*/;
   variable15 = TAG_Bool(( variable14 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8156); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8161); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8158); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable17 =  variable9 /*nodearraylist4*/;
   variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8164); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8169); nit_exit(1);}
   variable18 =  variable8 /*nodearraylist5*/;
   variable19 = TAG_Bool(( variable18 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8166); nit_exit(1);}
+  if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8171); nit_exit(1);}
   variable19 =  variable7 /*nodearraylist6*/;
   variable20 = TAG_Bool(( variable19 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8168); nit_exit(1);}
+  if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8173); nit_exit(1);}
   variable20 =  variable6 /*nodearraylist7*/;
   variable21 = TAG_Bool(( variable20 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8170); nit_exit(1);}
+  if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8175); nit_exit(1);}
   variable21 =  variable5 /*nodearraylist8*/;
   variable22 = TAG_Bool(( variable21 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8172); nit_exit(1);}
+  if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8177); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction160___action, 8174); nit_exit(1);}
+  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*/
   variable23 = variable24;
   variable1 =  variable23 /*ppropdefnode1*/ /*node_list=*/;
@@ -15363,7 +15376,7 @@ void parser___ReduceAction160___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction160___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction160___init, 8189};
+  struct trace_t trace = {NULL, LOCATE_parser, 8194, LOCATE_parser___ReduceAction160___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i] = 1;
@@ -15371,7 +15384,7 @@ void parser___ReduceAction160___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction161___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction161___action, 8193};
+  struct trace_t trace = {NULL, LOCATE_parser, 8198, LOCATE_parser___ReduceAction161___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15415,25 +15428,25 @@ void parser___ReduceAction161___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction161___action, 8206); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8211); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction161___action, 8208); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8213); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction161___action, 8210); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8215); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction161___action, 8212); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8217); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction161___action, 8214); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8219); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction161___action, 8216); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8221); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction161___action, 8218); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -15443,7 +15456,7 @@ void parser___ReduceAction161___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction161___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction161___init, 8233};
+  struct trace_t trace = {NULL, LOCATE_parser, 8238, LOCATE_parser___ReduceAction161___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i] = 1;
@@ -15451,7 +15464,7 @@ void parser___ReduceAction161___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction162___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction162___action, 8237};
+  struct trace_t trace = {NULL, LOCATE_parser, 8242, LOCATE_parser___ReduceAction162___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15487,19 +15500,19 @@ void parser___ReduceAction162___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction162___action, 8248); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8253); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction162___action, 8250); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8255); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction162___action, 8252); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8257); nit_exit(1);}
   variable12 =  variable5 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction162___action, 8254); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8259); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction162___action, 8256); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -15509,7 +15522,7 @@ void parser___ReduceAction162___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction162___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction162___init, 8268};
+  struct trace_t trace = {NULL, LOCATE_parser, 8273, LOCATE_parser___ReduceAction162___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i] = 1;
@@ -15517,7 +15530,7 @@ void parser___ReduceAction162___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction163___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction163___action, 8272};
+  struct trace_t trace = {NULL, LOCATE_parser, 8277, LOCATE_parser___ReduceAction163___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15557,22 +15570,22 @@ void parser___ReduceAction163___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction163___action, 8284); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8289); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction163___action, 8286); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8291); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction163___action, 8288); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8293); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction163___action, 8290); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8295); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction163___action, 8292); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8297); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction163___action, 8294); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -15582,7 +15595,7 @@ void parser___ReduceAction163___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction163___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction163___init, 8306};
+  struct trace_t trace = {NULL, LOCATE_parser, 8311, LOCATE_parser___ReduceAction163___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i] = 1;
@@ -15590,7 +15603,7 @@ void parser___ReduceAction163___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction164___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction164___action, 8310};
+  struct trace_t trace = {NULL, LOCATE_parser, 8315, LOCATE_parser___ReduceAction164___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15626,19 +15639,19 @@ void parser___ReduceAction164___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction164___action, 8321); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8326); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction164___action, 8323); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8328); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction164___action, 8325); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8330); nit_exit(1);}
   variable12 =  variable5 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction164___action, 8327); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8332); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction164___action, 8329); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -15648,7 +15661,7 @@ void parser___ReduceAction164___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction164___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction164___init, 8341};
+  struct trace_t trace = {NULL, LOCATE_parser, 8346, LOCATE_parser___ReduceAction164___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i] = 1;
@@ -15656,7 +15669,7 @@ void parser___ReduceAction164___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction165___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction165___action, 8345};
+  struct trace_t trace = {NULL, LOCATE_parser, 8350, LOCATE_parser___ReduceAction165___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15696,22 +15709,22 @@ void parser___ReduceAction165___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction165___action, 8357); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8362); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction165___action, 8359); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8364); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction165___action, 8361); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8366); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction165___action, 8363); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8368); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction165___action, 8365); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8370); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction165___action, 8367); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -15721,7 +15734,7 @@ void parser___ReduceAction165___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction165___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction165___init, 8379};
+  struct trace_t trace = {NULL, LOCATE_parser, 8384, LOCATE_parser___ReduceAction165___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i] = 1;
@@ -15729,7 +15742,7 @@ void parser___ReduceAction165___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction166___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction166___action, 8383};
+  struct trace_t trace = {NULL, LOCATE_parser, 8388, LOCATE_parser___ReduceAction166___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15765,19 +15778,19 @@ void parser___ReduceAction166___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction166___action, 8394); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8399); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction166___action, 8396); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8401); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction166___action, 8398); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8403); nit_exit(1);}
   variable12 =  variable5 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction166___action, 8400); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8405); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction166___action, 8402); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -15787,7 +15800,7 @@ void parser___ReduceAction166___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction166___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction166___init, 8415};
+  struct trace_t trace = {NULL, LOCATE_parser, 8420, LOCATE_parser___ReduceAction166___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i] = 1;
@@ -15795,7 +15808,7 @@ void parser___ReduceAction166___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction167___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction167___action, 8419};
+  struct trace_t trace = {NULL, LOCATE_parser, 8424, LOCATE_parser___ReduceAction167___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15835,22 +15848,22 @@ void parser___ReduceAction167___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction167___action, 8431); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8436); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction167___action, 8433); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8438); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction167___action, 8435); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8440); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction167___action, 8437); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8442); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction167___action, 8439); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8444); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction167___action, 8441); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -15860,7 +15873,7 @@ void parser___ReduceAction167___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction167___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction167___init, 8454};
+  struct trace_t trace = {NULL, LOCATE_parser, 8459, LOCATE_parser___ReduceAction167___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i] = 1;
@@ -15868,7 +15881,7 @@ void parser___ReduceAction167___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction168___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction168___action, 8458};
+  struct trace_t trace = {NULL, LOCATE_parser, 8463, LOCATE_parser___ReduceAction168___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15908,22 +15921,22 @@ void parser___ReduceAction168___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction168___action, 8470); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8475); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction168___action, 8472); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8477); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction168___action, 8474); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8479); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction168___action, 8476); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8481); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction168___action, 8478); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8483); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction168___action, 8480); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -15933,7 +15946,7 @@ void parser___ReduceAction168___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction168___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction168___init, 8493};
+  struct trace_t trace = {NULL, LOCATE_parser, 8498, LOCATE_parser___ReduceAction168___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i] = 1;
@@ -15941,7 +15954,7 @@ void parser___ReduceAction168___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction169___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction169___action, 8497};
+  struct trace_t trace = {NULL, LOCATE_parser, 8502, LOCATE_parser___ReduceAction169___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15985,25 +15998,25 @@ void parser___ReduceAction169___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction169___action, 8510); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8515); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction169___action, 8512); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8517); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction169___action, 8514); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8519); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction169___action, 8516); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8521); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction169___action, 8518); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8523); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction169___action, 8520); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8525); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction169___action, 8522); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -16013,7 +16026,7 @@ void parser___ReduceAction169___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction169___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction169___init, 8535};
+  struct trace_t trace = {NULL, LOCATE_parser, 8540, LOCATE_parser___ReduceAction169___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i] = 1;
@@ -16021,7 +16034,7 @@ void parser___ReduceAction169___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction170___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction170___action, 8539};
+  struct trace_t trace = {NULL, LOCATE_parser, 8544, LOCATE_parser___ReduceAction170___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16061,22 +16074,22 @@ void parser___ReduceAction170___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction170___action, 8551); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8556); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction170___action, 8553); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8558); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction170___action, 8555); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8560); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction170___action, 8557); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8562); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction170___action, 8559); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8564); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction170___action, 8561); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -16086,7 +16099,7 @@ void parser___ReduceAction170___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction170___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction170___init, 8574};
+  struct trace_t trace = {NULL, LOCATE_parser, 8579, LOCATE_parser___ReduceAction170___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i] = 1;
@@ -16094,7 +16107,7 @@ void parser___ReduceAction170___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction171___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction171___action, 8578};
+  struct trace_t trace = {NULL, LOCATE_parser, 8583, LOCATE_parser___ReduceAction171___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16138,25 +16151,25 @@ void parser___ReduceAction171___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction171___action, 8591); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8596); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction171___action, 8593); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8598); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction171___action, 8595); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8600); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction171___action, 8597); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8602); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction171___action, 8599); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8604); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction171___action, 8601); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8606); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction171___action, 8603); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -16166,7 +16179,7 @@ void parser___ReduceAction171___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction171___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction171___init, 8616};
+  struct trace_t trace = {NULL, LOCATE_parser, 8621, LOCATE_parser___ReduceAction171___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i] = 1;
@@ -16174,7 +16187,7 @@ void parser___ReduceAction171___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction172___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction172___action, 8620};
+  struct trace_t trace = {NULL, LOCATE_parser, 8625, LOCATE_parser___ReduceAction172___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16217,22 +16230,22 @@ void parser___ReduceAction172___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction172___action, 8633); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8638); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction172___action, 8635); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8640); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction172___action, 8637); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8642); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction172___action, 8639); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8644); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction172___action, 8641); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8646); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction172___action, 8643); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -16242,7 +16255,7 @@ void parser___ReduceAction172___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction172___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction172___init, 8656};
+  struct trace_t trace = {NULL, LOCATE_parser, 8661, LOCATE_parser___ReduceAction172___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i] = 1;
@@ -16250,7 +16263,7 @@ void parser___ReduceAction172___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction173___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction173___action, 8660};
+  struct trace_t trace = {NULL, LOCATE_parser, 8665, LOCATE_parser___ReduceAction173___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16297,25 +16310,25 @@ void parser___ReduceAction173___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction173___action, 8674); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8679); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction173___action, 8676); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8681); nit_exit(1);}
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction173___action, 8678); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8683); nit_exit(1);}
   variable15 =  variable8 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction173___action, 8680); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8685); nit_exit(1);}
   variable16 =  variable7 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction173___action, 8682); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8687); nit_exit(1);}
   variable17 =  variable6 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable17 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction173___action, 8684); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8689); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction173___action, 8686); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -16325,7 +16338,7 @@ void parser___ReduceAction173___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction173___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction173___init, 8699};
+  struct trace_t trace = {NULL, LOCATE_parser, 8704, LOCATE_parser___ReduceAction173___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i] = 1;
@@ -16333,7 +16346,7 @@ void parser___ReduceAction173___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction174___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction174___action, 8703};
+  struct trace_t trace = {NULL, LOCATE_parser, 8708, LOCATE_parser___ReduceAction174___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16369,19 +16382,19 @@ void parser___ReduceAction174___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction174___action, 8714); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8719); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction174___action, 8716); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8721); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction174___action, 8718); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8723); nit_exit(1);}
   variable12 =  variable5 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable12 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction174___action, 8720); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8725); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction174___action, 8722); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -16391,7 +16404,7 @@ void parser___ReduceAction174___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction174___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction174___init, 8735};
+  struct trace_t trace = {NULL, LOCATE_parser, 8740, LOCATE_parser___ReduceAction174___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i] = 1;
@@ -16399,7 +16412,7 @@ void parser___ReduceAction174___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction175___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction175___action, 8739};
+  struct trace_t trace = {NULL, LOCATE_parser, 8744, LOCATE_parser___ReduceAction175___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16439,22 +16452,22 @@ void parser___ReduceAction175___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction175___action, 8751); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8756); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction175___action, 8753); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8758); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction175___action, 8755); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8760); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction175___action, 8757); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8762); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction175___action, 8759); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 8764); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction175___action, 8761); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -16464,7 +16477,7 @@ void parser___ReduceAction175___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction175___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction175___init, 8774};
+  struct trace_t trace = {NULL, LOCATE_parser, 8779, LOCATE_parser___ReduceAction175___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i] = 1;
@@ -16472,7 +16485,7 @@ void parser___ReduceAction175___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction176___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction176___action, 8778};
+  struct trace_t trace = {NULL, LOCATE_parser, 8783, LOCATE_parser___ReduceAction176___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16512,22 +16525,22 @@ void parser___ReduceAction176___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction176___action, 8790); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8795); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction176___action, 8792); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8797); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction176___action, 8794); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8799); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction176___action, 8796); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8801); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction176___action, 8798); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 8803); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction176___action, 8800); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -16537,7 +16550,7 @@ void parser___ReduceAction176___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction176___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction176___init, 8813};
+  struct trace_t trace = {NULL, LOCATE_parser, 8818, LOCATE_parser___ReduceAction176___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i] = 1;
@@ -16545,7 +16558,7 @@ void parser___ReduceAction176___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction177___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction177___action, 8817};
+  struct trace_t trace = {NULL, LOCATE_parser, 8822, LOCATE_parser___ReduceAction177___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16589,25 +16602,25 @@ void parser___ReduceAction177___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction177___action, 8830); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8835); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction177___action, 8832); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8837); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction177___action, 8834); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8839); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction177___action, 8836); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8841); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction177___action, 8838); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8843); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction177___action, 8840); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 8845); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction177___action, 8842); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -16617,7 +16630,7 @@ void parser___ReduceAction177___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction177___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction177___init, 8855};
+  struct trace_t trace = {NULL, LOCATE_parser, 8860, LOCATE_parser___ReduceAction177___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i] = 1;
@@ -16625,7 +16638,7 @@ void parser___ReduceAction177___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction178___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction178___action, 8859};
+  struct trace_t trace = {NULL, LOCATE_parser, 8864, LOCATE_parser___ReduceAction178___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16664,19 +16677,19 @@ void parser___ReduceAction178___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction178___action, 8871); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8876); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction178___action, 8873); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8878); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction178___action, 8875); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8880); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction178___action, 8877); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 8882); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction178___action, 8879); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*ppropdefnode1*/ /*node_list=*/;
@@ -16686,7 +16699,7 @@ void parser___ReduceAction178___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction178___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction178___init, 8892};
+  struct trace_t trace = {NULL, LOCATE_parser, 8897, LOCATE_parser___ReduceAction178___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i] = 1;
@@ -16694,7 +16707,7 @@ void parser___ReduceAction178___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction179___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction179___action, 8896};
+  struct trace_t trace = {NULL, LOCATE_parser, 8901, LOCATE_parser___ReduceAction179___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16737,22 +16750,22 @@ void parser___ReduceAction179___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction179___action, 8909); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8914); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction179___action, 8911); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8916); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction179___action, 8913); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8918); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction179___action, 8915); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8920); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction179___action, 8917); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 8922); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction179___action, 8919); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -16762,7 +16775,7 @@ void parser___ReduceAction179___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction179___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction179___init, 8932};
+  struct trace_t trace = {NULL, LOCATE_parser, 8937, LOCATE_parser___ReduceAction179___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i] = 1;
@@ -16770,7 +16783,7 @@ void parser___ReduceAction179___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction180___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction180___action, 8936};
+  struct trace_t trace = {NULL, LOCATE_parser, 8941, LOCATE_parser___ReduceAction180___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16813,22 +16826,22 @@ void parser___ReduceAction180___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction180___action, 8949); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 8954); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction180___action, 8951); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 8956); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction180___action, 8953); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 8958); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction180___action, 8955); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 8960); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction180___action, 8957); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 8962); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction180___action, 8959); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*ppropdefnode1*/ /*node_list=*/;
@@ -16838,7 +16851,7 @@ void parser___ReduceAction180___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction180___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction180___init, 8972};
+  struct trace_t trace = {NULL, LOCATE_parser, 8977, LOCATE_parser___ReduceAction180___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i] = 1;
@@ -16846,7 +16859,7 @@ void parser___ReduceAction180___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction181___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction181___action, 8976};
+  struct trace_t trace = {NULL, LOCATE_parser, 8981, LOCATE_parser___ReduceAction181___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16893,25 +16906,25 @@ void parser___ReduceAction181___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction181___action, 8990); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 8995); nit_exit(1);}
   variable13 =  variable10 /*nodearraylist2*/;
   variable14 = TAG_Bool(( variable13 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction181___action, 8992); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 8997); nit_exit(1);}
   variable14 =  variable9 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction181___action, 8994); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 8999); nit_exit(1);}
   variable15 =  variable8 /*nodearraylist4*/;
   variable16 = TAG_Bool(( variable15 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction181___action, 8996); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9001); nit_exit(1);}
   variable16 =  variable7 /*nodearraylist5*/;
   variable17 = TAG_Bool(( variable16 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction181___action, 8998); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9003); nit_exit(1);}
   variable17 =  variable6 /*nodearraylist6*/;
   variable18 = TAG_Bool(( variable17 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable17 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction181___action, 9000); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9005); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction181___action, 9002); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*ppropdefnode1*/ /*node_list=*/;
@@ -16921,7 +16934,7 @@ void parser___ReduceAction181___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction181___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction181___init, 9015};
+  struct trace_t trace = {NULL, LOCATE_parser, 9020, LOCATE_parser___ReduceAction181___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i] = 1;
@@ -16929,7 +16942,7 @@ void parser___ReduceAction181___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction182___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction182___action, 9019};
+  struct trace_t trace = {NULL, LOCATE_parser, 9024, LOCATE_parser___ReduceAction182___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16959,19 +16972,19 @@ void parser___ReduceAction182___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable7 =  variable6 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction182___action, 9028); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9033); nit_exit(1);}
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction182___action, 9030); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9035); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction182___action, 9032); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9037); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable10 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction182___action, 9034); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9039); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction182___action, 9036); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*ppropdefnode1*/ /*node_list=*/;
@@ -16981,7 +16994,7 @@ void parser___ReduceAction182___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction182___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction182___init, 9048};
+  struct trace_t trace = {NULL, LOCATE_parser, 9053, LOCATE_parser___ReduceAction182___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i] = 1;
@@ -16989,7 +17002,7 @@ void parser___ReduceAction182___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction183___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction183___action, 9052};
+  struct trace_t trace = {NULL, LOCATE_parser, 9057, LOCATE_parser___ReduceAction183___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17023,22 +17036,22 @@ void parser___ReduceAction183___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction183___action, 9062); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9067); nit_exit(1);}
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction183___action, 9064); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9069); nit_exit(1);}
   variable10 =  variable5 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction183___action, 9066); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9071); nit_exit(1);}
   variable11 =  variable4 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction183___action, 9068); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9073); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist5*/;
   variable13 = TAG_Bool(( variable12 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction183___action, 9070); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9075); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction183___action, 9072); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -17048,7 +17061,7 @@ void parser___ReduceAction183___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction183___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction183___init, 9084};
+  struct trace_t trace = {NULL, LOCATE_parser, 9089, LOCATE_parser___ReduceAction183___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i] = 1;
@@ -17056,7 +17069,7 @@ void parser___ReduceAction183___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction184___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction184___action, 9088};
+  struct trace_t trace = {NULL, LOCATE_parser, 9093, LOCATE_parser___ReduceAction184___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17072,7 +17085,7 @@ void parser___ReduceAction184___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction184___action, 9094); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9099); nit_exit(1);}
   variable1 =  variable4 /*ppropdefnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(13)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5,  variable1 /*node_list*/) /*Parser::push*/;
@@ -17080,7 +17093,7 @@ void parser___ReduceAction184___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction184___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction184___init, 9098};
+  struct trace_t trace = {NULL, LOCATE_parser, 9103, LOCATE_parser___ReduceAction184___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i] = 1;
@@ -17088,7 +17101,7 @@ void parser___ReduceAction184___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction185___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction185___action, 9102};
+  struct trace_t trace = {NULL, LOCATE_parser, 9107, LOCATE_parser___ReduceAction185___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17124,19 +17137,19 @@ void parser___ReduceAction185___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction185___action, 9113); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9118); nit_exit(1);}
   variable10 =  variable7 /*nodearraylist2*/;
   variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction185___action, 9115); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9120); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction185___action, 9117); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9122); nit_exit(1);}
   variable12 =  variable5 /*nodearraylist4*/;
   variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction185___action, 9119); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9124); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction185___action, 9121); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*ppropdefnode1*/ /*node_list=*/;
@@ -17146,7 +17159,7 @@ void parser___ReduceAction185___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction185___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction185___init, 9134};
+  struct trace_t trace = {NULL, LOCATE_parser, 9139, LOCATE_parser___ReduceAction185___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i] = 1;
@@ -17154,7 +17167,7 @@ void parser___ReduceAction185___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction186___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction186___action, 9138};
+  struct trace_t trace = {NULL, LOCATE_parser, 9143, LOCATE_parser___ReduceAction186___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17194,22 +17207,22 @@ void parser___ReduceAction186___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction186___action, 9150); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9155); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction186___action, 9152); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9157); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction186___action, 9154); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9159); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction186___action, 9156); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9161); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction186___action, 9158); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9163); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction186___action, 9160); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -17219,7 +17232,7 @@ void parser___ReduceAction186___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction186___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction186___init, 9173};
+  struct trace_t trace = {NULL, LOCATE_parser, 9178, LOCATE_parser___ReduceAction186___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i] = 1;
@@ -17227,7 +17240,7 @@ void parser___ReduceAction186___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction187___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction187___action, 9177};
+  struct trace_t trace = {NULL, LOCATE_parser, 9182, LOCATE_parser___ReduceAction187___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17267,22 +17280,22 @@ void parser___ReduceAction187___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction187___action, 9189); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9194); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction187___action, 9191); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9196); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction187___action, 9193); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9198); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction187___action, 9195); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9200); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction187___action, 9197); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9202); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction187___action, 9199); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -17292,7 +17305,7 @@ void parser___ReduceAction187___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction187___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction187___init, 9212};
+  struct trace_t trace = {NULL, LOCATE_parser, 9217, LOCATE_parser___ReduceAction187___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i] = 1;
@@ -17300,7 +17313,7 @@ void parser___ReduceAction187___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction188___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction188___action, 9216};
+  struct trace_t trace = {NULL, LOCATE_parser, 9221, LOCATE_parser___ReduceAction188___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17344,25 +17357,25 @@ void parser___ReduceAction188___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction188___action, 9229); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9234); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction188___action, 9231); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9236); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction188___action, 9233); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9238); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction188___action, 9235); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9240); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction188___action, 9237); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9242); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction188___action, 9239); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9244); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction188___action, 9241); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -17372,7 +17385,7 @@ void parser___ReduceAction188___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction188___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction188___init, 9254};
+  struct trace_t trace = {NULL, LOCATE_parser, 9259, LOCATE_parser___ReduceAction188___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i] = 1;
@@ -17380,7 +17393,7 @@ void parser___ReduceAction188___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction189___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction189___action, 9258};
+  struct trace_t trace = {NULL, LOCATE_parser, 9263, LOCATE_parser___ReduceAction189___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17420,22 +17433,22 @@ void parser___ReduceAction189___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction189___action, 9270); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9275); nit_exit(1);}
   variable11 =  variable8 /*nodearraylist2*/;
   variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction189___action, 9272); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9277); nit_exit(1);}
   variable12 =  variable7 /*nodearraylist3*/;
   variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction189___action, 9274); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9279); nit_exit(1);}
   variable13 =  variable6 /*nodearraylist4*/;
   variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction189___action, 9276); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9281); nit_exit(1);}
   variable14 =  variable5 /*nodearraylist5*/;
   variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction189___action, 9278); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9283); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction189___action, 9280); nit_exit(1);}
+  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*/
   variable16 = variable17;
   variable1 =  variable16 /*ppropdefnode1*/ /*node_list=*/;
@@ -17445,7 +17458,7 @@ void parser___ReduceAction189___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction189___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction189___init, 9293};
+  struct trace_t trace = {NULL, LOCATE_parser, 9298, LOCATE_parser___ReduceAction189___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i] = 1;
@@ -17453,7 +17466,7 @@ void parser___ReduceAction189___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction190___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction190___action, 9297};
+  struct trace_t trace = {NULL, LOCATE_parser, 9302, LOCATE_parser___ReduceAction190___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17497,25 +17510,25 @@ void parser___ReduceAction190___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction190___action, 9310); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9315); nit_exit(1);}
   variable12 =  variable9 /*nodearraylist2*/;
   variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction190___action, 9312); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9317); nit_exit(1);}
   variable13 =  variable8 /*nodearraylist3*/;
   variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction190___action, 9314); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9319); nit_exit(1);}
   variable14 =  variable7 /*nodearraylist4*/;
   variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction190___action, 9316); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9321); nit_exit(1);}
   variable15 =  variable6 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction190___action, 9318); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9323); nit_exit(1);}
   variable16 =  variable5 /*nodearraylist6*/;
   variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction190___action, 9320); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9325); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction190___action, 9322); nit_exit(1);}
+  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*/
   variable18 = variable19;
   variable1 =  variable18 /*ppropdefnode1*/ /*node_list=*/;
@@ -17525,7 +17538,7 @@ void parser___ReduceAction190___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction190___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction190___init, 9335};
+  struct trace_t trace = {NULL, LOCATE_parser, 9340, LOCATE_parser___ReduceAction190___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i] = 1;
@@ -17533,7 +17546,7 @@ void parser___ReduceAction190___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction191___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction191___action, 9339};
+  struct trace_t trace = {NULL, LOCATE_parser, 9344, LOCATE_parser___ReduceAction191___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17550,7 +17563,7 @@ void parser___ReduceAction191___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction191___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction191___init, 9347};
+  struct trace_t trace = {NULL, LOCATE_parser, 9352, LOCATE_parser___ReduceAction191___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i] = 1;
@@ -17558,7 +17571,7 @@ void parser___ReduceAction191___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction192___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction192___action, 9351};
+  struct trace_t trace = {NULL, LOCATE_parser, 9356, LOCATE_parser___ReduceAction192___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17575,7 +17588,7 @@ void parser___ReduceAction192___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction192___action, 9357); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*pvisibilitynode1*/ /*node_list=*/;
@@ -17585,7 +17598,7 @@ void parser___ReduceAction192___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction192___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction192___init, 9364};
+  struct trace_t trace = {NULL, LOCATE_parser, 9369, LOCATE_parser___ReduceAction192___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i] = 1;
@@ -17593,7 +17606,7 @@ void parser___ReduceAction192___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction193___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction193___action, 9368};
+  struct trace_t trace = {NULL, LOCATE_parser, 9373, LOCATE_parser___ReduceAction193___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17610,7 +17623,7 @@ void parser___ReduceAction193___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction193___action, 9374); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*pvisibilitynode1*/ /*node_list=*/;
@@ -17620,7 +17633,7 @@ void parser___ReduceAction193___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction193___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction193___init, 9381};
+  struct trace_t trace = {NULL, LOCATE_parser, 9386, LOCATE_parser___ReduceAction193___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i] = 1;
@@ -17628,7 +17641,7 @@ void parser___ReduceAction193___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction194___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction194___action, 9385};
+  struct trace_t trace = {NULL, LOCATE_parser, 9390, LOCATE_parser___ReduceAction194___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17645,7 +17658,7 @@ void parser___ReduceAction194___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction194___action, 9391); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*pvisibilitynode1*/ /*node_list=*/;
@@ -17655,7 +17668,7 @@ void parser___ReduceAction194___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction194___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction194___init, 9398};
+  struct trace_t trace = {NULL, LOCATE_parser, 9403, LOCATE_parser___ReduceAction194___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i] = 1;
@@ -17663,7 +17676,7 @@ void parser___ReduceAction194___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction195___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction195___action, 9402};
+  struct trace_t trace = {NULL, LOCATE_parser, 9407, LOCATE_parser___ReduceAction195___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17677,7 +17690,7 @@ void parser___ReduceAction195___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction195___action, 9407); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17687,7 +17700,7 @@ void parser___ReduceAction195___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction195___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction195___init, 9414};
+  struct trace_t trace = {NULL, LOCATE_parser, 9419, LOCATE_parser___ReduceAction195___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i] = 1;
@@ -17695,7 +17708,7 @@ void parser___ReduceAction195___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction196___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction196___action, 9418};
+  struct trace_t trace = {NULL, LOCATE_parser, 9423, LOCATE_parser___ReduceAction196___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17709,7 +17722,7 @@ void parser___ReduceAction196___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction196___action, 9423); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17719,7 +17732,7 @@ void parser___ReduceAction196___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction196___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction196___init, 9430};
+  struct trace_t trace = {NULL, LOCATE_parser, 9435, LOCATE_parser___ReduceAction196___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i] = 1;
@@ -17727,7 +17740,7 @@ void parser___ReduceAction196___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction197___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction197___action, 9434};
+  struct trace_t trace = {NULL, LOCATE_parser, 9439, LOCATE_parser___ReduceAction197___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17741,7 +17754,7 @@ void parser___ReduceAction197___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction197___action, 9439); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17751,7 +17764,7 @@ void parser___ReduceAction197___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction197___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction197___init, 9446};
+  struct trace_t trace = {NULL, LOCATE_parser, 9451, LOCATE_parser___ReduceAction197___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i] = 1;
@@ -17759,7 +17772,7 @@ void parser___ReduceAction197___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction198___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction198___action, 9450};
+  struct trace_t trace = {NULL, LOCATE_parser, 9455, LOCATE_parser___ReduceAction198___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17773,7 +17786,7 @@ void parser___ReduceAction198___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction198___action, 9455); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17783,7 +17796,7 @@ void parser___ReduceAction198___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction198___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction198___init, 9462};
+  struct trace_t trace = {NULL, LOCATE_parser, 9467, LOCATE_parser___ReduceAction198___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i] = 1;
@@ -17791,7 +17804,7 @@ void parser___ReduceAction198___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction199___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction199___action, 9466};
+  struct trace_t trace = {NULL, LOCATE_parser, 9471, LOCATE_parser___ReduceAction199___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17805,7 +17818,7 @@ void parser___ReduceAction199___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction199___action, 9471); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17815,7 +17828,7 @@ void parser___ReduceAction199___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction199___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction199___init, 9478};
+  struct trace_t trace = {NULL, LOCATE_parser, 9483, LOCATE_parser___ReduceAction199___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i] = 1;
@@ -17823,7 +17836,7 @@ void parser___ReduceAction199___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction200___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction200___action, 9482};
+  struct trace_t trace = {NULL, LOCATE_parser, 9487, LOCATE_parser___ReduceAction200___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17837,7 +17850,7 @@ void parser___ReduceAction200___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction200___action, 9487); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17847,7 +17860,7 @@ void parser___ReduceAction200___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction200___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction200___init, 9494};
+  struct trace_t trace = {NULL, LOCATE_parser, 9499, LOCATE_parser___ReduceAction200___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i] = 1;
@@ -17855,7 +17868,7 @@ void parser___ReduceAction200___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction201___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction201___action, 9498};
+  struct trace_t trace = {NULL, LOCATE_parser, 9503, LOCATE_parser___ReduceAction201___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17869,7 +17882,7 @@ void parser___ReduceAction201___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction201___action, 9503); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17879,7 +17892,7 @@ void parser___ReduceAction201___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction201___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction201___init, 9510};
+  struct trace_t trace = {NULL, LOCATE_parser, 9515, LOCATE_parser___ReduceAction201___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i] = 1;
@@ -17887,7 +17900,7 @@ void parser___ReduceAction201___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction202___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction202___action, 9514};
+  struct trace_t trace = {NULL, LOCATE_parser, 9519, LOCATE_parser___ReduceAction202___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17901,7 +17914,7 @@ void parser___ReduceAction202___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction202___action, 9519); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17911,7 +17924,7 @@ void parser___ReduceAction202___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction202___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction202___init, 9526};
+  struct trace_t trace = {NULL, LOCATE_parser, 9531, LOCATE_parser___ReduceAction202___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i] = 1;
@@ -17919,7 +17932,7 @@ void parser___ReduceAction202___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction203___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction203___action, 9530};
+  struct trace_t trace = {NULL, LOCATE_parser, 9535, LOCATE_parser___ReduceAction203___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17933,7 +17946,7 @@ void parser___ReduceAction203___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction203___action, 9535); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17943,7 +17956,7 @@ void parser___ReduceAction203___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction203___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction203___init, 9542};
+  struct trace_t trace = {NULL, LOCATE_parser, 9547, LOCATE_parser___ReduceAction203___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i] = 1;
@@ -17951,7 +17964,7 @@ void parser___ReduceAction203___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction204___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction204___action, 9546};
+  struct trace_t trace = {NULL, LOCATE_parser, 9551, LOCATE_parser___ReduceAction204___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17965,7 +17978,7 @@ void parser___ReduceAction204___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction204___action, 9551); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -17975,7 +17988,7 @@ void parser___ReduceAction204___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction204___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction204___init, 9558};
+  struct trace_t trace = {NULL, LOCATE_parser, 9563, LOCATE_parser___ReduceAction204___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i] = 1;
@@ -17983,7 +17996,7 @@ void parser___ReduceAction204___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction205___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction205___action, 9562};
+  struct trace_t trace = {NULL, LOCATE_parser, 9567, LOCATE_parser___ReduceAction205___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17997,7 +18010,7 @@ void parser___ReduceAction205___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction205___action, 9567); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -18007,7 +18020,7 @@ void parser___ReduceAction205___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction205___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction205___init, 9574};
+  struct trace_t trace = {NULL, LOCATE_parser, 9579, LOCATE_parser___ReduceAction205___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i] = 1;
@@ -18015,7 +18028,7 @@ void parser___ReduceAction205___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction206___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction206___action, 9578};
+  struct trace_t trace = {NULL, LOCATE_parser, 9583, LOCATE_parser___ReduceAction206___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18029,7 +18042,7 @@ void parser___ReduceAction206___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction206___action, 9583); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -18039,7 +18052,7 @@ void parser___ReduceAction206___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction206___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction206___init, 9590};
+  struct trace_t trace = {NULL, LOCATE_parser, 9595, LOCATE_parser___ReduceAction206___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i] = 1;
@@ -18047,7 +18060,7 @@ void parser___ReduceAction206___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction207___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction207___action, 9594};
+  struct trace_t trace = {NULL, LOCATE_parser, 9599, LOCATE_parser___ReduceAction207___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18065,10 +18078,10 @@ void parser___ReduceAction207___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tobranode2*/==NIT_NULL) || VAL_ISA( variable4 /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction207___action, 9600); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 9605); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction207___action, 9602); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pmethidnode1*/ /*node_list=*/;
@@ -18078,7 +18091,7 @@ void parser___ReduceAction207___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction207___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction207___init, 9610};
+  struct trace_t trace = {NULL, LOCATE_parser, 9615, LOCATE_parser___ReduceAction207___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i] = 1;
@@ -18086,7 +18099,7 @@ void parser___ReduceAction207___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction208___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction208___action, 9614};
+  struct trace_t trace = {NULL, LOCATE_parser, 9619, LOCATE_parser___ReduceAction208___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18100,7 +18113,7 @@ void parser___ReduceAction208___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction208___action, 9619); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pmethidnode1*/ /*node_list=*/;
@@ -18110,7 +18123,7 @@ void parser___ReduceAction208___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction208___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction208___init, 9626};
+  struct trace_t trace = {NULL, LOCATE_parser, 9631, LOCATE_parser___ReduceAction208___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i] = 1;
@@ -18118,7 +18131,7 @@ void parser___ReduceAction208___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction209___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction209___action, 9630};
+  struct trace_t trace = {NULL, LOCATE_parser, 9635, LOCATE_parser___ReduceAction209___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18136,10 +18149,10 @@ void parser___ReduceAction209___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction209___action, 9636); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 9641); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction209___action, 9638); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pmethidnode1*/ /*node_list=*/;
@@ -18149,7 +18162,7 @@ void parser___ReduceAction209___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction209___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction209___init, 9646};
+  struct trace_t trace = {NULL, LOCATE_parser, 9651, LOCATE_parser___ReduceAction209___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i] = 1;
@@ -18157,7 +18170,7 @@ void parser___ReduceAction209___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction210___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction210___action, 9650};
+  struct trace_t trace = {NULL, LOCATE_parser, 9655, LOCATE_parser___ReduceAction210___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18179,13 +18192,13 @@ void parser___ReduceAction210___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tobranode2*/==NIT_NULL) || VAL_ISA( variable5 /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction210___action, 9657); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 9662); nit_exit(1);}
   variable6 =  variable3 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable6 /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction210___action, 9659); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 9664); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction210___action, 9661); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pmethidnode1*/ /*node_list=*/;
@@ -18195,7 +18208,7 @@ void parser___ReduceAction210___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction210___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction210___init, 9670};
+  struct trace_t trace = {NULL, LOCATE_parser, 9675, LOCATE_parser___ReduceAction210___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i] = 1;
@@ -18203,7 +18216,7 @@ void parser___ReduceAction210___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction211___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction211___action, 9674};
+  struct trace_t trace = {NULL, LOCATE_parser, 9679, LOCATE_parser___ReduceAction211___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18212,7 +18225,7 @@ void parser___ReduceAction211___action(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
   variable4 = NEW_parser_prod___ASignature___init_asignature( variable2 /*listnode2*/,  NIT_NULL /*null*/); /*new ASignature*/
   variable3 = variable4;
@@ -18223,7 +18236,7 @@ void parser___ReduceAction211___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction211___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction211___init, 9685};
+  struct trace_t trace = {NULL, LOCATE_parser, 9690, LOCATE_parser___ReduceAction211___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i] = 1;
@@ -18231,7 +18244,7 @@ void parser___ReduceAction211___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction212___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction212___action, 9689};
+  struct trace_t trace = {NULL, LOCATE_parser, 9694, LOCATE_parser___ReduceAction212___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18244,18 +18257,18 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction212___action, 9695); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 9700); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
+    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable5)) { /*if*/
       variable3 =  variable4 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*Array::append*/;
+      ((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*/
@@ -18267,7 +18280,7 @@ void parser___ReduceAction212___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction212___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction212___init, 9710};
+  struct trace_t trace = {NULL, LOCATE_parser, 9715, LOCATE_parser___ReduceAction212___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i] = 1;
@@ -18275,7 +18288,7 @@ void parser___ReduceAction212___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction213___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction213___action, 9714};
+  struct trace_t trace = {NULL, LOCATE_parser, 9719, LOCATE_parser___ReduceAction213___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18288,11 +18301,11 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction213___action, 9720); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*psignaturenode1*/ /*node_list=*/;
@@ -18302,7 +18315,7 @@ void parser___ReduceAction213___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction213___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction213___init, 9728};
+  struct trace_t trace = {NULL, LOCATE_parser, 9733, LOCATE_parser___ReduceAction213___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i] = 1;
@@ -18310,7 +18323,7 @@ void parser___ReduceAction213___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction214___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction214___action, 9732};
+  struct trace_t trace = {NULL, LOCATE_parser, 9737, LOCATE_parser___ReduceAction214___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18327,23 +18340,23 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction214___action, 9739); nit_exit(1);}
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 9744); nit_exit(1);}
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable6)) { /*if*/
       variable4 =  variable5 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction214___action, 9748); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*psignaturenode1*/ /*node_list=*/;
@@ -18353,7 +18366,7 @@ void parser___ReduceAction214___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction214___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction214___init, 9756};
+  struct trace_t trace = {NULL, LOCATE_parser, 9761, LOCATE_parser___ReduceAction214___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i] = 1;
@@ -18361,7 +18374,7 @@ void parser___ReduceAction214___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction215___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction215___action, 9760};
+  struct trace_t trace = {NULL, LOCATE_parser, 9765, LOCATE_parser___ReduceAction215___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18385,14 +18398,14 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction215___action, 9770); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pparamnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pparamnode1*/,  NIT_NULL /*null*/) /*PParam::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 9775); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pparamnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pparamnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pparamnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pparamnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable7 /*listnode2*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(18)) /*Parser::go_to*/;
@@ -18401,7 +18414,7 @@ void parser___ReduceAction215___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction215___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction215___init, 9777};
+  struct trace_t trace = {NULL, LOCATE_parser, 9782, LOCATE_parser___ReduceAction215___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i] = 1;
@@ -18409,7 +18422,7 @@ void parser___ReduceAction215___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction216___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction216___action, 9781};
+  struct trace_t trace = {NULL, LOCATE_parser, 9786, LOCATE_parser___ReduceAction216___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18437,25 +18450,25 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction216___action, 9792); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 9797); nit_exit(1);}
   variable10 =  variable4 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction216___action, 9794); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pparamnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pparamnode1*/,  NIT_NULL /*null*/) /*PParam::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 9799); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pparamnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pparamnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pparamnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pparamnode1*/) /*AbstractArray::add*/;
   }
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable8 /*listnode3*/ /*node_list=*/;
@@ -18465,7 +18478,7 @@ void parser___ReduceAction216___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction216___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction216___init, 9808};
+  struct trace_t trace = {NULL, LOCATE_parser, 9813, LOCATE_parser___ReduceAction216___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i] = 1;
@@ -18473,7 +18486,7 @@ void parser___ReduceAction216___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction217___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction217___action, 9812};
+  struct trace_t trace = {NULL, LOCATE_parser, 9817, LOCATE_parser___ReduceAction217___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18490,7 +18503,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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
@@ -18499,7 +18512,7 @@ void parser___ReduceAction217___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction217___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction217___init, 9822};
+  struct trace_t trace = {NULL, LOCATE_parser, 9827, LOCATE_parser___ReduceAction217___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i] = 1;
@@ -18507,7 +18520,7 @@ void parser___ReduceAction217___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction218___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction218___action, 9826};
+  struct trace_t trace = {NULL, LOCATE_parser, 9831, LOCATE_parser___ReduceAction218___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18526,7 +18539,7 @@ void parser___ReduceAction218___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist3*/;
   variable6 = TAG_Bool(( variable5 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction218___action, 9833); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 9838); nit_exit(1);}
   variable1 =  variable5 /*pparamnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(19)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
@@ -18534,7 +18547,7 @@ void parser___ReduceAction218___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction218___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction218___init, 9837};
+  struct trace_t trace = {NULL, LOCATE_parser, 9842, LOCATE_parser___ReduceAction218___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i] = 1;
@@ -18542,7 +18555,7 @@ void parser___ReduceAction218___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction219___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction219___action, 9841};
+  struct trace_t trace = {NULL, LOCATE_parser, 9846, LOCATE_parser___ReduceAction219___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18556,7 +18569,7 @@ void parser___ReduceAction219___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction219___action, 9846); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pparamnode1*/ /*node_list=*/;
@@ -18566,7 +18579,7 @@ void parser___ReduceAction219___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction219___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction219___init, 9855};
+  struct trace_t trace = {NULL, LOCATE_parser, 9860, LOCATE_parser___ReduceAction219___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i] = 1;
@@ -18574,7 +18587,7 @@ void parser___ReduceAction219___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction220___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction220___action, 9859};
+  struct trace_t trace = {NULL, LOCATE_parser, 9864, LOCATE_parser___ReduceAction220___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18592,10 +18605,10 @@ void parser___ReduceAction220___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction220___action, 9865); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 9870); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction220___action, 9867); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pparamnode1*/ /*node_list=*/;
@@ -18605,7 +18618,7 @@ void parser___ReduceAction220___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction220___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction220___init, 9876};
+  struct trace_t trace = {NULL, LOCATE_parser, 9881, LOCATE_parser___ReduceAction220___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i] = 1;
@@ -18613,7 +18626,7 @@ void parser___ReduceAction220___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction221___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction221___action, 9880};
+  struct trace_t trace = {NULL, LOCATE_parser, 9885, LOCATE_parser___ReduceAction221___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18635,13 +18648,13 @@ void parser___ReduceAction221___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction221___action, 9887); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 9892); nit_exit(1);}
   variable6 =  variable3 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction221___action, 9889); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 9894); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction221___action, 9891); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pparamnode1*/ /*node_list=*/;
@@ -18651,7 +18664,7 @@ void parser___ReduceAction221___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction221___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction221___init, 9900};
+  struct trace_t trace = {NULL, LOCATE_parser, 9905, LOCATE_parser___ReduceAction221___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i] = 1;
@@ -18659,7 +18672,7 @@ void parser___ReduceAction221___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction222___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction222___action, 9904};
+  struct trace_t trace = {NULL, LOCATE_parser, 9909, LOCATE_parser___ReduceAction222___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18672,11 +18685,11 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction222___action, 9910); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
@@ -18686,7 +18699,7 @@ void parser___ReduceAction222___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction222___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction222___init, 9918};
+  struct trace_t trace = {NULL, LOCATE_parser, 9923, LOCATE_parser___ReduceAction222___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i] = 1;
@@ -18694,7 +18707,7 @@ void parser___ReduceAction222___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction223___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction223___action, 9922};
+  struct trace_t trace = {NULL, LOCATE_parser, 9927, LOCATE_parser___ReduceAction223___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18723,21 +18736,21 @@ 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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable7 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction223___action, 9933); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 9938); nit_exit(1);}
   variable10 =  variable4 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction223___action, 9935); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 9940); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable10 /*listnode3*/) /*Array::append*/;
+      ((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*/
@@ -18749,7 +18762,7 @@ void parser___ReduceAction223___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction223___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction223___init, 9950};
+  struct trace_t trace = {NULL, LOCATE_parser, 9955, LOCATE_parser___ReduceAction223___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i] = 1;
@@ -18757,7 +18770,7 @@ void parser___ReduceAction223___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction224___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction224___action, 9954};
+  struct trace_t trace = {NULL, LOCATE_parser, 9959, LOCATE_parser___ReduceAction224___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18769,14 +18782,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction224___action, 9960); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 9965); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ptypenode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ptypenode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(22)) /*Parser::go_to*/;
@@ -18785,7 +18798,7 @@ void parser___ReduceAction224___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction224___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction224___init, 9967};
+  struct trace_t trace = {NULL, LOCATE_parser, 9972, LOCATE_parser___ReduceAction224___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i] = 1;
@@ -18793,7 +18806,7 @@ void parser___ReduceAction224___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction225___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction225___action, 9971};
+  struct trace_t trace = {NULL, LOCATE_parser, 9976, LOCATE_parser___ReduceAction225___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18809,25 +18822,25 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction225___action, 9978); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 9983); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction225___action, 9980); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*ptypenode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*ptypenode1*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 9985); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*ptypenode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*ptypenode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable5 /*ptypenode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable5 /*ptypenode1*/) /*AbstractArray::add*/;
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable6 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable6 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
@@ -18837,7 +18850,7 @@ void parser___ReduceAction225___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction225___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction225___init, 9994};
+  struct trace_t trace = {NULL, LOCATE_parser, 9999, LOCATE_parser___ReduceAction225___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i] = 1;
@@ -18845,7 +18858,7 @@ void parser___ReduceAction225___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction226___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction226___action, 9998};
+  struct trace_t trace = {NULL, LOCATE_parser, 10003, LOCATE_parser___ReduceAction226___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18864,7 +18877,7 @@ void parser___ReduceAction226___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist3*/;
   variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction226___action, 10005); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 10010); nit_exit(1);}
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(23)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
@@ -18872,7 +18885,7 @@ void parser___ReduceAction226___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction226___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction226___init, 10009};
+  struct trace_t trace = {NULL, LOCATE_parser, 10014, LOCATE_parser___ReduceAction226___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i] = 1;
@@ -18880,7 +18893,7 @@ void parser___ReduceAction226___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction227___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction227___action, 10013};
+  struct trace_t trace = {NULL, LOCATE_parser, 10018, LOCATE_parser___ReduceAction227___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18899,7 +18912,7 @@ void parser___ReduceAction227___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist3*/;
   variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction227___action, 10020); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 10025); nit_exit(1);}
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(24)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
@@ -18907,7 +18920,7 @@ void parser___ReduceAction227___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction227___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction227___init, 10024};
+  struct trace_t trace = {NULL, LOCATE_parser, 10029, LOCATE_parser___ReduceAction227___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i] = 1;
@@ -18915,7 +18928,7 @@ void parser___ReduceAction227___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction228___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction228___action, 10028};
+  struct trace_t trace = {NULL, LOCATE_parser, 10033, LOCATE_parser___ReduceAction228___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18928,7 +18941,7 @@ void parser___ReduceAction228___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction228___action, 10033); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 10038); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(25)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -18936,7 +18949,7 @@ void parser___ReduceAction228___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction228___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction228___init, 10037};
+  struct trace_t trace = {NULL, LOCATE_parser, 10042, LOCATE_parser___ReduceAction228___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i] = 1;
@@ -18944,7 +18957,7 @@ void parser___ReduceAction228___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction229___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction229___action, 10041};
+  struct trace_t trace = {NULL, LOCATE_parser, 10046, LOCATE_parser___ReduceAction229___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18966,14 +18979,14 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable4 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction229___action, 10050); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 10055); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode2*/) /*Array::add*/;
+    ((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*/
   variable8 = variable9;
@@ -18984,7 +18997,7 @@ void parser___ReduceAction229___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction229___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction229___init, 10060};
+  struct trace_t trace = {NULL, LOCATE_parser, 10065, LOCATE_parser___ReduceAction229___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i] = 1;
@@ -18992,7 +19005,7 @@ void parser___ReduceAction229___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction230___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction230___action, 10064};
+  struct trace_t trace = {NULL, LOCATE_parser, 10069, LOCATE_parser___ReduceAction230___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19018,25 +19031,25 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction230___action, 10074); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 10079); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction230___action, 10076); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 10081); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/,  variable8 /*pexprnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/,  variable8 /*pexprnode2*/) /*AbstractArray::add*/;
   }
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable7 =  variable9 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*Array::append*/;
+      ((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*/
@@ -19048,7 +19061,7 @@ void parser___ReduceAction230___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction230___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction230___init, 10093};
+  struct trace_t trace = {NULL, LOCATE_parser, 10098, LOCATE_parser___ReduceAction230___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i] = 1;
@@ -19056,7 +19069,7 @@ void parser___ReduceAction230___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction231___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction231___action, 10097};
+  struct trace_t trace = {NULL, LOCATE_parser, 10102, LOCATE_parser___ReduceAction231___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19076,7 +19089,7 @@ void parser___ReduceAction231___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction231___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction231___init, 10105};
+  struct trace_t trace = {NULL, LOCATE_parser, 10110, LOCATE_parser___ReduceAction231___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i] = 1;
@@ -19084,7 +19097,7 @@ void parser___ReduceAction231___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction232___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction232___action, 10109};
+  struct trace_t trace = {NULL, LOCATE_parser, 10114, LOCATE_parser___ReduceAction232___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19101,7 +19114,7 @@ void parser___ReduceAction232___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction232___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction232___init, 10116};
+  struct trace_t trace = {NULL, LOCATE_parser, 10121, LOCATE_parser___ReduceAction232___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i] = 1;
@@ -19109,7 +19122,7 @@ void parser___ReduceAction232___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction233___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction233___action, 10120};
+  struct trace_t trace = {NULL, LOCATE_parser, 10125, LOCATE_parser___ReduceAction233___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19125,7 +19138,7 @@ void parser___ReduceAction233___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist2*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction233___action, 10126); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 10131); nit_exit(1);}
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(26)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19133,7 +19146,7 @@ void parser___ReduceAction233___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction233___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction233___init, 10130};
+  struct trace_t trace = {NULL, LOCATE_parser, 10135, LOCATE_parser___ReduceAction233___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i] = 1;
@@ -19141,7 +19154,7 @@ void parser___ReduceAction233___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction234___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction234___action, 10134};
+  struct trace_t trace = {NULL, LOCATE_parser, 10139, LOCATE_parser___ReduceAction234___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19154,7 +19167,7 @@ void parser___ReduceAction234___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction234___action, 10139); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 10144); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19162,7 +19175,7 @@ void parser___ReduceAction234___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction234___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction234___init, 10143};
+  struct trace_t trace = {NULL, LOCATE_parser, 10148, LOCATE_parser___ReduceAction234___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i] = 1;
@@ -19170,7 +19183,7 @@ void parser___ReduceAction234___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction235___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction235___action, 10147};
+  struct trace_t trace = {NULL, LOCATE_parser, 10152, LOCATE_parser___ReduceAction235___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19183,7 +19196,7 @@ void parser___ReduceAction235___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction235___action, 10152); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 10157); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19191,7 +19204,7 @@ void parser___ReduceAction235___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction235___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction235___init, 10156};
+  struct trace_t trace = {NULL, LOCATE_parser, 10161, LOCATE_parser___ReduceAction235___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i] = 1;
@@ -19199,7 +19212,7 @@ void parser___ReduceAction235___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction236___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction236___action, 10160};
+  struct trace_t trace = {NULL, LOCATE_parser, 10165, LOCATE_parser___ReduceAction236___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19213,7 +19226,7 @@ void parser___ReduceAction236___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction236___action, 10165); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -19223,7 +19236,7 @@ void parser___ReduceAction236___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction236___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction236___init, 10173};
+  struct trace_t trace = {NULL, LOCATE_parser, 10178, LOCATE_parser___ReduceAction236___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i] = 1;
@@ -19231,7 +19244,7 @@ void parser___ReduceAction236___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction237___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction237___action, 10177};
+  struct trace_t trace = {NULL, LOCATE_parser, 10182, LOCATE_parser___ReduceAction237___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19249,10 +19262,10 @@ void parser___ReduceAction237___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction237___action, 10183); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 10188); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction237___action, 10185); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
@@ -19262,7 +19275,7 @@ void parser___ReduceAction237___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction237___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction237___init, 10193};
+  struct trace_t trace = {NULL, LOCATE_parser, 10198, LOCATE_parser___ReduceAction237___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i] = 1;
@@ -19270,7 +19283,7 @@ void parser___ReduceAction237___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction238___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction238___action, 10197};
+  struct trace_t trace = {NULL, LOCATE_parser, 10202, LOCATE_parser___ReduceAction238___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19284,7 +19297,7 @@ void parser___ReduceAction238___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction238___action, 10202); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -19294,7 +19307,7 @@ void parser___ReduceAction238___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction238___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction238___init, 10209};
+  struct trace_t trace = {NULL, LOCATE_parser, 10214, LOCATE_parser___ReduceAction238___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i] = 1;
@@ -19302,7 +19315,7 @@ void parser___ReduceAction238___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction239___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction239___action, 10213};
+  struct trace_t trace = {NULL, LOCATE_parser, 10218, LOCATE_parser___ReduceAction239___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19316,7 +19329,7 @@ void parser___ReduceAction239___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction239___action, 10218); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -19326,7 +19339,7 @@ void parser___ReduceAction239___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction239___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction239___init, 10225};
+  struct trace_t trace = {NULL, LOCATE_parser, 10230, LOCATE_parser___ReduceAction239___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i] = 1;
@@ -19334,7 +19347,7 @@ void parser___ReduceAction239___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction240___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction240___action, 10229};
+  struct trace_t trace = {NULL, LOCATE_parser, 10234, LOCATE_parser___ReduceAction240___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19348,7 +19361,7 @@ void parser___ReduceAction240___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction240___action, 10234); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -19358,7 +19371,7 @@ void parser___ReduceAction240___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction240___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction240___init, 10241};
+  struct trace_t trace = {NULL, LOCATE_parser, 10246, LOCATE_parser___ReduceAction240___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i] = 1;
@@ -19366,7 +19379,7 @@ void parser___ReduceAction240___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction241___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction241___action, 10245};
+  struct trace_t trace = {NULL, LOCATE_parser, 10250, LOCATE_parser___ReduceAction241___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19379,7 +19392,7 @@ void parser___ReduceAction241___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction241___action, 10250); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 10255); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19387,7 +19400,7 @@ void parser___ReduceAction241___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction241___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction241___init, 10254};
+  struct trace_t trace = {NULL, LOCATE_parser, 10259, LOCATE_parser___ReduceAction241___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i] = 1;
@@ -19395,7 +19408,7 @@ void parser___ReduceAction241___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction242___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction242___action, 10258};
+  struct trace_t trace = {NULL, LOCATE_parser, 10263, LOCATE_parser___ReduceAction242___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19408,7 +19421,7 @@ void parser___ReduceAction242___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction242___action, 10263); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 10268); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19416,7 +19429,7 @@ void parser___ReduceAction242___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction242___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction242___init, 10267};
+  struct trace_t trace = {NULL, LOCATE_parser, 10272, LOCATE_parser___ReduceAction242___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i] = 1;
@@ -19424,7 +19437,7 @@ void parser___ReduceAction242___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction243___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction243___action, 10271};
+  struct trace_t trace = {NULL, LOCATE_parser, 10276, LOCATE_parser___ReduceAction243___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19437,7 +19450,7 @@ void parser___ReduceAction243___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction243___action, 10276); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 10281); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19445,7 +19458,7 @@ void parser___ReduceAction243___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction243___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction243___init, 10280};
+  struct trace_t trace = {NULL, LOCATE_parser, 10285, LOCATE_parser___ReduceAction243___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i] = 1;
@@ -19453,7 +19466,7 @@ void parser___ReduceAction243___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction244___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction244___action, 10284};
+  struct trace_t trace = {NULL, LOCATE_parser, 10289, LOCATE_parser___ReduceAction244___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19466,7 +19479,7 @@ void parser___ReduceAction244___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction244___action, 10289); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 10294); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19474,7 +19487,7 @@ void parser___ReduceAction244___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction244___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction244___init, 10293};
+  struct trace_t trace = {NULL, LOCATE_parser, 10298, LOCATE_parser___ReduceAction244___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i] = 1;
@@ -19482,7 +19495,7 @@ void parser___ReduceAction244___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction245___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction245___action, 10297};
+  struct trace_t trace = {NULL, LOCATE_parser, 10302, LOCATE_parser___ReduceAction245___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19495,7 +19508,7 @@ void parser___ReduceAction245___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction245___action, 10302); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 10307); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(27)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -19503,7 +19516,7 @@ void parser___ReduceAction245___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction245___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction245___init, 10306};
+  struct trace_t trace = {NULL, LOCATE_parser, 10311, LOCATE_parser___ReduceAction245___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i] = 1;
@@ -19511,7 +19524,7 @@ void parser___ReduceAction245___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction246___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction246___action, 10310};
+  struct trace_t trace = {NULL, LOCATE_parser, 10315, LOCATE_parser___ReduceAction246___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19538,24 +19551,24 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction246___action, 10320); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 10325); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction246___action, 10322); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 10327); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction246___action, 10324); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 10329); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -19567,7 +19580,7 @@ void parser___ReduceAction246___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction246___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction246___init, 10340};
+  struct trace_t trace = {NULL, LOCATE_parser, 10345, LOCATE_parser___ReduceAction246___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i] = 1;
@@ -19575,7 +19588,7 @@ void parser___ReduceAction246___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction247___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction247___action, 10344};
+  struct trace_t trace = {NULL, LOCATE_parser, 10349, LOCATE_parser___ReduceAction247___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19593,23 +19606,23 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction247___action, 10353); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 10358); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction247___action, 10355); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 10360); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -19621,7 +19634,7 @@ void parser___ReduceAction247___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction247___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction247___init, 10371};
+  struct trace_t trace = {NULL, LOCATE_parser, 10376, LOCATE_parser___ReduceAction247___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i] = 1;
@@ -19629,7 +19642,7 @@ void parser___ReduceAction247___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction248___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction248___action, 10375};
+  struct trace_t trace = {NULL, LOCATE_parser, 10380, LOCATE_parser___ReduceAction248___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19646,21 +19659,21 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction248___action, 10382); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 10387); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction248___action, 10384); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 10389); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -19672,7 +19685,7 @@ void parser___ReduceAction248___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction248___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction248___init, 10400};
+  struct trace_t trace = {NULL, LOCATE_parser, 10405, LOCATE_parser___ReduceAction248___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i] = 1;
@@ -19680,7 +19693,7 @@ void parser___ReduceAction248___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction249___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction249___action, 10404};
+  struct trace_t trace = {NULL, LOCATE_parser, 10409, LOCATE_parser___ReduceAction249___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19701,24 +19714,24 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction249___action, 10412); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 10417); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction249___action, 10414); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 10419); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction249___action, 10416); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 10421); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -19730,7 +19743,7 @@ void parser___ReduceAction249___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction249___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction249___init, 10432};
+  struct trace_t trace = {NULL, LOCATE_parser, 10437, LOCATE_parser___ReduceAction249___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i] = 1;
@@ -19738,7 +19751,7 @@ void parser___ReduceAction249___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction250___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction250___action, 10436};
+  struct trace_t trace = {NULL, LOCATE_parser, 10441, LOCATE_parser___ReduceAction250___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19765,24 +19778,24 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction250___action, 10446); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 10451); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction250___action, 10448); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 10453); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction250___action, 10450); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 10455); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -19794,7 +19807,7 @@ void parser___ReduceAction250___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction250___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction250___init, 10466};
+  struct trace_t trace = {NULL, LOCATE_parser, 10471, LOCATE_parser___ReduceAction250___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i] = 1;
@@ -19802,7 +19815,7 @@ void parser___ReduceAction250___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction251___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction251___action, 10470};
+  struct trace_t trace = {NULL, LOCATE_parser, 10475, LOCATE_parser___ReduceAction251___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19820,23 +19833,23 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction251___action, 10479); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 10484); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction251___action, 10481); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 10486); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -19848,7 +19861,7 @@ void parser___ReduceAction251___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction251___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction251___init, 10497};
+  struct trace_t trace = {NULL, LOCATE_parser, 10502, LOCATE_parser___ReduceAction251___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i] = 1;
@@ -19856,7 +19869,7 @@ void parser___ReduceAction251___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction252___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction252___action, 10501};
+  struct trace_t trace = {NULL, LOCATE_parser, 10506, LOCATE_parser___ReduceAction252___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19874,10 +19887,10 @@ void parser___ReduceAction252___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction252___action, 10507); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 10512); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction252___action, 10509); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
@@ -19887,7 +19900,7 @@ void parser___ReduceAction252___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction252___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction252___init, 10520};
+  struct trace_t trace = {NULL, LOCATE_parser, 10525, LOCATE_parser___ReduceAction252___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i] = 1;
@@ -19895,7 +19908,7 @@ void parser___ReduceAction252___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction253___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction253___action, 10524};
+  struct trace_t trace = {NULL, LOCATE_parser, 10529, LOCATE_parser___ReduceAction253___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19917,13 +19930,13 @@ void parser___ReduceAction253___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction253___action, 10531); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 10536); nit_exit(1);}
   variable6 =  variable3 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction253___action, 10533); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 10538); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction253___action, 10535); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -19933,7 +19946,7 @@ void parser___ReduceAction253___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction253___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction253___init, 10546};
+  struct trace_t trace = {NULL, LOCATE_parser, 10551, LOCATE_parser___ReduceAction253___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i] = 1;
@@ -19941,7 +19954,7 @@ void parser___ReduceAction253___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction254___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction254___action, 10550};
+  struct trace_t trace = {NULL, LOCATE_parser, 10555, LOCATE_parser___ReduceAction254___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19970,16 +19983,16 @@ void parser___ReduceAction254___action(val_t  self, val_t  param0) {
   variable6 = variable7;
   variable7 =  variable6 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction254___action, 10559); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 10564); nit_exit(1);}
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction254___action, 10561); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 10566); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction254___action, 10563); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 10568); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction254___action, 10565); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
@@ -19989,7 +20002,7 @@ void parser___ReduceAction254___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction254___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction254___init, 10576};
+  struct trace_t trace = {NULL, LOCATE_parser, 10581, LOCATE_parser___ReduceAction254___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i] = 1;
@@ -19997,7 +20010,7 @@ void parser___ReduceAction254___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction255___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction255___action, 10580};
+  struct trace_t trace = {NULL, LOCATE_parser, 10585, LOCATE_parser___ReduceAction255___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20030,19 +20043,19 @@ void parser___ReduceAction255___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction255___action, 10590); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 10595); nit_exit(1);}
   variable9 =  variable6 /*nodearraylist2*/;
   variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction255___action, 10592); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 10597); nit_exit(1);}
   variable10 =  variable5 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable10 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction255___action, 10594); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 10599); nit_exit(1);}
   variable11 =  variable4 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction255___action, 10596); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 10601); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction255___action, 10598); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable1 =  variable13 /*pexprnode1*/ /*node_list=*/;
@@ -20052,7 +20065,7 @@ void parser___ReduceAction255___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction255___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction255___init, 10609};
+  struct trace_t trace = {NULL, LOCATE_parser, 10614, LOCATE_parser___ReduceAction255___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i] = 1;
@@ -20060,7 +20073,7 @@ void parser___ReduceAction255___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction256___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction256___action, 10613};
+  struct trace_t trace = {NULL, LOCATE_parser, 10618, LOCATE_parser___ReduceAction256___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20092,16 +20105,16 @@ void parser___ReduceAction256___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction256___action, 10623); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 10628); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction256___action, 10625); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 10630); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction256___action, 10627); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction256___action, LOCATE_parser, 10632); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction256___action, 10629); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -20111,7 +20124,7 @@ void parser___ReduceAction256___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction256___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction256___init, 10639};
+  struct trace_t trace = {NULL, LOCATE_parser, 10644, LOCATE_parser___ReduceAction256___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i] = 1;
@@ -20119,7 +20132,7 @@ void parser___ReduceAction256___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction257___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction257___action, 10643};
+  struct trace_t trace = {NULL, LOCATE_parser, 10648, LOCATE_parser___ReduceAction257___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20144,13 +20157,13 @@ void parser___ReduceAction257___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction257___action, 10652); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 10657); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction257___action, 10654); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 10659); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction257___action, 10656); nit_exit(1);}
+  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*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
@@ -20160,7 +20173,7 @@ void parser___ReduceAction257___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction257___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction257___init, 10666};
+  struct trace_t trace = {NULL, LOCATE_parser, 10671, LOCATE_parser___ReduceAction257___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i] = 1;
@@ -20168,7 +20181,7 @@ void parser___ReduceAction257___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction258___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction258___action, 10670};
+  struct trace_t trace = {NULL, LOCATE_parser, 10675, LOCATE_parser___ReduceAction258___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20203,32 +20216,32 @@ 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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction258___action, 10682); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 10687); nit_exit(1);}
   variable11 =  variable5 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction258___action, 10684); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 10689); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist5*/;
   variable13 = TAG_Bool(( variable12 /*listnode4*/==NIT_NULL) || VAL_ISA( variable12 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction258___action, 10686); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 10691); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable9 =  variable12 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/,  variable12 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/,  variable12 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
   variable13 =  variable3 /*nodearraylist6*/;
   variable14 = TAG_Bool(( variable13 /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable13 /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction258___action, 10695); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 10700); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction258___action, 10697); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
@@ -20238,7 +20251,7 @@ void parser___ReduceAction258___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction258___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction258___init, 10708};
+  struct trace_t trace = {NULL, LOCATE_parser, 10713, LOCATE_parser___ReduceAction258___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i] = 1;
@@ -20246,7 +20259,7 @@ void parser___ReduceAction258___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction259___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction259___action, 10712};
+  struct trace_t trace = {NULL, LOCATE_parser, 10717, LOCATE_parser___ReduceAction259___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20272,31 +20285,31 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable8 = NEW_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*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction259___action, 10723); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 10728); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction259___action, 10725); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 10730); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/,  variable9 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/,  variable9 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
   variable10 =  variable3 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable10 /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction259___action, 10734); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 10739); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction259___action, 10736); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -20306,7 +20319,7 @@ void parser___ReduceAction259___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction259___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction259___init, 10747};
+  struct trace_t trace = {NULL, LOCATE_parser, 10752, LOCATE_parser___ReduceAction259___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i] = 1;
@@ -20314,7 +20327,7 @@ void parser___ReduceAction259___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction260___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction260___action, 10751};
+  struct trace_t trace = {NULL, LOCATE_parser, 10756, LOCATE_parser___ReduceAction260___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20339,29 +20352,29 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction260___action, 10760); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 10765); nit_exit(1);}
   variable8 =  variable4 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction260___action, 10762); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 10767); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable6 =  variable8 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable9 =  variable3 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction260___action, 10771); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 10776); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction260___action, 10773); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
@@ -20371,7 +20384,7 @@ void parser___ReduceAction260___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction260___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction260___init, 10783};
+  struct trace_t trace = {NULL, LOCATE_parser, 10788, LOCATE_parser___ReduceAction260___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i] = 1;
@@ -20379,7 +20392,7 @@ void parser___ReduceAction260___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction261___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction261___action, 10787};
+  struct trace_t trace = {NULL, LOCATE_parser, 10792, LOCATE_parser___ReduceAction261___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20411,16 +20424,16 @@ void parser___ReduceAction261___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction261___action, 10797); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 10802); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction261___action, 10799); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 10804); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable10 /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction261___action, 10801); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 10806); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction261___action, 10803); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -20430,7 +20443,7 @@ void parser___ReduceAction261___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction261___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction261___init, 10813};
+  struct trace_t trace = {NULL, LOCATE_parser, 10818, LOCATE_parser___ReduceAction261___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i] = 1;
@@ -20438,7 +20451,7 @@ void parser___ReduceAction261___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction262___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction262___action, 10817};
+  struct trace_t trace = {NULL, LOCATE_parser, 10822, LOCATE_parser___ReduceAction262___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20463,13 +20476,13 @@ void parser___ReduceAction262___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction262___action, 10826); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 10831); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable7 /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction262___action, 10828); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 10833); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction262___action, 10830); nit_exit(1);}
+  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*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
@@ -20479,7 +20492,7 @@ void parser___ReduceAction262___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction262___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction262___init, 10840};
+  struct trace_t trace = {NULL, LOCATE_parser, 10845, LOCATE_parser___ReduceAction262___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i] = 1;
@@ -20487,7 +20500,7 @@ void parser___ReduceAction262___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction263___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction263___action, 10844};
+  struct trace_t trace = {NULL, LOCATE_parser, 10849, LOCATE_parser___ReduceAction263___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20522,32 +20535,32 @@ 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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction263___action, 10856); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10861); nit_exit(1);}
   variable11 =  variable5 /*nodearraylist4*/;
   variable12 = TAG_Bool(( variable11 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction263___action, 10858); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10863); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist5*/;
   variable13 = TAG_Bool(( variable12 /*listnode4*/==NIT_NULL) || VAL_ISA( variable12 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction263___action, 10860); nit_exit(1);}
-  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10865); nit_exit(1);}
+  variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable13)) { /*if*/
-    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*Array::is_empty*/;
+    variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable13)) { /*if*/
       variable9 =  variable12 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/,  variable12 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/,  variable12 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
   variable13 =  variable3 /*nodearraylist6*/;
   variable14 = TAG_Bool(( variable13 /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable13 /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction263___action, 10869); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 10874); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction263___action, 10871); nit_exit(1);}
+  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*/
   variable15 = variable16;
   variable1 =  variable15 /*pexprnode1*/ /*node_list=*/;
@@ -20557,7 +20570,7 @@ void parser___ReduceAction263___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction263___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction263___init, 10882};
+  struct trace_t trace = {NULL, LOCATE_parser, 10887, LOCATE_parser___ReduceAction263___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i] = 1;
@@ -20565,7 +20578,7 @@ void parser___ReduceAction263___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction264___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction264___action, 10886};
+  struct trace_t trace = {NULL, LOCATE_parser, 10891, LOCATE_parser___ReduceAction264___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20591,31 +20604,31 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable8 = NEW_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*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction264___action, 10897); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 10902); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction264___action, 10899); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 10904); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/,  variable9 /*listnode4*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/,  variable9 /*listnode4*/) /*IndexedCollection::append*/;
     }
   }
   variable10 =  variable3 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable10 /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction264___action, 10908); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 10913); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction264___action, 10910); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -20625,7 +20638,7 @@ void parser___ReduceAction264___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction264___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction264___init, 10921};
+  struct trace_t trace = {NULL, LOCATE_parser, 10926, LOCATE_parser___ReduceAction264___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i] = 1;
@@ -20633,7 +20646,7 @@ void parser___ReduceAction264___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction265___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction265___action, 10925};
+  struct trace_t trace = {NULL, LOCATE_parser, 10930, LOCATE_parser___ReduceAction265___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20658,29 +20671,29 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction265___action, 10934); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 10939); nit_exit(1);}
   variable8 =  variable4 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction265___action, 10936); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 10941); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable6 =  variable8 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/,  variable8 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
   variable9 =  variable3 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable9 /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction265___action, 10945); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 10950); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction265___action, 10947); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
@@ -20690,7 +20703,7 @@ void parser___ReduceAction265___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction265___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction265___init, 10957};
+  struct trace_t trace = {NULL, LOCATE_parser, 10962, LOCATE_parser___ReduceAction265___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i] = 1;
@@ -20698,7 +20711,7 @@ void parser___ReduceAction265___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction266___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction266___action, 10961};
+  struct trace_t trace = {NULL, LOCATE_parser, 10966, LOCATE_parser___ReduceAction266___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20712,7 +20725,7 @@ void parser___ReduceAction266___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction266___action, 10966); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*passignopnode1*/ /*node_list=*/;
@@ -20722,7 +20735,7 @@ void parser___ReduceAction266___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction266___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction266___init, 10973};
+  struct trace_t trace = {NULL, LOCATE_parser, 10978, LOCATE_parser___ReduceAction266___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i] = 1;
@@ -20730,7 +20743,7 @@ void parser___ReduceAction266___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction267___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction267___action, 10977};
+  struct trace_t trace = {NULL, LOCATE_parser, 10982, LOCATE_parser___ReduceAction267___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20744,7 +20757,7 @@ void parser___ReduceAction267___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction267___action, 10982); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*passignopnode1*/ /*node_list=*/;
@@ -20754,7 +20767,7 @@ void parser___ReduceAction267___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction267___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction267___init, 10989};
+  struct trace_t trace = {NULL, LOCATE_parser, 10994, LOCATE_parser___ReduceAction267___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i] = 1;
@@ -20762,7 +20775,7 @@ void parser___ReduceAction267___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction268___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction268___action, 10993};
+  struct trace_t trace = {NULL, LOCATE_parser, 10998, LOCATE_parser___ReduceAction268___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20780,10 +20793,10 @@ void parser___ReduceAction268___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction268___action, 10999); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 11004); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction268___action, 11001); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
@@ -20793,7 +20806,7 @@ void parser___ReduceAction268___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction268___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction268___init, 11009};
+  struct trace_t trace = {NULL, LOCATE_parser, 11014, LOCATE_parser___ReduceAction268___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i] = 1;
@@ -20801,7 +20814,7 @@ void parser___ReduceAction268___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction269___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction269___action, 11013};
+  struct trace_t trace = {NULL, LOCATE_parser, 11018, LOCATE_parser___ReduceAction269___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20839,16 +20852,16 @@ void parser___ReduceAction269___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction269___action, 11025); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 11030); nit_exit(1);}
   variable11 =  variable7 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction269___action, 11027); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 11032); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist6*/;
   variable13 = TAG_Bool(( variable12 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction269___action, 11029); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 11034); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction269___action, 11031); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
@@ -20858,7 +20871,7 @@ void parser___ReduceAction269___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction269___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction269___init, 11041};
+  struct trace_t trace = {NULL, LOCATE_parser, 11046, LOCATE_parser___ReduceAction269___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i] = 1;
@@ -20866,7 +20879,7 @@ void parser___ReduceAction269___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction270___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction270___action, 11045};
+  struct trace_t trace = {NULL, LOCATE_parser, 11050, LOCATE_parser___ReduceAction270___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20897,13 +20910,13 @@ void parser___ReduceAction270___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction270___action, 11055); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 11060); nit_exit(1);}
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction270___action, 11057); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 11062); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction270___action, 11059); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
@@ -20913,7 +20926,7 @@ void parser___ReduceAction270___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction270___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction270___init, 11069};
+  struct trace_t trace = {NULL, LOCATE_parser, 11074, LOCATE_parser___ReduceAction270___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i] = 1;
@@ -20921,7 +20934,7 @@ void parser___ReduceAction270___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction271___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction271___action, 11073};
+  struct trace_t trace = {NULL, LOCATE_parser, 11078, LOCATE_parser___ReduceAction271___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -20964,24 +20977,24 @@ void parser___ReduceAction271___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable10 /*nodearraylist1*/;
   variable12 = TAG_Bool(( variable11 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable11 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction271___action, 11086); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 11091); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction271___action, 11088); nit_exit(1);}
-  variable14 = NEW_array___Array___init(); /*new Array[Object]*/
+  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]*/
   variable13 = variable14;
   variable14 =  variable4 /*nodearraylist7*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction271___action, 11091); nit_exit(1);}
-  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pexprnode5*/ ==  NIT_NULL /*null*/) || (( variable14 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pexprnode5*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 11096); nit_exit(1);}
+  variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pexprnode5*/ ==  NIT_NULL /*null*/) || (( variable14 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pexprnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable15)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable13 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode6*/,  variable14 /*pexprnode5*/) /*Array::add*/;
+    ((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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction271___action, 11099); nit_exit(1);}
+  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*/
   variable17 = variable18;
   variable1 =  variable17 /*pexprnode1*/ /*node_list=*/;
@@ -20991,7 +21004,7 @@ void parser___ReduceAction271___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction271___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction271___init, 11109};
+  struct trace_t trace = {NULL, LOCATE_parser, 11114, LOCATE_parser___ReduceAction271___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i] = 1;
@@ -20999,7 +21012,7 @@ void parser___ReduceAction271___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction272___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction272___action, 11113};
+  struct trace_t trace = {NULL, LOCATE_parser, 11118, LOCATE_parser___ReduceAction272___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21046,36 +21059,36 @@ void parser___ReduceAction272___action(val_t  self, val_t  param0) {
   variable11 = variable12;
   variable12 =  variable11 /*nodearraylist1*/;
   variable13 = TAG_Bool(( variable12 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable12 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction272___action, 11127); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11132); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction272___action, 11129); nit_exit(1);}
-  variable15 = NEW_array___Array___init(); /*new Array[Object]*/
+  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]*/
   variable14 = variable15;
   variable15 =  variable5 /*nodearraylist7*/;
   variable16 = TAG_Bool(( variable15 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction272___action, 11132); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11137); nit_exit(1);}
   variable16 =  variable4 /*nodearraylist8*/;
   variable17 = TAG_Bool(( variable16 /*listnode6*/==NIT_NULL) || VAL_ISA( variable16 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction272___action, 11134); nit_exit(1);}
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pexprnode5*/ ==  NIT_NULL /*null*/) || (( variable15 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pexprnode5*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 11139); nit_exit(1);}
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pexprnode5*/ ==  NIT_NULL /*null*/) || (( variable15 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pexprnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode7*/,  variable15 /*pexprnode5*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode7*/,  variable15 /*pexprnode5*/) /*AbstractArray::add*/;
   }
-  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable16 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable16 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode6*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode6*/ ==  NIT_NULL /*null*/) || (( variable16 /*listnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*listnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*listnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode6*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable17)) { /*if*/
-    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode7*/) /*Array::is_empty*/;
+    variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode7*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable17)) { /*if*/
       variable14 =  variable16 /*listnode6*/ /*listnode7=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode7*/,  variable16 /*listnode6*/) /*Array::append*/;
+      ((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*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction272___action, 11149); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
@@ -21085,7 +21098,7 @@ void parser___ReduceAction272___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction272___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction272___init, 11159};
+  struct trace_t trace = {NULL, LOCATE_parser, 11164, LOCATE_parser___ReduceAction272___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i] = 1;
@@ -21093,7 +21106,7 @@ void parser___ReduceAction272___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction273___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction273___action, 11163};
+  struct trace_t trace = {NULL, LOCATE_parser, 11168, LOCATE_parser___ReduceAction273___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21124,13 +21137,13 @@ void parser___ReduceAction273___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction273___action, 11173); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 11178); nit_exit(1);}
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction273___action, 11175); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 11180); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction273___action, 11177); nit_exit(1);}
+  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*/
   variable11 = variable12;
   variable1 =  variable11 /*pexprnode1*/ /*node_list=*/;
@@ -21140,7 +21153,7 @@ void parser___ReduceAction273___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction273___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction273___init, 11187};
+  struct trace_t trace = {NULL, LOCATE_parser, 11192, LOCATE_parser___ReduceAction273___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i] = 1;
@@ -21148,7 +21161,7 @@ void parser___ReduceAction273___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction274___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction274___action, 11191};
+  struct trace_t trace = {NULL, LOCATE_parser, 11196, LOCATE_parser___ReduceAction274___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21182,13 +21195,13 @@ void parser___ReduceAction274___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction274___action, 11202); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 11207); nit_exit(1);}
   variable10 =  variable6 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction274___action, 11204); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 11209); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction274___action, 11206); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -21198,7 +21211,7 @@ void parser___ReduceAction274___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction274___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction274___init, 11216};
+  struct trace_t trace = {NULL, LOCATE_parser, 11221, LOCATE_parser___ReduceAction274___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i] = 1;
@@ -21206,7 +21219,7 @@ void parser___ReduceAction274___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction275___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction275___action, 11220};
+  struct trace_t trace = {NULL, LOCATE_parser, 11225, LOCATE_parser___ReduceAction275___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21222,7 +21235,7 @@ void parser___ReduceAction275___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist2*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction275___action, 11226); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 11231); nit_exit(1);}
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(33)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5,  variable1 /*node_list*/) /*Parser::push*/;
@@ -21230,7 +21243,7 @@ void parser___ReduceAction275___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction275___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction275___init, 11230};
+  struct trace_t trace = {NULL, LOCATE_parser, 11235, LOCATE_parser___ReduceAction275___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i] = 1;
@@ -21238,7 +21251,7 @@ void parser___ReduceAction275___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction276___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction276___action, 11234};
+  struct trace_t trace = {NULL, LOCATE_parser, 11239, LOCATE_parser___ReduceAction276___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21255,7 +21268,7 @@ void parser___ReduceAction276___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction276___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction276___init, 11241};
+  struct trace_t trace = {NULL, LOCATE_parser, 11246, LOCATE_parser___ReduceAction276___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i] = 1;
@@ -21263,7 +21276,7 @@ void parser___ReduceAction276___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction277___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction277___action, 11245};
+  struct trace_t trace = {NULL, LOCATE_parser, 11250, LOCATE_parser___ReduceAction277___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21295,16 +21308,16 @@ void parser___ReduceAction277___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction277___action, 11255); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 11260); nit_exit(1);}
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction277___action, 11257); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 11262); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction277___action, 11259); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 11264); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction277___action, 11261); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -21314,7 +21327,7 @@ void parser___ReduceAction277___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction277___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction277___init, 11271};
+  struct trace_t trace = {NULL, LOCATE_parser, 11276, LOCATE_parser___ReduceAction277___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i] = 1;
@@ -21322,7 +21335,7 @@ void parser___ReduceAction277___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction278___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction278___action, 11275};
+  struct trace_t trace = {NULL, LOCATE_parser, 11280, LOCATE_parser___ReduceAction278___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21347,13 +21360,13 @@ void parser___ReduceAction278___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction278___action, 11283); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 11288); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist3*/;
   variable8 = TAG_Bool(( variable7 /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction278___action, 11285); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 11290); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction278___action, 11287); nit_exit(1);}
+  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*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
@@ -21363,7 +21376,7 @@ void parser___ReduceAction278___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction278___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction278___init, 11296};
+  struct trace_t trace = {NULL, LOCATE_parser, 11301, LOCATE_parser___ReduceAction278___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i] = 1;
@@ -21371,7 +21384,7 @@ void parser___ReduceAction278___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction279___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction279___action, 11300};
+  struct trace_t trace = {NULL, LOCATE_parser, 11305, LOCATE_parser___ReduceAction279___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21405,13 +21418,13 @@ void parser___ReduceAction279___action(val_t  self, val_t  param0) {
   variable8 = variable9;
   variable9 =  variable8 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*tkwfornode2*/==NIT_NULL) || VAL_ISA( variable9 /*tkwfornode2*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction279___action, 11311); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 11316); nit_exit(1);}
   variable10 =  variable6 /*nodearraylist3*/;
   variable11 = TAG_Bool(( variable10 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable10 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction279___action, 11313); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 11318); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction279___action, 11315); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -21421,7 +21434,7 @@ void parser___ReduceAction279___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction279___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction279___init, 11324};
+  struct trace_t trace = {NULL, LOCATE_parser, 11329, LOCATE_parser___ReduceAction279___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i] = 1;
@@ -21429,7 +21442,7 @@ void parser___ReduceAction279___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction280___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction280___action, 11328};
+  struct trace_t trace = {NULL, LOCATE_parser, 11333, LOCATE_parser___ReduceAction280___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21447,10 +21460,10 @@ void parser___ReduceAction280___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction280___action, 11334); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction280___action, LOCATE_parser, 11339); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction280___action, 11336); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
@@ -21460,7 +21473,7 @@ void parser___ReduceAction280___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction280___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction280___init, 11345};
+  struct trace_t trace = {NULL, LOCATE_parser, 11350, LOCATE_parser___ReduceAction280___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i] = 1;
@@ -21468,7 +21481,7 @@ void parser___ReduceAction280___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction281___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction281___action, 11349};
+  struct trace_t trace = {NULL, LOCATE_parser, 11354, LOCATE_parser___ReduceAction281___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21490,13 +21503,13 @@ void parser___ReduceAction281___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction281___action, 11356); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 11361); nit_exit(1);}
   variable6 =  variable3 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction281___action, 11358); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 11363); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction281___action, 11360); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -21506,7 +21519,7 @@ void parser___ReduceAction281___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction281___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction281___init, 11369};
+  struct trace_t trace = {NULL, LOCATE_parser, 11374, LOCATE_parser___ReduceAction281___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i] = 1;
@@ -21514,7 +21527,7 @@ void parser___ReduceAction281___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction282___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction282___action, 11373};
+  struct trace_t trace = {NULL, LOCATE_parser, 11378, LOCATE_parser___ReduceAction282___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21530,7 +21543,7 @@ void parser___ReduceAction282___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction282___action, 11379); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 11384); nit_exit(1);}
   variable1 =  variable4 /*tidnode1*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(38)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5,  variable1 /*node_list*/) /*Parser::push*/;
@@ -21538,7 +21551,7 @@ void parser___ReduceAction282___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction282___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction282___init, 11383};
+  struct trace_t trace = {NULL, LOCATE_parser, 11388, LOCATE_parser___ReduceAction282___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i] = 1;
@@ -21546,7 +21559,7 @@ void parser___ReduceAction282___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction283___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction283___action, 11387};
+  struct trace_t trace = {NULL, LOCATE_parser, 11392, LOCATE_parser___ReduceAction283___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21559,7 +21572,7 @@ void parser___ReduceAction283___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction283___action, 11392); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 11397); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(39)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -21567,7 +21580,7 @@ void parser___ReduceAction283___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction283___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction283___init, 11396};
+  struct trace_t trace = {NULL, LOCATE_parser, 11401, LOCATE_parser___ReduceAction283___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i] = 1;
@@ -21575,7 +21588,7 @@ void parser___ReduceAction283___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction284___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction284___action, 11400};
+  struct trace_t trace = {NULL, LOCATE_parser, 11405, LOCATE_parser___ReduceAction284___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21624,22 +21637,22 @@ void parser___ReduceAction284___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction284___action, 11415); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11420); nit_exit(1);}
   variable14 =  variable10 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction284___action, 11417); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11422); nit_exit(1);}
   variable15 =  variable8 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction284___action, 11419); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11424); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction284___action, 11421); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11426); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction284___action, 11423); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction284___action, LOCATE_parser, 11428); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction284___action, 11425); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
@@ -21649,7 +21662,7 @@ void parser___ReduceAction284___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction284___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction284___init, 11437};
+  struct trace_t trace = {NULL, LOCATE_parser, 11442, LOCATE_parser___ReduceAction284___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i] = 1;
@@ -21657,7 +21670,7 @@ void parser___ReduceAction284___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction285___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction285___action, 11441};
+  struct trace_t trace = {NULL, LOCATE_parser, 11446, LOCATE_parser___ReduceAction285___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21670,7 +21683,7 @@ void parser___ReduceAction285___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction285___action, 11446); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 11451); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(40)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -21678,7 +21691,7 @@ void parser___ReduceAction285___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction285___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction285___init, 11450};
+  struct trace_t trace = {NULL, LOCATE_parser, 11455, LOCATE_parser___ReduceAction285___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i] = 1;
@@ -21686,7 +21699,7 @@ void parser___ReduceAction285___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction286___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction286___action, 11454};
+  struct trace_t trace = {NULL, LOCATE_parser, 11459, LOCATE_parser___ReduceAction286___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21710,10 +21723,10 @@ void parser___ReduceAction286___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction286___action, 11462); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 11467); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction286___action, 11464); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -21723,7 +21736,7 @@ void parser___ReduceAction286___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction286___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction286___init, 11472};
+  struct trace_t trace = {NULL, LOCATE_parser, 11477, LOCATE_parser___ReduceAction286___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i] = 1;
@@ -21731,7 +21744,7 @@ void parser___ReduceAction286___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction287___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction287___action, 11476};
+  struct trace_t trace = {NULL, LOCATE_parser, 11481, LOCATE_parser___ReduceAction287___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21755,10 +21768,10 @@ void parser___ReduceAction287___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction287___action, 11484); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 11489); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction287___action, 11486); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -21768,7 +21781,7 @@ void parser___ReduceAction287___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction287___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction287___init, 11494};
+  struct trace_t trace = {NULL, LOCATE_parser, 11499, LOCATE_parser___ReduceAction287___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i] = 1;
@@ -21776,7 +21789,7 @@ void parser___ReduceAction287___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction288___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction288___action, 11498};
+  struct trace_t trace = {NULL, LOCATE_parser, 11503, LOCATE_parser___ReduceAction288___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21789,7 +21802,7 @@ void parser___ReduceAction288___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction288___action, 11503); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 11508); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(41)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -21797,7 +21810,7 @@ void parser___ReduceAction288___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction288___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction288___init, 11507};
+  struct trace_t trace = {NULL, LOCATE_parser, 11512, LOCATE_parser___ReduceAction288___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i] = 1;
@@ -21805,7 +21818,7 @@ void parser___ReduceAction288___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction289___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction289___action, 11511};
+  struct trace_t trace = {NULL, LOCATE_parser, 11516, LOCATE_parser___ReduceAction289___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21826,10 +21839,10 @@ void parser___ReduceAction289___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction289___action, 11518); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 11523); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction289___action, 11520); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -21839,7 +21852,7 @@ void parser___ReduceAction289___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction289___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction289___init, 11528};
+  struct trace_t trace = {NULL, LOCATE_parser, 11533, LOCATE_parser___ReduceAction289___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i] = 1;
@@ -21847,7 +21860,7 @@ void parser___ReduceAction289___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction290___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction290___action, 11532};
+  struct trace_t trace = {NULL, LOCATE_parser, 11537, LOCATE_parser___ReduceAction290___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21860,7 +21873,7 @@ void parser___ReduceAction290___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction290___action, 11537); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction290___action, LOCATE_parser, 11542); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(42)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -21868,7 +21881,7 @@ void parser___ReduceAction290___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction290___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction290___init, 11541};
+  struct trace_t trace = {NULL, LOCATE_parser, 11546, LOCATE_parser___ReduceAction290___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i] = 1;
@@ -21876,7 +21889,7 @@ void parser___ReduceAction290___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction291___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction291___action, 11545};
+  struct trace_t trace = {NULL, LOCATE_parser, 11550, LOCATE_parser___ReduceAction291___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21900,10 +21913,10 @@ void parser___ReduceAction291___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction291___action, 11553); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 11558); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction291___action, 11555); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -21913,7 +21926,7 @@ void parser___ReduceAction291___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction291___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction291___init, 11563};
+  struct trace_t trace = {NULL, LOCATE_parser, 11568, LOCATE_parser___ReduceAction291___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i] = 1;
@@ -21921,7 +21934,7 @@ void parser___ReduceAction291___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction292___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction292___action, 11567};
+  struct trace_t trace = {NULL, LOCATE_parser, 11572, LOCATE_parser___ReduceAction292___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21945,10 +21958,10 @@ void parser___ReduceAction292___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction292___action, 11575); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 11580); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction292___action, 11577); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -21958,7 +21971,7 @@ void parser___ReduceAction292___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction292___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction292___init, 11585};
+  struct trace_t trace = {NULL, LOCATE_parser, 11590, LOCATE_parser___ReduceAction292___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i] = 1;
@@ -21966,7 +21979,7 @@ void parser___ReduceAction292___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction293___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction293___action, 11589};
+  struct trace_t trace = {NULL, LOCATE_parser, 11594, LOCATE_parser___ReduceAction293___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -21990,10 +22003,10 @@ void parser___ReduceAction293___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction293___action, 11597); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 11602); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction293___action, 11599); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22003,7 +22016,7 @@ void parser___ReduceAction293___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction293___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction293___init, 11607};
+  struct trace_t trace = {NULL, LOCATE_parser, 11612, LOCATE_parser___ReduceAction293___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i] = 1;
@@ -22011,7 +22024,7 @@ void parser___ReduceAction293___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction294___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction294___action, 11611};
+  struct trace_t trace = {NULL, LOCATE_parser, 11616, LOCATE_parser___ReduceAction294___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22035,10 +22048,10 @@ void parser___ReduceAction294___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction294___action, 11619); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 11624); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction294___action, 11621); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22048,7 +22061,7 @@ void parser___ReduceAction294___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction294___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction294___init, 11629};
+  struct trace_t trace = {NULL, LOCATE_parser, 11634, LOCATE_parser___ReduceAction294___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i] = 1;
@@ -22056,7 +22069,7 @@ void parser___ReduceAction294___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction295___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction295___action, 11633};
+  struct trace_t trace = {NULL, LOCATE_parser, 11638, LOCATE_parser___ReduceAction295___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22080,10 +22093,10 @@ void parser___ReduceAction295___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction295___action, 11641); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 11646); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction295___action, 11643); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22093,7 +22106,7 @@ void parser___ReduceAction295___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction295___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction295___init, 11651};
+  struct trace_t trace = {NULL, LOCATE_parser, 11656, LOCATE_parser___ReduceAction295___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i] = 1;
@@ -22101,7 +22114,7 @@ void parser___ReduceAction295___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction296___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction296___action, 11655};
+  struct trace_t trace = {NULL, LOCATE_parser, 11660, LOCATE_parser___ReduceAction296___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22125,10 +22138,10 @@ void parser___ReduceAction296___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction296___action, 11663); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 11668); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction296___action, 11665); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22138,7 +22151,7 @@ void parser___ReduceAction296___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction296___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction296___init, 11673};
+  struct trace_t trace = {NULL, LOCATE_parser, 11678, LOCATE_parser___ReduceAction296___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i] = 1;
@@ -22146,7 +22159,7 @@ void parser___ReduceAction296___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction297___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction297___action, 11677};
+  struct trace_t trace = {NULL, LOCATE_parser, 11682, LOCATE_parser___ReduceAction297___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22170,10 +22183,10 @@ void parser___ReduceAction297___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction297___action, 11685); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 11690); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction297___action, 11687); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22183,7 +22196,7 @@ void parser___ReduceAction297___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction297___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction297___init, 11695};
+  struct trace_t trace = {NULL, LOCATE_parser, 11700, LOCATE_parser___ReduceAction297___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i] = 1;
@@ -22191,7 +22204,7 @@ void parser___ReduceAction297___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction298___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction298___action, 11699};
+  struct trace_t trace = {NULL, LOCATE_parser, 11704, LOCATE_parser___ReduceAction298___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22215,10 +22228,10 @@ void parser___ReduceAction298___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction298___action, 11707); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 11712); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction298___action, 11709); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22228,7 +22241,7 @@ void parser___ReduceAction298___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction298___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction298___init, 11717};
+  struct trace_t trace = {NULL, LOCATE_parser, 11722, LOCATE_parser___ReduceAction298___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i] = 1;
@@ -22236,7 +22249,7 @@ void parser___ReduceAction298___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction299___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction299___action, 11721};
+  struct trace_t trace = {NULL, LOCATE_parser, 11726, LOCATE_parser___ReduceAction299___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22260,10 +22273,10 @@ void parser___ReduceAction299___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction299___action, 11729); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 11734); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction299___action, 11731); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22273,7 +22286,7 @@ void parser___ReduceAction299___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction299___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction299___init, 11739};
+  struct trace_t trace = {NULL, LOCATE_parser, 11744, LOCATE_parser___ReduceAction299___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i] = 1;
@@ -22281,7 +22294,7 @@ void parser___ReduceAction299___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction300___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction300___action, 11743};
+  struct trace_t trace = {NULL, LOCATE_parser, 11748, LOCATE_parser___ReduceAction300___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22294,7 +22307,7 @@ void parser___ReduceAction300___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction300___action, 11748); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 11753); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(43)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -22302,7 +22315,7 @@ void parser___ReduceAction300___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction300___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction300___init, 11752};
+  struct trace_t trace = {NULL, LOCATE_parser, 11757, LOCATE_parser___ReduceAction300___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i] = 1;
@@ -22310,7 +22323,7 @@ void parser___ReduceAction300___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction301___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction301___action, 11756};
+  struct trace_t trace = {NULL, LOCATE_parser, 11761, LOCATE_parser___ReduceAction301___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22334,10 +22347,10 @@ void parser___ReduceAction301___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction301___action, 11764); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 11769); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction301___action, 11766); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22347,7 +22360,7 @@ void parser___ReduceAction301___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction301___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction301___init, 11774};
+  struct trace_t trace = {NULL, LOCATE_parser, 11779, LOCATE_parser___ReduceAction301___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i] = 1;
@@ -22355,7 +22368,7 @@ void parser___ReduceAction301___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction302___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction302___action, 11778};
+  struct trace_t trace = {NULL, LOCATE_parser, 11783, LOCATE_parser___ReduceAction302___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22379,10 +22392,10 @@ void parser___ReduceAction302___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction302___action, 11786); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 11791); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction302___action, 11788); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22392,7 +22405,7 @@ void parser___ReduceAction302___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction302___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction302___init, 11796};
+  struct trace_t trace = {NULL, LOCATE_parser, 11801, LOCATE_parser___ReduceAction302___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i] = 1;
@@ -22400,7 +22413,7 @@ void parser___ReduceAction302___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction303___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction303___action, 11800};
+  struct trace_t trace = {NULL, LOCATE_parser, 11805, LOCATE_parser___ReduceAction303___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22413,7 +22426,7 @@ void parser___ReduceAction303___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction303___action, 11805); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 11810); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(44)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -22421,7 +22434,7 @@ void parser___ReduceAction303___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction303___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction303___init, 11809};
+  struct trace_t trace = {NULL, LOCATE_parser, 11814, LOCATE_parser___ReduceAction303___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i] = 1;
@@ -22429,7 +22442,7 @@ void parser___ReduceAction303___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction304___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction304___action, 11813};
+  struct trace_t trace = {NULL, LOCATE_parser, 11818, LOCATE_parser___ReduceAction304___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22453,10 +22466,10 @@ void parser___ReduceAction304___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction304___action, 11821); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 11826); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction304___action, 11823); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22466,7 +22479,7 @@ void parser___ReduceAction304___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction304___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction304___init, 11831};
+  struct trace_t trace = {NULL, LOCATE_parser, 11836, LOCATE_parser___ReduceAction304___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i] = 1;
@@ -22474,7 +22487,7 @@ void parser___ReduceAction304___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction305___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction305___action, 11835};
+  struct trace_t trace = {NULL, LOCATE_parser, 11840, LOCATE_parser___ReduceAction305___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22498,10 +22511,10 @@ void parser___ReduceAction305___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction305___action, 11843); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 11848); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction305___action, 11845); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22511,7 +22524,7 @@ void parser___ReduceAction305___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction305___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction305___init, 11853};
+  struct trace_t trace = {NULL, LOCATE_parser, 11858, LOCATE_parser___ReduceAction305___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i] = 1;
@@ -22519,7 +22532,7 @@ void parser___ReduceAction305___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction306___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction306___action, 11857};
+  struct trace_t trace = {NULL, LOCATE_parser, 11862, LOCATE_parser___ReduceAction306___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22543,10 +22556,10 @@ void parser___ReduceAction306___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction306___action, 11865); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 11870); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction306___action, 11867); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22556,7 +22569,7 @@ void parser___ReduceAction306___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction306___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction306___init, 11875};
+  struct trace_t trace = {NULL, LOCATE_parser, 11880, LOCATE_parser___ReduceAction306___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i] = 1;
@@ -22564,7 +22577,7 @@ void parser___ReduceAction306___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction307___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction307___action, 11879};
+  struct trace_t trace = {NULL, LOCATE_parser, 11884, LOCATE_parser___ReduceAction307___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22577,7 +22590,7 @@ void parser___ReduceAction307___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction307___action, 11884); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 11889); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(45)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -22585,7 +22598,7 @@ void parser___ReduceAction307___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction307___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction307___init, 11888};
+  struct trace_t trace = {NULL, LOCATE_parser, 11893, LOCATE_parser___ReduceAction307___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i] = 1;
@@ -22593,7 +22606,7 @@ void parser___ReduceAction307___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction308___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction308___action, 11892};
+  struct trace_t trace = {NULL, LOCATE_parser, 11897, LOCATE_parser___ReduceAction308___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22614,10 +22627,10 @@ void parser___ReduceAction308___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction308___action, 11899); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 11904); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction308___action, 11901); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -22627,7 +22640,7 @@ void parser___ReduceAction308___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction308___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction308___init, 11909};
+  struct trace_t trace = {NULL, LOCATE_parser, 11914, LOCATE_parser___ReduceAction308___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i] = 1;
@@ -22635,7 +22648,7 @@ void parser___ReduceAction308___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction309___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction309___action, 11913};
+  struct trace_t trace = {NULL, LOCATE_parser, 11918, LOCATE_parser___ReduceAction309___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22656,10 +22669,10 @@ void parser___ReduceAction309___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction309___action, 11920); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 11925); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction309___action, 11922); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -22669,7 +22682,7 @@ void parser___ReduceAction309___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction309___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction309___init, 11930};
+  struct trace_t trace = {NULL, LOCATE_parser, 11935, LOCATE_parser___ReduceAction309___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i] = 1;
@@ -22677,7 +22690,7 @@ void parser___ReduceAction309___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction310___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction310___action, 11934};
+  struct trace_t trace = {NULL, LOCATE_parser, 11939, LOCATE_parser___ReduceAction310___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22690,7 +22703,7 @@ void parser___ReduceAction310___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction310___action, 11939); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 11944); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(46)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -22698,7 +22711,7 @@ void parser___ReduceAction310___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction310___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction310___init, 11943};
+  struct trace_t trace = {NULL, LOCATE_parser, 11948, LOCATE_parser___ReduceAction310___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i] = 1;
@@ -22706,7 +22719,7 @@ void parser___ReduceAction310___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction311___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction311___action, 11947};
+  struct trace_t trace = {NULL, LOCATE_parser, 11952, LOCATE_parser___ReduceAction311___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22730,24 +22743,24 @@ 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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction311___action, 11956); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 11961); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction311___action, 11958); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 11963); nit_exit(1);}
   variable9 =  variable2 /*nodearraylist4*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction311___action, 11960); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction311___action, LOCATE_parser, 11965); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -22759,7 +22772,7 @@ void parser___ReduceAction311___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction311___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction311___init, 11977};
+  struct trace_t trace = {NULL, LOCATE_parser, 11982, LOCATE_parser___ReduceAction311___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i] = 1;
@@ -22767,7 +22780,7 @@ void parser___ReduceAction311___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction312___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction312___action, 11981};
+  struct trace_t trace = {NULL, LOCATE_parser, 11986, LOCATE_parser___ReduceAction312___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22791,10 +22804,10 @@ void parser___ReduceAction312___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction312___action, 11989); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction312___action, LOCATE_parser, 11994); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction312___action, 11991); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -22804,7 +22817,7 @@ void parser___ReduceAction312___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction312___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction312___init, 11999};
+  struct trace_t trace = {NULL, LOCATE_parser, 12004, LOCATE_parser___ReduceAction312___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i] = 1;
@@ -22812,7 +22825,7 @@ void parser___ReduceAction312___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction313___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction313___action, 12003};
+  struct trace_t trace = {NULL, LOCATE_parser, 12008, LOCATE_parser___ReduceAction313___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22829,7 +22842,7 @@ void parser___ReduceAction313___action(val_t  self, val_t  param0) {
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction313___action, 12010); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
@@ -22839,7 +22852,7 @@ void parser___ReduceAction313___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction313___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction313___init, 12018};
+  struct trace_t trace = {NULL, LOCATE_parser, 12023, LOCATE_parser___ReduceAction313___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i] = 1;
@@ -22847,7 +22860,7 @@ void parser___ReduceAction313___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction314___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction314___action, 12022};
+  struct trace_t trace = {NULL, LOCATE_parser, 12027, LOCATE_parser___ReduceAction314___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22874,24 +22887,24 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction314___action, 12032); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 12037); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction314___action, 12034); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 12039); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction314___action, 12036); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 12041); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -22903,7 +22916,7 @@ void parser___ReduceAction314___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction314___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction314___init, 12052};
+  struct trace_t trace = {NULL, LOCATE_parser, 12057, LOCATE_parser___ReduceAction314___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i] = 1;
@@ -22911,7 +22924,7 @@ void parser___ReduceAction314___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction315___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction315___action, 12056};
+  struct trace_t trace = {NULL, LOCATE_parser, 12061, LOCATE_parser___ReduceAction315___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22929,23 +22942,23 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction315___action, 12065); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12070); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction315___action, 12067); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 12072); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -22957,7 +22970,7 @@ void parser___ReduceAction315___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction315___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction315___init, 12083};
+  struct trace_t trace = {NULL, LOCATE_parser, 12088, LOCATE_parser___ReduceAction315___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i] = 1;
@@ -22965,7 +22978,7 @@ void parser___ReduceAction315___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction316___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction316___action, 12087};
+  struct trace_t trace = {NULL, LOCATE_parser, 12092, LOCATE_parser___ReduceAction316___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22982,21 +22995,21 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction316___action, 12094); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 12099); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction316___action, 12096); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 12101); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -23008,7 +23021,7 @@ void parser___ReduceAction316___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction316___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction316___init, 12112};
+  struct trace_t trace = {NULL, LOCATE_parser, 12117, LOCATE_parser___ReduceAction316___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i] = 1;
@@ -23016,7 +23029,7 @@ void parser___ReduceAction316___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction317___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction317___action, 12116};
+  struct trace_t trace = {NULL, LOCATE_parser, 12121, LOCATE_parser___ReduceAction317___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23037,24 +23050,24 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction317___action, 12124); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 12129); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction317___action, 12126); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 12131); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction317___action, 12128); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 12133); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -23066,7 +23079,7 @@ void parser___ReduceAction317___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction317___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction317___init, 12144};
+  struct trace_t trace = {NULL, LOCATE_parser, 12149, LOCATE_parser___ReduceAction317___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i] = 1;
@@ -23074,7 +23087,7 @@ void parser___ReduceAction317___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction318___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction318___action, 12148};
+  struct trace_t trace = {NULL, LOCATE_parser, 12153, LOCATE_parser___ReduceAction318___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23101,24 +23114,24 @@ 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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction318___action, 12158); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 12163); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction318___action, 12160); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 12165); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction318___action, 12162); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 12167); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -23130,7 +23143,7 @@ void parser___ReduceAction318___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction318___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction318___init, 12178};
+  struct trace_t trace = {NULL, LOCATE_parser, 12183, LOCATE_parser___ReduceAction318___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i] = 1;
@@ -23138,7 +23151,7 @@ void parser___ReduceAction318___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction319___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction319___action, 12182};
+  struct trace_t trace = {NULL, LOCATE_parser, 12187, LOCATE_parser___ReduceAction319___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23156,23 +23169,23 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction319___action, 12191); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 12196); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction319___action, 12193); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 12198); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -23184,7 +23197,7 @@ void parser___ReduceAction319___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction319___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction319___init, 12209};
+  struct trace_t trace = {NULL, LOCATE_parser, 12214, LOCATE_parser___ReduceAction319___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i] = 1;
@@ -23192,7 +23205,7 @@ void parser___ReduceAction319___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction320___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction320___action, 12213};
+  struct trace_t trace = {NULL, LOCATE_parser, 12218, LOCATE_parser___ReduceAction320___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23209,21 +23222,21 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction320___action, 12220); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 12225); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction320___action, 12222); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 12227); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable6 /*listnode3*/) /*Array::append*/;
+      ((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*/
@@ -23235,7 +23248,7 @@ void parser___ReduceAction320___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction320___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction320___init, 12237};
+  struct trace_t trace = {NULL, LOCATE_parser, 12242, LOCATE_parser___ReduceAction320___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i] = 1;
@@ -23243,7 +23256,7 @@ void parser___ReduceAction320___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction321___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction321___action, 12241};
+  struct trace_t trace = {NULL, LOCATE_parser, 12246, LOCATE_parser___ReduceAction321___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23277,27 +23290,27 @@ 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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction321___action, 12253); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 12258); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction321___action, 12255); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 12260); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist6*/;
   variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction321___action, 12257); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 12262); nit_exit(1);}
   variable13 =  variable2 /*nodearraylist7*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction321___action, 12259); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 12264); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
       variable9 =  variable13 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -23309,7 +23322,7 @@ void parser___ReduceAction321___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction321___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction321___init, 12276};
+  struct trace_t trace = {NULL, LOCATE_parser, 12281, LOCATE_parser___ReduceAction321___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i] = 1;
@@ -23317,7 +23330,7 @@ void parser___ReduceAction321___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction322___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction322___action, 12280};
+  struct trace_t trace = {NULL, LOCATE_parser, 12285, LOCATE_parser___ReduceAction322___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23356,10 +23369,10 @@ void parser___ReduceAction322___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable8 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction322___action, 12293); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 12298); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction322___action, 12295); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable1 =  variable13 /*pexprnode1*/ /*node_list=*/;
@@ -23369,7 +23382,7 @@ void parser___ReduceAction322___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction322___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction322___init, 12303};
+  struct trace_t trace = {NULL, LOCATE_parser, 12308, LOCATE_parser___ReduceAction322___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i] = 1;
@@ -23377,7 +23390,7 @@ void parser___ReduceAction322___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction323___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction323___action, 12307};
+  struct trace_t trace = {NULL, LOCATE_parser, 12312, LOCATE_parser___ReduceAction323___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23416,10 +23429,10 @@ void parser___ReduceAction323___action(val_t  self, val_t  param0) {
   variable10 = variable11;
   variable11 =  variable8 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction323___action, 12320); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 12325); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction323___action, 12322); nit_exit(1);}
+  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*/
   variable13 = variable14;
   variable1 =  variable13 /*pexprnode1*/ /*node_list=*/;
@@ -23429,7 +23442,7 @@ void parser___ReduceAction323___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction323___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction323___init, 12330};
+  struct trace_t trace = {NULL, LOCATE_parser, 12335, LOCATE_parser___ReduceAction323___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i] = 1;
@@ -23437,7 +23450,7 @@ void parser___ReduceAction323___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction324___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction324___action, 12334};
+  struct trace_t trace = {NULL, LOCATE_parser, 12339, LOCATE_parser___ReduceAction324___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23450,18 +23463,18 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction324___action, 12340); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction324___action, LOCATE_parser, 12345); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
+    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable5)) { /*if*/
       variable3 =  variable4 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*Array::append*/;
+      ((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*/
@@ -23473,7 +23486,7 @@ void parser___ReduceAction324___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction324___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction324___init, 12354};
+  struct trace_t trace = {NULL, LOCATE_parser, 12359, LOCATE_parser___ReduceAction324___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i] = 1;
@@ -23481,7 +23494,7 @@ void parser___ReduceAction324___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction325___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction325___action, 12358};
+  struct trace_t trace = {NULL, LOCATE_parser, 12363, LOCATE_parser___ReduceAction325___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23495,7 +23508,7 @@ void parser___ReduceAction325___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction325___action, 12363); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23505,7 +23518,7 @@ void parser___ReduceAction325___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction325___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction325___init, 12370};
+  struct trace_t trace = {NULL, LOCATE_parser, 12375, LOCATE_parser___ReduceAction325___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i] = 1;
@@ -23513,7 +23526,7 @@ void parser___ReduceAction325___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction326___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction326___action, 12374};
+  struct trace_t trace = {NULL, LOCATE_parser, 12379, LOCATE_parser___ReduceAction326___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23527,7 +23540,7 @@ void parser___ReduceAction326___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction326___action, 12379); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23537,7 +23550,7 @@ void parser___ReduceAction326___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction326___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction326___init, 12386};
+  struct trace_t trace = {NULL, LOCATE_parser, 12391, LOCATE_parser___ReduceAction326___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i] = 1;
@@ -23545,7 +23558,7 @@ void parser___ReduceAction326___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction327___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction327___action, 12390};
+  struct trace_t trace = {NULL, LOCATE_parser, 12395, LOCATE_parser___ReduceAction327___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23559,7 +23572,7 @@ void parser___ReduceAction327___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction327___action, 12395); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23569,7 +23582,7 @@ void parser___ReduceAction327___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction327___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction327___init, 12402};
+  struct trace_t trace = {NULL, LOCATE_parser, 12407, LOCATE_parser___ReduceAction327___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i] = 1;
@@ -23577,7 +23590,7 @@ void parser___ReduceAction327___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction328___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction328___action, 12406};
+  struct trace_t trace = {NULL, LOCATE_parser, 12411, LOCATE_parser___ReduceAction328___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23591,7 +23604,7 @@ void parser___ReduceAction328___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction328___action, 12411); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23601,7 +23614,7 @@ void parser___ReduceAction328___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction328___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction328___init, 12418};
+  struct trace_t trace = {NULL, LOCATE_parser, 12423, LOCATE_parser___ReduceAction328___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i] = 1;
@@ -23609,7 +23622,7 @@ void parser___ReduceAction328___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction329___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction329___action, 12422};
+  struct trace_t trace = {NULL, LOCATE_parser, 12427, LOCATE_parser___ReduceAction329___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23623,7 +23636,7 @@ void parser___ReduceAction329___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction329___action, 12427); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23633,7 +23646,7 @@ void parser___ReduceAction329___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction329___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction329___init, 12434};
+  struct trace_t trace = {NULL, LOCATE_parser, 12439, LOCATE_parser___ReduceAction329___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i] = 1;
@@ -23641,7 +23654,7 @@ void parser___ReduceAction329___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction330___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction330___action, 12438};
+  struct trace_t trace = {NULL, LOCATE_parser, 12443, LOCATE_parser___ReduceAction330___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23655,7 +23668,7 @@ void parser___ReduceAction330___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction330___action, 12443); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23665,7 +23678,7 @@ void parser___ReduceAction330___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction330___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction330___init, 12450};
+  struct trace_t trace = {NULL, LOCATE_parser, 12455, LOCATE_parser___ReduceAction330___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i] = 1;
@@ -23673,7 +23686,7 @@ void parser___ReduceAction330___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction331___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction331___action, 12454};
+  struct trace_t trace = {NULL, LOCATE_parser, 12459, LOCATE_parser___ReduceAction331___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23687,7 +23700,7 @@ void parser___ReduceAction331___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction331___action, 12459); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23697,7 +23710,7 @@ void parser___ReduceAction331___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction331___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction331___init, 12466};
+  struct trace_t trace = {NULL, LOCATE_parser, 12471, LOCATE_parser___ReduceAction331___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i] = 1;
@@ -23705,7 +23718,7 @@ void parser___ReduceAction331___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction332___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction332___action, 12470};
+  struct trace_t trace = {NULL, LOCATE_parser, 12475, LOCATE_parser___ReduceAction332___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23719,7 +23732,7 @@ void parser___ReduceAction332___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction332___action, 12475); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -23729,7 +23742,7 @@ void parser___ReduceAction332___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction332___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction332___init, 12482};
+  struct trace_t trace = {NULL, LOCATE_parser, 12487, LOCATE_parser___ReduceAction332___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i] = 1;
@@ -23737,7 +23750,7 @@ void parser___ReduceAction332___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction333___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction333___action, 12486};
+  struct trace_t trace = {NULL, LOCATE_parser, 12491, LOCATE_parser___ReduceAction333___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23750,7 +23763,7 @@ void parser___ReduceAction333___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction333___action, 12491); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 12496); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(47)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
@@ -23758,7 +23771,7 @@ void parser___ReduceAction333___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction333___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction333___init, 12495};
+  struct trace_t trace = {NULL, LOCATE_parser, 12500, LOCATE_parser___ReduceAction333___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i] = 1;
@@ -23766,7 +23779,7 @@ void parser___ReduceAction333___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction334___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction334___action, 12499};
+  struct trace_t trace = {NULL, LOCATE_parser, 12504, LOCATE_parser___ReduceAction334___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23785,7 +23798,7 @@ void parser___ReduceAction334___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction334___action, 12506); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 12511); nit_exit(1);}
   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*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
@@ -23793,7 +23806,7 @@ void parser___ReduceAction334___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction334___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction334___init, 12510};
+  struct trace_t trace = {NULL, LOCATE_parser, 12515, LOCATE_parser___ReduceAction334___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i] = 1;
@@ -23801,7 +23814,74 @@ void parser___ReduceAction334___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction335___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction335___action, 12514};
+  struct trace_t trace = {NULL, LOCATE_parser, 12519, LOCATE_parser___ReduceAction335___action};
+  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;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  NIT_NULL /*null*/;
+  variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable2 = variable3;
+  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable3 = variable4;
+  variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable4 = variable5;
+  variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable5 = variable6;
+  variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable6 = variable7;
+  variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable7 = variable8;
+  variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable8 = variable9;
+  variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable9 = variable10;
+  variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable10 = variable11;
+  variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable11 = variable12;
+  variable12 =  variable11 /*nodearraylist1*/;
+  variable13 = TAG_Bool(( variable12 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 12533); nit_exit(1);}
+  variable13 =  variable8 /*nodearraylist4*/;
+  variable14 = TAG_Bool(( variable13 /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 12535); nit_exit(1);}
+  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*/
+  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*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16,  variable1 /*node_list*/) /*Parser::push*/;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction335___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12546, LOCATE_parser___ReduceAction335___init};
+  trace.prev = tracehead; tracehead = &trace;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction336___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12550, LOCATE_parser___ReduceAction336___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23818,26 +23898,26 @@ void parser___ReduceAction335___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction335___action, 12521); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 12557); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction335___action, 12523); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 12559); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode2*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable5 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/,  variable5 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode3*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode3*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode4*/,  variable6 /*pexprnode3*/) /*Array::add*/;
+    ((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*/
   variable7 = variable8;
@@ -23847,16 +23927,16 @@ void parser___ReduceAction335___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction335___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction335___init, 12540};
+void parser___ReduceAction336___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12576, LOCATE_parser___ReduceAction336___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction336___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction336___action, 12544};
+void parser___ReduceAction337___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12580, LOCATE_parser___ReduceAction337___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23877,38 +23957,38 @@ void parser___ReduceAction336___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction336___action, 12552); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 12588); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction336___action, 12554); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 12590); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction336___action, 12556); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 12592); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable6 /*listnode2*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable6 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable6 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable7 /*listnode3*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable7 /*listnode3*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable7 /*listnode3*/) /*IndexedCollection::append*/;
     }
   }
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode4*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/,  variable8 /*pexprnode4*/) /*Array::add*/;
+    ((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*/
   variable9 = variable10;
@@ -23918,16 +23998,16 @@ void parser___ReduceAction336___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction336___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction336___init, 12580};
+void parser___ReduceAction337___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12616, LOCATE_parser___ReduceAction337___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction337___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction337___action, 12584};
+void parser___ReduceAction338___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12620, LOCATE_parser___ReduceAction338___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23949,21 +24029,21 @@ void parser___ReduceAction337___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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction337___action, 12593); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 12629); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction337___action, 12595); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 12631); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode1*/) /*AbstractArray::add*/;
   }
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable8 /*pexprnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable8 /*pexprnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable6 /*listnode3*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(49)) /*Parser::go_to*/;
@@ -23971,16 +24051,16 @@ void parser___ReduceAction337___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction337___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction337___init, 12605};
+void parser___ReduceAction338___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12641, LOCATE_parser___ReduceAction338___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction338___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction338___action, 12609};
+void parser___ReduceAction339___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12645, LOCATE_parser___ReduceAction339___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -23994,7 +24074,7 @@ void parser___ReduceAction338___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction338___action, 12614); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -24003,16 +24083,16 @@ void parser___ReduceAction338___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction338___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction338___init, 12621};
+void parser___ReduceAction339___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12657, LOCATE_parser___ReduceAction339___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction339___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction339___action, 12625};
+void parser___ReduceAction340___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12661, LOCATE_parser___ReduceAction340___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24034,21 +24114,21 @@ void parser___ReduceAction339___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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction339___action, 12634); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 12670); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction339___action, 12636); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 12672); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode1*/) /*AbstractArray::add*/;
   }
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable8 /*pexprnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable8 /*pexprnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable6 /*listnode3*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(51)) /*Parser::go_to*/;
@@ -24056,16 +24136,16 @@ void parser___ReduceAction339___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction339___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction339___init, 12646};
+void parser___ReduceAction340___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12682, LOCATE_parser___ReduceAction340___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction340___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction340___action, 12650};
+void parser___ReduceAction341___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12686, LOCATE_parser___ReduceAction341___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24079,7 +24159,7 @@ void parser___ReduceAction340___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction340___action, 12655); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -24088,16 +24168,16 @@ void parser___ReduceAction340___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction340___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction340___init, 12662};
+void parser___ReduceAction341___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12698, LOCATE_parser___ReduceAction341___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction341___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction341___action, 12666};
+void parser___ReduceAction342___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12702, LOCATE_parser___ReduceAction342___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24111,7 +24191,7 @@ void parser___ReduceAction341___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction341___action, 12671); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -24120,16 +24200,16 @@ void parser___ReduceAction341___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction341___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction341___init, 12678};
+void parser___ReduceAction342___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12714, LOCATE_parser___ReduceAction342___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction342___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction342___action, 12682};
+void parser___ReduceAction343___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12718, LOCATE_parser___ReduceAction343___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24153,14 +24233,14 @@ void parser___ReduceAction342___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction342___action, 12692); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 12728); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pexprnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable7 /*listnode2*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(54)) /*Parser::go_to*/;
@@ -24168,16 +24248,16 @@ void parser___ReduceAction342___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction342___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction342___init, 12699};
+void parser___ReduceAction343___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12735, LOCATE_parser___ReduceAction343___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction343___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction343___action, 12703};
+void parser___ReduceAction344___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12739, LOCATE_parser___ReduceAction344___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24205,25 +24285,25 @@ void parser___ReduceAction343___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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction343___action, 12714); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 12750); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction343___action, 12716); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 12752); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pexprnode1*/) /*AbstractArray::add*/;
   }
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable8 /*listnode3*/ /*node_list=*/;
@@ -24232,16 +24312,16 @@ void parser___ReduceAction343___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction343___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction343___init, 12730};
+void parser___ReduceAction344___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12766, LOCATE_parser___ReduceAction344___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction344___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction344___action, 12734};
+void parser___ReduceAction345___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12770, LOCATE_parser___ReduceAction345___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24258,7 +24338,7 @@ void parser___ReduceAction344___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
@@ -24266,16 +24346,16 @@ void parser___ReduceAction344___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction344___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction344___init, 12744};
+void parser___ReduceAction345___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12780, LOCATE_parser___ReduceAction345___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction345___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction345___action, 12748};
+void parser___ReduceAction346___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12784, LOCATE_parser___ReduceAction346___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24283,7 +24363,7 @@ void parser___ReduceAction345___action(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
@@ -24291,16 +24371,16 @@ void parser___ReduceAction345___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction345___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction345___init, 12755};
+void parser___ReduceAction346___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12791, LOCATE_parser___ReduceAction346___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction346___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction346___action, 12759};
+void parser___ReduceAction347___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12795, LOCATE_parser___ReduceAction347___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24324,14 +24404,14 @@ void parser___ReduceAction346___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction346___action, 12769); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 12805); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pexprnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable7 /*listnode2*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(55)) /*Parser::go_to*/;
@@ -24339,16 +24419,16 @@ void parser___ReduceAction346___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction346___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction346___init, 12776};
+void parser___ReduceAction347___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12812, LOCATE_parser___ReduceAction347___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction347___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction347___action, 12780};
+void parser___ReduceAction348___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12816, LOCATE_parser___ReduceAction348___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24376,25 +24456,25 @@ void parser___ReduceAction347___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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction347___action, 12791); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 12827); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction347___action, 12793); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 12829); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pexprnode1*/) /*AbstractArray::add*/;
   }
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable8 /*listnode3*/ /*node_list=*/;
@@ -24403,16 +24483,16 @@ void parser___ReduceAction347___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction347___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction347___init, 12807};
+void parser___ReduceAction348___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12843, LOCATE_parser___ReduceAction348___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction348___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction348___action, 12811};
+void parser___ReduceAction349___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12847, LOCATE_parser___ReduceAction349___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24424,14 +24504,14 @@ void parser___ReduceAction348___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction348___action, 12817); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 12853); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pexprnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(55)) /*Parser::go_to*/;
@@ -24439,16 +24519,16 @@ void parser___ReduceAction348___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction348___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction348___init, 12824};
+void parser___ReduceAction349___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12860, LOCATE_parser___ReduceAction349___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction349___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction349___action, 12828};
+void parser___ReduceAction350___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12864, LOCATE_parser___ReduceAction350___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24465,7 +24545,7 @@ void parser___ReduceAction349___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
@@ -24473,16 +24553,16 @@ void parser___ReduceAction349___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction349___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction349___init, 12838};
+void parser___ReduceAction350___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12874, LOCATE_parser___ReduceAction350___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction350___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction350___action, 12842};
+void parser___ReduceAction351___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12878, LOCATE_parser___ReduceAction351___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24490,7 +24570,7 @@ void parser___ReduceAction350___action(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
-  variable3 = NEW_array___Array___init(); /*new Array[Object]*/
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
@@ -24498,16 +24578,16 @@ void parser___ReduceAction350___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction350___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction350___init, 12849};
+void parser___ReduceAction351___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12885, LOCATE_parser___ReduceAction351___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction351___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction351___action, 12853};
+void parser___ReduceAction352___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12889, LOCATE_parser___ReduceAction352___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24531,14 +24611,14 @@ void parser___ReduceAction351___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable4 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction351___action, 12863); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 12899); nit_exit(1);}
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/,  variable8 /*pexprnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable7 /*listnode2*/ /*node_list=*/;
   variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(56)) /*Parser::go_to*/;
@@ -24546,16 +24626,16 @@ void parser___ReduceAction351___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction351___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction351___init, 12870};
+void parser___ReduceAction352___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12906, LOCATE_parser___ReduceAction352___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction352___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction352___action, 12874};
+void parser___ReduceAction353___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12910, LOCATE_parser___ReduceAction353___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24583,25 +24663,25 @@ void parser___ReduceAction352___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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction352___action, 12885); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 12921); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction352___action, 12887); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 12923); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/,  variable9 /*pexprnode1*/) /*AbstractArray::add*/;
   }
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/,  variable10 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable8 /*listnode3*/ /*node_list=*/;
@@ -24610,16 +24690,16 @@ void parser___ReduceAction352___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction352___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction352___init, 12901};
+void parser___ReduceAction353___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12937, LOCATE_parser___ReduceAction353___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction353___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction353___action, 12905};
+void parser___ReduceAction354___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12941, LOCATE_parser___ReduceAction354___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24641,23 +24721,23 @@ void parser___ReduceAction353___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable3 /*nodearraylist3*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction353___action, 12913); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 12949); nit_exit(1);}
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(57)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction353___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction353___init, 12917};
+void parser___ReduceAction354___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12953, LOCATE_parser___ReduceAction354___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction354___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction354___action, 12921};
+void parser___ReduceAction355___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12957, LOCATE_parser___ReduceAction355___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24670,11 +24750,11 @@ void parser___ReduceAction354___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction354___action, 12927); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*pqualifiednode1*/ /*node_list=*/;
@@ -24683,16 +24763,16 @@ void parser___ReduceAction354___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction354___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction354___init, 12935};
+void parser___ReduceAction355___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12971, LOCATE_parser___ReduceAction355___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction355___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction355___action, 12939};
+void parser___ReduceAction356___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12975, LOCATE_parser___ReduceAction356___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24709,23 +24789,23 @@ void parser___ReduceAction355___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction355___action, 12946); nit_exit(1);}
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 12982); nit_exit(1);}
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable6)) { /*if*/
       variable4 =  variable5 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction355___action, 12955); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pqualifiednode1*/ /*node_list=*/;
@@ -24734,16 +24814,16 @@ void parser___ReduceAction355___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction355___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction355___init, 12963};
+void parser___ReduceAction356___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 12999, LOCATE_parser___ReduceAction356___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction356___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction356___action, 12967};
+void parser___ReduceAction357___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13003, LOCATE_parser___ReduceAction357___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24756,18 +24836,18 @@ void parser___ReduceAction356___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction356___action, 12973); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 13009); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
+    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable5)) { /*if*/
       variable3 =  variable4 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*Array::append*/;
+      ((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*/
@@ -24778,16 +24858,16 @@ void parser___ReduceAction356___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction356___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction356___init, 12988};
+void parser___ReduceAction357___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13024, LOCATE_parser___ReduceAction357___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction357___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction357___action, 12992};
+void parser___ReduceAction358___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13028, LOCATE_parser___ReduceAction358___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24806,23 +24886,23 @@ void parser___ReduceAction357___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction357___action, 12999); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 13035); nit_exit(1);}
   variable1 =  variable5 /*tidnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(59)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction357___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction357___init, 13003};
+void parser___ReduceAction358___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13039, LOCATE_parser___ReduceAction358___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction358___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction358___action, 13007};
+void parser___ReduceAction359___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13043, LOCATE_parser___ReduceAction359___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24841,23 +24921,23 @@ void parser___ReduceAction358___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tclassidnode1*/==NIT_NULL) || VAL_ISA( variable5 /*tclassidnode1*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction358___action, 13014); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 13050); nit_exit(1);}
   variable1 =  variable5 /*tclassidnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(60)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction358___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction358___init, 13018};
+void parser___ReduceAction359___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13054, LOCATE_parser___ReduceAction359___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction359___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction359___action, 13022};
+void parser___ReduceAction360___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13058, LOCATE_parser___ReduceAction360___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24872,16 +24952,16 @@ void parser___ReduceAction359___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction359___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction359___init, 13028};
+void parser___ReduceAction360___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13064, LOCATE_parser___ReduceAction360___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction360___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction360___action, 13032};
+void parser___ReduceAction361___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13068, LOCATE_parser___ReduceAction361___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24896,16 +24976,16 @@ void parser___ReduceAction360___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction360___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction360___init, 13038};
+void parser___ReduceAction361___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13074, LOCATE_parser___ReduceAction361___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction361___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction361___action, 13042};
+void parser___ReduceAction362___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13078, LOCATE_parser___ReduceAction362___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24918,18 +24998,18 @@ void parser___ReduceAction361___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction361___action, 13048); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 13084); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
+    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable5)) { /*if*/
       variable3 =  variable4 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/,  variable4 /*listnode2*/) /*Array::append*/;
+      ((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*/
@@ -24940,16 +25020,16 @@ void parser___ReduceAction361___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction361___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction361___init, 13062};
+void parser___ReduceAction362___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13098, LOCATE_parser___ReduceAction362___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction362___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction362___action, 13066};
+void parser___ReduceAction363___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13102, LOCATE_parser___ReduceAction363___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24965,18 +25045,18 @@ void parser___ReduceAction362___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable2 /*nodearraylist2*/;
   variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction362___action, 13073); nit_exit(1);}
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 13109); nit_exit(1);}
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable6)) { /*if*/
       variable4 =  variable5 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode2*/) /*Array::append*/;
+      ((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*/
@@ -24987,16 +25067,16 @@ void parser___ReduceAction362___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction362___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction362___init, 13087};
+void parser___ReduceAction363___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13123, LOCATE_parser___ReduceAction363___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction363___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction363___action, 13091};
+void parser___ReduceAction364___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13127, LOCATE_parser___ReduceAction364___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25012,16 +25092,16 @@ void parser___ReduceAction363___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction363___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction363___init, 13098};
+void parser___ReduceAction364___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13134, LOCATE_parser___ReduceAction364___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction364___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction364___action, 13102};
+void parser___ReduceAction365___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13138, LOCATE_parser___ReduceAction365___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25034,16 +25114,16 @@ void parser___ReduceAction364___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction364___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction364___init, 13108};
+void parser___ReduceAction365___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13144, LOCATE_parser___ReduceAction365___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction365___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction365___action, 13112};
+void parser___ReduceAction366___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13148, LOCATE_parser___ReduceAction366___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25056,23 +25136,23 @@ void parser___ReduceAction365___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pdocnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pdocnode1*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction365___action, 13117); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 13153); nit_exit(1);}
   variable1 =  variable3 /*pdocnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(63)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction365___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction365___init, 13121};
+void parser___ReduceAction366___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13157, LOCATE_parser___ReduceAction366___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction366___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction366___action, 13125};
+void parser___ReduceAction367___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13161, LOCATE_parser___ReduceAction367___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25090,16 +25170,16 @@ void parser___ReduceAction366___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction366___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction366___init, 13132};
+void parser___ReduceAction367___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13168, LOCATE_parser___ReduceAction367___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction367___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction367___action, 13136};
+void parser___ReduceAction368___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13172, LOCATE_parser___ReduceAction368___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25120,16 +25200,16 @@ void parser___ReduceAction367___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction367___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction367___init, 13144};
+void parser___ReduceAction368___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13180, LOCATE_parser___ReduceAction368___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction368___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction368___action, 13148};
+void parser___ReduceAction369___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13184, LOCATE_parser___ReduceAction369___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25144,16 +25224,16 @@ void parser___ReduceAction368___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction368___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction368___init, 13154};
+void parser___ReduceAction369___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13190, LOCATE_parser___ReduceAction369___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction369___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction369___action, 13158};
+void parser___ReduceAction370___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13194, LOCATE_parser___ReduceAction370___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25166,11 +25246,11 @@ void parser___ReduceAction369___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction369___action, 13164); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
@@ -25179,16 +25259,16 @@ void parser___ReduceAction369___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction369___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction369___init, 13172};
+void parser___ReduceAction370___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13208, LOCATE_parser___ReduceAction370___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction370___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction370___action, 13176};
+void parser___ReduceAction371___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13212, LOCATE_parser___ReduceAction371___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25201,23 +25281,23 @@ void parser___ReduceAction370___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction370___action, 13181); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 13217); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(66)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction370___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction370___init, 13185};
+void parser___ReduceAction371___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13221, LOCATE_parser___ReduceAction371___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction371___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction371___action, 13189};
+void parser___ReduceAction372___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13225, LOCATE_parser___ReduceAction372___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25266,22 +25346,22 @@ void parser___ReduceAction371___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction371___action, 13204); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 13240); nit_exit(1);}
   variable14 =  variable10 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction371___action, 13206); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 13242); nit_exit(1);}
   variable15 =  variable8 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction371___action, 13208); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 13244); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction371___action, 13210); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 13246); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction371___action, 13212); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 13248); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction371___action, 13214); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
@@ -25290,16 +25370,16 @@ void parser___ReduceAction371___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction371___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction371___init, 13226};
+void parser___ReduceAction372___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13262, LOCATE_parser___ReduceAction372___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction372___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction372___action, 13230};
+void parser___ReduceAction373___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13266, LOCATE_parser___ReduceAction373___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25312,23 +25392,23 @@ void parser___ReduceAction372___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction372___action, 13235); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction373___action, LOCATE_parser, 13271); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(67)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction372___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction372___init, 13239};
+void parser___ReduceAction373___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13275, LOCATE_parser___ReduceAction373___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction373___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction373___action, 13243};
+void parser___ReduceAction374___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13279, LOCATE_parser___ReduceAction374___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25352,10 +25432,10 @@ void parser___ReduceAction373___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction373___action, 13251); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction374___action, LOCATE_parser, 13287); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction373___action, 13253); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25364,16 +25444,16 @@ void parser___ReduceAction373___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction373___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction373___init, 13261};
+void parser___ReduceAction374___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13297, LOCATE_parser___ReduceAction374___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction374___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction374___action, 13265};
+void parser___ReduceAction375___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13301, LOCATE_parser___ReduceAction375___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25397,10 +25477,10 @@ void parser___ReduceAction374___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction374___action, 13273); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction375___action, LOCATE_parser, 13309); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction374___action, 13275); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25409,16 +25489,16 @@ void parser___ReduceAction374___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction374___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction374___init, 13283};
+void parser___ReduceAction375___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13319, LOCATE_parser___ReduceAction375___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction375___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction375___action, 13287};
+void parser___ReduceAction376___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13323, LOCATE_parser___ReduceAction376___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25431,23 +25511,23 @@ void parser___ReduceAction375___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction375___action, 13292); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction376___action, LOCATE_parser, 13328); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(68)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction375___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction375___init, 13296};
+void parser___ReduceAction376___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13332, LOCATE_parser___ReduceAction376___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction376___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction376___action, 13300};
+void parser___ReduceAction377___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13336, LOCATE_parser___ReduceAction377___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25468,10 +25548,10 @@ void parser___ReduceAction376___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction376___action, 13307); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction377___action, LOCATE_parser, 13343); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction376___action, 13309); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -25480,16 +25560,16 @@ void parser___ReduceAction376___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction376___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction376___init, 13317};
+void parser___ReduceAction377___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13353, LOCATE_parser___ReduceAction377___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction377___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction377___action, 13321};
+void parser___ReduceAction378___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13357, LOCATE_parser___ReduceAction378___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25502,23 +25582,23 @@ void parser___ReduceAction377___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction377___action, 13326); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction378___action, LOCATE_parser, 13362); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(69)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction377___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction377___init, 13330};
+void parser___ReduceAction378___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13366, LOCATE_parser___ReduceAction378___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction378___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction378___action, 13334};
+void parser___ReduceAction379___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13370, LOCATE_parser___ReduceAction379___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25542,10 +25622,10 @@ void parser___ReduceAction378___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction378___action, 13342); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 13378); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction378___action, 13344); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25554,16 +25634,16 @@ void parser___ReduceAction378___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction378___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction378___init, 13352};
+void parser___ReduceAction379___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13388, LOCATE_parser___ReduceAction379___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction379___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction379___action, 13356};
+void parser___ReduceAction380___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13392, LOCATE_parser___ReduceAction380___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25587,10 +25667,10 @@ void parser___ReduceAction379___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction379___action, 13364); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction380___action, LOCATE_parser, 13400); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction379___action, 13366); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25599,16 +25679,16 @@ void parser___ReduceAction379___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction379___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction379___init, 13374};
+void parser___ReduceAction380___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13410, LOCATE_parser___ReduceAction380___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction380___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction380___action, 13378};
+void parser___ReduceAction381___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13414, LOCATE_parser___ReduceAction381___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25632,10 +25712,10 @@ void parser___ReduceAction380___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction380___action, 13386); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 13422); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction380___action, 13388); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25644,16 +25724,16 @@ void parser___ReduceAction380___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction380___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction380___init, 13396};
+void parser___ReduceAction381___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13432, LOCATE_parser___ReduceAction381___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction381___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction381___action, 13400};
+void parser___ReduceAction382___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13436, LOCATE_parser___ReduceAction382___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25677,10 +25757,10 @@ void parser___ReduceAction381___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction381___action, 13408); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction382___action, LOCATE_parser, 13444); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction381___action, 13410); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25689,16 +25769,16 @@ void parser___ReduceAction381___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction381___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction381___init, 13418};
+void parser___ReduceAction382___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13454, LOCATE_parser___ReduceAction382___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction382___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction382___action, 13422};
+void parser___ReduceAction383___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13458, LOCATE_parser___ReduceAction383___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25722,10 +25802,10 @@ void parser___ReduceAction382___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction382___action, 13430); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction383___action, LOCATE_parser, 13466); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction382___action, 13432); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25734,16 +25814,16 @@ void parser___ReduceAction382___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction382___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction382___init, 13440};
+void parser___ReduceAction383___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13476, LOCATE_parser___ReduceAction383___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction383___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction383___action, 13444};
+void parser___ReduceAction384___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13480, LOCATE_parser___ReduceAction384___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25767,10 +25847,10 @@ void parser___ReduceAction383___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction383___action, 13452); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction384___action, LOCATE_parser, 13488); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction383___action, 13454); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25779,16 +25859,16 @@ void parser___ReduceAction383___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction383___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction383___init, 13462};
+void parser___ReduceAction384___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13498, LOCATE_parser___ReduceAction384___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction384___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction384___action, 13466};
+void parser___ReduceAction385___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13502, LOCATE_parser___ReduceAction385___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25812,10 +25892,10 @@ void parser___ReduceAction384___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction384___action, 13474); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction385___action, LOCATE_parser, 13510); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction384___action, 13476); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25824,16 +25904,16 @@ void parser___ReduceAction384___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction384___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction384___init, 13484};
+void parser___ReduceAction385___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13520, LOCATE_parser___ReduceAction385___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction385___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction385___action, 13488};
+void parser___ReduceAction386___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13524, LOCATE_parser___ReduceAction386___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25857,10 +25937,10 @@ void parser___ReduceAction385___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction385___action, 13496); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction386___action, LOCATE_parser, 13532); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction385___action, 13498); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25869,16 +25949,16 @@ void parser___ReduceAction385___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction385___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction385___init, 13506};
+void parser___ReduceAction386___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13542, LOCATE_parser___ReduceAction386___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction386___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction386___action, 13510};
+void parser___ReduceAction387___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13546, LOCATE_parser___ReduceAction387___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25902,10 +25982,10 @@ void parser___ReduceAction386___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction386___action, 13518); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction387___action, LOCATE_parser, 13554); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction386___action, 13520); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25914,16 +25994,16 @@ void parser___ReduceAction386___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction386___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction386___init, 13528};
+void parser___ReduceAction387___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13564, LOCATE_parser___ReduceAction387___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction387___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction387___action, 13532};
+void parser___ReduceAction388___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13568, LOCATE_parser___ReduceAction388___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25936,23 +26016,23 @@ void parser___ReduceAction387___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction387___action, 13537); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction388___action, LOCATE_parser, 13573); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(70)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction387___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction387___init, 13541};
+void parser___ReduceAction388___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13577, LOCATE_parser___ReduceAction388___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction388___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction388___action, 13545};
+void parser___ReduceAction389___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13581, LOCATE_parser___ReduceAction389___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -25976,10 +26056,10 @@ void parser___ReduceAction388___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction388___action, 13553); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 13589); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction388___action, 13555); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -25988,16 +26068,16 @@ void parser___ReduceAction388___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction388___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction388___init, 13563};
+void parser___ReduceAction389___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13599, LOCATE_parser___ReduceAction389___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction389___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction389___action, 13567};
+void parser___ReduceAction390___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13603, LOCATE_parser___ReduceAction390___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26021,10 +26101,10 @@ void parser___ReduceAction389___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction389___action, 13575); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction390___action, LOCATE_parser, 13611); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction389___action, 13577); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -26033,16 +26113,16 @@ void parser___ReduceAction389___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction389___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction389___init, 13585};
+void parser___ReduceAction390___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13621, LOCATE_parser___ReduceAction390___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction390___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction390___action, 13589};
+void parser___ReduceAction391___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13625, LOCATE_parser___ReduceAction391___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26055,23 +26135,23 @@ void parser___ReduceAction390___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction390___action, 13594); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction391___action, LOCATE_parser, 13630); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(71)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction390___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction390___init, 13598};
+void parser___ReduceAction391___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13634, LOCATE_parser___ReduceAction391___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction391___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction391___action, 13602};
+void parser___ReduceAction392___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13638, LOCATE_parser___ReduceAction392___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26095,10 +26175,10 @@ void parser___ReduceAction391___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction391___action, 13610); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 13646); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction391___action, 13612); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -26107,16 +26187,16 @@ void parser___ReduceAction391___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction391___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction391___init, 13620};
+void parser___ReduceAction392___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13656, LOCATE_parser___ReduceAction392___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction392___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction392___action, 13624};
+void parser___ReduceAction393___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13660, LOCATE_parser___ReduceAction393___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26140,10 +26220,10 @@ void parser___ReduceAction392___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction392___action, 13632); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction393___action, LOCATE_parser, 13668); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction392___action, 13634); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -26152,16 +26232,16 @@ void parser___ReduceAction392___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction392___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction392___init, 13642};
+void parser___ReduceAction393___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13678, LOCATE_parser___ReduceAction393___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction393___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction393___action, 13646};
+void parser___ReduceAction394___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13682, LOCATE_parser___ReduceAction394___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26185,10 +26265,10 @@ void parser___ReduceAction393___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction393___action, 13654); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction394___action, LOCATE_parser, 13690); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction393___action, 13656); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -26197,16 +26277,16 @@ void parser___ReduceAction393___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction393___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction393___init, 13664};
+void parser___ReduceAction394___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13700, LOCATE_parser___ReduceAction394___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction394___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction394___action, 13668};
+void parser___ReduceAction395___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13704, LOCATE_parser___ReduceAction395___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26219,23 +26299,23 @@ void parser___ReduceAction394___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction394___action, 13673); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction395___action, LOCATE_parser, 13709); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(72)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction394___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction394___init, 13677};
+void parser___ReduceAction395___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13713, LOCATE_parser___ReduceAction395___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction395___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction395___action, 13681};
+void parser___ReduceAction396___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13717, LOCATE_parser___ReduceAction396___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26256,10 +26336,10 @@ void parser___ReduceAction395___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction395___action, 13688); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction396___action, LOCATE_parser, 13724); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction395___action, 13690); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -26268,16 +26348,16 @@ void parser___ReduceAction395___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction395___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction395___init, 13698};
+void parser___ReduceAction396___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13734, LOCATE_parser___ReduceAction396___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction396___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction396___action, 13702};
+void parser___ReduceAction397___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13738, LOCATE_parser___ReduceAction397___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26298,10 +26378,10 @@ void parser___ReduceAction396___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction396___action, 13709); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction397___action, LOCATE_parser, 13745); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction396___action, 13711); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -26310,16 +26390,16 @@ void parser___ReduceAction396___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction396___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction396___init, 13719};
+void parser___ReduceAction397___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13755, LOCATE_parser___ReduceAction397___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction397___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction397___action, 13723};
+void parser___ReduceAction398___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13759, LOCATE_parser___ReduceAction398___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26332,23 +26412,23 @@ void parser___ReduceAction397___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction397___action, 13728); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction398___action, LOCATE_parser, 13764); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(73)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction397___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction397___init, 13732};
+void parser___ReduceAction398___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13768, LOCATE_parser___ReduceAction398___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction398___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction398___action, 13736};
+void parser___ReduceAction399___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13772, LOCATE_parser___ReduceAction399___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26372,24 +26452,24 @@ void parser___ReduceAction398___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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction398___action, 13745); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction399___action, LOCATE_parser, 13781); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction398___action, 13747); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction399___action, LOCATE_parser, 13783); nit_exit(1);}
   variable9 =  variable2 /*nodearraylist4*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction398___action, 13749); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction399___action, LOCATE_parser, 13785); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -26400,16 +26480,16 @@ void parser___ReduceAction398___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction398___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction398___init, 13766};
+void parser___ReduceAction399___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13802, LOCATE_parser___ReduceAction399___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction399___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction399___action, 13770};
+void parser___ReduceAction400___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13806, LOCATE_parser___ReduceAction400___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26433,10 +26513,10 @@ void parser___ReduceAction399___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction399___action, 13778); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction400___action, LOCATE_parser, 13814); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction399___action, 13780); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -26445,16 +26525,16 @@ void parser___ReduceAction399___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction399___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction399___init, 13788};
+void parser___ReduceAction400___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13824, LOCATE_parser___ReduceAction400___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction400___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction400___action, 13792};
+void parser___ReduceAction401___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13828, LOCATE_parser___ReduceAction401___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26471,7 +26551,7 @@ void parser___ReduceAction400___action(val_t  self, val_t  param0) {
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction400___action, 13799); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
@@ -26480,16 +26560,16 @@ void parser___ReduceAction400___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction400___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction400___init, 13807};
+void parser___ReduceAction401___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13843, LOCATE_parser___ReduceAction401___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction401___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction401___action, 13811};
+void parser___ReduceAction402___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13847, LOCATE_parser___ReduceAction402___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26516,24 +26596,24 @@ void parser___ReduceAction401___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction401___action, 13821); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction402___action, LOCATE_parser, 13857); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction401___action, 13823); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction402___action, LOCATE_parser, 13859); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction401___action, 13825); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction402___action, LOCATE_parser, 13861); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -26544,16 +26624,16 @@ void parser___ReduceAction401___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction401___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction401___init, 13841};
+void parser___ReduceAction402___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13877, LOCATE_parser___ReduceAction402___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction402___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction402___action, 13845};
+void parser___ReduceAction403___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13881, LOCATE_parser___ReduceAction403___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26571,23 +26651,23 @@ void parser___ReduceAction402___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction402___action, 13854); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 13890); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction402___action, 13856); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 13892); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -26598,16 +26678,16 @@ void parser___ReduceAction402___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction402___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction402___init, 13872};
+void parser___ReduceAction403___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13908, LOCATE_parser___ReduceAction403___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction403___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction403___action, 13876};
+void parser___ReduceAction404___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13912, LOCATE_parser___ReduceAction404___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26624,21 +26704,21 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction403___action, 13883); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction404___action, LOCATE_parser, 13919); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction403___action, 13885); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction404___action, LOCATE_parser, 13921); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -26649,16 +26729,16 @@ void parser___ReduceAction403___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction403___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction403___init, 13901};
+void parser___ReduceAction404___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13937, LOCATE_parser___ReduceAction404___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction404___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction404___action, 13905};
+void parser___ReduceAction405___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13941, LOCATE_parser___ReduceAction405___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26679,24 +26759,24 @@ void parser___ReduceAction404___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction404___action, 13913); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 13949); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction404___action, 13915); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 13951); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction404___action, 13917); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 13953); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -26707,16 +26787,16 @@ void parser___ReduceAction404___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction404___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction404___init, 13933};
+void parser___ReduceAction405___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13969, LOCATE_parser___ReduceAction405___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction405___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction405___action, 13937};
+void parser___ReduceAction406___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 13973, LOCATE_parser___ReduceAction406___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26743,24 +26823,24 @@ void parser___ReduceAction405___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction405___action, 13947); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 13983); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction405___action, 13949); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 13985); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction405___action, 13951); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 13987); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -26771,16 +26851,16 @@ void parser___ReduceAction405___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction405___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction405___init, 13967};
+void parser___ReduceAction406___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14003, LOCATE_parser___ReduceAction406___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction406___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction406___action, 13971};
+void parser___ReduceAction407___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14007, LOCATE_parser___ReduceAction407___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26798,23 +26878,23 @@ void parser___ReduceAction406___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction406___action, 13980); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction407___action, LOCATE_parser, 14016); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction406___action, 13982); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction407___action, LOCATE_parser, 14018); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -26825,16 +26905,16 @@ void parser___ReduceAction406___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction406___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction406___init, 13998};
+void parser___ReduceAction407___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14034, LOCATE_parser___ReduceAction407___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction407___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction407___action, 14002};
+void parser___ReduceAction408___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14038, LOCATE_parser___ReduceAction408___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26868,27 +26948,27 @@ void parser___ReduceAction407___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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction407___action, 14014); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14050); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction407___action, 14016); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14052); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist6*/;
   variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction407___action, 14018); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14054); nit_exit(1);}
   variable13 =  variable2 /*nodearraylist7*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction407___action, 14020); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 14056); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
       variable9 =  variable13 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -26899,40 +26979,8 @@ void parser___ReduceAction407___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction407___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction407___init, 14037};
-  trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i] = 1;
-  tracehead = trace.prev;
-  return;
-}
-void parser___ReduceAction408___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction408___action, 14041};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  val_t variable4;
-  val_t variable5;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 =  NIT_NULL /*null*/;
-  variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
-  variable2 = variable3;
-  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 (%s: %d)\n", "", LOCATE_parser___ReduceAction408___action, 14046); nit_exit(1);}
-  variable5 = NEW_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*/;
-  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5,  variable1 /*node_list*/) /*Parser::push*/;
-  tracehead = trace.prev;
-  return;
-}
 void parser___ReduceAction408___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction408___init, 14053};
+  struct trace_t trace = {NULL, LOCATE_parser, 14073, LOCATE_parser___ReduceAction408___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i] = 1;
@@ -26940,7 +26988,7 @@ void parser___ReduceAction408___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction409___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction409___action, 14057};
+  struct trace_t trace = {NULL, LOCATE_parser, 14077, LOCATE_parser___ReduceAction409___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26953,9 +27001,9 @@ void parser___ReduceAction409___action(val_t  self, val_t  param0) {
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction409___action, 14062); nit_exit(1);}
-  variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
+  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*/
   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*/;
@@ -26964,7 +27012,7 @@ void parser___ReduceAction409___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction409___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction409___init, 14069};
+  struct trace_t trace = {NULL, LOCATE_parser, 14089, LOCATE_parser___ReduceAction409___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i] = 1;
@@ -26972,7 +27020,7 @@ void parser___ReduceAction409___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction410___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction410___action, 14073};
+  struct trace_t trace = {NULL, LOCATE_parser, 14093, LOCATE_parser___ReduceAction410___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26985,9 +27033,9 @@ void parser___ReduceAction410___action(val_t  self, val_t  param0) {
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction410___action, 14078); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
+  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*/
   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*/;
@@ -26996,7 +27044,7 @@ void parser___ReduceAction410___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction410___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction410___init, 14085};
+  struct trace_t trace = {NULL, LOCATE_parser, 14105, LOCATE_parser___ReduceAction410___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i] = 1;
@@ -27004,7 +27052,7 @@ void parser___ReduceAction410___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction411___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction411___action, 14089};
+  struct trace_t trace = {NULL, LOCATE_parser, 14109, LOCATE_parser___ReduceAction411___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27017,9 +27065,9 @@ void parser___ReduceAction411___action(val_t  self, val_t  param0) {
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction411___action, 14094); nit_exit(1);}
-  variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
+  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*/
   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*/;
@@ -27028,7 +27076,7 @@ void parser___ReduceAction411___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction411___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction411___init, 14101};
+  struct trace_t trace = {NULL, LOCATE_parser, 14121, LOCATE_parser___ReduceAction411___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i] = 1;
@@ -27036,7 +27084,7 @@ void parser___ReduceAction411___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction412___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction412___action, 14105};
+  struct trace_t trace = {NULL, LOCATE_parser, 14125, LOCATE_parser___ReduceAction412___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27049,9 +27097,9 @@ void parser___ReduceAction412___action(val_t  self, val_t  param0) {
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction412___action, 14110); nit_exit(1);}
-  variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
+  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*/
   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*/;
@@ -27060,7 +27108,7 @@ void parser___ReduceAction412___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction412___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction412___init, 14117};
+  struct trace_t trace = {NULL, LOCATE_parser, 14137, LOCATE_parser___ReduceAction412___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i] = 1;
@@ -27068,7 +27116,7 @@ void parser___ReduceAction412___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction413___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction413___action, 14121};
+  struct trace_t trace = {NULL, LOCATE_parser, 14141, LOCATE_parser___ReduceAction413___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27081,9 +27129,9 @@ void parser___ReduceAction413___action(val_t  self, val_t  param0) {
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction413___action, 14126); nit_exit(1);}
-  variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
+  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*/
   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*/;
@@ -27092,7 +27140,7 @@ void parser___ReduceAction413___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction413___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction413___init, 14133};
+  struct trace_t trace = {NULL, LOCATE_parser, 14153, LOCATE_parser___ReduceAction413___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i] = 1;
@@ -27100,7 +27148,7 @@ void parser___ReduceAction413___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction414___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction414___action, 14137};
+  struct trace_t trace = {NULL, LOCATE_parser, 14157, LOCATE_parser___ReduceAction414___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27113,9 +27161,9 @@ void parser___ReduceAction414___action(val_t  self, val_t  param0) {
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction414___action, 14142); nit_exit(1);}
-  variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
+  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*/
   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*/;
@@ -27124,7 +27172,7 @@ void parser___ReduceAction414___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction414___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction414___init, 14149};
+  struct trace_t trace = {NULL, LOCATE_parser, 14169, LOCATE_parser___ReduceAction414___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i] = 1;
@@ -27132,7 +27180,7 @@ void parser___ReduceAction414___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction415___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction415___action, 14153};
+  struct trace_t trace = {NULL, LOCATE_parser, 14173, LOCATE_parser___ReduceAction415___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27145,9 +27193,9 @@ void parser___ReduceAction415___action(val_t  self, val_t  param0) {
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction415___action, 14158); nit_exit(1);}
-  variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
+  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*/
   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*/;
@@ -27156,7 +27204,7 @@ void parser___ReduceAction415___action(val_t  self, val_t  param0) {
   return;
 }
 void parser___ReduceAction415___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction415___init, 14165};
+  struct trace_t trace = {NULL, LOCATE_parser, 14185, LOCATE_parser___ReduceAction415___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i] = 1;
@@ -27164,28 +27212,31 @@ void parser___ReduceAction415___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction416___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction416___action, 14169};
+  struct trace_t trace = {NULL, LOCATE_parser, 14189, LOCATE_parser___ReduceAction416___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
+  val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
-  variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction416___action, 14174); nit_exit(1);}
-  variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
-  variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
-  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
+  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*/
+  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*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction416___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction416___init, 14178};
+  struct trace_t trace = {NULL, LOCATE_parser, 14201, LOCATE_parser___ReduceAction416___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i] = 1;
@@ -27193,34 +27244,28 @@ void parser___ReduceAction416___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction417___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction417___action, 14182};
+  struct trace_t trace = {NULL, LOCATE_parser, 14205, LOCATE_parser___ReduceAction417___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
-  val_t variable5;
-  val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
-  variable3 = variable4;
-  variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
-  variable4 = variable5;
-  variable5 =  variable3 /*nodearraylist2*/;
-  variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction417___action, 14189); nit_exit(1);}
-  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*/;
-  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
+  variable3 =  variable2 /*nodearraylist1*/;
+  variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction417___action, LOCATE_parser, 14210); nit_exit(1);}
+  variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
+  variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(74)) /*Parser::go_to*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction417___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction417___init, 14193};
+  struct trace_t trace = {NULL, LOCATE_parser, 14214, LOCATE_parser___ReduceAction417___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i] = 1;
@@ -27228,28 +27273,34 @@ void parser___ReduceAction417___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction418___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction418___action, 14197};
+  struct trace_t trace = {NULL, LOCATE_parser, 14218, LOCATE_parser___ReduceAction418___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
+  val_t variable5;
+  val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable3 =  variable2 /*nodearraylist1*/;
-  variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction418___action, 14202); nit_exit(1);}
-  variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
-  variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(75)) /*Parser::go_to*/;
-  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
+  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable3 = variable4;
+  variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable4 = variable5;
+  variable5 =  variable3 /*nodearraylist2*/;
+  variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction418___action, LOCATE_parser, 14225); nit_exit(1);}
+  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*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction418___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction418___init, 14206};
+  struct trace_t trace = {NULL, LOCATE_parser, 14229, LOCATE_parser___ReduceAction418___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i] = 1;
@@ -27257,7 +27308,7 @@ void parser___ReduceAction418___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction419___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction419___action, 14210};
+  struct trace_t trace = {NULL, LOCATE_parser, 14233, LOCATE_parser___ReduceAction419___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27268,6 +27319,13 @@ void parser___ReduceAction419___action(val_t  self, val_t  param0) {
   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;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
@@ -27279,25 +27337,37 @@ void parser___ReduceAction419___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[Object]*/
+  variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable6 = variable7;
-  variable7 =  variable4 /*nodearraylist2*/;
-  variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction419___action, 14219); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
-  if (UNTAG_Bool(variable8)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/,  variable7 /*pexprnode2*/) /*Array::add*/;
-  }
-  variable9 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/
+  variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable7 = variable8;
+  variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   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*/;
-  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9,  variable1 /*node_list*/) /*Parser::push*/;
+  variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable9 = variable10;
+  variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable10 = variable11;
+  variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable11 = variable12;
+  variable12 =  variable11 /*nodearraylist1*/;
+  variable13 = TAG_Bool(( variable12 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 14247); nit_exit(1);}
+  variable13 =  variable8 /*nodearraylist4*/;
+  variable14 = TAG_Bool(( variable13 /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 14249); nit_exit(1);}
+  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*/
+  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*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
 void parser___ReduceAction419___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction419___init, 14229};
+  struct trace_t trace = {NULL, LOCATE_parser, 14260, LOCATE_parser___ReduceAction419___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i] = 1;
@@ -27305,25 +27375,102 @@ void parser___ReduceAction419___init(val_t  self, int* init_table) {
   return;
 }
 void parser___ReduceAction420___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction420___action, 14233};
+  struct trace_t trace = {NULL, LOCATE_parser, 14264, LOCATE_parser___ReduceAction420___action};
   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;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  NIT_NULL /*null*/;
   variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable2 = variable3;
-  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable3 =  variable2 /*nodearraylist1*/;
+  variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 14269); nit_exit(1);}
+  variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
+  variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(75)) /*Parser::go_to*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction420___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14273, LOCATE_parser___ReduceAction420___init};
+  trace.prev = tracehead; tracehead = &trace;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction421___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14277, LOCATE_parser___ReduceAction421___action};
+  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;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  NIT_NULL /*null*/;
+  variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable2 = variable3;
+  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable3 = variable4;
+  variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  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]*/
+  variable6 = variable7;
+  variable7 =  variable4 /*nodearraylist2*/;
+  variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction421___action, LOCATE_parser, 14286); nit_exit(1);}
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  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*/
+  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*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9,  variable1 /*node_list*/) /*Parser::push*/;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction421___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14296, LOCATE_parser___ReduceAction421___init};
+  trace.prev = tracehead; tracehead = &trace;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction422___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14300, LOCATE_parser___ReduceAction422___action};
+  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;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  NIT_NULL /*null*/;
+  variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable2 = variable3;
+  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable3 = variable4;
   variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
   variable4 = variable5;
@@ -27331,25 +27478,25 @@ void parser___ReduceAction420___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable5 /*nodearraylist2*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction420___action, 14243); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction422___action, LOCATE_parser, 14310); nit_exit(1);}
   variable9 =  variable4 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction420___action, 14245); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction422___action, LOCATE_parser, 14312); nit_exit(1);}
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/,  variable8 /*pexprnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/,  variable8 /*pexprnode2*/) /*AbstractArray::add*/;
   }
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable7 =  variable9 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/,  variable9 /*listnode3*/) /*Array::append*/;
+      ((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*/
@@ -27360,16 +27507,16 @@ void parser___ReduceAction420___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction420___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction420___init, 14262};
+void parser___ReduceAction422___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14329, LOCATE_parser___ReduceAction422___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction421___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction421___action, 14266};
+void parser___ReduceAction423___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14333, LOCATE_parser___ReduceAction423___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27388,16 +27535,16 @@ void parser___ReduceAction421___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction421___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction421___init, 14274};
+void parser___ReduceAction423___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14341, LOCATE_parser___ReduceAction423___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction422___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction422___action, 14278};
+void parser___ReduceAction424___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14345, LOCATE_parser___ReduceAction424___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27413,16 +27560,16 @@ void parser___ReduceAction422___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction422___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction422___init, 14285};
+void parser___ReduceAction424___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14352, LOCATE_parser___ReduceAction424___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction423___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction423___action, 14289};
+void parser___ReduceAction425___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14356, LOCATE_parser___ReduceAction425___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27435,23 +27582,23 @@ void parser___ReduceAction423___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction423___action, 14294); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction425___action, LOCATE_parser, 14361); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction423___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction423___init, 14298};
+void parser___ReduceAction425___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14365, LOCATE_parser___ReduceAction425___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction424___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction424___action, 14302};
+void parser___ReduceAction426___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14369, LOCATE_parser___ReduceAction426___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27464,23 +27611,23 @@ void parser___ReduceAction424___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction424___action, 14307); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction426___action, LOCATE_parser, 14374); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction424___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction424___init, 14311};
+void parser___ReduceAction426___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14378, LOCATE_parser___ReduceAction426___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction425___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction425___action, 14315};
+void parser___ReduceAction427___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14382, LOCATE_parser___ReduceAction427___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27494,7 +27641,7 @@ void parser___ReduceAction425___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction425___action, 14320); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -27503,16 +27650,16 @@ void parser___ReduceAction425___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction425___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction425___init, 14328};
+void parser___ReduceAction427___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14395, LOCATE_parser___ReduceAction427___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction426___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction426___action, 14332};
+void parser___ReduceAction428___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14399, LOCATE_parser___ReduceAction428___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27530,10 +27677,10 @@ void parser___ReduceAction426___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction426___action, 14338); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction428___action, LOCATE_parser, 14405); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction426___action, 14340); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
@@ -27542,16 +27689,16 @@ void parser___ReduceAction426___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction426___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction426___init, 14348};
+void parser___ReduceAction428___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14415, LOCATE_parser___ReduceAction428___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction427___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction427___action, 14352};
+void parser___ReduceAction429___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14419, LOCATE_parser___ReduceAction429___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27565,7 +27712,7 @@ void parser___ReduceAction427___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction427___action, 14357); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -27574,16 +27721,16 @@ void parser___ReduceAction427___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction427___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction427___init, 14364};
+void parser___ReduceAction429___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14431, LOCATE_parser___ReduceAction429___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction428___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction428___action, 14368};
+void parser___ReduceAction430___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14435, LOCATE_parser___ReduceAction430___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27597,7 +27744,7 @@ void parser___ReduceAction428___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction428___action, 14373); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -27606,16 +27753,16 @@ void parser___ReduceAction428___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction428___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction428___init, 14380};
+void parser___ReduceAction430___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14447, LOCATE_parser___ReduceAction430___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction429___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction429___action, 14384};
+void parser___ReduceAction431___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14451, LOCATE_parser___ReduceAction431___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27629,7 +27776,7 @@ void parser___ReduceAction429___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction429___action, 14389); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -27638,16 +27785,16 @@ void parser___ReduceAction429___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction429___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction429___init, 14396};
+void parser___ReduceAction431___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14463, LOCATE_parser___ReduceAction431___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction430___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction430___action, 14400};
+void parser___ReduceAction432___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14467, LOCATE_parser___ReduceAction432___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27660,23 +27807,23 @@ void parser___ReduceAction430___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction430___action, 14405); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction432___action, LOCATE_parser, 14472); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction430___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction430___init, 14409};
+void parser___ReduceAction432___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14476, LOCATE_parser___ReduceAction432___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction431___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction431___action, 14413};
+void parser___ReduceAction433___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14480, LOCATE_parser___ReduceAction433___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27689,23 +27836,23 @@ void parser___ReduceAction431___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction431___action, 14418); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction433___action, LOCATE_parser, 14485); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction431___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction431___init, 14422};
+void parser___ReduceAction433___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14489, LOCATE_parser___ReduceAction433___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction432___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction432___action, 14426};
+void parser___ReduceAction434___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14493, LOCATE_parser___ReduceAction434___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27718,23 +27865,23 @@ void parser___ReduceAction432___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction432___action, 14431); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 14498); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction432___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction432___init, 14435};
+void parser___ReduceAction434___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14502, LOCATE_parser___ReduceAction434___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction433___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction433___action, 14439};
+void parser___ReduceAction435___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14506, LOCATE_parser___ReduceAction435___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27747,23 +27894,23 @@ void parser___ReduceAction433___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction433___action, 14444); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 14511); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction433___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction433___init, 14448};
+void parser___ReduceAction435___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14515, LOCATE_parser___ReduceAction435___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction434___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction434___action, 14452};
+void parser___ReduceAction436___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14519, LOCATE_parser___ReduceAction436___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27776,23 +27923,23 @@ void parser___ReduceAction434___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction434___action, 14457); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction436___action, LOCATE_parser, 14524); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(76)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction434___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction434___init, 14461};
+void parser___ReduceAction436___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14528, LOCATE_parser___ReduceAction436___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction435___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction435___action, 14465};
+void parser___ReduceAction437___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14532, LOCATE_parser___ReduceAction437___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27819,24 +27966,24 @@ void parser___ReduceAction435___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction435___action, 14475); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 14542); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction435___action, 14477); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 14544); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction435___action, 14479); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 14546); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -27847,16 +27994,16 @@ void parser___ReduceAction435___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction435___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction435___init, 14495};
+void parser___ReduceAction437___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14562, LOCATE_parser___ReduceAction437___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction436___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction436___action, 14499};
+void parser___ReduceAction438___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14566, LOCATE_parser___ReduceAction438___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27874,23 +28021,23 @@ void parser___ReduceAction436___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction436___action, 14508); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 14575); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction436___action, 14510); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 14577); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -27901,16 +28048,16 @@ void parser___ReduceAction436___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction436___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction436___init, 14526};
+void parser___ReduceAction438___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14593, LOCATE_parser___ReduceAction438___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction437___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction437___action, 14530};
+void parser___ReduceAction439___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14597, LOCATE_parser___ReduceAction439___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27927,21 +28074,21 @@ void parser___ReduceAction437___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction437___action, 14537); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction439___action, LOCATE_parser, 14604); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction437___action, 14539); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction439___action, LOCATE_parser, 14606); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -27952,16 +28099,16 @@ void parser___ReduceAction437___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction437___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction437___init, 14555};
+void parser___ReduceAction439___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14622, LOCATE_parser___ReduceAction439___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction438___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction438___action, 14559};
+void parser___ReduceAction440___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14626, LOCATE_parser___ReduceAction440___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27982,24 +28129,24 @@ void parser___ReduceAction438___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction438___action, 14567); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 14634); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction438___action, 14569); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 14636); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction438___action, 14571); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 14638); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -28010,16 +28157,16 @@ void parser___ReduceAction438___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction438___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction438___init, 14587};
+void parser___ReduceAction440___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14654, LOCATE_parser___ReduceAction440___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction439___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction439___action, 14591};
+void parser___ReduceAction441___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14658, LOCATE_parser___ReduceAction441___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28046,24 +28193,24 @@ void parser___ReduceAction439___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction439___action, 14601); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 14668); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction439___action, 14603); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 14670); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction439___action, 14605); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 14672); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -28074,16 +28221,16 @@ void parser___ReduceAction439___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction439___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction439___init, 14621};
+void parser___ReduceAction441___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14688, LOCATE_parser___ReduceAction441___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction440___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction440___action, 14625};
+void parser___ReduceAction442___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14692, LOCATE_parser___ReduceAction442___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28101,23 +28248,23 @@ void parser___ReduceAction440___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction440___action, 14634); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 14701); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction440___action, 14636); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 14703); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -28128,16 +28275,16 @@ void parser___ReduceAction440___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction440___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction440___init, 14652};
+void parser___ReduceAction442___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14719, LOCATE_parser___ReduceAction442___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction441___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction441___action, 14656};
+void parser___ReduceAction443___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14723, LOCATE_parser___ReduceAction443___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28155,10 +28302,10 @@ void parser___ReduceAction441___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction441___action, 14662); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 14729); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction441___action, 14664); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
@@ -28167,16 +28314,16 @@ void parser___ReduceAction441___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction441___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction441___init, 14672};
+void parser___ReduceAction443___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14739, LOCATE_parser___ReduceAction443___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction442___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction442___action, 14676};
+void parser___ReduceAction444___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14743, LOCATE_parser___ReduceAction444___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28214,16 +28361,16 @@ void parser___ReduceAction442___action(val_t  self, val_t  param0) {
   variable9 = variable10;
   variable10 =  variable9 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction442___action, 14688); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 14755); nit_exit(1);}
   variable11 =  variable7 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction442___action, 14690); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 14757); nit_exit(1);}
   variable12 =  variable4 /*nodearraylist6*/;
   variable13 = TAG_Bool(( variable12 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction442___action, 14692); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 14759); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction442___action, 14694); nit_exit(1);}
+  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*/
   variable14 = variable15;
   variable1 =  variable14 /*pexprnode1*/ /*node_list=*/;
@@ -28232,16 +28379,16 @@ void parser___ReduceAction442___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction442___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction442___init, 14704};
+void parser___ReduceAction444___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14771, LOCATE_parser___ReduceAction444___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction443___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction443___action, 14708};
+void parser___ReduceAction445___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14775, LOCATE_parser___ReduceAction445___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28273,16 +28420,16 @@ void parser___ReduceAction443___action(val_t  self, val_t  param0) {
   variable7 = variable8;
   variable8 =  variable7 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction443___action, 14718); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 14785); nit_exit(1);}
   variable9 =  variable5 /*nodearraylist3*/;
   variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction443___action, 14720); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 14787); nit_exit(1);}
   variable10 =  variable3 /*nodearraylist5*/;
   variable11 = TAG_Bool(( variable10 /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction443___action, 14722); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction445___action, LOCATE_parser, 14789); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction443___action, 14724); nit_exit(1);}
+  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*/
   variable12 = variable13;
   variable1 =  variable12 /*pexprnode1*/ /*node_list=*/;
@@ -28291,16 +28438,16 @@ void parser___ReduceAction443___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction443___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction443___init, 14734};
+void parser___ReduceAction445___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14801, LOCATE_parser___ReduceAction445___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction444___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction444___action, 14738};
+void parser___ReduceAction446___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14805, LOCATE_parser___ReduceAction446___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28325,13 +28472,13 @@ void parser___ReduceAction444___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction444___action, 14746); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 14813); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist3*/;
   variable8 = TAG_Bool(( variable7 /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction444___action, 14748); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction446___action, LOCATE_parser, 14815); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction444___action, 14750); nit_exit(1);}
+  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*/
   variable9 = variable10;
   variable1 =  variable9 /*pexprnode1*/ /*node_list=*/;
@@ -28340,16 +28487,16 @@ void parser___ReduceAction444___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction444___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction444___init, 14759};
+void parser___ReduceAction446___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14826, LOCATE_parser___ReduceAction446___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction445___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction445___action, 14763};
+void parser___ReduceAction447___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14830, LOCATE_parser___ReduceAction447___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28362,11 +28509,11 @@ void parser___ReduceAction445___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction445___action, 14769); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
@@ -28375,16 +28522,16 @@ void parser___ReduceAction445___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction445___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction445___init, 14777};
+void parser___ReduceAction447___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14844, LOCATE_parser___ReduceAction447___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction446___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction446___action, 14781};
+void parser___ReduceAction448___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14848, LOCATE_parser___ReduceAction448___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28413,21 +28560,21 @@ void parser___ReduceAction446___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[Object]*/
+  variable9 = NEW_array___Array___init(); /*new Array[E]*/
   variable8 = variable9;
   variable9 =  variable7 /*nodearraylist1*/;
   variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction446___action, 14792); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction448___action, LOCATE_parser, 14859); nit_exit(1);}
   variable10 =  variable4 /*nodearraylist4*/;
   variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction446___action, 14794); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction448___action, LOCATE_parser, 14861); nit_exit(1);}
+  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*listnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable8 =  variable10 /*listnode3*/ /*listnode4=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/,  variable10 /*listnode3*/) /*Array::append*/;
+      ((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*/
@@ -28438,16 +28585,16 @@ void parser___ReduceAction446___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction446___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction446___init, 14809};
+void parser___ReduceAction448___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14876, LOCATE_parser___ReduceAction448___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction447___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction447___action, 14813};
+void parser___ReduceAction449___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14880, LOCATE_parser___ReduceAction449___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28460,23 +28607,23 @@ void parser___ReduceAction447___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction447___action, 14818); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction449___action, LOCATE_parser, 14885); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(82)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction447___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction447___init, 14822};
+void parser___ReduceAction449___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14889, LOCATE_parser___ReduceAction449___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction448___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction448___action, 14826};
+void parser___ReduceAction450___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14893, LOCATE_parser___ReduceAction450___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28525,22 +28672,22 @@ void parser___ReduceAction448___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction448___action, 14841); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 14908); nit_exit(1);}
   variable14 =  variable10 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction448___action, 14843); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 14910); nit_exit(1);}
   variable15 =  variable8 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction448___action, 14845); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 14912); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction448___action, 14847); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 14914); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction448___action, 14849); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction450___action, LOCATE_parser, 14916); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction448___action, 14851); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
@@ -28549,16 +28696,16 @@ void parser___ReduceAction448___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction448___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction448___init, 14863};
+void parser___ReduceAction450___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14930, LOCATE_parser___ReduceAction450___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction449___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction449___action, 14867};
+void parser___ReduceAction451___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14934, LOCATE_parser___ReduceAction451___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28571,23 +28718,23 @@ void parser___ReduceAction449___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction449___action, 14872); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction451___action, LOCATE_parser, 14939); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(83)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction449___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction449___init, 14876};
+void parser___ReduceAction451___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14943, LOCATE_parser___ReduceAction451___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction450___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction450___action, 14880};
+void parser___ReduceAction452___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14947, LOCATE_parser___ReduceAction452___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28611,10 +28758,10 @@ void parser___ReduceAction450___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction450___action, 14888); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 14955); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction450___action, 14890); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -28623,16 +28770,16 @@ void parser___ReduceAction450___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction450___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction450___init, 14898};
+void parser___ReduceAction452___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14965, LOCATE_parser___ReduceAction452___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction451___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction451___action, 14902};
+void parser___ReduceAction453___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14969, LOCATE_parser___ReduceAction453___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28656,10 +28803,10 @@ void parser___ReduceAction451___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction451___action, 14910); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 14977); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction451___action, 14912); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -28668,16 +28815,16 @@ void parser___ReduceAction451___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction451___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction451___init, 14920};
+void parser___ReduceAction453___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14987, LOCATE_parser___ReduceAction453___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction452___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction452___action, 14924};
+void parser___ReduceAction454___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 14991, LOCATE_parser___ReduceAction454___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28690,23 +28837,23 @@ void parser___ReduceAction452___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction452___action, 14929); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction454___action, LOCATE_parser, 14996); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(84)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction452___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction452___init, 14933};
+void parser___ReduceAction454___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15000, LOCATE_parser___ReduceAction454___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction453___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction453___action, 14937};
+void parser___ReduceAction455___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15004, LOCATE_parser___ReduceAction455___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28727,10 +28874,10 @@ void parser___ReduceAction453___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction453___action, 14944); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 15011); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction453___action, 14946); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -28739,16 +28886,16 @@ void parser___ReduceAction453___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction453___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction453___init, 14954};
+void parser___ReduceAction455___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15021, LOCATE_parser___ReduceAction455___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction454___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction454___action, 14958};
+void parser___ReduceAction456___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15025, LOCATE_parser___ReduceAction456___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28761,23 +28908,23 @@ void parser___ReduceAction454___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction454___action, 14963); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 15030); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(85)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction454___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction454___init, 14967};
+void parser___ReduceAction456___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15034, LOCATE_parser___ReduceAction456___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction455___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction455___action, 14971};
+void parser___ReduceAction457___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15038, LOCATE_parser___ReduceAction457___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28801,10 +28948,10 @@ void parser___ReduceAction455___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction455___action, 14979); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 15046); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction455___action, 14981); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -28813,16 +28960,16 @@ void parser___ReduceAction455___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction455___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction455___init, 14989};
+void parser___ReduceAction457___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15056, LOCATE_parser___ReduceAction457___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction456___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction456___action, 14993};
+void parser___ReduceAction458___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15060, LOCATE_parser___ReduceAction458___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28846,10 +28993,10 @@ void parser___ReduceAction456___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction456___action, 15001); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 15068); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction456___action, 15003); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -28858,16 +29005,16 @@ void parser___ReduceAction456___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction456___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction456___init, 15011};
+void parser___ReduceAction458___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15078, LOCATE_parser___ReduceAction458___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction457___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction457___action, 15015};
+void parser___ReduceAction459___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15082, LOCATE_parser___ReduceAction459___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28891,10 +29038,10 @@ void parser___ReduceAction457___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction457___action, 15023); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction459___action, LOCATE_parser, 15090); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction457___action, 15025); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -28903,16 +29050,16 @@ void parser___ReduceAction457___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction457___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction457___init, 15033};
+void parser___ReduceAction459___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15100, LOCATE_parser___ReduceAction459___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction458___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction458___action, 15037};
+void parser___ReduceAction460___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15104, LOCATE_parser___ReduceAction460___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28936,10 +29083,10 @@ void parser___ReduceAction458___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction458___action, 15045); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction460___action, LOCATE_parser, 15112); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction458___action, 15047); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -28948,16 +29095,16 @@ void parser___ReduceAction458___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction458___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction458___init, 15055};
+void parser___ReduceAction460___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15122, LOCATE_parser___ReduceAction460___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction459___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction459___action, 15059};
+void parser___ReduceAction461___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15126, LOCATE_parser___ReduceAction461___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -28981,10 +29128,10 @@ void parser___ReduceAction459___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction459___action, 15067); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 15134); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction459___action, 15069); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -28993,16 +29140,16 @@ void parser___ReduceAction459___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction459___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction459___init, 15077};
+void parser___ReduceAction461___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15144, LOCATE_parser___ReduceAction461___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction460___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction460___action, 15081};
+void parser___ReduceAction462___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15148, LOCATE_parser___ReduceAction462___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29026,10 +29173,10 @@ void parser___ReduceAction460___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction460___action, 15089); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction462___action, LOCATE_parser, 15156); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction460___action, 15091); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29038,16 +29185,16 @@ void parser___ReduceAction460___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction460___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction460___init, 15099};
+void parser___ReduceAction462___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15166, LOCATE_parser___ReduceAction462___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction461___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction461___action, 15103};
+void parser___ReduceAction463___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15170, LOCATE_parser___ReduceAction463___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29071,10 +29218,10 @@ void parser___ReduceAction461___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction461___action, 15111); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction463___action, LOCATE_parser, 15178); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction461___action, 15113); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29083,16 +29230,16 @@ void parser___ReduceAction461___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction461___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction461___init, 15121};
+void parser___ReduceAction463___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15188, LOCATE_parser___ReduceAction463___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction462___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction462___action, 15125};
+void parser___ReduceAction464___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15192, LOCATE_parser___ReduceAction464___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29116,10 +29263,10 @@ void parser___ReduceAction462___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction462___action, 15133); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction464___action, LOCATE_parser, 15200); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction462___action, 15135); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29128,16 +29275,16 @@ void parser___ReduceAction462___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction462___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction462___init, 15143};
+void parser___ReduceAction464___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15210, LOCATE_parser___ReduceAction464___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction463___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction463___action, 15147};
+void parser___ReduceAction465___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15214, LOCATE_parser___ReduceAction465___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29161,10 +29308,10 @@ void parser___ReduceAction463___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction463___action, 15155); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction465___action, LOCATE_parser, 15222); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction463___action, 15157); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29173,16 +29320,16 @@ void parser___ReduceAction463___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction463___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction463___init, 15165};
+void parser___ReduceAction465___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15232, LOCATE_parser___ReduceAction465___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction464___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction464___action, 15169};
+void parser___ReduceAction466___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15236, LOCATE_parser___ReduceAction466___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29195,23 +29342,23 @@ void parser___ReduceAction464___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction464___action, 15174); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction466___action, LOCATE_parser, 15241); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(86)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction464___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction464___init, 15178};
+void parser___ReduceAction466___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15245, LOCATE_parser___ReduceAction466___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction465___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction465___action, 15182};
+void parser___ReduceAction467___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15249, LOCATE_parser___ReduceAction467___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29235,10 +29382,10 @@ void parser___ReduceAction465___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction465___action, 15190); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction467___action, LOCATE_parser, 15257); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction465___action, 15192); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29247,16 +29394,16 @@ void parser___ReduceAction465___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction465___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction465___init, 15200};
+void parser___ReduceAction467___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15267, LOCATE_parser___ReduceAction467___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction466___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction466___action, 15204};
+void parser___ReduceAction468___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15271, LOCATE_parser___ReduceAction468___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29280,10 +29427,10 @@ void parser___ReduceAction466___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction466___action, 15212); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction468___action, LOCATE_parser, 15279); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction466___action, 15214); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29292,16 +29439,16 @@ void parser___ReduceAction466___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction466___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction466___init, 15222};
+void parser___ReduceAction468___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15289, LOCATE_parser___ReduceAction468___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction467___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction467___action, 15226};
+void parser___ReduceAction469___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15293, LOCATE_parser___ReduceAction469___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29314,23 +29461,23 @@ void parser___ReduceAction467___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction467___action, 15231); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction469___action, LOCATE_parser, 15298); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(87)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction467___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction467___init, 15235};
+void parser___ReduceAction469___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15302, LOCATE_parser___ReduceAction469___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction468___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction468___action, 15239};
+void parser___ReduceAction470___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15306, LOCATE_parser___ReduceAction470___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29354,10 +29501,10 @@ void parser___ReduceAction468___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction468___action, 15247); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction470___action, LOCATE_parser, 15314); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction468___action, 15249); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29366,16 +29513,16 @@ void parser___ReduceAction468___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction468___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction468___init, 15257};
+void parser___ReduceAction470___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15324, LOCATE_parser___ReduceAction470___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction469___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction469___action, 15261};
+void parser___ReduceAction471___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15328, LOCATE_parser___ReduceAction471___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29399,10 +29546,10 @@ void parser___ReduceAction469___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction469___action, 15269); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction471___action, LOCATE_parser, 15336); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction469___action, 15271); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29411,16 +29558,16 @@ void parser___ReduceAction469___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction469___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction469___init, 15279};
+void parser___ReduceAction471___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15346, LOCATE_parser___ReduceAction471___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction470___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction470___action, 15283};
+void parser___ReduceAction472___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15350, LOCATE_parser___ReduceAction472___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29444,10 +29591,10 @@ void parser___ReduceAction470___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction470___action, 15291); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction472___action, LOCATE_parser, 15358); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction470___action, 15293); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29456,16 +29603,16 @@ void parser___ReduceAction470___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction470___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction470___init, 15301};
+void parser___ReduceAction472___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15368, LOCATE_parser___ReduceAction472___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction471___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction471___action, 15305};
+void parser___ReduceAction473___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15372, LOCATE_parser___ReduceAction473___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29478,23 +29625,23 @@ void parser___ReduceAction471___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction471___action, 15310); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 15377); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(88)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction471___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction471___init, 15314};
+void parser___ReduceAction473___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15381, LOCATE_parser___ReduceAction473___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction472___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction472___action, 15318};
+void parser___ReduceAction474___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15385, LOCATE_parser___ReduceAction474___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29515,10 +29662,10 @@ void parser___ReduceAction472___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction472___action, 15325); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 15392); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction472___action, 15327); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -29527,16 +29674,16 @@ void parser___ReduceAction472___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction472___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction472___init, 15335};
+void parser___ReduceAction474___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15402, LOCATE_parser___ReduceAction474___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction473___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction473___action, 15339};
+void parser___ReduceAction475___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15406, LOCATE_parser___ReduceAction475___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29557,10 +29704,10 @@ void parser___ReduceAction473___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction473___action, 15346); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 15413); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction473___action, 15348); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -29569,16 +29716,16 @@ void parser___ReduceAction473___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction473___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction473___init, 15356};
+void parser___ReduceAction475___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15423, LOCATE_parser___ReduceAction475___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction474___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction474___action, 15360};
+void parser___ReduceAction476___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15427, LOCATE_parser___ReduceAction476___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29591,23 +29738,23 @@ void parser___ReduceAction474___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction474___action, 15365); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 15432); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(89)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction474___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction474___init, 15369};
+void parser___ReduceAction476___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15436, LOCATE_parser___ReduceAction476___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction475___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction475___action, 15373};
+void parser___ReduceAction477___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15440, LOCATE_parser___ReduceAction477___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29631,24 +29778,24 @@ void parser___ReduceAction475___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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction475___action, 15382); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 15449); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction475___action, 15384); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 15451); nit_exit(1);}
   variable9 =  variable2 /*nodearraylist4*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction475___action, 15386); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 15453); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -29659,16 +29806,16 @@ void parser___ReduceAction475___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction475___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction475___init, 15403};
+void parser___ReduceAction477___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15470, LOCATE_parser___ReduceAction477___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction476___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction476___action, 15407};
+void parser___ReduceAction478___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15474, LOCATE_parser___ReduceAction478___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29692,10 +29839,10 @@ void parser___ReduceAction476___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction476___action, 15415); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 15482); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction476___action, 15417); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -29704,16 +29851,16 @@ void parser___ReduceAction476___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction476___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction476___init, 15425};
+void parser___ReduceAction478___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15492, LOCATE_parser___ReduceAction478___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction477___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction477___action, 15429};
+void parser___ReduceAction479___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15496, LOCATE_parser___ReduceAction479___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29730,7 +29877,7 @@ void parser___ReduceAction477___action(val_t  self, val_t  param0) {
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction477___action, 15436); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
@@ -29739,16 +29886,16 @@ void parser___ReduceAction477___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction477___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction477___init, 15444};
+void parser___ReduceAction479___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15511, LOCATE_parser___ReduceAction479___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction478___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction478___action, 15448};
+void parser___ReduceAction480___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15515, LOCATE_parser___ReduceAction480___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29775,24 +29922,24 @@ void parser___ReduceAction478___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction478___action, 15458); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 15525); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction478___action, 15460); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 15527); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction478___action, 15462); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 15529); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -29803,16 +29950,16 @@ void parser___ReduceAction478___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction478___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction478___init, 15478};
+void parser___ReduceAction480___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15545, LOCATE_parser___ReduceAction480___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction479___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction479___action, 15482};
+void parser___ReduceAction481___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15549, LOCATE_parser___ReduceAction481___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29830,23 +29977,23 @@ void parser___ReduceAction479___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction479___action, 15491); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction481___action, LOCATE_parser, 15558); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction479___action, 15493); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction481___action, LOCATE_parser, 15560); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -29857,16 +30004,16 @@ void parser___ReduceAction479___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction479___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction479___init, 15509};
+void parser___ReduceAction481___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15576, LOCATE_parser___ReduceAction481___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction480___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction480___action, 15513};
+void parser___ReduceAction482___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15580, LOCATE_parser___ReduceAction482___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29883,21 +30030,21 @@ void parser___ReduceAction480___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction480___action, 15520); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 15587); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction480___action, 15522); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 15589); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -29908,16 +30055,16 @@ void parser___ReduceAction480___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction480___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction480___init, 15538};
+void parser___ReduceAction482___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15605, LOCATE_parser___ReduceAction482___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction481___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction481___action, 15542};
+void parser___ReduceAction483___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15609, LOCATE_parser___ReduceAction483___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -29938,24 +30085,24 @@ void parser___ReduceAction481___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction481___action, 15550); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 15617); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction481___action, 15552); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 15619); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction481___action, 15554); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 15621); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -29966,16 +30113,16 @@ void parser___ReduceAction481___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction481___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction481___init, 15570};
+void parser___ReduceAction483___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15637, LOCATE_parser___ReduceAction483___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction482___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction482___action, 15574};
+void parser___ReduceAction484___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15641, LOCATE_parser___ReduceAction484___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30002,24 +30149,24 @@ void parser___ReduceAction482___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[Object]*/
+  variable8 = NEW_array___Array___init(); /*new Array[E]*/
   variable7 = variable8;
   variable8 =  variable6 /*nodearraylist1*/;
   variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction482___action, 15584); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 15651); nit_exit(1);}
   variable9 =  variable3 /*nodearraylist4*/;
   variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction482___action, 15586); nit_exit(1);}
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 15653); nit_exit(1);}
   variable10 =  variable2 /*nodearraylist5*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction482___action, 15588); nit_exit(1);}
-  variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 15655); nit_exit(1);}
+  variable11 = 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(variable11)) { /*if*/
-    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
+    variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable7 =  variable10 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/,  variable10 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -30030,16 +30177,16 @@ void parser___ReduceAction482___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction482___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction482___init, 15604};
+void parser___ReduceAction484___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15671, LOCATE_parser___ReduceAction484___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction483___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction483___action, 15608};
+void parser___ReduceAction485___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15675, LOCATE_parser___ReduceAction485___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30057,23 +30204,23 @@ void parser___ReduceAction483___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable6 = NEW_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*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction483___action, 15617); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 15684); nit_exit(1);}
   variable7 =  variable2 /*nodearraylist2*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction483___action, 15619); nit_exit(1);}
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 15686); nit_exit(1);}
+  variable8 = 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(variable8)) { /*if*/
-    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable8)) { /*if*/
       variable4 =  variable7 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable7 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -30084,16 +30231,16 @@ void parser___ReduceAction483___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction483___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction483___init, 15635};
+void parser___ReduceAction485___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15702, LOCATE_parser___ReduceAction485___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction484___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction484___action, 15639};
+void parser___ReduceAction486___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15706, LOCATE_parser___ReduceAction486___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30127,27 +30274,27 @@ void parser___ReduceAction484___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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction484___action, 15651); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 15718); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction484___action, 15653); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 15720); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist6*/;
   variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction484___action, 15655); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 15722); nit_exit(1);}
   variable13 =  variable2 /*nodearraylist7*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction484___action, 15657); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 15724); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
       variable9 =  variable13 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -30158,16 +30305,16 @@ void parser___ReduceAction484___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction484___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction484___init, 15674};
+void parser___ReduceAction486___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15741, LOCATE_parser___ReduceAction486___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction485___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction485___action, 15678};
+void parser___ReduceAction487___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15745, LOCATE_parser___ReduceAction487___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30181,7 +30328,7 @@ void parser___ReduceAction485___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction485___action, 15683); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30190,16 +30337,16 @@ void parser___ReduceAction485___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction485___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction485___init, 15690};
+void parser___ReduceAction487___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15757, LOCATE_parser___ReduceAction487___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction486___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction486___action, 15694};
+void parser___ReduceAction488___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15761, LOCATE_parser___ReduceAction488___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30213,7 +30360,7 @@ void parser___ReduceAction486___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction486___action, 15699); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30222,16 +30369,16 @@ void parser___ReduceAction486___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction486___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction486___init, 15706};
+void parser___ReduceAction488___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15773, LOCATE_parser___ReduceAction488___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction487___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction487___action, 15710};
+void parser___ReduceAction489___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15777, LOCATE_parser___ReduceAction489___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30245,7 +30392,7 @@ void parser___ReduceAction487___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction487___action, 15715); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30254,16 +30401,16 @@ void parser___ReduceAction487___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction487___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction487___init, 15722};
+void parser___ReduceAction489___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15789, LOCATE_parser___ReduceAction489___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction488___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction488___action, 15726};
+void parser___ReduceAction490___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15793, LOCATE_parser___ReduceAction490___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30277,7 +30424,7 @@ void parser___ReduceAction488___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction488___action, 15731); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30286,16 +30433,16 @@ void parser___ReduceAction488___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction488___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction488___init, 15738};
+void parser___ReduceAction490___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15805, LOCATE_parser___ReduceAction490___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction489___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction489___action, 15742};
+void parser___ReduceAction491___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15809, LOCATE_parser___ReduceAction491___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30309,7 +30456,7 @@ void parser___ReduceAction489___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction489___action, 15747); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30318,16 +30465,16 @@ void parser___ReduceAction489___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction489___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction489___init, 15754};
+void parser___ReduceAction491___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15821, LOCATE_parser___ReduceAction491___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction490___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction490___action, 15758};
+void parser___ReduceAction492___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15825, LOCATE_parser___ReduceAction492___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30341,7 +30488,7 @@ void parser___ReduceAction490___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction490___action, 15763); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30350,16 +30497,16 @@ void parser___ReduceAction490___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction490___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction490___init, 15770};
+void parser___ReduceAction492___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15837, LOCATE_parser___ReduceAction492___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction491___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction491___action, 15774};
+void parser___ReduceAction493___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15841, LOCATE_parser___ReduceAction493___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30373,7 +30520,7 @@ void parser___ReduceAction491___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction491___action, 15779); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30382,16 +30529,16 @@ void parser___ReduceAction491___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction491___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction491___init, 15786};
+void parser___ReduceAction493___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15853, LOCATE_parser___ReduceAction493___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction492___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction492___action, 15790};
+void parser___ReduceAction494___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15857, LOCATE_parser___ReduceAction494___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30405,7 +30552,7 @@ void parser___ReduceAction492___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction492___action, 15795); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -30414,16 +30561,16 @@ void parser___ReduceAction492___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction492___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction492___init, 15802};
+void parser___ReduceAction494___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15869, LOCATE_parser___ReduceAction494___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction493___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction493___action, 15806};
+void parser___ReduceAction495___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15873, LOCATE_parser___ReduceAction495___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30436,23 +30583,90 @@ void parser___ReduceAction493___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction493___action, 15811); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 15878); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(90)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction493___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction493___init, 15815};
+void parser___ReduceAction495___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15882, LOCATE_parser___ReduceAction495___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction494___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction494___action, 15819};
+void parser___ReduceAction496___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15886, LOCATE_parser___ReduceAction496___action};
+  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;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  NIT_NULL /*null*/;
+  variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable2 = variable3;
+  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable3 = variable4;
+  variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable4 = variable5;
+  variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable5 = variable6;
+  variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable6 = variable7;
+  variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable7 = variable8;
+  variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable8 = variable9;
+  variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable9 = variable10;
+  variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable10 = variable11;
+  variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable11 = variable12;
+  variable12 =  variable11 /*nodearraylist1*/;
+  variable13 = TAG_Bool(( variable12 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 15900); nit_exit(1);}
+  variable13 =  variable8 /*nodearraylist4*/;
+  variable14 = TAG_Bool(( variable13 /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 15902); nit_exit(1);}
+  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*/
+  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*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16,  variable1 /*node_list*/) /*Parser::push*/;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction496___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15913, LOCATE_parser___ReduceAction496___init};
+  trace.prev = tracehead; tracehead = &trace;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction497___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15917, LOCATE_parser___ReduceAction497___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30465,11 +30679,11 @@ void parser___ReduceAction494___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction494___action, 15825); nit_exit(1);}
+  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*/
   variable5 = variable6;
   variable1 =  variable5 /*ptypenode1*/ /*node_list=*/;
@@ -30478,16 +30692,16 @@ void parser___ReduceAction494___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction494___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction494___init, 15833};
+void parser___ReduceAction497___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15931, LOCATE_parser___ReduceAction497___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction495___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction495___action, 15837};
+void parser___ReduceAction498___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15935, LOCATE_parser___ReduceAction498___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30500,23 +30714,23 @@ void parser___ReduceAction495___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction495___action, 15842); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 15940); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(92)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction495___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction495___init, 15846};
+void parser___ReduceAction498___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15944, LOCATE_parser___ReduceAction498___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction496___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction496___action, 15850};
+void parser___ReduceAction499___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15948, LOCATE_parser___ReduceAction499___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30565,22 +30779,22 @@ void parser___ReduceAction496___action(val_t  self, val_t  param0) {
   variable12 = variable13;
   variable13 =  variable12 /*nodearraylist1*/;
   variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
-  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction496___action, 15865); nit_exit(1);}
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 15963); nit_exit(1);}
   variable14 =  variable10 /*nodearraylist3*/;
   variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction496___action, 15867); nit_exit(1);}
+  if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 15965); nit_exit(1);}
   variable15 =  variable8 /*nodearraylist5*/;
   variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
-  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction496___action, 15869); nit_exit(1);}
+  if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 15967); nit_exit(1);}
   variable16 =  variable6 /*nodearraylist7*/;
   variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction496___action, 15871); nit_exit(1);}
+  if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 15969); nit_exit(1);}
   variable17 =  variable4 /*nodearraylist9*/;
   variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
-  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction496___action, 15873); nit_exit(1);}
+  if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 15971); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction496___action, 15875); nit_exit(1);}
+  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*/
   variable19 = variable20;
   variable1 =  variable19 /*pexprnode1*/ /*node_list=*/;
@@ -30589,16 +30803,16 @@ void parser___ReduceAction496___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction496___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction496___init, 15887};
+void parser___ReduceAction499___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15985, LOCATE_parser___ReduceAction499___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction497___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction497___action, 15891};
+void parser___ReduceAction500___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15989, LOCATE_parser___ReduceAction500___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30611,23 +30825,23 @@ void parser___ReduceAction497___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction497___action, 15896); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 15994); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(93)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction497___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction497___init, 15900};
+void parser___ReduceAction500___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 15998, LOCATE_parser___ReduceAction500___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction498___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction498___action, 15904};
+void parser___ReduceAction501___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16002, LOCATE_parser___ReduceAction501___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30651,10 +30865,10 @@ void parser___ReduceAction498___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction498___action, 15912); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 16010); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction498___action, 15914); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -30663,16 +30877,16 @@ void parser___ReduceAction498___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction498___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction498___init, 15922};
+void parser___ReduceAction501___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16020, LOCATE_parser___ReduceAction501___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction499___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction499___action, 15926};
+void parser___ReduceAction502___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16024, LOCATE_parser___ReduceAction502___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30696,10 +30910,10 @@ void parser___ReduceAction499___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction499___action, 15934); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 16032); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction499___action, 15936); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -30708,16 +30922,16 @@ void parser___ReduceAction499___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction499___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction499___init, 15944};
+void parser___ReduceAction502___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16042, LOCATE_parser___ReduceAction502___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction500___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction500___action, 15948};
+void parser___ReduceAction503___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16046, LOCATE_parser___ReduceAction503___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30730,23 +30944,23 @@ void parser___ReduceAction500___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction500___action, 15953); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 16051); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(94)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction500___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction500___init, 15957};
+void parser___ReduceAction503___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16055, LOCATE_parser___ReduceAction503___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction501___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction501___action, 15961};
+void parser___ReduceAction504___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16059, LOCATE_parser___ReduceAction504___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30767,10 +30981,10 @@ void parser___ReduceAction501___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction501___action, 15968); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 16066); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction501___action, 15970); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -30779,16 +30993,16 @@ void parser___ReduceAction501___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction501___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction501___init, 15978};
+void parser___ReduceAction504___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16076, LOCATE_parser___ReduceAction504___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction502___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction502___action, 15982};
+void parser___ReduceAction505___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16080, LOCATE_parser___ReduceAction505___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30801,23 +31015,23 @@ void parser___ReduceAction502___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction502___action, 15987); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction505___action, LOCATE_parser, 16085); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(95)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction502___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction502___init, 15991};
+void parser___ReduceAction505___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16089, LOCATE_parser___ReduceAction505___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction503___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction503___action, 15995};
+void parser___ReduceAction506___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16093, LOCATE_parser___ReduceAction506___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30841,10 +31055,10 @@ void parser___ReduceAction503___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction503___action, 16003); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 16101); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction503___action, 16005); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -30853,16 +31067,16 @@ void parser___ReduceAction503___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction503___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction503___init, 16013};
+void parser___ReduceAction506___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16111, LOCATE_parser___ReduceAction506___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction504___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction504___action, 16017};
+void parser___ReduceAction507___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16115, LOCATE_parser___ReduceAction507___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30886,10 +31100,10 @@ void parser___ReduceAction504___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction504___action, 16025); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction507___action, LOCATE_parser, 16123); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction504___action, 16027); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -30898,16 +31112,16 @@ void parser___ReduceAction504___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction504___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction504___init, 16035};
+void parser___ReduceAction507___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16133, LOCATE_parser___ReduceAction507___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction505___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction505___action, 16039};
+void parser___ReduceAction508___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16137, LOCATE_parser___ReduceAction508___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30931,10 +31145,10 @@ void parser___ReduceAction505___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction505___action, 16047); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 16145); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction505___action, 16049); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -30943,16 +31157,16 @@ void parser___ReduceAction505___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction505___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction505___init, 16057};
+void parser___ReduceAction508___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16155, LOCATE_parser___ReduceAction508___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction506___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction506___action, 16061};
+void parser___ReduceAction509___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16159, LOCATE_parser___ReduceAction509___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -30976,10 +31190,10 @@ void parser___ReduceAction506___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction506___action, 16069); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 16167); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction506___action, 16071); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -30988,16 +31202,16 @@ void parser___ReduceAction506___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction506___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction506___init, 16079};
+void parser___ReduceAction509___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16177, LOCATE_parser___ReduceAction509___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction507___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction507___action, 16083};
+void parser___ReduceAction510___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16181, LOCATE_parser___ReduceAction510___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31021,10 +31235,10 @@ void parser___ReduceAction507___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction507___action, 16091); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 16189); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction507___action, 16093); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31033,16 +31247,16 @@ void parser___ReduceAction507___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction507___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction507___init, 16101};
+void parser___ReduceAction510___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16199, LOCATE_parser___ReduceAction510___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction508___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction508___action, 16105};
+void parser___ReduceAction511___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16203, LOCATE_parser___ReduceAction511___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31066,10 +31280,10 @@ void parser___ReduceAction508___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction508___action, 16113); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction511___action, LOCATE_parser, 16211); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction508___action, 16115); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31078,16 +31292,16 @@ void parser___ReduceAction508___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction508___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction508___init, 16123};
+void parser___ReduceAction511___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16221, LOCATE_parser___ReduceAction511___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction509___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction509___action, 16127};
+void parser___ReduceAction512___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16225, LOCATE_parser___ReduceAction512___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31111,10 +31325,10 @@ void parser___ReduceAction509___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction509___action, 16135); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 16233); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction509___action, 16137); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31123,16 +31337,16 @@ void parser___ReduceAction509___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction509___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction509___init, 16145};
+void parser___ReduceAction512___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16243, LOCATE_parser___ReduceAction512___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction510___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction510___action, 16149};
+void parser___ReduceAction513___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16247, LOCATE_parser___ReduceAction513___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31156,10 +31370,10 @@ void parser___ReduceAction510___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction510___action, 16157); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 16255); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction510___action, 16159); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31168,16 +31382,16 @@ void parser___ReduceAction510___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction510___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction510___init, 16167};
+void parser___ReduceAction513___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16265, LOCATE_parser___ReduceAction513___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction511___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction511___action, 16171};
+void parser___ReduceAction514___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16269, LOCATE_parser___ReduceAction514___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31201,10 +31415,10 @@ void parser___ReduceAction511___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction511___action, 16179); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 16277); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction511___action, 16181); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31213,16 +31427,16 @@ void parser___ReduceAction511___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction511___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction511___init, 16189};
+void parser___ReduceAction514___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16287, LOCATE_parser___ReduceAction514___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction512___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction512___action, 16193};
+void parser___ReduceAction515___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16291, LOCATE_parser___ReduceAction515___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31235,23 +31449,23 @@ void parser___ReduceAction512___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction512___action, 16198); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction515___action, LOCATE_parser, 16296); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(96)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction512___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction512___init, 16202};
+void parser___ReduceAction515___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16300, LOCATE_parser___ReduceAction515___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction513___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction513___action, 16206};
+void parser___ReduceAction516___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16304, LOCATE_parser___ReduceAction516___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31275,10 +31489,10 @@ void parser___ReduceAction513___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction513___action, 16214); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 16312); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction513___action, 16216); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31287,16 +31501,16 @@ void parser___ReduceAction513___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction513___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction513___init, 16224};
+void parser___ReduceAction516___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16322, LOCATE_parser___ReduceAction516___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction514___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction514___action, 16228};
+void parser___ReduceAction517___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16326, LOCATE_parser___ReduceAction517___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31320,10 +31534,10 @@ void parser___ReduceAction514___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction514___action, 16236); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 16334); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction514___action, 16238); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31332,16 +31546,16 @@ void parser___ReduceAction514___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction514___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction514___init, 16246};
+void parser___ReduceAction517___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16344, LOCATE_parser___ReduceAction517___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction515___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction515___action, 16250};
+void parser___ReduceAction518___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16348, LOCATE_parser___ReduceAction518___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31354,23 +31568,23 @@ void parser___ReduceAction515___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction515___action, 16255); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction518___action, LOCATE_parser, 16353); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(97)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction515___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction515___init, 16259};
+void parser___ReduceAction518___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16357, LOCATE_parser___ReduceAction518___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction516___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction516___action, 16263};
+void parser___ReduceAction519___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16361, LOCATE_parser___ReduceAction519___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31394,10 +31608,10 @@ void parser___ReduceAction516___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction516___action, 16271); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 16369); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction516___action, 16273); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31406,16 +31620,16 @@ void parser___ReduceAction516___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction516___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction516___init, 16281};
+void parser___ReduceAction519___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16379, LOCATE_parser___ReduceAction519___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction517___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction517___action, 16285};
+void parser___ReduceAction520___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16383, LOCATE_parser___ReduceAction520___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31439,10 +31653,10 @@ void parser___ReduceAction517___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction517___action, 16293); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 16391); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction517___action, 16295); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31451,16 +31665,16 @@ void parser___ReduceAction517___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction517___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction517___init, 16303};
+void parser___ReduceAction520___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16401, LOCATE_parser___ReduceAction520___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction518___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction518___action, 16307};
+void parser___ReduceAction521___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16405, LOCATE_parser___ReduceAction521___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31484,10 +31698,10 @@ void parser___ReduceAction518___action(val_t  self, val_t  param0) {
   variable5 = variable6;
   variable6 =  variable5 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction518___action, 16315); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction521___action, LOCATE_parser, 16413); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction518___action, 16317); nit_exit(1);}
+  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*/
   variable8 = variable9;
   variable1 =  variable8 /*pexprnode1*/ /*node_list=*/;
@@ -31496,16 +31710,16 @@ void parser___ReduceAction518___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction518___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction518___init, 16325};
+void parser___ReduceAction521___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16423, LOCATE_parser___ReduceAction521___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction519___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction519___action, 16329};
+void parser___ReduceAction522___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16427, LOCATE_parser___ReduceAction522___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31518,23 +31732,23 @@ void parser___ReduceAction519___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction519___action, 16334); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 16432); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(98)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction519___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction519___init, 16338};
+void parser___ReduceAction522___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16436, LOCATE_parser___ReduceAction522___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction520___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction520___action, 16342};
+void parser___ReduceAction523___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16440, LOCATE_parser___ReduceAction523___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31555,10 +31769,10 @@ void parser___ReduceAction520___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction520___action, 16349); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 16447); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction520___action, 16351); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -31567,16 +31781,16 @@ void parser___ReduceAction520___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction520___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction520___init, 16359};
+void parser___ReduceAction523___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16457, LOCATE_parser___ReduceAction523___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction521___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction521___action, 16363};
+void parser___ReduceAction524___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16461, LOCATE_parser___ReduceAction524___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31597,10 +31811,10 @@ void parser___ReduceAction521___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction521___action, 16370); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction524___action, LOCATE_parser, 16468); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction521___action, 16372); nit_exit(1);}
+  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*/
   variable7 = variable8;
   variable1 =  variable7 /*pexprnode1*/ /*node_list=*/;
@@ -31609,16 +31823,16 @@ void parser___ReduceAction521___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction521___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction521___init, 16380};
+void parser___ReduceAction524___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16478, LOCATE_parser___ReduceAction524___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction522___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction522___action, 16384};
+void parser___ReduceAction525___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16482, LOCATE_parser___ReduceAction525___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31631,23 +31845,23 @@ void parser___ReduceAction522___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction522___action, 16389); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 16487); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(99)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction522___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction522___init, 16393};
+void parser___ReduceAction525___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16491, LOCATE_parser___ReduceAction525___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction523___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction523___action, 16397};
+void parser___ReduceAction526___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16495, LOCATE_parser___ReduceAction526___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31671,24 +31885,24 @@ void parser___ReduceAction523___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[Object]*/
+  variable7 = NEW_array___Array___init(); /*new Array[E]*/
   variable6 = variable7;
   variable7 =  variable5 /*nodearraylist1*/;
   variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction523___action, 16406); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction526___action, LOCATE_parser, 16504); nit_exit(1);}
   variable8 =  variable3 /*nodearraylist3*/;
   variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction523___action, 16408); nit_exit(1);}
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction526___action, LOCATE_parser, 16506); nit_exit(1);}
   variable9 =  variable2 /*nodearraylist4*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction523___action, 16410); nit_exit(1);}
-  variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction526___action, LOCATE_parser, 16508); nit_exit(1);}
+  variable10 = 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(variable10)) { /*if*/
-    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
+    variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable10)) { /*if*/
       variable6 =  variable9 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/,  variable9 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -31699,16 +31913,16 @@ void parser___ReduceAction523___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction523___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction523___init, 16427};
+void parser___ReduceAction526___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16525, LOCATE_parser___ReduceAction526___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction524___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction524___action, 16431};
+void parser___ReduceAction527___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16529, LOCATE_parser___ReduceAction527___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31726,10 +31940,10 @@ void parser___ReduceAction524___action(val_t  self, val_t  param0) {
   variable3 = variable4;
   variable4 =  variable3 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction524___action, 16437); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction527___action, LOCATE_parser, 16535); nit_exit(1);}
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction524___action, 16439); nit_exit(1);}
+  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*/
   variable6 = variable7;
   variable1 =  variable6 /*pexprnode1*/ /*node_list=*/;
@@ -31738,16 +31952,16 @@ void parser___ReduceAction524___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction524___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction524___init, 16447};
+void parser___ReduceAction527___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16545, LOCATE_parser___ReduceAction527___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction525___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction525___action, 16451};
+void parser___ReduceAction528___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16549, LOCATE_parser___ReduceAction528___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31768,24 +31982,24 @@ void parser___ReduceAction525___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction525___action, 16459); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction528___action, LOCATE_parser, 16557); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction525___action, 16461); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction528___action, LOCATE_parser, 16559); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction525___action, 16463); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction528___action, LOCATE_parser, 16561); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -31796,16 +32010,16 @@ void parser___ReduceAction525___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction525___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction525___init, 16479};
+void parser___ReduceAction528___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16577, LOCATE_parser___ReduceAction528___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction526___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction526___action, 16483};
+void parser___ReduceAction529___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16581, LOCATE_parser___ReduceAction529___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31822,21 +32036,21 @@ void parser___ReduceAction526___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction526___action, 16490); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction529___action, LOCATE_parser, 16588); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction526___action, 16492); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction529___action, LOCATE_parser, 16590); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/,  variable6 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -31847,16 +32061,16 @@ void parser___ReduceAction526___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction526___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction526___init, 16508};
+void parser___ReduceAction529___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16606, LOCATE_parser___ReduceAction529___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction527___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction527___action, 16512};
+void parser___ReduceAction530___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16610, LOCATE_parser___ReduceAction530___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31877,24 +32091,24 @@ void parser___ReduceAction527___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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction527___action, 16520); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction530___action, LOCATE_parser, 16618); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction527___action, 16522); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction530___action, LOCATE_parser, 16620); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction527___action, 16524); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction530___action, LOCATE_parser, 16622); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -31905,16 +32119,16 @@ void parser___ReduceAction527___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction527___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction527___init, 16540};
+void parser___ReduceAction530___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16638, LOCATE_parser___ReduceAction530___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction528___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction528___action, 16544};
+void parser___ReduceAction531___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16642, LOCATE_parser___ReduceAction531___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -31935,24 +32149,24 @@ 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[Object]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
   variable6 =  variable4 /*nodearraylist1*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction528___action, 16552); nit_exit(1);}
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction531___action, LOCATE_parser, 16650); nit_exit(1);}
   variable7 =  variable3 /*nodearraylist2*/;
   variable8 = TAG_Bool(( variable7 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction528___action, 16554); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction531___action, LOCATE_parser, 16652); nit_exit(1);}
   variable8 =  variable2 /*nodearraylist3*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction528___action, 16556); nit_exit(1);}
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ ==  NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction531___action, LOCATE_parser, 16654); nit_exit(1);}
+  variable9 = 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(variable9)) { /*if*/
-    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
+    variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable9)) { /*if*/
       variable5 =  variable8 /*listnode4*/ /*listnode5=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/,  variable8 /*listnode4*/) /*Array::append*/;
+      ((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*/
@@ -31963,16 +32177,16 @@ void parser___ReduceAction528___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction528___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction528___init, 16572};
+void parser___ReduceAction531___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16670, LOCATE_parser___ReduceAction531___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction529___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction529___action, 16576};
+void parser___ReduceAction532___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16674, LOCATE_parser___ReduceAction532___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32006,27 +32220,27 @@ void parser___ReduceAction529___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[Object]*/
+  variable10 = NEW_array___Array___init(); /*new Array[E]*/
   variable9 = variable10;
   variable10 =  variable8 /*nodearraylist1*/;
   variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
-  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction529___action, 16588); nit_exit(1);}
+  if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 16686); nit_exit(1);}
   variable11 =  variable6 /*nodearraylist3*/;
   variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction529___action, 16590); nit_exit(1);}
+  if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 16688); nit_exit(1);}
   variable12 =  variable3 /*nodearraylist6*/;
   variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction529___action, 16592); nit_exit(1);}
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 16690); nit_exit(1);}
   variable13 =  variable2 /*nodearraylist7*/;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction529___action, 16594); nit_exit(1);}
-  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 16692); nit_exit(1);}
+  variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ ==  NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*listnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable14)) { /*if*/
-    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
+    variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable14)) { /*if*/
       variable9 =  variable13 /*listnode5*/ /*listnode6=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/,  variable13 /*listnode5*/) /*Array::append*/;
+      ((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*/
@@ -32037,16 +32251,16 @@ void parser___ReduceAction529___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction529___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction529___init, 16611};
+void parser___ReduceAction532___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16709, LOCATE_parser___ReduceAction532___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction530___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction530___action, 16615};
+void parser___ReduceAction533___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16713, LOCATE_parser___ReduceAction533___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32060,7 +32274,7 @@ void parser___ReduceAction530___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction530___action, 16620); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32069,16 +32283,16 @@ void parser___ReduceAction530___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction530___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction530___init, 16627};
+void parser___ReduceAction533___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16725, LOCATE_parser___ReduceAction533___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction531___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction531___action, 16631};
+void parser___ReduceAction534___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16729, LOCATE_parser___ReduceAction534___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32092,7 +32306,7 @@ void parser___ReduceAction531___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction531___action, 16636); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32101,16 +32315,16 @@ void parser___ReduceAction531___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction531___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction531___init, 16643};
+void parser___ReduceAction534___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16741, LOCATE_parser___ReduceAction534___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction532___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction532___action, 16647};
+void parser___ReduceAction535___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16745, LOCATE_parser___ReduceAction535___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32124,7 +32338,7 @@ void parser___ReduceAction532___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction532___action, 16652); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32133,16 +32347,16 @@ void parser___ReduceAction532___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction532___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction532___init, 16659};
+void parser___ReduceAction535___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16757, LOCATE_parser___ReduceAction535___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction533___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction533___action, 16663};
+void parser___ReduceAction536___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16761, LOCATE_parser___ReduceAction536___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32156,7 +32370,7 @@ void parser___ReduceAction533___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction533___action, 16668); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32165,16 +32379,16 @@ void parser___ReduceAction533___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction533___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction533___init, 16675};
+void parser___ReduceAction536___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16773, LOCATE_parser___ReduceAction536___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction534___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction534___action, 16679};
+void parser___ReduceAction537___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16777, LOCATE_parser___ReduceAction537___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32188,7 +32402,7 @@ void parser___ReduceAction534___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction534___action, 16684); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32197,16 +32411,16 @@ void parser___ReduceAction534___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction534___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction534___init, 16691};
+void parser___ReduceAction537___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16789, LOCATE_parser___ReduceAction537___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction535___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction535___action, 16695};
+void parser___ReduceAction538___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16793, LOCATE_parser___ReduceAction538___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32220,7 +32434,7 @@ void parser___ReduceAction535___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction535___action, 16700); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32229,16 +32443,16 @@ void parser___ReduceAction535___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction535___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction535___init, 16707};
+void parser___ReduceAction538___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16805, LOCATE_parser___ReduceAction538___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction536___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction536___action, 16711};
+void parser___ReduceAction539___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16809, LOCATE_parser___ReduceAction539___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32252,7 +32466,7 @@ void parser___ReduceAction536___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction536___action, 16716); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32261,16 +32475,16 @@ void parser___ReduceAction536___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction536___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction536___init, 16723};
+void parser___ReduceAction539___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16821, LOCATE_parser___ReduceAction539___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction537___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction537___action, 16727};
+void parser___ReduceAction540___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16825, LOCATE_parser___ReduceAction540___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32284,7 +32498,7 @@ void parser___ReduceAction537___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_parser___ReduceAction537___action, 16732); nit_exit(1);}
+  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*/
   variable4 = variable5;
   variable1 =  variable4 /*pexprnode1*/ /*node_list=*/;
@@ -32293,16 +32507,16 @@ void parser___ReduceAction537___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction537___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction537___init, 16739};
+void parser___ReduceAction540___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16837, LOCATE_parser___ReduceAction540___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction538___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction538___action, 16743};
+void parser___ReduceAction541___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16841, LOCATE_parser___ReduceAction541___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32315,23 +32529,90 @@ void parser___ReduceAction538___action(val_t  self, val_t  param0) {
   variable2 = variable3;
   variable3 =  variable2 /*nodearraylist1*/;
   variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction538___action, 16748); nit_exit(1);}
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction541___action, LOCATE_parser, 16846); nit_exit(1);}
   variable1 =  variable3 /*pexprnode1*/ /*node_list=*/;
   variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(100)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction538___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction538___init, 16752};
+void parser___ReduceAction541___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16850, LOCATE_parser___ReduceAction541___init};
+  trace.prev = tracehead; tracehead = &trace;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction542___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16854, LOCATE_parser___ReduceAction542___action};
+  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;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  NIT_NULL /*null*/;
+  variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable2 = variable3;
+  variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable3 = variable4;
+  variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable4 = variable5;
+  variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable5 = variable6;
+  variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable6 = variable7;
+  variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable7 = variable8;
+  variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable8 = variable9;
+  variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable9 = variable10;
+  variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable10 = variable11;
+  variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
+  variable11 = variable12;
+  variable12 =  variable11 /*nodearraylist1*/;
+  variable13 = TAG_Bool(( variable12 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
+  if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction542___action, LOCATE_parser, 16868); nit_exit(1);}
+  variable13 =  variable8 /*nodearraylist4*/;
+  variable14 = TAG_Bool(( variable13 /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
+  if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction542___action, LOCATE_parser, 16870); nit_exit(1);}
+  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*/
+  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*/;
+  ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16,  variable1 /*node_list*/) /*Parser::push*/;
+  tracehead = trace.prev;
+  return;
+}
+void parser___ReduceAction542___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16881, LOCATE_parser___ReduceAction542___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction539___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction539___action, 16756};
+void parser___ReduceAction543___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16885, LOCATE_parser___ReduceAction543___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32350,23 +32631,23 @@ void parser___ReduceAction539___action(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 =  variable4 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction539___action, 16763); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction543___action, LOCATE_parser, 16892); nit_exit(1);}
   variable1 =  variable5 /*pexprnode1*/ /*node_list=*/;
   variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(101)) /*Parser::go_to*/;
   ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6,  variable1 /*node_list*/) /*Parser::push*/;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction539___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction539___init, 16767};
+void parser___ReduceAction543___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16896, LOCATE_parser___ReduceAction543___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction540___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction540___action, 16771};
+void parser___ReduceAction544___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16900, LOCATE_parser___ReduceAction544___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32382,16 +32663,16 @@ void parser___ReduceAction540___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction540___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction540___init, 16779};
+void parser___ReduceAction544___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16908, LOCATE_parser___ReduceAction544___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction541___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction541___action, 16783};
+void parser___ReduceAction545___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16912, LOCATE_parser___ReduceAction545___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32403,14 +32684,14 @@ void parser___ReduceAction541___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pimportnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pimportnode1*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction541___action, 16789); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pimportnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pimportnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pimportnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pimportnode1*/,  NIT_NULL /*null*/) /*PImport::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction545___action, LOCATE_parser, 16918); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pimportnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pimportnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pimportnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pimportnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pimportnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pimportnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(102)) /*Parser::go_to*/;
@@ -32418,16 +32699,16 @@ void parser___ReduceAction541___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction541___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction541___init, 16796};
+void parser___ReduceAction545___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16925, LOCATE_parser___ReduceAction545___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction542___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction542___action, 16800};
+void parser___ReduceAction546___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16929, LOCATE_parser___ReduceAction546___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32443,26 +32724,26 @@ void parser___ReduceAction542___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction542___action, 16807); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction546___action, LOCATE_parser, 16936); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pimportnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pimportnode2*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction542___action, 16809); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction546___action, LOCATE_parser, 16938); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pimportnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pimportnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pimportnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pimportnode2*/,  NIT_NULL /*null*/) /*PImport::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pimportnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pimportnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pimportnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pimportnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pimportnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pimportnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(102)) /*Parser::go_to*/;
@@ -32470,16 +32751,16 @@ void parser___ReduceAction542___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction542___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction542___init, 16823};
+void parser___ReduceAction546___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16952, LOCATE_parser___ReduceAction546___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction543___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction543___action, 16827};
+void parser___ReduceAction547___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16956, LOCATE_parser___ReduceAction547___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32491,14 +32772,14 @@ void parser___ReduceAction543___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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pclassdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pclassdefnode1*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction543___action, 16833); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pclassdefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pclassdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pclassdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pclassdefnode1*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction547___action, LOCATE_parser, 16962); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pclassdefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pclassdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pclassdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pclassdefnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pclassdefnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pclassdefnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(103)) /*Parser::go_to*/;
@@ -32506,16 +32787,16 @@ void parser___ReduceAction543___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction543___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction543___init, 16840};
+void parser___ReduceAction547___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16969, LOCATE_parser___ReduceAction547___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction544___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction544___action, 16844};
+void parser___ReduceAction548___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16973, LOCATE_parser___ReduceAction548___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32531,26 +32812,26 @@ void parser___ReduceAction544___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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction544___action, 16851); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction548___action, LOCATE_parser, 16980); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pclassdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pclassdefnode2*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction544___action, 16853); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction548___action, LOCATE_parser, 16982); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pclassdefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pclassdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pclassdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pclassdefnode2*/,  NIT_NULL /*null*/) /*PClassdef::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pclassdefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pclassdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pclassdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pclassdefnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pclassdefnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pclassdefnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(103)) /*Parser::go_to*/;
@@ -32558,16 +32839,16 @@ void parser___ReduceAction544___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction544___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction544___init, 16867};
+void parser___ReduceAction548___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 16996, LOCATE_parser___ReduceAction548___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction545___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction545___action, 16871};
+void parser___ReduceAction549___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17000, LOCATE_parser___ReduceAction549___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32579,14 +32860,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*psuperclassnode1*/==NIT_NULL) || VAL_ISA( variable4 /*psuperclassnode1*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction545___action, 16877); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*psuperclassnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*psuperclassnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*psuperclassnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*psuperclassnode1*/,  NIT_NULL /*null*/) /*PSuperclass::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction549___action, LOCATE_parser, 17006); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*psuperclassnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*psuperclassnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*psuperclassnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*psuperclassnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*psuperclassnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*psuperclassnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(104)) /*Parser::go_to*/;
@@ -32594,16 +32875,16 @@ void parser___ReduceAction545___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction545___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction545___init, 16884};
+void parser___ReduceAction549___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17013, LOCATE_parser___ReduceAction549___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction546___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction546___action, 16888};
+void parser___ReduceAction550___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17017, LOCATE_parser___ReduceAction550___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32619,26 +32900,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction546___action, 16895); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 17024); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*psuperclassnode2*/==NIT_NULL) || VAL_ISA( variable6 /*psuperclassnode2*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction546___action, 16897); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 17026); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*psuperclassnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*psuperclassnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*psuperclassnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*psuperclassnode2*/,  NIT_NULL /*null*/) /*PSuperclass::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*psuperclassnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*psuperclassnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*psuperclassnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*psuperclassnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*psuperclassnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*psuperclassnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(104)) /*Parser::go_to*/;
@@ -32646,16 +32927,16 @@ void parser___ReduceAction546___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction546___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction546___init, 16911};
+void parser___ReduceAction550___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17040, LOCATE_parser___ReduceAction550___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction547___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction547___action, 16915};
+void parser___ReduceAction551___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17044, LOCATE_parser___ReduceAction551___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32667,14 +32948,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction547___action, 16921); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pformaldefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pformaldefnode1*/,  NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction551___action, LOCATE_parser, 17050); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pformaldefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pformaldefnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pformaldefnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pformaldefnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(105)) /*Parser::go_to*/;
@@ -32682,16 +32963,16 @@ void parser___ReduceAction547___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction547___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction547___init, 16928};
+void parser___ReduceAction551___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17057, LOCATE_parser___ReduceAction551___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction548___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction548___action, 16932};
+void parser___ReduceAction552___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17061, LOCATE_parser___ReduceAction552___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32707,26 +32988,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction548___action, 16939); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction552___action, LOCATE_parser, 17068); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pformaldefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pformaldefnode2*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction548___action, 16941); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction552___action, LOCATE_parser, 17070); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pformaldefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pformaldefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pformaldefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pformaldefnode2*/,  NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pformaldefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pformaldefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pformaldefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pformaldefnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pformaldefnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pformaldefnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(105)) /*Parser::go_to*/;
@@ -32734,16 +33015,16 @@ void parser___ReduceAction548___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction548___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction548___init, 16955};
+void parser___ReduceAction552___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17084, LOCATE_parser___ReduceAction552___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction549___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction549___action, 16959};
+void parser___ReduceAction553___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17088, LOCATE_parser___ReduceAction553___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32755,14 +33036,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction549___action, 16965); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction553___action, LOCATE_parser, 17094); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ppropdefnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ppropdefnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(106)) /*Parser::go_to*/;
@@ -32770,16 +33051,16 @@ void parser___ReduceAction549___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction549___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction549___init, 16972};
+void parser___ReduceAction553___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17101, LOCATE_parser___ReduceAction553___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction550___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction550___action, 16976};
+void parser___ReduceAction554___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17105, LOCATE_parser___ReduceAction554___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32795,26 +33076,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction550___action, 16983); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction554___action, LOCATE_parser, 17112); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction550___action, 16985); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction554___action, LOCATE_parser, 17114); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*ppropdefnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*ppropdefnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(106)) /*Parser::go_to*/;
@@ -32822,16 +33103,16 @@ void parser___ReduceAction550___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction550___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction550___init, 16999};
+void parser___ReduceAction554___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17128, LOCATE_parser___ReduceAction554___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction551___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction551___action, 17003};
+void parser___ReduceAction555___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17132, LOCATE_parser___ReduceAction555___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32843,14 +33124,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction551___action, 17009); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction555___action, LOCATE_parser, 17138); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ppropdefnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ppropdefnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(107)) /*Parser::go_to*/;
@@ -32858,16 +33139,16 @@ void parser___ReduceAction551___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction551___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction551___init, 17016};
+void parser___ReduceAction555___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17145, LOCATE_parser___ReduceAction555___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction552___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction552___action, 17020};
+void parser___ReduceAction556___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17149, LOCATE_parser___ReduceAction556___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32883,26 +33164,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction552___action, 17027); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 17156); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction552___action, 17029); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 17158); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/,  NIT_NULL /*null*/) /*PPropdef::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*ppropdefnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*ppropdefnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(107)) /*Parser::go_to*/;
@@ -32910,16 +33191,16 @@ void parser___ReduceAction552___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction552___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction552___init, 17043};
+void parser___ReduceAction556___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17172, LOCATE_parser___ReduceAction556___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction553___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction553___action, 17047};
+void parser___ReduceAction557___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17176, LOCATE_parser___ReduceAction557___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32931,14 +33212,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction553___action, 17053); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pparamnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pparamnode1*/,  NIT_NULL /*null*/) /*PParam::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction557___action, LOCATE_parser, 17182); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pparamnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pparamnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pparamnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pparamnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(108)) /*Parser::go_to*/;
@@ -32946,16 +33227,16 @@ void parser___ReduceAction553___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction553___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction553___init, 17060};
+void parser___ReduceAction557___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17189, LOCATE_parser___ReduceAction557___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction554___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction554___action, 17064};
+void parser___ReduceAction558___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17193, LOCATE_parser___ReduceAction558___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -32971,26 +33252,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction554___action, 17071); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction558___action, LOCATE_parser, 17200); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pparamnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pparamnode2*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction554___action, 17073); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction558___action, LOCATE_parser, 17202); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pparamnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pparamnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pparamnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pparamnode2*/,  NIT_NULL /*null*/) /*PParam::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pparamnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pparamnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pparamnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pparamnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pparamnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pparamnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(108)) /*Parser::go_to*/;
@@ -32998,16 +33279,16 @@ void parser___ReduceAction554___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction554___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction554___init, 17087};
+void parser___ReduceAction558___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17216, LOCATE_parser___ReduceAction558___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction555___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction555___action, 17091};
+void parser___ReduceAction559___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17220, LOCATE_parser___ReduceAction559___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33019,14 +33300,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction555___action, 17097); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction559___action, LOCATE_parser, 17226); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ptypenode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*ptypenode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(109)) /*Parser::go_to*/;
@@ -33034,16 +33315,16 @@ void parser___ReduceAction555___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction555___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction555___init, 17104};
+void parser___ReduceAction559___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17233, LOCATE_parser___ReduceAction559___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction556___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction556___action, 17108};
+void parser___ReduceAction560___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17237, LOCATE_parser___ReduceAction560___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33059,26 +33340,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction556___action, 17115); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 17244); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*ptypenode2*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode2*/, COLOR_PType, ID_PType)) /*cast PType*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction556___action, 17117); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 17246); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ptypenode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*ptypenode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ptypenode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ptypenode2*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ptypenode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*ptypenode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ptypenode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ptypenode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*ptypenode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*ptypenode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(109)) /*Parser::go_to*/;
@@ -33086,16 +33367,16 @@ void parser___ReduceAction556___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction556___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction556___init, 17131};
+void parser___ReduceAction560___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17260, LOCATE_parser___ReduceAction560___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction557___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction557___action, 17135};
+void parser___ReduceAction561___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17264, LOCATE_parser___ReduceAction561___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33107,14 +33388,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction557___action, 17141); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction561___action, LOCATE_parser, 17270); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pexprnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(110)) /*Parser::go_to*/;
@@ -33122,16 +33403,16 @@ void parser___ReduceAction557___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction557___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction557___init, 17148};
+void parser___ReduceAction561___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17277, LOCATE_parser___ReduceAction561___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction558___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction558___action, 17152};
+void parser___ReduceAction562___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17281, LOCATE_parser___ReduceAction562___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33147,26 +33428,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction558___action, 17159); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction562___action, LOCATE_parser, 17288); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction558___action, 17161); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction562___action, LOCATE_parser, 17290); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pexprnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pexprnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(110)) /*Parser::go_to*/;
@@ -33174,16 +33455,16 @@ void parser___ReduceAction558___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction558___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction558___init, 17175};
+void parser___ReduceAction562___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17304, LOCATE_parser___ReduceAction562___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction559___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction559___action, 17179};
+void parser___ReduceAction563___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17308, LOCATE_parser___ReduceAction563___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33195,18 +33476,18 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*listnode1*/==NIT_NULL) || VAL_ISA( variable4 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction559___action, 17185); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction563___action, LOCATE_parser, 17314); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode2*/) /*Array::is_empty*/;
+    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode2*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable5)) { /*if*/
       variable3 =  variable4 /*listnode1*/ /*listnode2=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode2*/,  variable4 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode2*/,  variable4 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
@@ -33215,16 +33496,16 @@ void parser___ReduceAction559___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction559___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction559___init, 17196};
+void parser___ReduceAction563___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17325, LOCATE_parser___ReduceAction563___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction560___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction560___action, 17200};
+void parser___ReduceAction564___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17329, LOCATE_parser___ReduceAction564___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33240,30 +33521,30 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction560___action, 17207); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction564___action, LOCATE_parser, 17336); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction560___action, 17209); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction564___action, LOCATE_parser, 17338); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*listnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable6 /*listnode2*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable6 /*listnode2*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable6 /*listnode2*/) /*IndexedCollection::append*/;
     }
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
@@ -33272,16 +33553,16 @@ void parser___ReduceAction560___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction560___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction560___init, 17227};
+void parser___ReduceAction564___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17356, LOCATE_parser___ReduceAction564___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction561___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction561___action, 17231};
+void parser___ReduceAction565___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17360, LOCATE_parser___ReduceAction565___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33293,14 +33574,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction561___action, 17237); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction565___action, LOCATE_parser, 17366); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pexprnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*pexprnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(112)) /*Parser::go_to*/;
@@ -33308,16 +33589,16 @@ void parser___ReduceAction561___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction561___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction561___init, 17244};
+void parser___ReduceAction565___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17373, LOCATE_parser___ReduceAction565___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction562___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction562___action, 17248};
+void parser___ReduceAction566___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17377, LOCATE_parser___ReduceAction566___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33333,26 +33614,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction562___action, 17255); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 17384); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction562___action, 17257); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 17386); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pexprnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*pexprnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(112)) /*Parser::go_to*/;
@@ -33360,16 +33641,16 @@ void parser___ReduceAction562___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction562___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction562___init, 17271};
+void parser___ReduceAction566___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17400, LOCATE_parser___ReduceAction566___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction563___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction563___action, 17275};
+void parser___ReduceAction567___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17404, LOCATE_parser___ReduceAction567___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33381,14 +33662,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction563___action, 17281); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tidnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*tidnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tidnode1*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction567___action, LOCATE_parser, 17410); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tidnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*tidnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tidnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*tidnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*tidnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(113)) /*Parser::go_to*/;
@@ -33396,16 +33677,16 @@ void parser___ReduceAction563___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction563___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction563___init, 17288};
+void parser___ReduceAction567___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17417, LOCATE_parser___ReduceAction567___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction564___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction564___action, 17292};
+void parser___ReduceAction568___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17421, LOCATE_parser___ReduceAction568___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33421,26 +33702,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction564___action, 17299); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction568___action, LOCATE_parser, 17428); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction564___action, 17301); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction568___action, LOCATE_parser, 17430); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tidnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*tidnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tidnode2*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tidnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*tidnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tidnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*tidnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*tidnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(113)) /*Parser::go_to*/;
@@ -33448,16 +33729,16 @@ void parser___ReduceAction564___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction564___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction564___init, 17315};
+void parser___ReduceAction568___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17444, LOCATE_parser___ReduceAction568___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction565___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction565___action, 17319};
+void parser___ReduceAction569___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17448, LOCATE_parser___ReduceAction569___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33469,14 +33750,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*tcommentnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tcommentnode1*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction565___action, 17325); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tcommentnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*tcommentnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tcommentnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tcommentnode1*/,  NIT_NULL /*null*/) /*TComment::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction569___action, LOCATE_parser, 17454); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tcommentnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*tcommentnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tcommentnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tcommentnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*tcommentnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*tcommentnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(114)) /*Parser::go_to*/;
@@ -33484,16 +33765,16 @@ void parser___ReduceAction565___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction565___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction565___init, 17332};
+void parser___ReduceAction569___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17461, LOCATE_parser___ReduceAction569___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction569].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction569].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction566___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction566___action, 17336};
+void parser___ReduceAction570___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17465, LOCATE_parser___ReduceAction570___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33509,26 +33790,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction566___action, 17343); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 17472); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*tcommentnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tcommentnode2*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction566___action, 17345); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 17474); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tcommentnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*tcommentnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tcommentnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tcommentnode2*/,  NIT_NULL /*null*/) /*TComment::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tcommentnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*tcommentnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tcommentnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tcommentnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*tcommentnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*tcommentnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(114)) /*Parser::go_to*/;
@@ -33536,16 +33817,16 @@ void parser___ReduceAction566___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction566___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction566___init, 17359};
+void parser___ReduceAction570___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17488, LOCATE_parser___ReduceAction570___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction570].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction570].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction567___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction567___action, 17363};
+void parser___ReduceAction571___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17492, LOCATE_parser___ReduceAction571___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33557,14 +33838,14 @@ 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[Object]*/
+  variable4 = NEW_array___Array___init(); /*new Array[E]*/
   variable3 = variable4;
   variable4 =  variable2 /*nodearraylist1*/;
   variable5 = TAG_Bool(( variable4 /*teolnode1*/==NIT_NULL) || VAL_ISA( variable4 /*teolnode1*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction567___action, 17369); nit_exit(1);}
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*teolnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*teolnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*teolnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*teolnode1*/,  NIT_NULL /*null*/) /*TEol::==*/)))))));
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction571___action, LOCATE_parser, 17498); nit_exit(1);}
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*teolnode1*/ ==  NIT_NULL /*null*/) || (( variable4 /*teolnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*teolnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*teolnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*teolnode1*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/,  variable4 /*teolnode1*/) /*AbstractArray::add*/;
   }
   variable1 =  variable3 /*listnode2*/ /*node_list=*/;
   variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(115)) /*Parser::go_to*/;
@@ -33572,16 +33853,16 @@ void parser___ReduceAction567___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction567___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction567___init, 17376};
+void parser___ReduceAction571___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17505, LOCATE_parser___ReduceAction571___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction571].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction571].i] = 1;
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction568___action(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction568___action, 17380};
+void parser___ReduceAction572___action(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17509, LOCATE_parser___ReduceAction572___action};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -33597,26 +33878,26 @@ 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[Object]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
   variable5 =  variable3 /*nodearraylist1*/;
   variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
-  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction568___action, 17387); nit_exit(1);}
+  if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 17516); nit_exit(1);}
   variable6 =  variable2 /*nodearraylist2*/;
   variable7 = TAG_Bool(( variable6 /*teolnode2*/==NIT_NULL) || VAL_ISA( variable6 /*teolnode2*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
-  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser___ReduceAction568___action, 17389); nit_exit(1);}
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Array::==*/)))));
+  if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 17518); nit_exit(1);}
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ ==  NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*listnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
+    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool(variable7)) { /*if*/
       variable4 =  variable5 /*listnode1*/ /*listnode3=*/;
     } else { /*if*/
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/,  variable5 /*listnode1*/) /*IndexedCollection::append*/;
     }
   }
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*teolnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*teolnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*teolnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*teolnode2*/,  NIT_NULL /*null*/) /*TEol::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*teolnode2*/ ==  NIT_NULL /*null*/) || (( variable6 /*teolnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*teolnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*teolnode2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*teolnode2*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/,  variable6 /*teolnode2*/) /*AbstractArray::add*/;
   }
   variable1 =  variable4 /*listnode3*/ /*node_list=*/;
   variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/,  TAG_Int(115)) /*Parser::go_to*/;
@@ -33624,11 +33905,11 @@ void parser___ReduceAction568___action(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-void parser___ReduceAction568___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser___ReduceAction568___init, 17403};
+void parser___ReduceAction572___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser, 17532, LOCATE_parser___ReduceAction572___init};
   trace.prev = tracehead; tracehead = &trace;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i]) return;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i] = 1;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction572].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction572].i] = 1;
   tracehead = trace.prev;
   return;
 }
index c679ebe..95f3d3c 100644 (file)
@@ -1,12 +1,14 @@
 /* This C header file is generated by NIT to compile modules and programs that requires parser. */
-#ifndef parser_3_sep
-#define parser_3_sep
+#ifndef parser_2_sep
+#define parser_2_sep
 #include "parser_prod._sep.h"
 #include "parser_tables._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_State[];
 
+extern const classtable_elt_t VFT_Parser[];
+
 extern const classtable_elt_t VFT_SearchTokensVisitor[];
 
 extern const classtable_elt_t VFT_ReduceAction[];
@@ -1148,7 +1150,15 @@ extern const classtable_elt_t VFT_ReduceAction566[];
 extern const classtable_elt_t VFT_ReduceAction567[];
 
 extern const classtable_elt_t VFT_ReduceAction568[];
-#define LOCATE_parser "parser"
+
+extern const classtable_elt_t VFT_ReduceAction569[];
+
+extern const classtable_elt_t VFT_ReduceAction570[];
+
+extern const classtable_elt_t VFT_ReduceAction571[];
+
+extern const classtable_elt_t VFT_ReduceAction572[];
+#define LOCATE_parser "./parser//parser.nit"
 extern const int SFT_parser[];
 #define ID_State SFT_parser[0]
 #define COLOR_State SFT_parser[1]
@@ -1160,2303 +1170,2322 @@ extern const int SFT_parser[];
 #define COLOR_parser___State___nodes SFT_parser[7]
 #define COLOR_parser___State___nodes__eq SFT_parser[8]
 #define COLOR_parser___State___init SFT_parser[9]
-#define COLOR_parser___Parser____lexer SFT_parser[10]
-#define COLOR_parser___Parser____stack SFT_parser[11]
-#define COLOR_parser___Parser____stack_pos SFT_parser[12]
-#define COLOR_parser___Parser____reduce_table SFT_parser[13]
-#define COLOR_parser___Parser___init SFT_parser[14]
-#define COLOR_parser___Parser___go_to SFT_parser[15]
-#define COLOR_parser___Parser___push SFT_parser[16]
-#define COLOR_parser___Parser___state SFT_parser[17]
-#define COLOR_parser___Parser___pop SFT_parser[18]
-#define COLOR_parser___Parser___parse SFT_parser[19]
-#define COLOR_parser___Parser___build_reduce_table SFT_parser[20]
-#define ID_SearchTokensVisitor SFT_parser[21]
-#define COLOR_SearchTokensVisitor SFT_parser[22]
-#define COLOR_parser___SearchTokensVisitor____untokenned_nodes SFT_parser[23]
-#define COLOR_parser___SearchTokensVisitor____last_token SFT_parser[24]
-#define INIT_TABLE_POS_SearchTokensVisitor SFT_parser[25]
-#define COLOR_parser___SearchTokensVisitor___init SFT_parser[26]
-#define ID_ReduceAction SFT_parser[27]
-#define COLOR_ReduceAction SFT_parser[28]
-#define INIT_TABLE_POS_ReduceAction SFT_parser[29]
-#define COLOR_parser___ReduceAction___action SFT_parser[30]
-#define ID_ReduceAction0 SFT_parser[31]
-#define COLOR_ReduceAction0 SFT_parser[32]
-#define INIT_TABLE_POS_ReduceAction0 SFT_parser[33]
-#define COLOR_parser___ReduceAction0___init SFT_parser[34]
-#define ID_ReduceAction1 SFT_parser[35]
-#define COLOR_ReduceAction1 SFT_parser[36]
-#define INIT_TABLE_POS_ReduceAction1 SFT_parser[37]
-#define COLOR_parser___ReduceAction1___init SFT_parser[38]
-#define ID_ReduceAction2 SFT_parser[39]
-#define COLOR_ReduceAction2 SFT_parser[40]
-#define INIT_TABLE_POS_ReduceAction2 SFT_parser[41]
-#define COLOR_parser___ReduceAction2___init SFT_parser[42]
-#define ID_ReduceAction3 SFT_parser[43]
-#define COLOR_ReduceAction3 SFT_parser[44]
-#define INIT_TABLE_POS_ReduceAction3 SFT_parser[45]
-#define COLOR_parser___ReduceAction3___init SFT_parser[46]
-#define ID_ReduceAction4 SFT_parser[47]
-#define COLOR_ReduceAction4 SFT_parser[48]
-#define INIT_TABLE_POS_ReduceAction4 SFT_parser[49]
-#define COLOR_parser___ReduceAction4___init SFT_parser[50]
-#define ID_ReduceAction5 SFT_parser[51]
-#define COLOR_ReduceAction5 SFT_parser[52]
-#define INIT_TABLE_POS_ReduceAction5 SFT_parser[53]
-#define COLOR_parser___ReduceAction5___init SFT_parser[54]
-#define ID_ReduceAction6 SFT_parser[55]
-#define COLOR_ReduceAction6 SFT_parser[56]
-#define INIT_TABLE_POS_ReduceAction6 SFT_parser[57]
-#define COLOR_parser___ReduceAction6___init SFT_parser[58]
-#define ID_ReduceAction7 SFT_parser[59]
-#define COLOR_ReduceAction7 SFT_parser[60]
-#define INIT_TABLE_POS_ReduceAction7 SFT_parser[61]
-#define COLOR_parser___ReduceAction7___init SFT_parser[62]
-#define ID_ReduceAction8 SFT_parser[63]
-#define COLOR_ReduceAction8 SFT_parser[64]
-#define INIT_TABLE_POS_ReduceAction8 SFT_parser[65]
-#define COLOR_parser___ReduceAction8___init SFT_parser[66]
-#define ID_ReduceAction9 SFT_parser[67]
-#define COLOR_ReduceAction9 SFT_parser[68]
-#define INIT_TABLE_POS_ReduceAction9 SFT_parser[69]
-#define COLOR_parser___ReduceAction9___init SFT_parser[70]
-#define ID_ReduceAction10 SFT_parser[71]
-#define COLOR_ReduceAction10 SFT_parser[72]
-#define INIT_TABLE_POS_ReduceAction10 SFT_parser[73]
-#define COLOR_parser___ReduceAction10___init SFT_parser[74]
-#define ID_ReduceAction11 SFT_parser[75]
-#define COLOR_ReduceAction11 SFT_parser[76]
-#define INIT_TABLE_POS_ReduceAction11 SFT_parser[77]
-#define COLOR_parser___ReduceAction11___init SFT_parser[78]
-#define ID_ReduceAction12 SFT_parser[79]
-#define COLOR_ReduceAction12 SFT_parser[80]
-#define INIT_TABLE_POS_ReduceAction12 SFT_parser[81]
-#define COLOR_parser___ReduceAction12___init SFT_parser[82]
-#define ID_ReduceAction13 SFT_parser[83]
-#define COLOR_ReduceAction13 SFT_parser[84]
-#define INIT_TABLE_POS_ReduceAction13 SFT_parser[85]
-#define COLOR_parser___ReduceAction13___init SFT_parser[86]
-#define ID_ReduceAction14 SFT_parser[87]
-#define COLOR_ReduceAction14 SFT_parser[88]
-#define INIT_TABLE_POS_ReduceAction14 SFT_parser[89]
-#define COLOR_parser___ReduceAction14___init SFT_parser[90]
-#define ID_ReduceAction15 SFT_parser[91]
-#define COLOR_ReduceAction15 SFT_parser[92]
-#define INIT_TABLE_POS_ReduceAction15 SFT_parser[93]
-#define COLOR_parser___ReduceAction15___init SFT_parser[94]
-#define ID_ReduceAction16 SFT_parser[95]
-#define COLOR_ReduceAction16 SFT_parser[96]
-#define INIT_TABLE_POS_ReduceAction16 SFT_parser[97]
-#define COLOR_parser___ReduceAction16___init SFT_parser[98]
-#define ID_ReduceAction17 SFT_parser[99]
-#define COLOR_ReduceAction17 SFT_parser[100]
-#define INIT_TABLE_POS_ReduceAction17 SFT_parser[101]
-#define COLOR_parser___ReduceAction17___init SFT_parser[102]
-#define ID_ReduceAction18 SFT_parser[103]
-#define COLOR_ReduceAction18 SFT_parser[104]
-#define INIT_TABLE_POS_ReduceAction18 SFT_parser[105]
-#define COLOR_parser___ReduceAction18___init SFT_parser[106]
-#define ID_ReduceAction19 SFT_parser[107]
-#define COLOR_ReduceAction19 SFT_parser[108]
-#define INIT_TABLE_POS_ReduceAction19 SFT_parser[109]
-#define COLOR_parser___ReduceAction19___init SFT_parser[110]
-#define ID_ReduceAction20 SFT_parser[111]
-#define COLOR_ReduceAction20 SFT_parser[112]
-#define INIT_TABLE_POS_ReduceAction20 SFT_parser[113]
-#define COLOR_parser___ReduceAction20___init SFT_parser[114]
-#define ID_ReduceAction21 SFT_parser[115]
-#define COLOR_ReduceAction21 SFT_parser[116]
-#define INIT_TABLE_POS_ReduceAction21 SFT_parser[117]
-#define COLOR_parser___ReduceAction21___init SFT_parser[118]
-#define ID_ReduceAction22 SFT_parser[119]
-#define COLOR_ReduceAction22 SFT_parser[120]
-#define INIT_TABLE_POS_ReduceAction22 SFT_parser[121]
-#define COLOR_parser___ReduceAction22___init SFT_parser[122]
-#define ID_ReduceAction23 SFT_parser[123]
-#define COLOR_ReduceAction23 SFT_parser[124]
-#define INIT_TABLE_POS_ReduceAction23 SFT_parser[125]
-#define COLOR_parser___ReduceAction23___init SFT_parser[126]
-#define ID_ReduceAction24 SFT_parser[127]
-#define COLOR_ReduceAction24 SFT_parser[128]
-#define INIT_TABLE_POS_ReduceAction24 SFT_parser[129]
-#define COLOR_parser___ReduceAction24___init SFT_parser[130]
-#define ID_ReduceAction25 SFT_parser[131]
-#define COLOR_ReduceAction25 SFT_parser[132]
-#define INIT_TABLE_POS_ReduceAction25 SFT_parser[133]
-#define COLOR_parser___ReduceAction25___init SFT_parser[134]
-#define ID_ReduceAction26 SFT_parser[135]
-#define COLOR_ReduceAction26 SFT_parser[136]
-#define INIT_TABLE_POS_ReduceAction26 SFT_parser[137]
-#define COLOR_parser___ReduceAction26___init SFT_parser[138]
-#define ID_ReduceAction27 SFT_parser[139]
-#define COLOR_ReduceAction27 SFT_parser[140]
-#define INIT_TABLE_POS_ReduceAction27 SFT_parser[141]
-#define COLOR_parser___ReduceAction27___init SFT_parser[142]
-#define ID_ReduceAction28 SFT_parser[143]
-#define COLOR_ReduceAction28 SFT_parser[144]
-#define INIT_TABLE_POS_ReduceAction28 SFT_parser[145]
-#define COLOR_parser___ReduceAction28___init SFT_parser[146]
-#define ID_ReduceAction29 SFT_parser[147]
-#define COLOR_ReduceAction29 SFT_parser[148]
-#define INIT_TABLE_POS_ReduceAction29 SFT_parser[149]
-#define COLOR_parser___ReduceAction29___init SFT_parser[150]
-#define ID_ReduceAction30 SFT_parser[151]
-#define COLOR_ReduceAction30 SFT_parser[152]
-#define INIT_TABLE_POS_ReduceAction30 SFT_parser[153]
-#define COLOR_parser___ReduceAction30___init SFT_parser[154]
-#define ID_ReduceAction31 SFT_parser[155]
-#define COLOR_ReduceAction31 SFT_parser[156]
-#define INIT_TABLE_POS_ReduceAction31 SFT_parser[157]
-#define COLOR_parser___ReduceAction31___init SFT_parser[158]
-#define ID_ReduceAction32 SFT_parser[159]
-#define COLOR_ReduceAction32 SFT_parser[160]
-#define INIT_TABLE_POS_ReduceAction32 SFT_parser[161]
-#define COLOR_parser___ReduceAction32___init SFT_parser[162]
-#define ID_ReduceAction33 SFT_parser[163]
-#define COLOR_ReduceAction33 SFT_parser[164]
-#define INIT_TABLE_POS_ReduceAction33 SFT_parser[165]
-#define COLOR_parser___ReduceAction33___init SFT_parser[166]
-#define ID_ReduceAction34 SFT_parser[167]
-#define COLOR_ReduceAction34 SFT_parser[168]
-#define INIT_TABLE_POS_ReduceAction34 SFT_parser[169]
-#define COLOR_parser___ReduceAction34___init SFT_parser[170]
-#define ID_ReduceAction35 SFT_parser[171]
-#define COLOR_ReduceAction35 SFT_parser[172]
-#define INIT_TABLE_POS_ReduceAction35 SFT_parser[173]
-#define COLOR_parser___ReduceAction35___init SFT_parser[174]
-#define ID_ReduceAction36 SFT_parser[175]
-#define COLOR_ReduceAction36 SFT_parser[176]
-#define INIT_TABLE_POS_ReduceAction36 SFT_parser[177]
-#define COLOR_parser___ReduceAction36___init SFT_parser[178]
-#define ID_ReduceAction37 SFT_parser[179]
-#define COLOR_ReduceAction37 SFT_parser[180]
-#define INIT_TABLE_POS_ReduceAction37 SFT_parser[181]
-#define COLOR_parser___ReduceAction37___init SFT_parser[182]
-#define ID_ReduceAction38 SFT_parser[183]
-#define COLOR_ReduceAction38 SFT_parser[184]
-#define INIT_TABLE_POS_ReduceAction38 SFT_parser[185]
-#define COLOR_parser___ReduceAction38___init SFT_parser[186]
-#define ID_ReduceAction39 SFT_parser[187]
-#define COLOR_ReduceAction39 SFT_parser[188]
-#define INIT_TABLE_POS_ReduceAction39 SFT_parser[189]
-#define COLOR_parser___ReduceAction39___init SFT_parser[190]
-#define ID_ReduceAction40 SFT_parser[191]
-#define COLOR_ReduceAction40 SFT_parser[192]
-#define INIT_TABLE_POS_ReduceAction40 SFT_parser[193]
-#define COLOR_parser___ReduceAction40___init SFT_parser[194]
-#define ID_ReduceAction41 SFT_parser[195]
-#define COLOR_ReduceAction41 SFT_parser[196]
-#define INIT_TABLE_POS_ReduceAction41 SFT_parser[197]
-#define COLOR_parser___ReduceAction41___init SFT_parser[198]
-#define ID_ReduceAction42 SFT_parser[199]
-#define COLOR_ReduceAction42 SFT_parser[200]
-#define INIT_TABLE_POS_ReduceAction42 SFT_parser[201]
-#define COLOR_parser___ReduceAction42___init SFT_parser[202]
-#define ID_ReduceAction43 SFT_parser[203]
-#define COLOR_ReduceAction43 SFT_parser[204]
-#define INIT_TABLE_POS_ReduceAction43 SFT_parser[205]
-#define COLOR_parser___ReduceAction43___init SFT_parser[206]
-#define ID_ReduceAction44 SFT_parser[207]
-#define COLOR_ReduceAction44 SFT_parser[208]
-#define INIT_TABLE_POS_ReduceAction44 SFT_parser[209]
-#define COLOR_parser___ReduceAction44___init SFT_parser[210]
-#define ID_ReduceAction45 SFT_parser[211]
-#define COLOR_ReduceAction45 SFT_parser[212]
-#define INIT_TABLE_POS_ReduceAction45 SFT_parser[213]
-#define COLOR_parser___ReduceAction45___init SFT_parser[214]
-#define ID_ReduceAction46 SFT_parser[215]
-#define COLOR_ReduceAction46 SFT_parser[216]
-#define INIT_TABLE_POS_ReduceAction46 SFT_parser[217]
-#define COLOR_parser___ReduceAction46___init SFT_parser[218]
-#define ID_ReduceAction47 SFT_parser[219]
-#define COLOR_ReduceAction47 SFT_parser[220]
-#define INIT_TABLE_POS_ReduceAction47 SFT_parser[221]
-#define COLOR_parser___ReduceAction47___init SFT_parser[222]
-#define ID_ReduceAction48 SFT_parser[223]
-#define COLOR_ReduceAction48 SFT_parser[224]
-#define INIT_TABLE_POS_ReduceAction48 SFT_parser[225]
-#define COLOR_parser___ReduceAction48___init SFT_parser[226]
-#define ID_ReduceAction49 SFT_parser[227]
-#define COLOR_ReduceAction49 SFT_parser[228]
-#define INIT_TABLE_POS_ReduceAction49 SFT_parser[229]
-#define COLOR_parser___ReduceAction49___init SFT_parser[230]
-#define ID_ReduceAction50 SFT_parser[231]
-#define COLOR_ReduceAction50 SFT_parser[232]
-#define INIT_TABLE_POS_ReduceAction50 SFT_parser[233]
-#define COLOR_parser___ReduceAction50___init SFT_parser[234]
-#define ID_ReduceAction51 SFT_parser[235]
-#define COLOR_ReduceAction51 SFT_parser[236]
-#define INIT_TABLE_POS_ReduceAction51 SFT_parser[237]
-#define COLOR_parser___ReduceAction51___init SFT_parser[238]
-#define ID_ReduceAction52 SFT_parser[239]
-#define COLOR_ReduceAction52 SFT_parser[240]
-#define INIT_TABLE_POS_ReduceAction52 SFT_parser[241]
-#define COLOR_parser___ReduceAction52___init SFT_parser[242]
-#define ID_ReduceAction53 SFT_parser[243]
-#define COLOR_ReduceAction53 SFT_parser[244]
-#define INIT_TABLE_POS_ReduceAction53 SFT_parser[245]
-#define COLOR_parser___ReduceAction53___init SFT_parser[246]
-#define ID_ReduceAction54 SFT_parser[247]
-#define COLOR_ReduceAction54 SFT_parser[248]
-#define INIT_TABLE_POS_ReduceAction54 SFT_parser[249]
-#define COLOR_parser___ReduceAction54___init SFT_parser[250]
-#define ID_ReduceAction55 SFT_parser[251]
-#define COLOR_ReduceAction55 SFT_parser[252]
-#define INIT_TABLE_POS_ReduceAction55 SFT_parser[253]
-#define COLOR_parser___ReduceAction55___init SFT_parser[254]
-#define ID_ReduceAction56 SFT_parser[255]
-#define COLOR_ReduceAction56 SFT_parser[256]
-#define INIT_TABLE_POS_ReduceAction56 SFT_parser[257]
-#define COLOR_parser___ReduceAction56___init SFT_parser[258]
-#define ID_ReduceAction57 SFT_parser[259]
-#define COLOR_ReduceAction57 SFT_parser[260]
-#define INIT_TABLE_POS_ReduceAction57 SFT_parser[261]
-#define COLOR_parser___ReduceAction57___init SFT_parser[262]
-#define ID_ReduceAction58 SFT_parser[263]
-#define COLOR_ReduceAction58 SFT_parser[264]
-#define INIT_TABLE_POS_ReduceAction58 SFT_parser[265]
-#define COLOR_parser___ReduceAction58___init SFT_parser[266]
-#define ID_ReduceAction59 SFT_parser[267]
-#define COLOR_ReduceAction59 SFT_parser[268]
-#define INIT_TABLE_POS_ReduceAction59 SFT_parser[269]
-#define COLOR_parser___ReduceAction59___init SFT_parser[270]
-#define ID_ReduceAction60 SFT_parser[271]
-#define COLOR_ReduceAction60 SFT_parser[272]
-#define INIT_TABLE_POS_ReduceAction60 SFT_parser[273]
-#define COLOR_parser___ReduceAction60___init SFT_parser[274]
-#define ID_ReduceAction61 SFT_parser[275]
-#define COLOR_ReduceAction61 SFT_parser[276]
-#define INIT_TABLE_POS_ReduceAction61 SFT_parser[277]
-#define COLOR_parser___ReduceAction61___init SFT_parser[278]
-#define ID_ReduceAction62 SFT_parser[279]
-#define COLOR_ReduceAction62 SFT_parser[280]
-#define INIT_TABLE_POS_ReduceAction62 SFT_parser[281]
-#define COLOR_parser___ReduceAction62___init SFT_parser[282]
-#define ID_ReduceAction63 SFT_parser[283]
-#define COLOR_ReduceAction63 SFT_parser[284]
-#define INIT_TABLE_POS_ReduceAction63 SFT_parser[285]
-#define COLOR_parser___ReduceAction63___init SFT_parser[286]
-#define ID_ReduceAction64 SFT_parser[287]
-#define COLOR_ReduceAction64 SFT_parser[288]
-#define INIT_TABLE_POS_ReduceAction64 SFT_parser[289]
-#define COLOR_parser___ReduceAction64___init SFT_parser[290]
-#define ID_ReduceAction65 SFT_parser[291]
-#define COLOR_ReduceAction65 SFT_parser[292]
-#define INIT_TABLE_POS_ReduceAction65 SFT_parser[293]
-#define COLOR_parser___ReduceAction65___init SFT_parser[294]
-#define ID_ReduceAction66 SFT_parser[295]
-#define COLOR_ReduceAction66 SFT_parser[296]
-#define INIT_TABLE_POS_ReduceAction66 SFT_parser[297]
-#define COLOR_parser___ReduceAction66___init SFT_parser[298]
-#define ID_ReduceAction67 SFT_parser[299]
-#define COLOR_ReduceAction67 SFT_parser[300]
-#define INIT_TABLE_POS_ReduceAction67 SFT_parser[301]
-#define COLOR_parser___ReduceAction67___init SFT_parser[302]
-#define ID_ReduceAction68 SFT_parser[303]
-#define COLOR_ReduceAction68 SFT_parser[304]
-#define INIT_TABLE_POS_ReduceAction68 SFT_parser[305]
-#define COLOR_parser___ReduceAction68___init SFT_parser[306]
-#define ID_ReduceAction69 SFT_parser[307]
-#define COLOR_ReduceAction69 SFT_parser[308]
-#define INIT_TABLE_POS_ReduceAction69 SFT_parser[309]
-#define COLOR_parser___ReduceAction69___init SFT_parser[310]
-#define ID_ReduceAction70 SFT_parser[311]
-#define COLOR_ReduceAction70 SFT_parser[312]
-#define INIT_TABLE_POS_ReduceAction70 SFT_parser[313]
-#define COLOR_parser___ReduceAction70___init SFT_parser[314]
-#define ID_ReduceAction71 SFT_parser[315]
-#define COLOR_ReduceAction71 SFT_parser[316]
-#define INIT_TABLE_POS_ReduceAction71 SFT_parser[317]
-#define COLOR_parser___ReduceAction71___init SFT_parser[318]
-#define ID_ReduceAction72 SFT_parser[319]
-#define COLOR_ReduceAction72 SFT_parser[320]
-#define INIT_TABLE_POS_ReduceAction72 SFT_parser[321]
-#define COLOR_parser___ReduceAction72___init SFT_parser[322]
-#define ID_ReduceAction73 SFT_parser[323]
-#define COLOR_ReduceAction73 SFT_parser[324]
-#define INIT_TABLE_POS_ReduceAction73 SFT_parser[325]
-#define COLOR_parser___ReduceAction73___init SFT_parser[326]
-#define ID_ReduceAction74 SFT_parser[327]
-#define COLOR_ReduceAction74 SFT_parser[328]
-#define INIT_TABLE_POS_ReduceAction74 SFT_parser[329]
-#define COLOR_parser___ReduceAction74___init SFT_parser[330]
-#define ID_ReduceAction75 SFT_parser[331]
-#define COLOR_ReduceAction75 SFT_parser[332]
-#define INIT_TABLE_POS_ReduceAction75 SFT_parser[333]
-#define COLOR_parser___ReduceAction75___init SFT_parser[334]
-#define ID_ReduceAction76 SFT_parser[335]
-#define COLOR_ReduceAction76 SFT_parser[336]
-#define INIT_TABLE_POS_ReduceAction76 SFT_parser[337]
-#define COLOR_parser___ReduceAction76___init SFT_parser[338]
-#define ID_ReduceAction77 SFT_parser[339]
-#define COLOR_ReduceAction77 SFT_parser[340]
-#define INIT_TABLE_POS_ReduceAction77 SFT_parser[341]
-#define COLOR_parser___ReduceAction77___init SFT_parser[342]
-#define ID_ReduceAction78 SFT_parser[343]
-#define COLOR_ReduceAction78 SFT_parser[344]
-#define INIT_TABLE_POS_ReduceAction78 SFT_parser[345]
-#define COLOR_parser___ReduceAction78___init SFT_parser[346]
-#define ID_ReduceAction79 SFT_parser[347]
-#define COLOR_ReduceAction79 SFT_parser[348]
-#define INIT_TABLE_POS_ReduceAction79 SFT_parser[349]
-#define COLOR_parser___ReduceAction79___init SFT_parser[350]
-#define ID_ReduceAction80 SFT_parser[351]
-#define COLOR_ReduceAction80 SFT_parser[352]
-#define INIT_TABLE_POS_ReduceAction80 SFT_parser[353]
-#define COLOR_parser___ReduceAction80___init SFT_parser[354]
-#define ID_ReduceAction81 SFT_parser[355]
-#define COLOR_ReduceAction81 SFT_parser[356]
-#define INIT_TABLE_POS_ReduceAction81 SFT_parser[357]
-#define COLOR_parser___ReduceAction81___init SFT_parser[358]
-#define ID_ReduceAction82 SFT_parser[359]
-#define COLOR_ReduceAction82 SFT_parser[360]
-#define INIT_TABLE_POS_ReduceAction82 SFT_parser[361]
-#define COLOR_parser___ReduceAction82___init SFT_parser[362]
-#define ID_ReduceAction83 SFT_parser[363]
-#define COLOR_ReduceAction83 SFT_parser[364]
-#define INIT_TABLE_POS_ReduceAction83 SFT_parser[365]
-#define COLOR_parser___ReduceAction83___init SFT_parser[366]
-#define ID_ReduceAction84 SFT_parser[367]
-#define COLOR_ReduceAction84 SFT_parser[368]
-#define INIT_TABLE_POS_ReduceAction84 SFT_parser[369]
-#define COLOR_parser___ReduceAction84___init SFT_parser[370]
-#define ID_ReduceAction85 SFT_parser[371]
-#define COLOR_ReduceAction85 SFT_parser[372]
-#define INIT_TABLE_POS_ReduceAction85 SFT_parser[373]
-#define COLOR_parser___ReduceAction85___init SFT_parser[374]
-#define ID_ReduceAction86 SFT_parser[375]
-#define COLOR_ReduceAction86 SFT_parser[376]
-#define INIT_TABLE_POS_ReduceAction86 SFT_parser[377]
-#define COLOR_parser___ReduceAction86___init SFT_parser[378]
-#define ID_ReduceAction87 SFT_parser[379]
-#define COLOR_ReduceAction87 SFT_parser[380]
-#define INIT_TABLE_POS_ReduceAction87 SFT_parser[381]
-#define COLOR_parser___ReduceAction87___init SFT_parser[382]
-#define ID_ReduceAction88 SFT_parser[383]
-#define COLOR_ReduceAction88 SFT_parser[384]
-#define INIT_TABLE_POS_ReduceAction88 SFT_parser[385]
-#define COLOR_parser___ReduceAction88___init SFT_parser[386]
-#define ID_ReduceAction89 SFT_parser[387]
-#define COLOR_ReduceAction89 SFT_parser[388]
-#define INIT_TABLE_POS_ReduceAction89 SFT_parser[389]
-#define COLOR_parser___ReduceAction89___init SFT_parser[390]
-#define ID_ReduceAction90 SFT_parser[391]
-#define COLOR_ReduceAction90 SFT_parser[392]
-#define INIT_TABLE_POS_ReduceAction90 SFT_parser[393]
-#define COLOR_parser___ReduceAction90___init SFT_parser[394]
-#define ID_ReduceAction91 SFT_parser[395]
-#define COLOR_ReduceAction91 SFT_parser[396]
-#define INIT_TABLE_POS_ReduceAction91 SFT_parser[397]
-#define COLOR_parser___ReduceAction91___init SFT_parser[398]
-#define ID_ReduceAction92 SFT_parser[399]
-#define COLOR_ReduceAction92 SFT_parser[400]
-#define INIT_TABLE_POS_ReduceAction92 SFT_parser[401]
-#define COLOR_parser___ReduceAction92___init SFT_parser[402]
-#define ID_ReduceAction93 SFT_parser[403]
-#define COLOR_ReduceAction93 SFT_parser[404]
-#define INIT_TABLE_POS_ReduceAction93 SFT_parser[405]
-#define COLOR_parser___ReduceAction93___init SFT_parser[406]
-#define ID_ReduceAction94 SFT_parser[407]
-#define COLOR_ReduceAction94 SFT_parser[408]
-#define INIT_TABLE_POS_ReduceAction94 SFT_parser[409]
-#define COLOR_parser___ReduceAction94___init SFT_parser[410]
-#define ID_ReduceAction95 SFT_parser[411]
-#define COLOR_ReduceAction95 SFT_parser[412]
-#define INIT_TABLE_POS_ReduceAction95 SFT_parser[413]
-#define COLOR_parser___ReduceAction95___init SFT_parser[414]
-#define ID_ReduceAction96 SFT_parser[415]
-#define COLOR_ReduceAction96 SFT_parser[416]
-#define INIT_TABLE_POS_ReduceAction96 SFT_parser[417]
-#define COLOR_parser___ReduceAction96___init SFT_parser[418]
-#define ID_ReduceAction97 SFT_parser[419]
-#define COLOR_ReduceAction97 SFT_parser[420]
-#define INIT_TABLE_POS_ReduceAction97 SFT_parser[421]
-#define COLOR_parser___ReduceAction97___init SFT_parser[422]
-#define ID_ReduceAction98 SFT_parser[423]
-#define COLOR_ReduceAction98 SFT_parser[424]
-#define INIT_TABLE_POS_ReduceAction98 SFT_parser[425]
-#define COLOR_parser___ReduceAction98___init SFT_parser[426]
-#define ID_ReduceAction99 SFT_parser[427]
-#define COLOR_ReduceAction99 SFT_parser[428]
-#define INIT_TABLE_POS_ReduceAction99 SFT_parser[429]
-#define COLOR_parser___ReduceAction99___init SFT_parser[430]
-#define ID_ReduceAction100 SFT_parser[431]
-#define COLOR_ReduceAction100 SFT_parser[432]
-#define INIT_TABLE_POS_ReduceAction100 SFT_parser[433]
-#define COLOR_parser___ReduceAction100___init SFT_parser[434]
-#define ID_ReduceAction101 SFT_parser[435]
-#define COLOR_ReduceAction101 SFT_parser[436]
-#define INIT_TABLE_POS_ReduceAction101 SFT_parser[437]
-#define COLOR_parser___ReduceAction101___init SFT_parser[438]
-#define ID_ReduceAction102 SFT_parser[439]
-#define COLOR_ReduceAction102 SFT_parser[440]
-#define INIT_TABLE_POS_ReduceAction102 SFT_parser[441]
-#define COLOR_parser___ReduceAction102___init SFT_parser[442]
-#define ID_ReduceAction103 SFT_parser[443]
-#define COLOR_ReduceAction103 SFT_parser[444]
-#define INIT_TABLE_POS_ReduceAction103 SFT_parser[445]
-#define COLOR_parser___ReduceAction103___init SFT_parser[446]
-#define ID_ReduceAction104 SFT_parser[447]
-#define COLOR_ReduceAction104 SFT_parser[448]
-#define INIT_TABLE_POS_ReduceAction104 SFT_parser[449]
-#define COLOR_parser___ReduceAction104___init SFT_parser[450]
-#define ID_ReduceAction105 SFT_parser[451]
-#define COLOR_ReduceAction105 SFT_parser[452]
-#define INIT_TABLE_POS_ReduceAction105 SFT_parser[453]
-#define COLOR_parser___ReduceAction105___init SFT_parser[454]
-#define ID_ReduceAction106 SFT_parser[455]
-#define COLOR_ReduceAction106 SFT_parser[456]
-#define INIT_TABLE_POS_ReduceAction106 SFT_parser[457]
-#define COLOR_parser___ReduceAction106___init SFT_parser[458]
-#define ID_ReduceAction107 SFT_parser[459]
-#define COLOR_ReduceAction107 SFT_parser[460]
-#define INIT_TABLE_POS_ReduceAction107 SFT_parser[461]
-#define COLOR_parser___ReduceAction107___init SFT_parser[462]
-#define ID_ReduceAction108 SFT_parser[463]
-#define COLOR_ReduceAction108 SFT_parser[464]
-#define INIT_TABLE_POS_ReduceAction108 SFT_parser[465]
-#define COLOR_parser___ReduceAction108___init SFT_parser[466]
-#define ID_ReduceAction109 SFT_parser[467]
-#define COLOR_ReduceAction109 SFT_parser[468]
-#define INIT_TABLE_POS_ReduceAction109 SFT_parser[469]
-#define COLOR_parser___ReduceAction109___init SFT_parser[470]
-#define ID_ReduceAction110 SFT_parser[471]
-#define COLOR_ReduceAction110 SFT_parser[472]
-#define INIT_TABLE_POS_ReduceAction110 SFT_parser[473]
-#define COLOR_parser___ReduceAction110___init SFT_parser[474]
-#define ID_ReduceAction111 SFT_parser[475]
-#define COLOR_ReduceAction111 SFT_parser[476]
-#define INIT_TABLE_POS_ReduceAction111 SFT_parser[477]
-#define COLOR_parser___ReduceAction111___init SFT_parser[478]
-#define ID_ReduceAction112 SFT_parser[479]
-#define COLOR_ReduceAction112 SFT_parser[480]
-#define INIT_TABLE_POS_ReduceAction112 SFT_parser[481]
-#define COLOR_parser___ReduceAction112___init SFT_parser[482]
-#define ID_ReduceAction113 SFT_parser[483]
-#define COLOR_ReduceAction113 SFT_parser[484]
-#define INIT_TABLE_POS_ReduceAction113 SFT_parser[485]
-#define COLOR_parser___ReduceAction113___init SFT_parser[486]
-#define ID_ReduceAction114 SFT_parser[487]
-#define COLOR_ReduceAction114 SFT_parser[488]
-#define INIT_TABLE_POS_ReduceAction114 SFT_parser[489]
-#define COLOR_parser___ReduceAction114___init SFT_parser[490]
-#define ID_ReduceAction115 SFT_parser[491]
-#define COLOR_ReduceAction115 SFT_parser[492]
-#define INIT_TABLE_POS_ReduceAction115 SFT_parser[493]
-#define COLOR_parser___ReduceAction115___init SFT_parser[494]
-#define ID_ReduceAction116 SFT_parser[495]
-#define COLOR_ReduceAction116 SFT_parser[496]
-#define INIT_TABLE_POS_ReduceAction116 SFT_parser[497]
-#define COLOR_parser___ReduceAction116___init SFT_parser[498]
-#define ID_ReduceAction117 SFT_parser[499]
-#define COLOR_ReduceAction117 SFT_parser[500]
-#define INIT_TABLE_POS_ReduceAction117 SFT_parser[501]
-#define COLOR_parser___ReduceAction117___init SFT_parser[502]
-#define ID_ReduceAction118 SFT_parser[503]
-#define COLOR_ReduceAction118 SFT_parser[504]
-#define INIT_TABLE_POS_ReduceAction118 SFT_parser[505]
-#define COLOR_parser___ReduceAction118___init SFT_parser[506]
-#define ID_ReduceAction119 SFT_parser[507]
-#define COLOR_ReduceAction119 SFT_parser[508]
-#define INIT_TABLE_POS_ReduceAction119 SFT_parser[509]
-#define COLOR_parser___ReduceAction119___init SFT_parser[510]
-#define ID_ReduceAction120 SFT_parser[511]
-#define COLOR_ReduceAction120 SFT_parser[512]
-#define INIT_TABLE_POS_ReduceAction120 SFT_parser[513]
-#define COLOR_parser___ReduceAction120___init SFT_parser[514]
-#define ID_ReduceAction121 SFT_parser[515]
-#define COLOR_ReduceAction121 SFT_parser[516]
-#define INIT_TABLE_POS_ReduceAction121 SFT_parser[517]
-#define COLOR_parser___ReduceAction121___init SFT_parser[518]
-#define ID_ReduceAction122 SFT_parser[519]
-#define COLOR_ReduceAction122 SFT_parser[520]
-#define INIT_TABLE_POS_ReduceAction122 SFT_parser[521]
-#define COLOR_parser___ReduceAction122___init SFT_parser[522]
-#define ID_ReduceAction123 SFT_parser[523]
-#define COLOR_ReduceAction123 SFT_parser[524]
-#define INIT_TABLE_POS_ReduceAction123 SFT_parser[525]
-#define COLOR_parser___ReduceAction123___init SFT_parser[526]
-#define ID_ReduceAction124 SFT_parser[527]
-#define COLOR_ReduceAction124 SFT_parser[528]
-#define INIT_TABLE_POS_ReduceAction124 SFT_parser[529]
-#define COLOR_parser___ReduceAction124___init SFT_parser[530]
-#define ID_ReduceAction125 SFT_parser[531]
-#define COLOR_ReduceAction125 SFT_parser[532]
-#define INIT_TABLE_POS_ReduceAction125 SFT_parser[533]
-#define COLOR_parser___ReduceAction125___init SFT_parser[534]
-#define ID_ReduceAction126 SFT_parser[535]
-#define COLOR_ReduceAction126 SFT_parser[536]
-#define INIT_TABLE_POS_ReduceAction126 SFT_parser[537]
-#define COLOR_parser___ReduceAction126___init SFT_parser[538]
-#define ID_ReduceAction127 SFT_parser[539]
-#define COLOR_ReduceAction127 SFT_parser[540]
-#define INIT_TABLE_POS_ReduceAction127 SFT_parser[541]
-#define COLOR_parser___ReduceAction127___init SFT_parser[542]
-#define ID_ReduceAction128 SFT_parser[543]
-#define COLOR_ReduceAction128 SFT_parser[544]
-#define INIT_TABLE_POS_ReduceAction128 SFT_parser[545]
-#define COLOR_parser___ReduceAction128___init SFT_parser[546]
-#define ID_ReduceAction129 SFT_parser[547]
-#define COLOR_ReduceAction129 SFT_parser[548]
-#define INIT_TABLE_POS_ReduceAction129 SFT_parser[549]
-#define COLOR_parser___ReduceAction129___init SFT_parser[550]
-#define ID_ReduceAction130 SFT_parser[551]
-#define COLOR_ReduceAction130 SFT_parser[552]
-#define INIT_TABLE_POS_ReduceAction130 SFT_parser[553]
-#define COLOR_parser___ReduceAction130___init SFT_parser[554]
-#define ID_ReduceAction131 SFT_parser[555]
-#define COLOR_ReduceAction131 SFT_parser[556]
-#define INIT_TABLE_POS_ReduceAction131 SFT_parser[557]
-#define COLOR_parser___ReduceAction131___init SFT_parser[558]
-#define ID_ReduceAction132 SFT_parser[559]
-#define COLOR_ReduceAction132 SFT_parser[560]
-#define INIT_TABLE_POS_ReduceAction132 SFT_parser[561]
-#define COLOR_parser___ReduceAction132___init SFT_parser[562]
-#define ID_ReduceAction133 SFT_parser[563]
-#define COLOR_ReduceAction133 SFT_parser[564]
-#define INIT_TABLE_POS_ReduceAction133 SFT_parser[565]
-#define COLOR_parser___ReduceAction133___init SFT_parser[566]
-#define ID_ReduceAction134 SFT_parser[567]
-#define COLOR_ReduceAction134 SFT_parser[568]
-#define INIT_TABLE_POS_ReduceAction134 SFT_parser[569]
-#define COLOR_parser___ReduceAction134___init SFT_parser[570]
-#define ID_ReduceAction135 SFT_parser[571]
-#define COLOR_ReduceAction135 SFT_parser[572]
-#define INIT_TABLE_POS_ReduceAction135 SFT_parser[573]
-#define COLOR_parser___ReduceAction135___init SFT_parser[574]
-#define ID_ReduceAction136 SFT_parser[575]
-#define COLOR_ReduceAction136 SFT_parser[576]
-#define INIT_TABLE_POS_ReduceAction136 SFT_parser[577]
-#define COLOR_parser___ReduceAction136___init SFT_parser[578]
-#define ID_ReduceAction137 SFT_parser[579]
-#define COLOR_ReduceAction137 SFT_parser[580]
-#define INIT_TABLE_POS_ReduceAction137 SFT_parser[581]
-#define COLOR_parser___ReduceAction137___init SFT_parser[582]
-#define ID_ReduceAction138 SFT_parser[583]
-#define COLOR_ReduceAction138 SFT_parser[584]
-#define INIT_TABLE_POS_ReduceAction138 SFT_parser[585]
-#define COLOR_parser___ReduceAction138___init SFT_parser[586]
-#define ID_ReduceAction139 SFT_parser[587]
-#define COLOR_ReduceAction139 SFT_parser[588]
-#define INIT_TABLE_POS_ReduceAction139 SFT_parser[589]
-#define COLOR_parser___ReduceAction139___init SFT_parser[590]
-#define ID_ReduceAction140 SFT_parser[591]
-#define COLOR_ReduceAction140 SFT_parser[592]
-#define INIT_TABLE_POS_ReduceAction140 SFT_parser[593]
-#define COLOR_parser___ReduceAction140___init SFT_parser[594]
-#define ID_ReduceAction141 SFT_parser[595]
-#define COLOR_ReduceAction141 SFT_parser[596]
-#define INIT_TABLE_POS_ReduceAction141 SFT_parser[597]
-#define COLOR_parser___ReduceAction141___init SFT_parser[598]
-#define ID_ReduceAction142 SFT_parser[599]
-#define COLOR_ReduceAction142 SFT_parser[600]
-#define INIT_TABLE_POS_ReduceAction142 SFT_parser[601]
-#define COLOR_parser___ReduceAction142___init SFT_parser[602]
-#define ID_ReduceAction143 SFT_parser[603]
-#define COLOR_ReduceAction143 SFT_parser[604]
-#define INIT_TABLE_POS_ReduceAction143 SFT_parser[605]
-#define COLOR_parser___ReduceAction143___init SFT_parser[606]
-#define ID_ReduceAction144 SFT_parser[607]
-#define COLOR_ReduceAction144 SFT_parser[608]
-#define INIT_TABLE_POS_ReduceAction144 SFT_parser[609]
-#define COLOR_parser___ReduceAction144___init SFT_parser[610]
-#define ID_ReduceAction145 SFT_parser[611]
-#define COLOR_ReduceAction145 SFT_parser[612]
-#define INIT_TABLE_POS_ReduceAction145 SFT_parser[613]
-#define COLOR_parser___ReduceAction145___init SFT_parser[614]
-#define ID_ReduceAction146 SFT_parser[615]
-#define COLOR_ReduceAction146 SFT_parser[616]
-#define INIT_TABLE_POS_ReduceAction146 SFT_parser[617]
-#define COLOR_parser___ReduceAction146___init SFT_parser[618]
-#define ID_ReduceAction147 SFT_parser[619]
-#define COLOR_ReduceAction147 SFT_parser[620]
-#define INIT_TABLE_POS_ReduceAction147 SFT_parser[621]
-#define COLOR_parser___ReduceAction147___init SFT_parser[622]
-#define ID_ReduceAction148 SFT_parser[623]
-#define COLOR_ReduceAction148 SFT_parser[624]
-#define INIT_TABLE_POS_ReduceAction148 SFT_parser[625]
-#define COLOR_parser___ReduceAction148___init SFT_parser[626]
-#define ID_ReduceAction149 SFT_parser[627]
-#define COLOR_ReduceAction149 SFT_parser[628]
-#define INIT_TABLE_POS_ReduceAction149 SFT_parser[629]
-#define COLOR_parser___ReduceAction149___init SFT_parser[630]
-#define ID_ReduceAction150 SFT_parser[631]
-#define COLOR_ReduceAction150 SFT_parser[632]
-#define INIT_TABLE_POS_ReduceAction150 SFT_parser[633]
-#define COLOR_parser___ReduceAction150___init SFT_parser[634]
-#define ID_ReduceAction151 SFT_parser[635]
-#define COLOR_ReduceAction151 SFT_parser[636]
-#define INIT_TABLE_POS_ReduceAction151 SFT_parser[637]
-#define COLOR_parser___ReduceAction151___init SFT_parser[638]
-#define ID_ReduceAction152 SFT_parser[639]
-#define COLOR_ReduceAction152 SFT_parser[640]
-#define INIT_TABLE_POS_ReduceAction152 SFT_parser[641]
-#define COLOR_parser___ReduceAction152___init SFT_parser[642]
-#define ID_ReduceAction153 SFT_parser[643]
-#define COLOR_ReduceAction153 SFT_parser[644]
-#define INIT_TABLE_POS_ReduceAction153 SFT_parser[645]
-#define COLOR_parser___ReduceAction153___init SFT_parser[646]
-#define ID_ReduceAction154 SFT_parser[647]
-#define COLOR_ReduceAction154 SFT_parser[648]
-#define INIT_TABLE_POS_ReduceAction154 SFT_parser[649]
-#define COLOR_parser___ReduceAction154___init SFT_parser[650]
-#define ID_ReduceAction155 SFT_parser[651]
-#define COLOR_ReduceAction155 SFT_parser[652]
-#define INIT_TABLE_POS_ReduceAction155 SFT_parser[653]
-#define COLOR_parser___ReduceAction155___init SFT_parser[654]
-#define ID_ReduceAction156 SFT_parser[655]
-#define COLOR_ReduceAction156 SFT_parser[656]
-#define INIT_TABLE_POS_ReduceAction156 SFT_parser[657]
-#define COLOR_parser___ReduceAction156___init SFT_parser[658]
-#define ID_ReduceAction157 SFT_parser[659]
-#define COLOR_ReduceAction157 SFT_parser[660]
-#define INIT_TABLE_POS_ReduceAction157 SFT_parser[661]
-#define COLOR_parser___ReduceAction157___init SFT_parser[662]
-#define ID_ReduceAction158 SFT_parser[663]
-#define COLOR_ReduceAction158 SFT_parser[664]
-#define INIT_TABLE_POS_ReduceAction158 SFT_parser[665]
-#define COLOR_parser___ReduceAction158___init SFT_parser[666]
-#define ID_ReduceAction159 SFT_parser[667]
-#define COLOR_ReduceAction159 SFT_parser[668]
-#define INIT_TABLE_POS_ReduceAction159 SFT_parser[669]
-#define COLOR_parser___ReduceAction159___init SFT_parser[670]
-#define ID_ReduceAction160 SFT_parser[671]
-#define COLOR_ReduceAction160 SFT_parser[672]
-#define INIT_TABLE_POS_ReduceAction160 SFT_parser[673]
-#define COLOR_parser___ReduceAction160___init SFT_parser[674]
-#define ID_ReduceAction161 SFT_parser[675]
-#define COLOR_ReduceAction161 SFT_parser[676]
-#define INIT_TABLE_POS_ReduceAction161 SFT_parser[677]
-#define COLOR_parser___ReduceAction161___init SFT_parser[678]
-#define ID_ReduceAction162 SFT_parser[679]
-#define COLOR_ReduceAction162 SFT_parser[680]
-#define INIT_TABLE_POS_ReduceAction162 SFT_parser[681]
-#define COLOR_parser___ReduceAction162___init SFT_parser[682]
-#define ID_ReduceAction163 SFT_parser[683]
-#define COLOR_ReduceAction163 SFT_parser[684]
-#define INIT_TABLE_POS_ReduceAction163 SFT_parser[685]
-#define COLOR_parser___ReduceAction163___init SFT_parser[686]
-#define ID_ReduceAction164 SFT_parser[687]
-#define COLOR_ReduceAction164 SFT_parser[688]
-#define INIT_TABLE_POS_ReduceAction164 SFT_parser[689]
-#define COLOR_parser___ReduceAction164___init SFT_parser[690]
-#define ID_ReduceAction165 SFT_parser[691]
-#define COLOR_ReduceAction165 SFT_parser[692]
-#define INIT_TABLE_POS_ReduceAction165 SFT_parser[693]
-#define COLOR_parser___ReduceAction165___init SFT_parser[694]
-#define ID_ReduceAction166 SFT_parser[695]
-#define COLOR_ReduceAction166 SFT_parser[696]
-#define INIT_TABLE_POS_ReduceAction166 SFT_parser[697]
-#define COLOR_parser___ReduceAction166___init SFT_parser[698]
-#define ID_ReduceAction167 SFT_parser[699]
-#define COLOR_ReduceAction167 SFT_parser[700]
-#define INIT_TABLE_POS_ReduceAction167 SFT_parser[701]
-#define COLOR_parser___ReduceAction167___init SFT_parser[702]
-#define ID_ReduceAction168 SFT_parser[703]
-#define COLOR_ReduceAction168 SFT_parser[704]
-#define INIT_TABLE_POS_ReduceAction168 SFT_parser[705]
-#define COLOR_parser___ReduceAction168___init SFT_parser[706]
-#define ID_ReduceAction169 SFT_parser[707]
-#define COLOR_ReduceAction169 SFT_parser[708]
-#define INIT_TABLE_POS_ReduceAction169 SFT_parser[709]
-#define COLOR_parser___ReduceAction169___init SFT_parser[710]
-#define ID_ReduceAction170 SFT_parser[711]
-#define COLOR_ReduceAction170 SFT_parser[712]
-#define INIT_TABLE_POS_ReduceAction170 SFT_parser[713]
-#define COLOR_parser___ReduceAction170___init SFT_parser[714]
-#define ID_ReduceAction171 SFT_parser[715]
-#define COLOR_ReduceAction171 SFT_parser[716]
-#define INIT_TABLE_POS_ReduceAction171 SFT_parser[717]
-#define COLOR_parser___ReduceAction171___init SFT_parser[718]
-#define ID_ReduceAction172 SFT_parser[719]
-#define COLOR_ReduceAction172 SFT_parser[720]
-#define INIT_TABLE_POS_ReduceAction172 SFT_parser[721]
-#define COLOR_parser___ReduceAction172___init SFT_parser[722]
-#define ID_ReduceAction173 SFT_parser[723]
-#define COLOR_ReduceAction173 SFT_parser[724]
-#define INIT_TABLE_POS_ReduceAction173 SFT_parser[725]
-#define COLOR_parser___ReduceAction173___init SFT_parser[726]
-#define ID_ReduceAction174 SFT_parser[727]
-#define COLOR_ReduceAction174 SFT_parser[728]
-#define INIT_TABLE_POS_ReduceAction174 SFT_parser[729]
-#define COLOR_parser___ReduceAction174___init SFT_parser[730]
-#define ID_ReduceAction175 SFT_parser[731]
-#define COLOR_ReduceAction175 SFT_parser[732]
-#define INIT_TABLE_POS_ReduceAction175 SFT_parser[733]
-#define COLOR_parser___ReduceAction175___init SFT_parser[734]
-#define ID_ReduceAction176 SFT_parser[735]
-#define COLOR_ReduceAction176 SFT_parser[736]
-#define INIT_TABLE_POS_ReduceAction176 SFT_parser[737]
-#define COLOR_parser___ReduceAction176___init SFT_parser[738]
-#define ID_ReduceAction177 SFT_parser[739]
-#define COLOR_ReduceAction177 SFT_parser[740]
-#define INIT_TABLE_POS_ReduceAction177 SFT_parser[741]
-#define COLOR_parser___ReduceAction177___init SFT_parser[742]
-#define ID_ReduceAction178 SFT_parser[743]
-#define COLOR_ReduceAction178 SFT_parser[744]
-#define INIT_TABLE_POS_ReduceAction178 SFT_parser[745]
-#define COLOR_parser___ReduceAction178___init SFT_parser[746]
-#define ID_ReduceAction179 SFT_parser[747]
-#define COLOR_ReduceAction179 SFT_parser[748]
-#define INIT_TABLE_POS_ReduceAction179 SFT_parser[749]
-#define COLOR_parser___ReduceAction179___init SFT_parser[750]
-#define ID_ReduceAction180 SFT_parser[751]
-#define COLOR_ReduceAction180 SFT_parser[752]
-#define INIT_TABLE_POS_ReduceAction180 SFT_parser[753]
-#define COLOR_parser___ReduceAction180___init SFT_parser[754]
-#define ID_ReduceAction181 SFT_parser[755]
-#define COLOR_ReduceAction181 SFT_parser[756]
-#define INIT_TABLE_POS_ReduceAction181 SFT_parser[757]
-#define COLOR_parser___ReduceAction181___init SFT_parser[758]
-#define ID_ReduceAction182 SFT_parser[759]
-#define COLOR_ReduceAction182 SFT_parser[760]
-#define INIT_TABLE_POS_ReduceAction182 SFT_parser[761]
-#define COLOR_parser___ReduceAction182___init SFT_parser[762]
-#define ID_ReduceAction183 SFT_parser[763]
-#define COLOR_ReduceAction183 SFT_parser[764]
-#define INIT_TABLE_POS_ReduceAction183 SFT_parser[765]
-#define COLOR_parser___ReduceAction183___init SFT_parser[766]
-#define ID_ReduceAction184 SFT_parser[767]
-#define COLOR_ReduceAction184 SFT_parser[768]
-#define INIT_TABLE_POS_ReduceAction184 SFT_parser[769]
-#define COLOR_parser___ReduceAction184___init SFT_parser[770]
-#define ID_ReduceAction185 SFT_parser[771]
-#define COLOR_ReduceAction185 SFT_parser[772]
-#define INIT_TABLE_POS_ReduceAction185 SFT_parser[773]
-#define COLOR_parser___ReduceAction185___init SFT_parser[774]
-#define ID_ReduceAction186 SFT_parser[775]
-#define COLOR_ReduceAction186 SFT_parser[776]
-#define INIT_TABLE_POS_ReduceAction186 SFT_parser[777]
-#define COLOR_parser___ReduceAction186___init SFT_parser[778]
-#define ID_ReduceAction187 SFT_parser[779]
-#define COLOR_ReduceAction187 SFT_parser[780]
-#define INIT_TABLE_POS_ReduceAction187 SFT_parser[781]
-#define COLOR_parser___ReduceAction187___init SFT_parser[782]
-#define ID_ReduceAction188 SFT_parser[783]
-#define COLOR_ReduceAction188 SFT_parser[784]
-#define INIT_TABLE_POS_ReduceAction188 SFT_parser[785]
-#define COLOR_parser___ReduceAction188___init SFT_parser[786]
-#define ID_ReduceAction189 SFT_parser[787]
-#define COLOR_ReduceAction189 SFT_parser[788]
-#define INIT_TABLE_POS_ReduceAction189 SFT_parser[789]
-#define COLOR_parser___ReduceAction189___init SFT_parser[790]
-#define ID_ReduceAction190 SFT_parser[791]
-#define COLOR_ReduceAction190 SFT_parser[792]
-#define INIT_TABLE_POS_ReduceAction190 SFT_parser[793]
-#define COLOR_parser___ReduceAction190___init SFT_parser[794]
-#define ID_ReduceAction191 SFT_parser[795]
-#define COLOR_ReduceAction191 SFT_parser[796]
-#define INIT_TABLE_POS_ReduceAction191 SFT_parser[797]
-#define COLOR_parser___ReduceAction191___init SFT_parser[798]
-#define ID_ReduceAction192 SFT_parser[799]
-#define COLOR_ReduceAction192 SFT_parser[800]
-#define INIT_TABLE_POS_ReduceAction192 SFT_parser[801]
-#define COLOR_parser___ReduceAction192___init SFT_parser[802]
-#define ID_ReduceAction193 SFT_parser[803]
-#define COLOR_ReduceAction193 SFT_parser[804]
-#define INIT_TABLE_POS_ReduceAction193 SFT_parser[805]
-#define COLOR_parser___ReduceAction193___init SFT_parser[806]
-#define ID_ReduceAction194 SFT_parser[807]
-#define COLOR_ReduceAction194 SFT_parser[808]
-#define INIT_TABLE_POS_ReduceAction194 SFT_parser[809]
-#define COLOR_parser___ReduceAction194___init SFT_parser[810]
-#define ID_ReduceAction195 SFT_parser[811]
-#define COLOR_ReduceAction195 SFT_parser[812]
-#define INIT_TABLE_POS_ReduceAction195 SFT_parser[813]
-#define COLOR_parser___ReduceAction195___init SFT_parser[814]
-#define ID_ReduceAction196 SFT_parser[815]
-#define COLOR_ReduceAction196 SFT_parser[816]
-#define INIT_TABLE_POS_ReduceAction196 SFT_parser[817]
-#define COLOR_parser___ReduceAction196___init SFT_parser[818]
-#define ID_ReduceAction197 SFT_parser[819]
-#define COLOR_ReduceAction197 SFT_parser[820]
-#define INIT_TABLE_POS_ReduceAction197 SFT_parser[821]
-#define COLOR_parser___ReduceAction197___init SFT_parser[822]
-#define ID_ReduceAction198 SFT_parser[823]
-#define COLOR_ReduceAction198 SFT_parser[824]
-#define INIT_TABLE_POS_ReduceAction198 SFT_parser[825]
-#define COLOR_parser___ReduceAction198___init SFT_parser[826]
-#define ID_ReduceAction199 SFT_parser[827]
-#define COLOR_ReduceAction199 SFT_parser[828]
-#define INIT_TABLE_POS_ReduceAction199 SFT_parser[829]
-#define COLOR_parser___ReduceAction199___init SFT_parser[830]
-#define ID_ReduceAction200 SFT_parser[831]
-#define COLOR_ReduceAction200 SFT_parser[832]
-#define INIT_TABLE_POS_ReduceAction200 SFT_parser[833]
-#define COLOR_parser___ReduceAction200___init SFT_parser[834]
-#define ID_ReduceAction201 SFT_parser[835]
-#define COLOR_ReduceAction201 SFT_parser[836]
-#define INIT_TABLE_POS_ReduceAction201 SFT_parser[837]
-#define COLOR_parser___ReduceAction201___init SFT_parser[838]
-#define ID_ReduceAction202 SFT_parser[839]
-#define COLOR_ReduceAction202 SFT_parser[840]
-#define INIT_TABLE_POS_ReduceAction202 SFT_parser[841]
-#define COLOR_parser___ReduceAction202___init SFT_parser[842]
-#define ID_ReduceAction203 SFT_parser[843]
-#define COLOR_ReduceAction203 SFT_parser[844]
-#define INIT_TABLE_POS_ReduceAction203 SFT_parser[845]
-#define COLOR_parser___ReduceAction203___init SFT_parser[846]
-#define ID_ReduceAction204 SFT_parser[847]
-#define COLOR_ReduceAction204 SFT_parser[848]
-#define INIT_TABLE_POS_ReduceAction204 SFT_parser[849]
-#define COLOR_parser___ReduceAction204___init SFT_parser[850]
-#define ID_ReduceAction205 SFT_parser[851]
-#define COLOR_ReduceAction205 SFT_parser[852]
-#define INIT_TABLE_POS_ReduceAction205 SFT_parser[853]
-#define COLOR_parser___ReduceAction205___init SFT_parser[854]
-#define ID_ReduceAction206 SFT_parser[855]
-#define COLOR_ReduceAction206 SFT_parser[856]
-#define INIT_TABLE_POS_ReduceAction206 SFT_parser[857]
-#define COLOR_parser___ReduceAction206___init SFT_parser[858]
-#define ID_ReduceAction207 SFT_parser[859]
-#define COLOR_ReduceAction207 SFT_parser[860]
-#define INIT_TABLE_POS_ReduceAction207 SFT_parser[861]
-#define COLOR_parser___ReduceAction207___init SFT_parser[862]
-#define ID_ReduceAction208 SFT_parser[863]
-#define COLOR_ReduceAction208 SFT_parser[864]
-#define INIT_TABLE_POS_ReduceAction208 SFT_parser[865]
-#define COLOR_parser___ReduceAction208___init SFT_parser[866]
-#define ID_ReduceAction209 SFT_parser[867]
-#define COLOR_ReduceAction209 SFT_parser[868]
-#define INIT_TABLE_POS_ReduceAction209 SFT_parser[869]
-#define COLOR_parser___ReduceAction209___init SFT_parser[870]
-#define ID_ReduceAction210 SFT_parser[871]
-#define COLOR_ReduceAction210 SFT_parser[872]
-#define INIT_TABLE_POS_ReduceAction210 SFT_parser[873]
-#define COLOR_parser___ReduceAction210___init SFT_parser[874]
-#define ID_ReduceAction211 SFT_parser[875]
-#define COLOR_ReduceAction211 SFT_parser[876]
-#define INIT_TABLE_POS_ReduceAction211 SFT_parser[877]
-#define COLOR_parser___ReduceAction211___init SFT_parser[878]
-#define ID_ReduceAction212 SFT_parser[879]
-#define COLOR_ReduceAction212 SFT_parser[880]
-#define INIT_TABLE_POS_ReduceAction212 SFT_parser[881]
-#define COLOR_parser___ReduceAction212___init SFT_parser[882]
-#define ID_ReduceAction213 SFT_parser[883]
-#define COLOR_ReduceAction213 SFT_parser[884]
-#define INIT_TABLE_POS_ReduceAction213 SFT_parser[885]
-#define COLOR_parser___ReduceAction213___init SFT_parser[886]
-#define ID_ReduceAction214 SFT_parser[887]
-#define COLOR_ReduceAction214 SFT_parser[888]
-#define INIT_TABLE_POS_ReduceAction214 SFT_parser[889]
-#define COLOR_parser___ReduceAction214___init SFT_parser[890]
-#define ID_ReduceAction215 SFT_parser[891]
-#define COLOR_ReduceAction215 SFT_parser[892]
-#define INIT_TABLE_POS_ReduceAction215 SFT_parser[893]
-#define COLOR_parser___ReduceAction215___init SFT_parser[894]
-#define ID_ReduceAction216 SFT_parser[895]
-#define COLOR_ReduceAction216 SFT_parser[896]
-#define INIT_TABLE_POS_ReduceAction216 SFT_parser[897]
-#define COLOR_parser___ReduceAction216___init SFT_parser[898]
-#define ID_ReduceAction217 SFT_parser[899]
-#define COLOR_ReduceAction217 SFT_parser[900]
-#define INIT_TABLE_POS_ReduceAction217 SFT_parser[901]
-#define COLOR_parser___ReduceAction217___init SFT_parser[902]
-#define ID_ReduceAction218 SFT_parser[903]
-#define COLOR_ReduceAction218 SFT_parser[904]
-#define INIT_TABLE_POS_ReduceAction218 SFT_parser[905]
-#define COLOR_parser___ReduceAction218___init SFT_parser[906]
-#define ID_ReduceAction219 SFT_parser[907]
-#define COLOR_ReduceAction219 SFT_parser[908]
-#define INIT_TABLE_POS_ReduceAction219 SFT_parser[909]
-#define COLOR_parser___ReduceAction219___init SFT_parser[910]
-#define ID_ReduceAction220 SFT_parser[911]
-#define COLOR_ReduceAction220 SFT_parser[912]
-#define INIT_TABLE_POS_ReduceAction220 SFT_parser[913]
-#define COLOR_parser___ReduceAction220___init SFT_parser[914]
-#define ID_ReduceAction221 SFT_parser[915]
-#define COLOR_ReduceAction221 SFT_parser[916]
-#define INIT_TABLE_POS_ReduceAction221 SFT_parser[917]
-#define COLOR_parser___ReduceAction221___init SFT_parser[918]
-#define ID_ReduceAction222 SFT_parser[919]
-#define COLOR_ReduceAction222 SFT_parser[920]
-#define INIT_TABLE_POS_ReduceAction222 SFT_parser[921]
-#define COLOR_parser___ReduceAction222___init SFT_parser[922]
-#define ID_ReduceAction223 SFT_parser[923]
-#define COLOR_ReduceAction223 SFT_parser[924]
-#define INIT_TABLE_POS_ReduceAction223 SFT_parser[925]
-#define COLOR_parser___ReduceAction223___init SFT_parser[926]
-#define ID_ReduceAction224 SFT_parser[927]
-#define COLOR_ReduceAction224 SFT_parser[928]
-#define INIT_TABLE_POS_ReduceAction224 SFT_parser[929]
-#define COLOR_parser___ReduceAction224___init SFT_parser[930]
-#define ID_ReduceAction225 SFT_parser[931]
-#define COLOR_ReduceAction225 SFT_parser[932]
-#define INIT_TABLE_POS_ReduceAction225 SFT_parser[933]
-#define COLOR_parser___ReduceAction225___init SFT_parser[934]
-#define ID_ReduceAction226 SFT_parser[935]
-#define COLOR_ReduceAction226 SFT_parser[936]
-#define INIT_TABLE_POS_ReduceAction226 SFT_parser[937]
-#define COLOR_parser___ReduceAction226___init SFT_parser[938]
-#define ID_ReduceAction227 SFT_parser[939]
-#define COLOR_ReduceAction227 SFT_parser[940]
-#define INIT_TABLE_POS_ReduceAction227 SFT_parser[941]
-#define COLOR_parser___ReduceAction227___init SFT_parser[942]
-#define ID_ReduceAction228 SFT_parser[943]
-#define COLOR_ReduceAction228 SFT_parser[944]
-#define INIT_TABLE_POS_ReduceAction228 SFT_parser[945]
-#define COLOR_parser___ReduceAction228___init SFT_parser[946]
-#define ID_ReduceAction229 SFT_parser[947]
-#define COLOR_ReduceAction229 SFT_parser[948]
-#define INIT_TABLE_POS_ReduceAction229 SFT_parser[949]
-#define COLOR_parser___ReduceAction229___init SFT_parser[950]
-#define ID_ReduceAction230 SFT_parser[951]
-#define COLOR_ReduceAction230 SFT_parser[952]
-#define INIT_TABLE_POS_ReduceAction230 SFT_parser[953]
-#define COLOR_parser___ReduceAction230___init SFT_parser[954]
-#define ID_ReduceAction231 SFT_parser[955]
-#define COLOR_ReduceAction231 SFT_parser[956]
-#define INIT_TABLE_POS_ReduceAction231 SFT_parser[957]
-#define COLOR_parser___ReduceAction231___init SFT_parser[958]
-#define ID_ReduceAction232 SFT_parser[959]
-#define COLOR_ReduceAction232 SFT_parser[960]
-#define INIT_TABLE_POS_ReduceAction232 SFT_parser[961]
-#define COLOR_parser___ReduceAction232___init SFT_parser[962]
-#define ID_ReduceAction233 SFT_parser[963]
-#define COLOR_ReduceAction233 SFT_parser[964]
-#define INIT_TABLE_POS_ReduceAction233 SFT_parser[965]
-#define COLOR_parser___ReduceAction233___init SFT_parser[966]
-#define ID_ReduceAction234 SFT_parser[967]
-#define COLOR_ReduceAction234 SFT_parser[968]
-#define INIT_TABLE_POS_ReduceAction234 SFT_parser[969]
-#define COLOR_parser___ReduceAction234___init SFT_parser[970]
-#define ID_ReduceAction235 SFT_parser[971]
-#define COLOR_ReduceAction235 SFT_parser[972]
-#define INIT_TABLE_POS_ReduceAction235 SFT_parser[973]
-#define COLOR_parser___ReduceAction235___init SFT_parser[974]
-#define ID_ReduceAction236 SFT_parser[975]
-#define COLOR_ReduceAction236 SFT_parser[976]
-#define INIT_TABLE_POS_ReduceAction236 SFT_parser[977]
-#define COLOR_parser___ReduceAction236___init SFT_parser[978]
-#define ID_ReduceAction237 SFT_parser[979]
-#define COLOR_ReduceAction237 SFT_parser[980]
-#define INIT_TABLE_POS_ReduceAction237 SFT_parser[981]
-#define COLOR_parser___ReduceAction237___init SFT_parser[982]
-#define ID_ReduceAction238 SFT_parser[983]
-#define COLOR_ReduceAction238 SFT_parser[984]
-#define INIT_TABLE_POS_ReduceAction238 SFT_parser[985]
-#define COLOR_parser___ReduceAction238___init SFT_parser[986]
-#define ID_ReduceAction239 SFT_parser[987]
-#define COLOR_ReduceAction239 SFT_parser[988]
-#define INIT_TABLE_POS_ReduceAction239 SFT_parser[989]
-#define COLOR_parser___ReduceAction239___init SFT_parser[990]
-#define ID_ReduceAction240 SFT_parser[991]
-#define COLOR_ReduceAction240 SFT_parser[992]
-#define INIT_TABLE_POS_ReduceAction240 SFT_parser[993]
-#define COLOR_parser___ReduceAction240___init SFT_parser[994]
-#define ID_ReduceAction241 SFT_parser[995]
-#define COLOR_ReduceAction241 SFT_parser[996]
-#define INIT_TABLE_POS_ReduceAction241 SFT_parser[997]
-#define COLOR_parser___ReduceAction241___init SFT_parser[998]
-#define ID_ReduceAction242 SFT_parser[999]
-#define COLOR_ReduceAction242 SFT_parser[1000]
-#define INIT_TABLE_POS_ReduceAction242 SFT_parser[1001]
-#define COLOR_parser___ReduceAction242___init SFT_parser[1002]
-#define ID_ReduceAction243 SFT_parser[1003]
-#define COLOR_ReduceAction243 SFT_parser[1004]
-#define INIT_TABLE_POS_ReduceAction243 SFT_parser[1005]
-#define COLOR_parser___ReduceAction243___init SFT_parser[1006]
-#define ID_ReduceAction244 SFT_parser[1007]
-#define COLOR_ReduceAction244 SFT_parser[1008]
-#define INIT_TABLE_POS_ReduceAction244 SFT_parser[1009]
-#define COLOR_parser___ReduceAction244___init SFT_parser[1010]
-#define ID_ReduceAction245 SFT_parser[1011]
-#define COLOR_ReduceAction245 SFT_parser[1012]
-#define INIT_TABLE_POS_ReduceAction245 SFT_parser[1013]
-#define COLOR_parser___ReduceAction245___init SFT_parser[1014]
-#define ID_ReduceAction246 SFT_parser[1015]
-#define COLOR_ReduceAction246 SFT_parser[1016]
-#define INIT_TABLE_POS_ReduceAction246 SFT_parser[1017]
-#define COLOR_parser___ReduceAction246___init SFT_parser[1018]
-#define ID_ReduceAction247 SFT_parser[1019]
-#define COLOR_ReduceAction247 SFT_parser[1020]
-#define INIT_TABLE_POS_ReduceAction247 SFT_parser[1021]
-#define COLOR_parser___ReduceAction247___init SFT_parser[1022]
-#define ID_ReduceAction248 SFT_parser[1023]
-#define COLOR_ReduceAction248 SFT_parser[1024]
-#define INIT_TABLE_POS_ReduceAction248 SFT_parser[1025]
-#define COLOR_parser___ReduceAction248___init SFT_parser[1026]
-#define ID_ReduceAction249 SFT_parser[1027]
-#define COLOR_ReduceAction249 SFT_parser[1028]
-#define INIT_TABLE_POS_ReduceAction249 SFT_parser[1029]
-#define COLOR_parser___ReduceAction249___init SFT_parser[1030]
-#define ID_ReduceAction250 SFT_parser[1031]
-#define COLOR_ReduceAction250 SFT_parser[1032]
-#define INIT_TABLE_POS_ReduceAction250 SFT_parser[1033]
-#define COLOR_parser___ReduceAction250___init SFT_parser[1034]
-#define ID_ReduceAction251 SFT_parser[1035]
-#define COLOR_ReduceAction251 SFT_parser[1036]
-#define INIT_TABLE_POS_ReduceAction251 SFT_parser[1037]
-#define COLOR_parser___ReduceAction251___init SFT_parser[1038]
-#define ID_ReduceAction252 SFT_parser[1039]
-#define COLOR_ReduceAction252 SFT_parser[1040]
-#define INIT_TABLE_POS_ReduceAction252 SFT_parser[1041]
-#define COLOR_parser___ReduceAction252___init SFT_parser[1042]
-#define ID_ReduceAction253 SFT_parser[1043]
-#define COLOR_ReduceAction253 SFT_parser[1044]
-#define INIT_TABLE_POS_ReduceAction253 SFT_parser[1045]
-#define COLOR_parser___ReduceAction253___init SFT_parser[1046]
-#define ID_ReduceAction254 SFT_parser[1047]
-#define COLOR_ReduceAction254 SFT_parser[1048]
-#define INIT_TABLE_POS_ReduceAction254 SFT_parser[1049]
-#define COLOR_parser___ReduceAction254___init SFT_parser[1050]
-#define ID_ReduceAction255 SFT_parser[1051]
-#define COLOR_ReduceAction255 SFT_parser[1052]
-#define INIT_TABLE_POS_ReduceAction255 SFT_parser[1053]
-#define COLOR_parser___ReduceAction255___init SFT_parser[1054]
-#define ID_ReduceAction256 SFT_parser[1055]
-#define COLOR_ReduceAction256 SFT_parser[1056]
-#define INIT_TABLE_POS_ReduceAction256 SFT_parser[1057]
-#define COLOR_parser___ReduceAction256___init SFT_parser[1058]
-#define ID_ReduceAction257 SFT_parser[1059]
-#define COLOR_ReduceAction257 SFT_parser[1060]
-#define INIT_TABLE_POS_ReduceAction257 SFT_parser[1061]
-#define COLOR_parser___ReduceAction257___init SFT_parser[1062]
-#define ID_ReduceAction258 SFT_parser[1063]
-#define COLOR_ReduceAction258 SFT_parser[1064]
-#define INIT_TABLE_POS_ReduceAction258 SFT_parser[1065]
-#define COLOR_parser___ReduceAction258___init SFT_parser[1066]
-#define ID_ReduceAction259 SFT_parser[1067]
-#define COLOR_ReduceAction259 SFT_parser[1068]
-#define INIT_TABLE_POS_ReduceAction259 SFT_parser[1069]
-#define COLOR_parser___ReduceAction259___init SFT_parser[1070]
-#define ID_ReduceAction260 SFT_parser[1071]
-#define COLOR_ReduceAction260 SFT_parser[1072]
-#define INIT_TABLE_POS_ReduceAction260 SFT_parser[1073]
-#define COLOR_parser___ReduceAction260___init SFT_parser[1074]
-#define ID_ReduceAction261 SFT_parser[1075]
-#define COLOR_ReduceAction261 SFT_parser[1076]
-#define INIT_TABLE_POS_ReduceAction261 SFT_parser[1077]
-#define COLOR_parser___ReduceAction261___init SFT_parser[1078]
-#define ID_ReduceAction262 SFT_parser[1079]
-#define COLOR_ReduceAction262 SFT_parser[1080]
-#define INIT_TABLE_POS_ReduceAction262 SFT_parser[1081]
-#define COLOR_parser___ReduceAction262___init SFT_parser[1082]
-#define ID_ReduceAction263 SFT_parser[1083]
-#define COLOR_ReduceAction263 SFT_parser[1084]
-#define INIT_TABLE_POS_ReduceAction263 SFT_parser[1085]
-#define COLOR_parser___ReduceAction263___init SFT_parser[1086]
-#define ID_ReduceAction264 SFT_parser[1087]
-#define COLOR_ReduceAction264 SFT_parser[1088]
-#define INIT_TABLE_POS_ReduceAction264 SFT_parser[1089]
-#define COLOR_parser___ReduceAction264___init SFT_parser[1090]
-#define ID_ReduceAction265 SFT_parser[1091]
-#define COLOR_ReduceAction265 SFT_parser[1092]
-#define INIT_TABLE_POS_ReduceAction265 SFT_parser[1093]
-#define COLOR_parser___ReduceAction265___init SFT_parser[1094]
-#define ID_ReduceAction266 SFT_parser[1095]
-#define COLOR_ReduceAction266 SFT_parser[1096]
-#define INIT_TABLE_POS_ReduceAction266 SFT_parser[1097]
-#define COLOR_parser___ReduceAction266___init SFT_parser[1098]
-#define ID_ReduceAction267 SFT_parser[1099]
-#define COLOR_ReduceAction267 SFT_parser[1100]
-#define INIT_TABLE_POS_ReduceAction267 SFT_parser[1101]
-#define COLOR_parser___ReduceAction267___init SFT_parser[1102]
-#define ID_ReduceAction268 SFT_parser[1103]
-#define COLOR_ReduceAction268 SFT_parser[1104]
-#define INIT_TABLE_POS_ReduceAction268 SFT_parser[1105]
-#define COLOR_parser___ReduceAction268___init SFT_parser[1106]
-#define ID_ReduceAction269 SFT_parser[1107]
-#define COLOR_ReduceAction269 SFT_parser[1108]
-#define INIT_TABLE_POS_ReduceAction269 SFT_parser[1109]
-#define COLOR_parser___ReduceAction269___init SFT_parser[1110]
-#define ID_ReduceAction270 SFT_parser[1111]
-#define COLOR_ReduceAction270 SFT_parser[1112]
-#define INIT_TABLE_POS_ReduceAction270 SFT_parser[1113]
-#define COLOR_parser___ReduceAction270___init SFT_parser[1114]
-#define ID_ReduceAction271 SFT_parser[1115]
-#define COLOR_ReduceAction271 SFT_parser[1116]
-#define INIT_TABLE_POS_ReduceAction271 SFT_parser[1117]
-#define COLOR_parser___ReduceAction271___init SFT_parser[1118]
-#define ID_ReduceAction272 SFT_parser[1119]
-#define COLOR_ReduceAction272 SFT_parser[1120]
-#define INIT_TABLE_POS_ReduceAction272 SFT_parser[1121]
-#define COLOR_parser___ReduceAction272___init SFT_parser[1122]
-#define ID_ReduceAction273 SFT_parser[1123]
-#define COLOR_ReduceAction273 SFT_parser[1124]
-#define INIT_TABLE_POS_ReduceAction273 SFT_parser[1125]
-#define COLOR_parser___ReduceAction273___init SFT_parser[1126]
-#define ID_ReduceAction274 SFT_parser[1127]
-#define COLOR_ReduceAction274 SFT_parser[1128]
-#define INIT_TABLE_POS_ReduceAction274 SFT_parser[1129]
-#define COLOR_parser___ReduceAction274___init SFT_parser[1130]
-#define ID_ReduceAction275 SFT_parser[1131]
-#define COLOR_ReduceAction275 SFT_parser[1132]
-#define INIT_TABLE_POS_ReduceAction275 SFT_parser[1133]
-#define COLOR_parser___ReduceAction275___init SFT_parser[1134]
-#define ID_ReduceAction276 SFT_parser[1135]
-#define COLOR_ReduceAction276 SFT_parser[1136]
-#define INIT_TABLE_POS_ReduceAction276 SFT_parser[1137]
-#define COLOR_parser___ReduceAction276___init SFT_parser[1138]
-#define ID_ReduceAction277 SFT_parser[1139]
-#define COLOR_ReduceAction277 SFT_parser[1140]
-#define INIT_TABLE_POS_ReduceAction277 SFT_parser[1141]
-#define COLOR_parser___ReduceAction277___init SFT_parser[1142]
-#define ID_ReduceAction278 SFT_parser[1143]
-#define COLOR_ReduceAction278 SFT_parser[1144]
-#define INIT_TABLE_POS_ReduceAction278 SFT_parser[1145]
-#define COLOR_parser___ReduceAction278___init SFT_parser[1146]
-#define ID_ReduceAction279 SFT_parser[1147]
-#define COLOR_ReduceAction279 SFT_parser[1148]
-#define INIT_TABLE_POS_ReduceAction279 SFT_parser[1149]
-#define COLOR_parser___ReduceAction279___init SFT_parser[1150]
-#define ID_ReduceAction280 SFT_parser[1151]
-#define COLOR_ReduceAction280 SFT_parser[1152]
-#define INIT_TABLE_POS_ReduceAction280 SFT_parser[1153]
-#define COLOR_parser___ReduceAction280___init SFT_parser[1154]
-#define ID_ReduceAction281 SFT_parser[1155]
-#define COLOR_ReduceAction281 SFT_parser[1156]
-#define INIT_TABLE_POS_ReduceAction281 SFT_parser[1157]
-#define COLOR_parser___ReduceAction281___init SFT_parser[1158]
-#define ID_ReduceAction282 SFT_parser[1159]
-#define COLOR_ReduceAction282 SFT_parser[1160]
-#define INIT_TABLE_POS_ReduceAction282 SFT_parser[1161]
-#define COLOR_parser___ReduceAction282___init SFT_parser[1162]
-#define ID_ReduceAction283 SFT_parser[1163]
-#define COLOR_ReduceAction283 SFT_parser[1164]
-#define INIT_TABLE_POS_ReduceAction283 SFT_parser[1165]
-#define COLOR_parser___ReduceAction283___init SFT_parser[1166]
-#define ID_ReduceAction284 SFT_parser[1167]
-#define COLOR_ReduceAction284 SFT_parser[1168]
-#define INIT_TABLE_POS_ReduceAction284 SFT_parser[1169]
-#define COLOR_parser___ReduceAction284___init SFT_parser[1170]
-#define ID_ReduceAction285 SFT_parser[1171]
-#define COLOR_ReduceAction285 SFT_parser[1172]
-#define INIT_TABLE_POS_ReduceAction285 SFT_parser[1173]
-#define COLOR_parser___ReduceAction285___init SFT_parser[1174]
-#define ID_ReduceAction286 SFT_parser[1175]
-#define COLOR_ReduceAction286 SFT_parser[1176]
-#define INIT_TABLE_POS_ReduceAction286 SFT_parser[1177]
-#define COLOR_parser___ReduceAction286___init SFT_parser[1178]
-#define ID_ReduceAction287 SFT_parser[1179]
-#define COLOR_ReduceAction287 SFT_parser[1180]
-#define INIT_TABLE_POS_ReduceAction287 SFT_parser[1181]
-#define COLOR_parser___ReduceAction287___init SFT_parser[1182]
-#define ID_ReduceAction288 SFT_parser[1183]
-#define COLOR_ReduceAction288 SFT_parser[1184]
-#define INIT_TABLE_POS_ReduceAction288 SFT_parser[1185]
-#define COLOR_parser___ReduceAction288___init SFT_parser[1186]
-#define ID_ReduceAction289 SFT_parser[1187]
-#define COLOR_ReduceAction289 SFT_parser[1188]
-#define INIT_TABLE_POS_ReduceAction289 SFT_parser[1189]
-#define COLOR_parser___ReduceAction289___init SFT_parser[1190]
-#define ID_ReduceAction290 SFT_parser[1191]
-#define COLOR_ReduceAction290 SFT_parser[1192]
-#define INIT_TABLE_POS_ReduceAction290 SFT_parser[1193]
-#define COLOR_parser___ReduceAction290___init SFT_parser[1194]
-#define ID_ReduceAction291 SFT_parser[1195]
-#define COLOR_ReduceAction291 SFT_parser[1196]
-#define INIT_TABLE_POS_ReduceAction291 SFT_parser[1197]
-#define COLOR_parser___ReduceAction291___init SFT_parser[1198]
-#define ID_ReduceAction292 SFT_parser[1199]
-#define COLOR_ReduceAction292 SFT_parser[1200]
-#define INIT_TABLE_POS_ReduceAction292 SFT_parser[1201]
-#define COLOR_parser___ReduceAction292___init SFT_parser[1202]
-#define ID_ReduceAction293 SFT_parser[1203]
-#define COLOR_ReduceAction293 SFT_parser[1204]
-#define INIT_TABLE_POS_ReduceAction293 SFT_parser[1205]
-#define COLOR_parser___ReduceAction293___init SFT_parser[1206]
-#define ID_ReduceAction294 SFT_parser[1207]
-#define COLOR_ReduceAction294 SFT_parser[1208]
-#define INIT_TABLE_POS_ReduceAction294 SFT_parser[1209]
-#define COLOR_parser___ReduceAction294___init SFT_parser[1210]
-#define ID_ReduceAction295 SFT_parser[1211]
-#define COLOR_ReduceAction295 SFT_parser[1212]
-#define INIT_TABLE_POS_ReduceAction295 SFT_parser[1213]
-#define COLOR_parser___ReduceAction295___init SFT_parser[1214]
-#define ID_ReduceAction296 SFT_parser[1215]
-#define COLOR_ReduceAction296 SFT_parser[1216]
-#define INIT_TABLE_POS_ReduceAction296 SFT_parser[1217]
-#define COLOR_parser___ReduceAction296___init SFT_parser[1218]
-#define ID_ReduceAction297 SFT_parser[1219]
-#define COLOR_ReduceAction297 SFT_parser[1220]
-#define INIT_TABLE_POS_ReduceAction297 SFT_parser[1221]
-#define COLOR_parser___ReduceAction297___init SFT_parser[1222]
-#define ID_ReduceAction298 SFT_parser[1223]
-#define COLOR_ReduceAction298 SFT_parser[1224]
-#define INIT_TABLE_POS_ReduceAction298 SFT_parser[1225]
-#define COLOR_parser___ReduceAction298___init SFT_parser[1226]
-#define ID_ReduceAction299 SFT_parser[1227]
-#define COLOR_ReduceAction299 SFT_parser[1228]
-#define INIT_TABLE_POS_ReduceAction299 SFT_parser[1229]
-#define COLOR_parser___ReduceAction299___init SFT_parser[1230]
-#define ID_ReduceAction300 SFT_parser[1231]
-#define COLOR_ReduceAction300 SFT_parser[1232]
-#define INIT_TABLE_POS_ReduceAction300 SFT_parser[1233]
-#define COLOR_parser___ReduceAction300___init SFT_parser[1234]
-#define ID_ReduceAction301 SFT_parser[1235]
-#define COLOR_ReduceAction301 SFT_parser[1236]
-#define INIT_TABLE_POS_ReduceAction301 SFT_parser[1237]
-#define COLOR_parser___ReduceAction301___init SFT_parser[1238]
-#define ID_ReduceAction302 SFT_parser[1239]
-#define COLOR_ReduceAction302 SFT_parser[1240]
-#define INIT_TABLE_POS_ReduceAction302 SFT_parser[1241]
-#define COLOR_parser___ReduceAction302___init SFT_parser[1242]
-#define ID_ReduceAction303 SFT_parser[1243]
-#define COLOR_ReduceAction303 SFT_parser[1244]
-#define INIT_TABLE_POS_ReduceAction303 SFT_parser[1245]
-#define COLOR_parser___ReduceAction303___init SFT_parser[1246]
-#define ID_ReduceAction304 SFT_parser[1247]
-#define COLOR_ReduceAction304 SFT_parser[1248]
-#define INIT_TABLE_POS_ReduceAction304 SFT_parser[1249]
-#define COLOR_parser___ReduceAction304___init SFT_parser[1250]
-#define ID_ReduceAction305 SFT_parser[1251]
-#define COLOR_ReduceAction305 SFT_parser[1252]
-#define INIT_TABLE_POS_ReduceAction305 SFT_parser[1253]
-#define COLOR_parser___ReduceAction305___init SFT_parser[1254]
-#define ID_ReduceAction306 SFT_parser[1255]
-#define COLOR_ReduceAction306 SFT_parser[1256]
-#define INIT_TABLE_POS_ReduceAction306 SFT_parser[1257]
-#define COLOR_parser___ReduceAction306___init SFT_parser[1258]
-#define ID_ReduceAction307 SFT_parser[1259]
-#define COLOR_ReduceAction307 SFT_parser[1260]
-#define INIT_TABLE_POS_ReduceAction307 SFT_parser[1261]
-#define COLOR_parser___ReduceAction307___init SFT_parser[1262]
-#define ID_ReduceAction308 SFT_parser[1263]
-#define COLOR_ReduceAction308 SFT_parser[1264]
-#define INIT_TABLE_POS_ReduceAction308 SFT_parser[1265]
-#define COLOR_parser___ReduceAction308___init SFT_parser[1266]
-#define ID_ReduceAction309 SFT_parser[1267]
-#define COLOR_ReduceAction309 SFT_parser[1268]
-#define INIT_TABLE_POS_ReduceAction309 SFT_parser[1269]
-#define COLOR_parser___ReduceAction309___init SFT_parser[1270]
-#define ID_ReduceAction310 SFT_parser[1271]
-#define COLOR_ReduceAction310 SFT_parser[1272]
-#define INIT_TABLE_POS_ReduceAction310 SFT_parser[1273]
-#define COLOR_parser___ReduceAction310___init SFT_parser[1274]
-#define ID_ReduceAction311 SFT_parser[1275]
-#define COLOR_ReduceAction311 SFT_parser[1276]
-#define INIT_TABLE_POS_ReduceAction311 SFT_parser[1277]
-#define COLOR_parser___ReduceAction311___init SFT_parser[1278]
-#define ID_ReduceAction312 SFT_parser[1279]
-#define COLOR_ReduceAction312 SFT_parser[1280]
-#define INIT_TABLE_POS_ReduceAction312 SFT_parser[1281]
-#define COLOR_parser___ReduceAction312___init SFT_parser[1282]
-#define ID_ReduceAction313 SFT_parser[1283]
-#define COLOR_ReduceAction313 SFT_parser[1284]
-#define INIT_TABLE_POS_ReduceAction313 SFT_parser[1285]
-#define COLOR_parser___ReduceAction313___init SFT_parser[1286]
-#define ID_ReduceAction314 SFT_parser[1287]
-#define COLOR_ReduceAction314 SFT_parser[1288]
-#define INIT_TABLE_POS_ReduceAction314 SFT_parser[1289]
-#define COLOR_parser___ReduceAction314___init SFT_parser[1290]
-#define ID_ReduceAction315 SFT_parser[1291]
-#define COLOR_ReduceAction315 SFT_parser[1292]
-#define INIT_TABLE_POS_ReduceAction315 SFT_parser[1293]
-#define COLOR_parser___ReduceAction315___init SFT_parser[1294]
-#define ID_ReduceAction316 SFT_parser[1295]
-#define COLOR_ReduceAction316 SFT_parser[1296]
-#define INIT_TABLE_POS_ReduceAction316 SFT_parser[1297]
-#define COLOR_parser___ReduceAction316___init SFT_parser[1298]
-#define ID_ReduceAction317 SFT_parser[1299]
-#define COLOR_ReduceAction317 SFT_parser[1300]
-#define INIT_TABLE_POS_ReduceAction317 SFT_parser[1301]
-#define COLOR_parser___ReduceAction317___init SFT_parser[1302]
-#define ID_ReduceAction318 SFT_parser[1303]
-#define COLOR_ReduceAction318 SFT_parser[1304]
-#define INIT_TABLE_POS_ReduceAction318 SFT_parser[1305]
-#define COLOR_parser___ReduceAction318___init SFT_parser[1306]
-#define ID_ReduceAction319 SFT_parser[1307]
-#define COLOR_ReduceAction319 SFT_parser[1308]
-#define INIT_TABLE_POS_ReduceAction319 SFT_parser[1309]
-#define COLOR_parser___ReduceAction319___init SFT_parser[1310]
-#define ID_ReduceAction320 SFT_parser[1311]
-#define COLOR_ReduceAction320 SFT_parser[1312]
-#define INIT_TABLE_POS_ReduceAction320 SFT_parser[1313]
-#define COLOR_parser___ReduceAction320___init SFT_parser[1314]
-#define ID_ReduceAction321 SFT_parser[1315]
-#define COLOR_ReduceAction321 SFT_parser[1316]
-#define INIT_TABLE_POS_ReduceAction321 SFT_parser[1317]
-#define COLOR_parser___ReduceAction321___init SFT_parser[1318]
-#define ID_ReduceAction322 SFT_parser[1319]
-#define COLOR_ReduceAction322 SFT_parser[1320]
-#define INIT_TABLE_POS_ReduceAction322 SFT_parser[1321]
-#define COLOR_parser___ReduceAction322___init SFT_parser[1322]
-#define ID_ReduceAction323 SFT_parser[1323]
-#define COLOR_ReduceAction323 SFT_parser[1324]
-#define INIT_TABLE_POS_ReduceAction323 SFT_parser[1325]
-#define COLOR_parser___ReduceAction323___init SFT_parser[1326]
-#define ID_ReduceAction324 SFT_parser[1327]
-#define COLOR_ReduceAction324 SFT_parser[1328]
-#define INIT_TABLE_POS_ReduceAction324 SFT_parser[1329]
-#define COLOR_parser___ReduceAction324___init SFT_parser[1330]
-#define ID_ReduceAction325 SFT_parser[1331]
-#define COLOR_ReduceAction325 SFT_parser[1332]
-#define INIT_TABLE_POS_ReduceAction325 SFT_parser[1333]
-#define COLOR_parser___ReduceAction325___init SFT_parser[1334]
-#define ID_ReduceAction326 SFT_parser[1335]
-#define COLOR_ReduceAction326 SFT_parser[1336]
-#define INIT_TABLE_POS_ReduceAction326 SFT_parser[1337]
-#define COLOR_parser___ReduceAction326___init SFT_parser[1338]
-#define ID_ReduceAction327 SFT_parser[1339]
-#define COLOR_ReduceAction327 SFT_parser[1340]
-#define INIT_TABLE_POS_ReduceAction327 SFT_parser[1341]
-#define COLOR_parser___ReduceAction327___init SFT_parser[1342]
-#define ID_ReduceAction328 SFT_parser[1343]
-#define COLOR_ReduceAction328 SFT_parser[1344]
-#define INIT_TABLE_POS_ReduceAction328 SFT_parser[1345]
-#define COLOR_parser___ReduceAction328___init SFT_parser[1346]
-#define ID_ReduceAction329 SFT_parser[1347]
-#define COLOR_ReduceAction329 SFT_parser[1348]
-#define INIT_TABLE_POS_ReduceAction329 SFT_parser[1349]
-#define COLOR_parser___ReduceAction329___init SFT_parser[1350]
-#define ID_ReduceAction330 SFT_parser[1351]
-#define COLOR_ReduceAction330 SFT_parser[1352]
-#define INIT_TABLE_POS_ReduceAction330 SFT_parser[1353]
-#define COLOR_parser___ReduceAction330___init SFT_parser[1354]
-#define ID_ReduceAction331 SFT_parser[1355]
-#define COLOR_ReduceAction331 SFT_parser[1356]
-#define INIT_TABLE_POS_ReduceAction331 SFT_parser[1357]
-#define COLOR_parser___ReduceAction331___init SFT_parser[1358]
-#define ID_ReduceAction332 SFT_parser[1359]
-#define COLOR_ReduceAction332 SFT_parser[1360]
-#define INIT_TABLE_POS_ReduceAction332 SFT_parser[1361]
-#define COLOR_parser___ReduceAction332___init SFT_parser[1362]
-#define ID_ReduceAction333 SFT_parser[1363]
-#define COLOR_ReduceAction333 SFT_parser[1364]
-#define INIT_TABLE_POS_ReduceAction333 SFT_parser[1365]
-#define COLOR_parser___ReduceAction333___init SFT_parser[1366]
-#define ID_ReduceAction334 SFT_parser[1367]
-#define COLOR_ReduceAction334 SFT_parser[1368]
-#define INIT_TABLE_POS_ReduceAction334 SFT_parser[1369]
-#define COLOR_parser___ReduceAction334___init SFT_parser[1370]
-#define ID_ReduceAction335 SFT_parser[1371]
-#define COLOR_ReduceAction335 SFT_parser[1372]
-#define INIT_TABLE_POS_ReduceAction335 SFT_parser[1373]
-#define COLOR_parser___ReduceAction335___init SFT_parser[1374]
-#define ID_ReduceAction336 SFT_parser[1375]
-#define COLOR_ReduceAction336 SFT_parser[1376]
-#define INIT_TABLE_POS_ReduceAction336 SFT_parser[1377]
-#define COLOR_parser___ReduceAction336___init SFT_parser[1378]
-#define ID_ReduceAction337 SFT_parser[1379]
-#define COLOR_ReduceAction337 SFT_parser[1380]
-#define INIT_TABLE_POS_ReduceAction337 SFT_parser[1381]
-#define COLOR_parser___ReduceAction337___init SFT_parser[1382]
-#define ID_ReduceAction338 SFT_parser[1383]
-#define COLOR_ReduceAction338 SFT_parser[1384]
-#define INIT_TABLE_POS_ReduceAction338 SFT_parser[1385]
-#define COLOR_parser___ReduceAction338___init SFT_parser[1386]
-#define ID_ReduceAction339 SFT_parser[1387]
-#define COLOR_ReduceAction339 SFT_parser[1388]
-#define INIT_TABLE_POS_ReduceAction339 SFT_parser[1389]
-#define COLOR_parser___ReduceAction339___init SFT_parser[1390]
-#define ID_ReduceAction340 SFT_parser[1391]
-#define COLOR_ReduceAction340 SFT_parser[1392]
-#define INIT_TABLE_POS_ReduceAction340 SFT_parser[1393]
-#define COLOR_parser___ReduceAction340___init SFT_parser[1394]
-#define ID_ReduceAction341 SFT_parser[1395]
-#define COLOR_ReduceAction341 SFT_parser[1396]
-#define INIT_TABLE_POS_ReduceAction341 SFT_parser[1397]
-#define COLOR_parser___ReduceAction341___init SFT_parser[1398]
-#define ID_ReduceAction342 SFT_parser[1399]
-#define COLOR_ReduceAction342 SFT_parser[1400]
-#define INIT_TABLE_POS_ReduceAction342 SFT_parser[1401]
-#define COLOR_parser___ReduceAction342___init SFT_parser[1402]
-#define ID_ReduceAction343 SFT_parser[1403]
-#define COLOR_ReduceAction343 SFT_parser[1404]
-#define INIT_TABLE_POS_ReduceAction343 SFT_parser[1405]
-#define COLOR_parser___ReduceAction343___init SFT_parser[1406]
-#define ID_ReduceAction344 SFT_parser[1407]
-#define COLOR_ReduceAction344 SFT_parser[1408]
-#define INIT_TABLE_POS_ReduceAction344 SFT_parser[1409]
-#define COLOR_parser___ReduceAction344___init SFT_parser[1410]
-#define ID_ReduceAction345 SFT_parser[1411]
-#define COLOR_ReduceAction345 SFT_parser[1412]
-#define INIT_TABLE_POS_ReduceAction345 SFT_parser[1413]
-#define COLOR_parser___ReduceAction345___init SFT_parser[1414]
-#define ID_ReduceAction346 SFT_parser[1415]
-#define COLOR_ReduceAction346 SFT_parser[1416]
-#define INIT_TABLE_POS_ReduceAction346 SFT_parser[1417]
-#define COLOR_parser___ReduceAction346___init SFT_parser[1418]
-#define ID_ReduceAction347 SFT_parser[1419]
-#define COLOR_ReduceAction347 SFT_parser[1420]
-#define INIT_TABLE_POS_ReduceAction347 SFT_parser[1421]
-#define COLOR_parser___ReduceAction347___init SFT_parser[1422]
-#define ID_ReduceAction348 SFT_parser[1423]
-#define COLOR_ReduceAction348 SFT_parser[1424]
-#define INIT_TABLE_POS_ReduceAction348 SFT_parser[1425]
-#define COLOR_parser___ReduceAction348___init SFT_parser[1426]
-#define ID_ReduceAction349 SFT_parser[1427]
-#define COLOR_ReduceAction349 SFT_parser[1428]
-#define INIT_TABLE_POS_ReduceAction349 SFT_parser[1429]
-#define COLOR_parser___ReduceAction349___init SFT_parser[1430]
-#define ID_ReduceAction350 SFT_parser[1431]
-#define COLOR_ReduceAction350 SFT_parser[1432]
-#define INIT_TABLE_POS_ReduceAction350 SFT_parser[1433]
-#define COLOR_parser___ReduceAction350___init SFT_parser[1434]
-#define ID_ReduceAction351 SFT_parser[1435]
-#define COLOR_ReduceAction351 SFT_parser[1436]
-#define INIT_TABLE_POS_ReduceAction351 SFT_parser[1437]
-#define COLOR_parser___ReduceAction351___init SFT_parser[1438]
-#define ID_ReduceAction352 SFT_parser[1439]
-#define COLOR_ReduceAction352 SFT_parser[1440]
-#define INIT_TABLE_POS_ReduceAction352 SFT_parser[1441]
-#define COLOR_parser___ReduceAction352___init SFT_parser[1442]
-#define ID_ReduceAction353 SFT_parser[1443]
-#define COLOR_ReduceAction353 SFT_parser[1444]
-#define INIT_TABLE_POS_ReduceAction353 SFT_parser[1445]
-#define COLOR_parser___ReduceAction353___init SFT_parser[1446]
-#define ID_ReduceAction354 SFT_parser[1447]
-#define COLOR_ReduceAction354 SFT_parser[1448]
-#define INIT_TABLE_POS_ReduceAction354 SFT_parser[1449]
-#define COLOR_parser___ReduceAction354___init SFT_parser[1450]
-#define ID_ReduceAction355 SFT_parser[1451]
-#define COLOR_ReduceAction355 SFT_parser[1452]
-#define INIT_TABLE_POS_ReduceAction355 SFT_parser[1453]
-#define COLOR_parser___ReduceAction355___init SFT_parser[1454]
-#define ID_ReduceAction356 SFT_parser[1455]
-#define COLOR_ReduceAction356 SFT_parser[1456]
-#define INIT_TABLE_POS_ReduceAction356 SFT_parser[1457]
-#define COLOR_parser___ReduceAction356___init SFT_parser[1458]
-#define ID_ReduceAction357 SFT_parser[1459]
-#define COLOR_ReduceAction357 SFT_parser[1460]
-#define INIT_TABLE_POS_ReduceAction357 SFT_parser[1461]
-#define COLOR_parser___ReduceAction357___init SFT_parser[1462]
-#define ID_ReduceAction358 SFT_parser[1463]
-#define COLOR_ReduceAction358 SFT_parser[1464]
-#define INIT_TABLE_POS_ReduceAction358 SFT_parser[1465]
-#define COLOR_parser___ReduceAction358___init SFT_parser[1466]
-#define ID_ReduceAction359 SFT_parser[1467]
-#define COLOR_ReduceAction359 SFT_parser[1468]
-#define INIT_TABLE_POS_ReduceAction359 SFT_parser[1469]
-#define COLOR_parser___ReduceAction359___init SFT_parser[1470]
-#define ID_ReduceAction360 SFT_parser[1471]
-#define COLOR_ReduceAction360 SFT_parser[1472]
-#define INIT_TABLE_POS_ReduceAction360 SFT_parser[1473]
-#define COLOR_parser___ReduceAction360___init SFT_parser[1474]
-#define ID_ReduceAction361 SFT_parser[1475]
-#define COLOR_ReduceAction361 SFT_parser[1476]
-#define INIT_TABLE_POS_ReduceAction361 SFT_parser[1477]
-#define COLOR_parser___ReduceAction361___init SFT_parser[1478]
-#define ID_ReduceAction362 SFT_parser[1479]
-#define COLOR_ReduceAction362 SFT_parser[1480]
-#define INIT_TABLE_POS_ReduceAction362 SFT_parser[1481]
-#define COLOR_parser___ReduceAction362___init SFT_parser[1482]
-#define ID_ReduceAction363 SFT_parser[1483]
-#define COLOR_ReduceAction363 SFT_parser[1484]
-#define INIT_TABLE_POS_ReduceAction363 SFT_parser[1485]
-#define COLOR_parser___ReduceAction363___init SFT_parser[1486]
-#define ID_ReduceAction364 SFT_parser[1487]
-#define COLOR_ReduceAction364 SFT_parser[1488]
-#define INIT_TABLE_POS_ReduceAction364 SFT_parser[1489]
-#define COLOR_parser___ReduceAction364___init SFT_parser[1490]
-#define ID_ReduceAction365 SFT_parser[1491]
-#define COLOR_ReduceAction365 SFT_parser[1492]
-#define INIT_TABLE_POS_ReduceAction365 SFT_parser[1493]
-#define COLOR_parser___ReduceAction365___init SFT_parser[1494]
-#define ID_ReduceAction366 SFT_parser[1495]
-#define COLOR_ReduceAction366 SFT_parser[1496]
-#define INIT_TABLE_POS_ReduceAction366 SFT_parser[1497]
-#define COLOR_parser___ReduceAction366___init SFT_parser[1498]
-#define ID_ReduceAction367 SFT_parser[1499]
-#define COLOR_ReduceAction367 SFT_parser[1500]
-#define INIT_TABLE_POS_ReduceAction367 SFT_parser[1501]
-#define COLOR_parser___ReduceAction367___init SFT_parser[1502]
-#define ID_ReduceAction368 SFT_parser[1503]
-#define COLOR_ReduceAction368 SFT_parser[1504]
-#define INIT_TABLE_POS_ReduceAction368 SFT_parser[1505]
-#define COLOR_parser___ReduceAction368___init SFT_parser[1506]
-#define ID_ReduceAction369 SFT_parser[1507]
-#define COLOR_ReduceAction369 SFT_parser[1508]
-#define INIT_TABLE_POS_ReduceAction369 SFT_parser[1509]
-#define COLOR_parser___ReduceAction369___init SFT_parser[1510]
-#define ID_ReduceAction370 SFT_parser[1511]
-#define COLOR_ReduceAction370 SFT_parser[1512]
-#define INIT_TABLE_POS_ReduceAction370 SFT_parser[1513]
-#define COLOR_parser___ReduceAction370___init SFT_parser[1514]
-#define ID_ReduceAction371 SFT_parser[1515]
-#define COLOR_ReduceAction371 SFT_parser[1516]
-#define INIT_TABLE_POS_ReduceAction371 SFT_parser[1517]
-#define COLOR_parser___ReduceAction371___init SFT_parser[1518]
-#define ID_ReduceAction372 SFT_parser[1519]
-#define COLOR_ReduceAction372 SFT_parser[1520]
-#define INIT_TABLE_POS_ReduceAction372 SFT_parser[1521]
-#define COLOR_parser___ReduceAction372___init SFT_parser[1522]
-#define ID_ReduceAction373 SFT_parser[1523]
-#define COLOR_ReduceAction373 SFT_parser[1524]
-#define INIT_TABLE_POS_ReduceAction373 SFT_parser[1525]
-#define COLOR_parser___ReduceAction373___init SFT_parser[1526]
-#define ID_ReduceAction374 SFT_parser[1527]
-#define COLOR_ReduceAction374 SFT_parser[1528]
-#define INIT_TABLE_POS_ReduceAction374 SFT_parser[1529]
-#define COLOR_parser___ReduceAction374___init SFT_parser[1530]
-#define ID_ReduceAction375 SFT_parser[1531]
-#define COLOR_ReduceAction375 SFT_parser[1532]
-#define INIT_TABLE_POS_ReduceAction375 SFT_parser[1533]
-#define COLOR_parser___ReduceAction375___init SFT_parser[1534]
-#define ID_ReduceAction376 SFT_parser[1535]
-#define COLOR_ReduceAction376 SFT_parser[1536]
-#define INIT_TABLE_POS_ReduceAction376 SFT_parser[1537]
-#define COLOR_parser___ReduceAction376___init SFT_parser[1538]
-#define ID_ReduceAction377 SFT_parser[1539]
-#define COLOR_ReduceAction377 SFT_parser[1540]
-#define INIT_TABLE_POS_ReduceAction377 SFT_parser[1541]
-#define COLOR_parser___ReduceAction377___init SFT_parser[1542]
-#define ID_ReduceAction378 SFT_parser[1543]
-#define COLOR_ReduceAction378 SFT_parser[1544]
-#define INIT_TABLE_POS_ReduceAction378 SFT_parser[1545]
-#define COLOR_parser___ReduceAction378___init SFT_parser[1546]
-#define ID_ReduceAction379 SFT_parser[1547]
-#define COLOR_ReduceAction379 SFT_parser[1548]
-#define INIT_TABLE_POS_ReduceAction379 SFT_parser[1549]
-#define COLOR_parser___ReduceAction379___init SFT_parser[1550]
-#define ID_ReduceAction380 SFT_parser[1551]
-#define COLOR_ReduceAction380 SFT_parser[1552]
-#define INIT_TABLE_POS_ReduceAction380 SFT_parser[1553]
-#define COLOR_parser___ReduceAction380___init SFT_parser[1554]
-#define ID_ReduceAction381 SFT_parser[1555]
-#define COLOR_ReduceAction381 SFT_parser[1556]
-#define INIT_TABLE_POS_ReduceAction381 SFT_parser[1557]
-#define COLOR_parser___ReduceAction381___init SFT_parser[1558]
-#define ID_ReduceAction382 SFT_parser[1559]
-#define COLOR_ReduceAction382 SFT_parser[1560]
-#define INIT_TABLE_POS_ReduceAction382 SFT_parser[1561]
-#define COLOR_parser___ReduceAction382___init SFT_parser[1562]
-#define ID_ReduceAction383 SFT_parser[1563]
-#define COLOR_ReduceAction383 SFT_parser[1564]
-#define INIT_TABLE_POS_ReduceAction383 SFT_parser[1565]
-#define COLOR_parser___ReduceAction383___init SFT_parser[1566]
-#define ID_ReduceAction384 SFT_parser[1567]
-#define COLOR_ReduceAction384 SFT_parser[1568]
-#define INIT_TABLE_POS_ReduceAction384 SFT_parser[1569]
-#define COLOR_parser___ReduceAction384___init SFT_parser[1570]
-#define ID_ReduceAction385 SFT_parser[1571]
-#define COLOR_ReduceAction385 SFT_parser[1572]
-#define INIT_TABLE_POS_ReduceAction385 SFT_parser[1573]
-#define COLOR_parser___ReduceAction385___init SFT_parser[1574]
-#define ID_ReduceAction386 SFT_parser[1575]
-#define COLOR_ReduceAction386 SFT_parser[1576]
-#define INIT_TABLE_POS_ReduceAction386 SFT_parser[1577]
-#define COLOR_parser___ReduceAction386___init SFT_parser[1578]
-#define ID_ReduceAction387 SFT_parser[1579]
-#define COLOR_ReduceAction387 SFT_parser[1580]
-#define INIT_TABLE_POS_ReduceAction387 SFT_parser[1581]
-#define COLOR_parser___ReduceAction387___init SFT_parser[1582]
-#define ID_ReduceAction388 SFT_parser[1583]
-#define COLOR_ReduceAction388 SFT_parser[1584]
-#define INIT_TABLE_POS_ReduceAction388 SFT_parser[1585]
-#define COLOR_parser___ReduceAction388___init SFT_parser[1586]
-#define ID_ReduceAction389 SFT_parser[1587]
-#define COLOR_ReduceAction389 SFT_parser[1588]
-#define INIT_TABLE_POS_ReduceAction389 SFT_parser[1589]
-#define COLOR_parser___ReduceAction389___init SFT_parser[1590]
-#define ID_ReduceAction390 SFT_parser[1591]
-#define COLOR_ReduceAction390 SFT_parser[1592]
-#define INIT_TABLE_POS_ReduceAction390 SFT_parser[1593]
-#define COLOR_parser___ReduceAction390___init SFT_parser[1594]
-#define ID_ReduceAction391 SFT_parser[1595]
-#define COLOR_ReduceAction391 SFT_parser[1596]
-#define INIT_TABLE_POS_ReduceAction391 SFT_parser[1597]
-#define COLOR_parser___ReduceAction391___init SFT_parser[1598]
-#define ID_ReduceAction392 SFT_parser[1599]
-#define COLOR_ReduceAction392 SFT_parser[1600]
-#define INIT_TABLE_POS_ReduceAction392 SFT_parser[1601]
-#define COLOR_parser___ReduceAction392___init SFT_parser[1602]
-#define ID_ReduceAction393 SFT_parser[1603]
-#define COLOR_ReduceAction393 SFT_parser[1604]
-#define INIT_TABLE_POS_ReduceAction393 SFT_parser[1605]
-#define COLOR_parser___ReduceAction393___init SFT_parser[1606]
-#define ID_ReduceAction394 SFT_parser[1607]
-#define COLOR_ReduceAction394 SFT_parser[1608]
-#define INIT_TABLE_POS_ReduceAction394 SFT_parser[1609]
-#define COLOR_parser___ReduceAction394___init SFT_parser[1610]
-#define ID_ReduceAction395 SFT_parser[1611]
-#define COLOR_ReduceAction395 SFT_parser[1612]
-#define INIT_TABLE_POS_ReduceAction395 SFT_parser[1613]
-#define COLOR_parser___ReduceAction395___init SFT_parser[1614]
-#define ID_ReduceAction396 SFT_parser[1615]
-#define COLOR_ReduceAction396 SFT_parser[1616]
-#define INIT_TABLE_POS_ReduceAction396 SFT_parser[1617]
-#define COLOR_parser___ReduceAction396___init SFT_parser[1618]
-#define ID_ReduceAction397 SFT_parser[1619]
-#define COLOR_ReduceAction397 SFT_parser[1620]
-#define INIT_TABLE_POS_ReduceAction397 SFT_parser[1621]
-#define COLOR_parser___ReduceAction397___init SFT_parser[1622]
-#define ID_ReduceAction398 SFT_parser[1623]
-#define COLOR_ReduceAction398 SFT_parser[1624]
-#define INIT_TABLE_POS_ReduceAction398 SFT_parser[1625]
-#define COLOR_parser___ReduceAction398___init SFT_parser[1626]
-#define ID_ReduceAction399 SFT_parser[1627]
-#define COLOR_ReduceAction399 SFT_parser[1628]
-#define INIT_TABLE_POS_ReduceAction399 SFT_parser[1629]
-#define COLOR_parser___ReduceAction399___init SFT_parser[1630]
-#define ID_ReduceAction400 SFT_parser[1631]
-#define COLOR_ReduceAction400 SFT_parser[1632]
-#define INIT_TABLE_POS_ReduceAction400 SFT_parser[1633]
-#define COLOR_parser___ReduceAction400___init SFT_parser[1634]
-#define ID_ReduceAction401 SFT_parser[1635]
-#define COLOR_ReduceAction401 SFT_parser[1636]
-#define INIT_TABLE_POS_ReduceAction401 SFT_parser[1637]
-#define COLOR_parser___ReduceAction401___init SFT_parser[1638]
-#define ID_ReduceAction402 SFT_parser[1639]
-#define COLOR_ReduceAction402 SFT_parser[1640]
-#define INIT_TABLE_POS_ReduceAction402 SFT_parser[1641]
-#define COLOR_parser___ReduceAction402___init SFT_parser[1642]
-#define ID_ReduceAction403 SFT_parser[1643]
-#define COLOR_ReduceAction403 SFT_parser[1644]
-#define INIT_TABLE_POS_ReduceAction403 SFT_parser[1645]
-#define COLOR_parser___ReduceAction403___init SFT_parser[1646]
-#define ID_ReduceAction404 SFT_parser[1647]
-#define COLOR_ReduceAction404 SFT_parser[1648]
-#define INIT_TABLE_POS_ReduceAction404 SFT_parser[1649]
-#define COLOR_parser___ReduceAction404___init SFT_parser[1650]
-#define ID_ReduceAction405 SFT_parser[1651]
-#define COLOR_ReduceAction405 SFT_parser[1652]
-#define INIT_TABLE_POS_ReduceAction405 SFT_parser[1653]
-#define COLOR_parser___ReduceAction405___init SFT_parser[1654]
-#define ID_ReduceAction406 SFT_parser[1655]
-#define COLOR_ReduceAction406 SFT_parser[1656]
-#define INIT_TABLE_POS_ReduceAction406 SFT_parser[1657]
-#define COLOR_parser___ReduceAction406___init SFT_parser[1658]
-#define ID_ReduceAction407 SFT_parser[1659]
-#define COLOR_ReduceAction407 SFT_parser[1660]
-#define INIT_TABLE_POS_ReduceAction407 SFT_parser[1661]
-#define COLOR_parser___ReduceAction407___init SFT_parser[1662]
-#define ID_ReduceAction408 SFT_parser[1663]
-#define COLOR_ReduceAction408 SFT_parser[1664]
-#define INIT_TABLE_POS_ReduceAction408 SFT_parser[1665]
-#define COLOR_parser___ReduceAction408___init SFT_parser[1666]
-#define ID_ReduceAction409 SFT_parser[1667]
-#define COLOR_ReduceAction409 SFT_parser[1668]
-#define INIT_TABLE_POS_ReduceAction409 SFT_parser[1669]
-#define COLOR_parser___ReduceAction409___init SFT_parser[1670]
-#define ID_ReduceAction410 SFT_parser[1671]
-#define COLOR_ReduceAction410 SFT_parser[1672]
-#define INIT_TABLE_POS_ReduceAction410 SFT_parser[1673]
-#define COLOR_parser___ReduceAction410___init SFT_parser[1674]
-#define ID_ReduceAction411 SFT_parser[1675]
-#define COLOR_ReduceAction411 SFT_parser[1676]
-#define INIT_TABLE_POS_ReduceAction411 SFT_parser[1677]
-#define COLOR_parser___ReduceAction411___init SFT_parser[1678]
-#define ID_ReduceAction412 SFT_parser[1679]
-#define COLOR_ReduceAction412 SFT_parser[1680]
-#define INIT_TABLE_POS_ReduceAction412 SFT_parser[1681]
-#define COLOR_parser___ReduceAction412___init SFT_parser[1682]
-#define ID_ReduceAction413 SFT_parser[1683]
-#define COLOR_ReduceAction413 SFT_parser[1684]
-#define INIT_TABLE_POS_ReduceAction413 SFT_parser[1685]
-#define COLOR_parser___ReduceAction413___init SFT_parser[1686]
-#define ID_ReduceAction414 SFT_parser[1687]
-#define COLOR_ReduceAction414 SFT_parser[1688]
-#define INIT_TABLE_POS_ReduceAction414 SFT_parser[1689]
-#define COLOR_parser___ReduceAction414___init SFT_parser[1690]
-#define ID_ReduceAction415 SFT_parser[1691]
-#define COLOR_ReduceAction415 SFT_parser[1692]
-#define INIT_TABLE_POS_ReduceAction415 SFT_parser[1693]
-#define COLOR_parser___ReduceAction415___init SFT_parser[1694]
-#define ID_ReduceAction416 SFT_parser[1695]
-#define COLOR_ReduceAction416 SFT_parser[1696]
-#define INIT_TABLE_POS_ReduceAction416 SFT_parser[1697]
-#define COLOR_parser___ReduceAction416___init SFT_parser[1698]
-#define ID_ReduceAction417 SFT_parser[1699]
-#define COLOR_ReduceAction417 SFT_parser[1700]
-#define INIT_TABLE_POS_ReduceAction417 SFT_parser[1701]
-#define COLOR_parser___ReduceAction417___init SFT_parser[1702]
-#define ID_ReduceAction418 SFT_parser[1703]
-#define COLOR_ReduceAction418 SFT_parser[1704]
-#define INIT_TABLE_POS_ReduceAction418 SFT_parser[1705]
-#define COLOR_parser___ReduceAction418___init SFT_parser[1706]
-#define ID_ReduceAction419 SFT_parser[1707]
-#define COLOR_ReduceAction419 SFT_parser[1708]
-#define INIT_TABLE_POS_ReduceAction419 SFT_parser[1709]
-#define COLOR_parser___ReduceAction419___init SFT_parser[1710]
-#define ID_ReduceAction420 SFT_parser[1711]
-#define COLOR_ReduceAction420 SFT_parser[1712]
-#define INIT_TABLE_POS_ReduceAction420 SFT_parser[1713]
-#define COLOR_parser___ReduceAction420___init SFT_parser[1714]
-#define ID_ReduceAction421 SFT_parser[1715]
-#define COLOR_ReduceAction421 SFT_parser[1716]
-#define INIT_TABLE_POS_ReduceAction421 SFT_parser[1717]
-#define COLOR_parser___ReduceAction421___init SFT_parser[1718]
-#define ID_ReduceAction422 SFT_parser[1719]
-#define COLOR_ReduceAction422 SFT_parser[1720]
-#define INIT_TABLE_POS_ReduceAction422 SFT_parser[1721]
-#define COLOR_parser___ReduceAction422___init SFT_parser[1722]
-#define ID_ReduceAction423 SFT_parser[1723]
-#define COLOR_ReduceAction423 SFT_parser[1724]
-#define INIT_TABLE_POS_ReduceAction423 SFT_parser[1725]
-#define COLOR_parser___ReduceAction423___init SFT_parser[1726]
-#define ID_ReduceAction424 SFT_parser[1727]
-#define COLOR_ReduceAction424 SFT_parser[1728]
-#define INIT_TABLE_POS_ReduceAction424 SFT_parser[1729]
-#define COLOR_parser___ReduceAction424___init SFT_parser[1730]
-#define ID_ReduceAction425 SFT_parser[1731]
-#define COLOR_ReduceAction425 SFT_parser[1732]
-#define INIT_TABLE_POS_ReduceAction425 SFT_parser[1733]
-#define COLOR_parser___ReduceAction425___init SFT_parser[1734]
-#define ID_ReduceAction426 SFT_parser[1735]
-#define COLOR_ReduceAction426 SFT_parser[1736]
-#define INIT_TABLE_POS_ReduceAction426 SFT_parser[1737]
-#define COLOR_parser___ReduceAction426___init SFT_parser[1738]
-#define ID_ReduceAction427 SFT_parser[1739]
-#define COLOR_ReduceAction427 SFT_parser[1740]
-#define INIT_TABLE_POS_ReduceAction427 SFT_parser[1741]
-#define COLOR_parser___ReduceAction427___init SFT_parser[1742]
-#define ID_ReduceAction428 SFT_parser[1743]
-#define COLOR_ReduceAction428 SFT_parser[1744]
-#define INIT_TABLE_POS_ReduceAction428 SFT_parser[1745]
-#define COLOR_parser___ReduceAction428___init SFT_parser[1746]
-#define ID_ReduceAction429 SFT_parser[1747]
-#define COLOR_ReduceAction429 SFT_parser[1748]
-#define INIT_TABLE_POS_ReduceAction429 SFT_parser[1749]
-#define COLOR_parser___ReduceAction429___init SFT_parser[1750]
-#define ID_ReduceAction430 SFT_parser[1751]
-#define COLOR_ReduceAction430 SFT_parser[1752]
-#define INIT_TABLE_POS_ReduceAction430 SFT_parser[1753]
-#define COLOR_parser___ReduceAction430___init SFT_parser[1754]
-#define ID_ReduceAction431 SFT_parser[1755]
-#define COLOR_ReduceAction431 SFT_parser[1756]
-#define INIT_TABLE_POS_ReduceAction431 SFT_parser[1757]
-#define COLOR_parser___ReduceAction431___init SFT_parser[1758]
-#define ID_ReduceAction432 SFT_parser[1759]
-#define COLOR_ReduceAction432 SFT_parser[1760]
-#define INIT_TABLE_POS_ReduceAction432 SFT_parser[1761]
-#define COLOR_parser___ReduceAction432___init SFT_parser[1762]
-#define ID_ReduceAction433 SFT_parser[1763]
-#define COLOR_ReduceAction433 SFT_parser[1764]
-#define INIT_TABLE_POS_ReduceAction433 SFT_parser[1765]
-#define COLOR_parser___ReduceAction433___init SFT_parser[1766]
-#define ID_ReduceAction434 SFT_parser[1767]
-#define COLOR_ReduceAction434 SFT_parser[1768]
-#define INIT_TABLE_POS_ReduceAction434 SFT_parser[1769]
-#define COLOR_parser___ReduceAction434___init SFT_parser[1770]
-#define ID_ReduceAction435 SFT_parser[1771]
-#define COLOR_ReduceAction435 SFT_parser[1772]
-#define INIT_TABLE_POS_ReduceAction435 SFT_parser[1773]
-#define COLOR_parser___ReduceAction435___init SFT_parser[1774]
-#define ID_ReduceAction436 SFT_parser[1775]
-#define COLOR_ReduceAction436 SFT_parser[1776]
-#define INIT_TABLE_POS_ReduceAction436 SFT_parser[1777]
-#define COLOR_parser___ReduceAction436___init SFT_parser[1778]
-#define ID_ReduceAction437 SFT_parser[1779]
-#define COLOR_ReduceAction437 SFT_parser[1780]
-#define INIT_TABLE_POS_ReduceAction437 SFT_parser[1781]
-#define COLOR_parser___ReduceAction437___init SFT_parser[1782]
-#define ID_ReduceAction438 SFT_parser[1783]
-#define COLOR_ReduceAction438 SFT_parser[1784]
-#define INIT_TABLE_POS_ReduceAction438 SFT_parser[1785]
-#define COLOR_parser___ReduceAction438___init SFT_parser[1786]
-#define ID_ReduceAction439 SFT_parser[1787]
-#define COLOR_ReduceAction439 SFT_parser[1788]
-#define INIT_TABLE_POS_ReduceAction439 SFT_parser[1789]
-#define COLOR_parser___ReduceAction439___init SFT_parser[1790]
-#define ID_ReduceAction440 SFT_parser[1791]
-#define COLOR_ReduceAction440 SFT_parser[1792]
-#define INIT_TABLE_POS_ReduceAction440 SFT_parser[1793]
-#define COLOR_parser___ReduceAction440___init SFT_parser[1794]
-#define ID_ReduceAction441 SFT_parser[1795]
-#define COLOR_ReduceAction441 SFT_parser[1796]
-#define INIT_TABLE_POS_ReduceAction441 SFT_parser[1797]
-#define COLOR_parser___ReduceAction441___init SFT_parser[1798]
-#define ID_ReduceAction442 SFT_parser[1799]
-#define COLOR_ReduceAction442 SFT_parser[1800]
-#define INIT_TABLE_POS_ReduceAction442 SFT_parser[1801]
-#define COLOR_parser___ReduceAction442___init SFT_parser[1802]
-#define ID_ReduceAction443 SFT_parser[1803]
-#define COLOR_ReduceAction443 SFT_parser[1804]
-#define INIT_TABLE_POS_ReduceAction443 SFT_parser[1805]
-#define COLOR_parser___ReduceAction443___init SFT_parser[1806]
-#define ID_ReduceAction444 SFT_parser[1807]
-#define COLOR_ReduceAction444 SFT_parser[1808]
-#define INIT_TABLE_POS_ReduceAction444 SFT_parser[1809]
-#define COLOR_parser___ReduceAction444___init SFT_parser[1810]
-#define ID_ReduceAction445 SFT_parser[1811]
-#define COLOR_ReduceAction445 SFT_parser[1812]
-#define INIT_TABLE_POS_ReduceAction445 SFT_parser[1813]
-#define COLOR_parser___ReduceAction445___init SFT_parser[1814]
-#define ID_ReduceAction446 SFT_parser[1815]
-#define COLOR_ReduceAction446 SFT_parser[1816]
-#define INIT_TABLE_POS_ReduceAction446 SFT_parser[1817]
-#define COLOR_parser___ReduceAction446___init SFT_parser[1818]
-#define ID_ReduceAction447 SFT_parser[1819]
-#define COLOR_ReduceAction447 SFT_parser[1820]
-#define INIT_TABLE_POS_ReduceAction447 SFT_parser[1821]
-#define COLOR_parser___ReduceAction447___init SFT_parser[1822]
-#define ID_ReduceAction448 SFT_parser[1823]
-#define COLOR_ReduceAction448 SFT_parser[1824]
-#define INIT_TABLE_POS_ReduceAction448 SFT_parser[1825]
-#define COLOR_parser___ReduceAction448___init SFT_parser[1826]
-#define ID_ReduceAction449 SFT_parser[1827]
-#define COLOR_ReduceAction449 SFT_parser[1828]
-#define INIT_TABLE_POS_ReduceAction449 SFT_parser[1829]
-#define COLOR_parser___ReduceAction449___init SFT_parser[1830]
-#define ID_ReduceAction450 SFT_parser[1831]
-#define COLOR_ReduceAction450 SFT_parser[1832]
-#define INIT_TABLE_POS_ReduceAction450 SFT_parser[1833]
-#define COLOR_parser___ReduceAction450___init SFT_parser[1834]
-#define ID_ReduceAction451 SFT_parser[1835]
-#define COLOR_ReduceAction451 SFT_parser[1836]
-#define INIT_TABLE_POS_ReduceAction451 SFT_parser[1837]
-#define COLOR_parser___ReduceAction451___init SFT_parser[1838]
-#define ID_ReduceAction452 SFT_parser[1839]
-#define COLOR_ReduceAction452 SFT_parser[1840]
-#define INIT_TABLE_POS_ReduceAction452 SFT_parser[1841]
-#define COLOR_parser___ReduceAction452___init SFT_parser[1842]
-#define ID_ReduceAction453 SFT_parser[1843]
-#define COLOR_ReduceAction453 SFT_parser[1844]
-#define INIT_TABLE_POS_ReduceAction453 SFT_parser[1845]
-#define COLOR_parser___ReduceAction453___init SFT_parser[1846]
-#define ID_ReduceAction454 SFT_parser[1847]
-#define COLOR_ReduceAction454 SFT_parser[1848]
-#define INIT_TABLE_POS_ReduceAction454 SFT_parser[1849]
-#define COLOR_parser___ReduceAction454___init SFT_parser[1850]
-#define ID_ReduceAction455 SFT_parser[1851]
-#define COLOR_ReduceAction455 SFT_parser[1852]
-#define INIT_TABLE_POS_ReduceAction455 SFT_parser[1853]
-#define COLOR_parser___ReduceAction455___init SFT_parser[1854]
-#define ID_ReduceAction456 SFT_parser[1855]
-#define COLOR_ReduceAction456 SFT_parser[1856]
-#define INIT_TABLE_POS_ReduceAction456 SFT_parser[1857]
-#define COLOR_parser___ReduceAction456___init SFT_parser[1858]
-#define ID_ReduceAction457 SFT_parser[1859]
-#define COLOR_ReduceAction457 SFT_parser[1860]
-#define INIT_TABLE_POS_ReduceAction457 SFT_parser[1861]
-#define COLOR_parser___ReduceAction457___init SFT_parser[1862]
-#define ID_ReduceAction458 SFT_parser[1863]
-#define COLOR_ReduceAction458 SFT_parser[1864]
-#define INIT_TABLE_POS_ReduceAction458 SFT_parser[1865]
-#define COLOR_parser___ReduceAction458___init SFT_parser[1866]
-#define ID_ReduceAction459 SFT_parser[1867]
-#define COLOR_ReduceAction459 SFT_parser[1868]
-#define INIT_TABLE_POS_ReduceAction459 SFT_parser[1869]
-#define COLOR_parser___ReduceAction459___init SFT_parser[1870]
-#define ID_ReduceAction460 SFT_parser[1871]
-#define COLOR_ReduceAction460 SFT_parser[1872]
-#define INIT_TABLE_POS_ReduceAction460 SFT_parser[1873]
-#define COLOR_parser___ReduceAction460___init SFT_parser[1874]
-#define ID_ReduceAction461 SFT_parser[1875]
-#define COLOR_ReduceAction461 SFT_parser[1876]
-#define INIT_TABLE_POS_ReduceAction461 SFT_parser[1877]
-#define COLOR_parser___ReduceAction461___init SFT_parser[1878]
-#define ID_ReduceAction462 SFT_parser[1879]
-#define COLOR_ReduceAction462 SFT_parser[1880]
-#define INIT_TABLE_POS_ReduceAction462 SFT_parser[1881]
-#define COLOR_parser___ReduceAction462___init SFT_parser[1882]
-#define ID_ReduceAction463 SFT_parser[1883]
-#define COLOR_ReduceAction463 SFT_parser[1884]
-#define INIT_TABLE_POS_ReduceAction463 SFT_parser[1885]
-#define COLOR_parser___ReduceAction463___init SFT_parser[1886]
-#define ID_ReduceAction464 SFT_parser[1887]
-#define COLOR_ReduceAction464 SFT_parser[1888]
-#define INIT_TABLE_POS_ReduceAction464 SFT_parser[1889]
-#define COLOR_parser___ReduceAction464___init SFT_parser[1890]
-#define ID_ReduceAction465 SFT_parser[1891]
-#define COLOR_ReduceAction465 SFT_parser[1892]
-#define INIT_TABLE_POS_ReduceAction465 SFT_parser[1893]
-#define COLOR_parser___ReduceAction465___init SFT_parser[1894]
-#define ID_ReduceAction466 SFT_parser[1895]
-#define COLOR_ReduceAction466 SFT_parser[1896]
-#define INIT_TABLE_POS_ReduceAction466 SFT_parser[1897]
-#define COLOR_parser___ReduceAction466___init SFT_parser[1898]
-#define ID_ReduceAction467 SFT_parser[1899]
-#define COLOR_ReduceAction467 SFT_parser[1900]
-#define INIT_TABLE_POS_ReduceAction467 SFT_parser[1901]
-#define COLOR_parser___ReduceAction467___init SFT_parser[1902]
-#define ID_ReduceAction468 SFT_parser[1903]
-#define COLOR_ReduceAction468 SFT_parser[1904]
-#define INIT_TABLE_POS_ReduceAction468 SFT_parser[1905]
-#define COLOR_parser___ReduceAction468___init SFT_parser[1906]
-#define ID_ReduceAction469 SFT_parser[1907]
-#define COLOR_ReduceAction469 SFT_parser[1908]
-#define INIT_TABLE_POS_ReduceAction469 SFT_parser[1909]
-#define COLOR_parser___ReduceAction469___init SFT_parser[1910]
-#define ID_ReduceAction470 SFT_parser[1911]
-#define COLOR_ReduceAction470 SFT_parser[1912]
-#define INIT_TABLE_POS_ReduceAction470 SFT_parser[1913]
-#define COLOR_parser___ReduceAction470___init SFT_parser[1914]
-#define ID_ReduceAction471 SFT_parser[1915]
-#define COLOR_ReduceAction471 SFT_parser[1916]
-#define INIT_TABLE_POS_ReduceAction471 SFT_parser[1917]
-#define COLOR_parser___ReduceAction471___init SFT_parser[1918]
-#define ID_ReduceAction472 SFT_parser[1919]
-#define COLOR_ReduceAction472 SFT_parser[1920]
-#define INIT_TABLE_POS_ReduceAction472 SFT_parser[1921]
-#define COLOR_parser___ReduceAction472___init SFT_parser[1922]
-#define ID_ReduceAction473 SFT_parser[1923]
-#define COLOR_ReduceAction473 SFT_parser[1924]
-#define INIT_TABLE_POS_ReduceAction473 SFT_parser[1925]
-#define COLOR_parser___ReduceAction473___init SFT_parser[1926]
-#define ID_ReduceAction474 SFT_parser[1927]
-#define COLOR_ReduceAction474 SFT_parser[1928]
-#define INIT_TABLE_POS_ReduceAction474 SFT_parser[1929]
-#define COLOR_parser___ReduceAction474___init SFT_parser[1930]
-#define ID_ReduceAction475 SFT_parser[1931]
-#define COLOR_ReduceAction475 SFT_parser[1932]
-#define INIT_TABLE_POS_ReduceAction475 SFT_parser[1933]
-#define COLOR_parser___ReduceAction475___init SFT_parser[1934]
-#define ID_ReduceAction476 SFT_parser[1935]
-#define COLOR_ReduceAction476 SFT_parser[1936]
-#define INIT_TABLE_POS_ReduceAction476 SFT_parser[1937]
-#define COLOR_parser___ReduceAction476___init SFT_parser[1938]
-#define ID_ReduceAction477 SFT_parser[1939]
-#define COLOR_ReduceAction477 SFT_parser[1940]
-#define INIT_TABLE_POS_ReduceAction477 SFT_parser[1941]
-#define COLOR_parser___ReduceAction477___init SFT_parser[1942]
-#define ID_ReduceAction478 SFT_parser[1943]
-#define COLOR_ReduceAction478 SFT_parser[1944]
-#define INIT_TABLE_POS_ReduceAction478 SFT_parser[1945]
-#define COLOR_parser___ReduceAction478___init SFT_parser[1946]
-#define ID_ReduceAction479 SFT_parser[1947]
-#define COLOR_ReduceAction479 SFT_parser[1948]
-#define INIT_TABLE_POS_ReduceAction479 SFT_parser[1949]
-#define COLOR_parser___ReduceAction479___init SFT_parser[1950]
-#define ID_ReduceAction480 SFT_parser[1951]
-#define COLOR_ReduceAction480 SFT_parser[1952]
-#define INIT_TABLE_POS_ReduceAction480 SFT_parser[1953]
-#define COLOR_parser___ReduceAction480___init SFT_parser[1954]
-#define ID_ReduceAction481 SFT_parser[1955]
-#define COLOR_ReduceAction481 SFT_parser[1956]
-#define INIT_TABLE_POS_ReduceAction481 SFT_parser[1957]
-#define COLOR_parser___ReduceAction481___init SFT_parser[1958]
-#define ID_ReduceAction482 SFT_parser[1959]
-#define COLOR_ReduceAction482 SFT_parser[1960]
-#define INIT_TABLE_POS_ReduceAction482 SFT_parser[1961]
-#define COLOR_parser___ReduceAction482___init SFT_parser[1962]
-#define ID_ReduceAction483 SFT_parser[1963]
-#define COLOR_ReduceAction483 SFT_parser[1964]
-#define INIT_TABLE_POS_ReduceAction483 SFT_parser[1965]
-#define COLOR_parser___ReduceAction483___init SFT_parser[1966]
-#define ID_ReduceAction484 SFT_parser[1967]
-#define COLOR_ReduceAction484 SFT_parser[1968]
-#define INIT_TABLE_POS_ReduceAction484 SFT_parser[1969]
-#define COLOR_parser___ReduceAction484___init SFT_parser[1970]
-#define ID_ReduceAction485 SFT_parser[1971]
-#define COLOR_ReduceAction485 SFT_parser[1972]
-#define INIT_TABLE_POS_ReduceAction485 SFT_parser[1973]
-#define COLOR_parser___ReduceAction485___init SFT_parser[1974]
-#define ID_ReduceAction486 SFT_parser[1975]
-#define COLOR_ReduceAction486 SFT_parser[1976]
-#define INIT_TABLE_POS_ReduceAction486 SFT_parser[1977]
-#define COLOR_parser___ReduceAction486___init SFT_parser[1978]
-#define ID_ReduceAction487 SFT_parser[1979]
-#define COLOR_ReduceAction487 SFT_parser[1980]
-#define INIT_TABLE_POS_ReduceAction487 SFT_parser[1981]
-#define COLOR_parser___ReduceAction487___init SFT_parser[1982]
-#define ID_ReduceAction488 SFT_parser[1983]
-#define COLOR_ReduceAction488 SFT_parser[1984]
-#define INIT_TABLE_POS_ReduceAction488 SFT_parser[1985]
-#define COLOR_parser___ReduceAction488___init SFT_parser[1986]
-#define ID_ReduceAction489 SFT_parser[1987]
-#define COLOR_ReduceAction489 SFT_parser[1988]
-#define INIT_TABLE_POS_ReduceAction489 SFT_parser[1989]
-#define COLOR_parser___ReduceAction489___init SFT_parser[1990]
-#define ID_ReduceAction490 SFT_parser[1991]
-#define COLOR_ReduceAction490 SFT_parser[1992]
-#define INIT_TABLE_POS_ReduceAction490 SFT_parser[1993]
-#define COLOR_parser___ReduceAction490___init SFT_parser[1994]
-#define ID_ReduceAction491 SFT_parser[1995]
-#define COLOR_ReduceAction491 SFT_parser[1996]
-#define INIT_TABLE_POS_ReduceAction491 SFT_parser[1997]
-#define COLOR_parser___ReduceAction491___init SFT_parser[1998]
-#define ID_ReduceAction492 SFT_parser[1999]
-#define COLOR_ReduceAction492 SFT_parser[2000]
-#define INIT_TABLE_POS_ReduceAction492 SFT_parser[2001]
-#define COLOR_parser___ReduceAction492___init SFT_parser[2002]
-#define ID_ReduceAction493 SFT_parser[2003]
-#define COLOR_ReduceAction493 SFT_parser[2004]
-#define INIT_TABLE_POS_ReduceAction493 SFT_parser[2005]
-#define COLOR_parser___ReduceAction493___init SFT_parser[2006]
-#define ID_ReduceAction494 SFT_parser[2007]
-#define COLOR_ReduceAction494 SFT_parser[2008]
-#define INIT_TABLE_POS_ReduceAction494 SFT_parser[2009]
-#define COLOR_parser___ReduceAction494___init SFT_parser[2010]
-#define ID_ReduceAction495 SFT_parser[2011]
-#define COLOR_ReduceAction495 SFT_parser[2012]
-#define INIT_TABLE_POS_ReduceAction495 SFT_parser[2013]
-#define COLOR_parser___ReduceAction495___init SFT_parser[2014]
-#define ID_ReduceAction496 SFT_parser[2015]
-#define COLOR_ReduceAction496 SFT_parser[2016]
-#define INIT_TABLE_POS_ReduceAction496 SFT_parser[2017]
-#define COLOR_parser___ReduceAction496___init SFT_parser[2018]
-#define ID_ReduceAction497 SFT_parser[2019]
-#define COLOR_ReduceAction497 SFT_parser[2020]
-#define INIT_TABLE_POS_ReduceAction497 SFT_parser[2021]
-#define COLOR_parser___ReduceAction497___init SFT_parser[2022]
-#define ID_ReduceAction498 SFT_parser[2023]
-#define COLOR_ReduceAction498 SFT_parser[2024]
-#define INIT_TABLE_POS_ReduceAction498 SFT_parser[2025]
-#define COLOR_parser___ReduceAction498___init SFT_parser[2026]
-#define ID_ReduceAction499 SFT_parser[2027]
-#define COLOR_ReduceAction499 SFT_parser[2028]
-#define INIT_TABLE_POS_ReduceAction499 SFT_parser[2029]
-#define COLOR_parser___ReduceAction499___init SFT_parser[2030]
-#define ID_ReduceAction500 SFT_parser[2031]
-#define COLOR_ReduceAction500 SFT_parser[2032]
-#define INIT_TABLE_POS_ReduceAction500 SFT_parser[2033]
-#define COLOR_parser___ReduceAction500___init SFT_parser[2034]
-#define ID_ReduceAction501 SFT_parser[2035]
-#define COLOR_ReduceAction501 SFT_parser[2036]
-#define INIT_TABLE_POS_ReduceAction501 SFT_parser[2037]
-#define COLOR_parser___ReduceAction501___init SFT_parser[2038]
-#define ID_ReduceAction502 SFT_parser[2039]
-#define COLOR_ReduceAction502 SFT_parser[2040]
-#define INIT_TABLE_POS_ReduceAction502 SFT_parser[2041]
-#define COLOR_parser___ReduceAction502___init SFT_parser[2042]
-#define ID_ReduceAction503 SFT_parser[2043]
-#define COLOR_ReduceAction503 SFT_parser[2044]
-#define INIT_TABLE_POS_ReduceAction503 SFT_parser[2045]
-#define COLOR_parser___ReduceAction503___init SFT_parser[2046]
-#define ID_ReduceAction504 SFT_parser[2047]
-#define COLOR_ReduceAction504 SFT_parser[2048]
-#define INIT_TABLE_POS_ReduceAction504 SFT_parser[2049]
-#define COLOR_parser___ReduceAction504___init SFT_parser[2050]
-#define ID_ReduceAction505 SFT_parser[2051]
-#define COLOR_ReduceAction505 SFT_parser[2052]
-#define INIT_TABLE_POS_ReduceAction505 SFT_parser[2053]
-#define COLOR_parser___ReduceAction505___init SFT_parser[2054]
-#define ID_ReduceAction506 SFT_parser[2055]
-#define COLOR_ReduceAction506 SFT_parser[2056]
-#define INIT_TABLE_POS_ReduceAction506 SFT_parser[2057]
-#define COLOR_parser___ReduceAction506___init SFT_parser[2058]
-#define ID_ReduceAction507 SFT_parser[2059]
-#define COLOR_ReduceAction507 SFT_parser[2060]
-#define INIT_TABLE_POS_ReduceAction507 SFT_parser[2061]
-#define COLOR_parser___ReduceAction507___init SFT_parser[2062]
-#define ID_ReduceAction508 SFT_parser[2063]
-#define COLOR_ReduceAction508 SFT_parser[2064]
-#define INIT_TABLE_POS_ReduceAction508 SFT_parser[2065]
-#define COLOR_parser___ReduceAction508___init SFT_parser[2066]
-#define ID_ReduceAction509 SFT_parser[2067]
-#define COLOR_ReduceAction509 SFT_parser[2068]
-#define INIT_TABLE_POS_ReduceAction509 SFT_parser[2069]
-#define COLOR_parser___ReduceAction509___init SFT_parser[2070]
-#define ID_ReduceAction510 SFT_parser[2071]
-#define COLOR_ReduceAction510 SFT_parser[2072]
-#define INIT_TABLE_POS_ReduceAction510 SFT_parser[2073]
-#define COLOR_parser___ReduceAction510___init SFT_parser[2074]
-#define ID_ReduceAction511 SFT_parser[2075]
-#define COLOR_ReduceAction511 SFT_parser[2076]
-#define INIT_TABLE_POS_ReduceAction511 SFT_parser[2077]
-#define COLOR_parser___ReduceAction511___init SFT_parser[2078]
-#define ID_ReduceAction512 SFT_parser[2079]
-#define COLOR_ReduceAction512 SFT_parser[2080]
-#define INIT_TABLE_POS_ReduceAction512 SFT_parser[2081]
-#define COLOR_parser___ReduceAction512___init SFT_parser[2082]
-#define ID_ReduceAction513 SFT_parser[2083]
-#define COLOR_ReduceAction513 SFT_parser[2084]
-#define INIT_TABLE_POS_ReduceAction513 SFT_parser[2085]
-#define COLOR_parser___ReduceAction513___init SFT_parser[2086]
-#define ID_ReduceAction514 SFT_parser[2087]
-#define COLOR_ReduceAction514 SFT_parser[2088]
-#define INIT_TABLE_POS_ReduceAction514 SFT_parser[2089]
-#define COLOR_parser___ReduceAction514___init SFT_parser[2090]
-#define ID_ReduceAction515 SFT_parser[2091]
-#define COLOR_ReduceAction515 SFT_parser[2092]
-#define INIT_TABLE_POS_ReduceAction515 SFT_parser[2093]
-#define COLOR_parser___ReduceAction515___init SFT_parser[2094]
-#define ID_ReduceAction516 SFT_parser[2095]
-#define COLOR_ReduceAction516 SFT_parser[2096]
-#define INIT_TABLE_POS_ReduceAction516 SFT_parser[2097]
-#define COLOR_parser___ReduceAction516___init SFT_parser[2098]
-#define ID_ReduceAction517 SFT_parser[2099]
-#define COLOR_ReduceAction517 SFT_parser[2100]
-#define INIT_TABLE_POS_ReduceAction517 SFT_parser[2101]
-#define COLOR_parser___ReduceAction517___init SFT_parser[2102]
-#define ID_ReduceAction518 SFT_parser[2103]
-#define COLOR_ReduceAction518 SFT_parser[2104]
-#define INIT_TABLE_POS_ReduceAction518 SFT_parser[2105]
-#define COLOR_parser___ReduceAction518___init SFT_parser[2106]
-#define ID_ReduceAction519 SFT_parser[2107]
-#define COLOR_ReduceAction519 SFT_parser[2108]
-#define INIT_TABLE_POS_ReduceAction519 SFT_parser[2109]
-#define COLOR_parser___ReduceAction519___init SFT_parser[2110]
-#define ID_ReduceAction520 SFT_parser[2111]
-#define COLOR_ReduceAction520 SFT_parser[2112]
-#define INIT_TABLE_POS_ReduceAction520 SFT_parser[2113]
-#define COLOR_parser___ReduceAction520___init SFT_parser[2114]
-#define ID_ReduceAction521 SFT_parser[2115]
-#define COLOR_ReduceAction521 SFT_parser[2116]
-#define INIT_TABLE_POS_ReduceAction521 SFT_parser[2117]
-#define COLOR_parser___ReduceAction521___init SFT_parser[2118]
-#define ID_ReduceAction522 SFT_parser[2119]
-#define COLOR_ReduceAction522 SFT_parser[2120]
-#define INIT_TABLE_POS_ReduceAction522 SFT_parser[2121]
-#define COLOR_parser___ReduceAction522___init SFT_parser[2122]
-#define ID_ReduceAction523 SFT_parser[2123]
-#define COLOR_ReduceAction523 SFT_parser[2124]
-#define INIT_TABLE_POS_ReduceAction523 SFT_parser[2125]
-#define COLOR_parser___ReduceAction523___init SFT_parser[2126]
-#define ID_ReduceAction524 SFT_parser[2127]
-#define COLOR_ReduceAction524 SFT_parser[2128]
-#define INIT_TABLE_POS_ReduceAction524 SFT_parser[2129]
-#define COLOR_parser___ReduceAction524___init SFT_parser[2130]
-#define ID_ReduceAction525 SFT_parser[2131]
-#define COLOR_ReduceAction525 SFT_parser[2132]
-#define INIT_TABLE_POS_ReduceAction525 SFT_parser[2133]
-#define COLOR_parser___ReduceAction525___init SFT_parser[2134]
-#define ID_ReduceAction526 SFT_parser[2135]
-#define COLOR_ReduceAction526 SFT_parser[2136]
-#define INIT_TABLE_POS_ReduceAction526 SFT_parser[2137]
-#define COLOR_parser___ReduceAction526___init SFT_parser[2138]
-#define ID_ReduceAction527 SFT_parser[2139]
-#define COLOR_ReduceAction527 SFT_parser[2140]
-#define INIT_TABLE_POS_ReduceAction527 SFT_parser[2141]
-#define COLOR_parser___ReduceAction527___init SFT_parser[2142]
-#define ID_ReduceAction528 SFT_parser[2143]
-#define COLOR_ReduceAction528 SFT_parser[2144]
-#define INIT_TABLE_POS_ReduceAction528 SFT_parser[2145]
-#define COLOR_parser___ReduceAction528___init SFT_parser[2146]
-#define ID_ReduceAction529 SFT_parser[2147]
-#define COLOR_ReduceAction529 SFT_parser[2148]
-#define INIT_TABLE_POS_ReduceAction529 SFT_parser[2149]
-#define COLOR_parser___ReduceAction529___init SFT_parser[2150]
-#define ID_ReduceAction530 SFT_parser[2151]
-#define COLOR_ReduceAction530 SFT_parser[2152]
-#define INIT_TABLE_POS_ReduceAction530 SFT_parser[2153]
-#define COLOR_parser___ReduceAction530___init SFT_parser[2154]
-#define ID_ReduceAction531 SFT_parser[2155]
-#define COLOR_ReduceAction531 SFT_parser[2156]
-#define INIT_TABLE_POS_ReduceAction531 SFT_parser[2157]
-#define COLOR_parser___ReduceAction531___init SFT_parser[2158]
-#define ID_ReduceAction532 SFT_parser[2159]
-#define COLOR_ReduceAction532 SFT_parser[2160]
-#define INIT_TABLE_POS_ReduceAction532 SFT_parser[2161]
-#define COLOR_parser___ReduceAction532___init SFT_parser[2162]
-#define ID_ReduceAction533 SFT_parser[2163]
-#define COLOR_ReduceAction533 SFT_parser[2164]
-#define INIT_TABLE_POS_ReduceAction533 SFT_parser[2165]
-#define COLOR_parser___ReduceAction533___init SFT_parser[2166]
-#define ID_ReduceAction534 SFT_parser[2167]
-#define COLOR_ReduceAction534 SFT_parser[2168]
-#define INIT_TABLE_POS_ReduceAction534 SFT_parser[2169]
-#define COLOR_parser___ReduceAction534___init SFT_parser[2170]
-#define ID_ReduceAction535 SFT_parser[2171]
-#define COLOR_ReduceAction535 SFT_parser[2172]
-#define INIT_TABLE_POS_ReduceAction535 SFT_parser[2173]
-#define COLOR_parser___ReduceAction535___init SFT_parser[2174]
-#define ID_ReduceAction536 SFT_parser[2175]
-#define COLOR_ReduceAction536 SFT_parser[2176]
-#define INIT_TABLE_POS_ReduceAction536 SFT_parser[2177]
-#define COLOR_parser___ReduceAction536___init SFT_parser[2178]
-#define ID_ReduceAction537 SFT_parser[2179]
-#define COLOR_ReduceAction537 SFT_parser[2180]
-#define INIT_TABLE_POS_ReduceAction537 SFT_parser[2181]
-#define COLOR_parser___ReduceAction537___init SFT_parser[2182]
-#define ID_ReduceAction538 SFT_parser[2183]
-#define COLOR_ReduceAction538 SFT_parser[2184]
-#define INIT_TABLE_POS_ReduceAction538 SFT_parser[2185]
-#define COLOR_parser___ReduceAction538___init SFT_parser[2186]
-#define ID_ReduceAction539 SFT_parser[2187]
-#define COLOR_ReduceAction539 SFT_parser[2188]
-#define INIT_TABLE_POS_ReduceAction539 SFT_parser[2189]
-#define COLOR_parser___ReduceAction539___init SFT_parser[2190]
-#define ID_ReduceAction540 SFT_parser[2191]
-#define COLOR_ReduceAction540 SFT_parser[2192]
-#define INIT_TABLE_POS_ReduceAction540 SFT_parser[2193]
-#define COLOR_parser___ReduceAction540___init SFT_parser[2194]
-#define ID_ReduceAction541 SFT_parser[2195]
-#define COLOR_ReduceAction541 SFT_parser[2196]
-#define INIT_TABLE_POS_ReduceAction541 SFT_parser[2197]
-#define COLOR_parser___ReduceAction541___init SFT_parser[2198]
-#define ID_ReduceAction542 SFT_parser[2199]
-#define COLOR_ReduceAction542 SFT_parser[2200]
-#define INIT_TABLE_POS_ReduceAction542 SFT_parser[2201]
-#define COLOR_parser___ReduceAction542___init SFT_parser[2202]
-#define ID_ReduceAction543 SFT_parser[2203]
-#define COLOR_ReduceAction543 SFT_parser[2204]
-#define INIT_TABLE_POS_ReduceAction543 SFT_parser[2205]
-#define COLOR_parser___ReduceAction543___init SFT_parser[2206]
-#define ID_ReduceAction544 SFT_parser[2207]
-#define COLOR_ReduceAction544 SFT_parser[2208]
-#define INIT_TABLE_POS_ReduceAction544 SFT_parser[2209]
-#define COLOR_parser___ReduceAction544___init SFT_parser[2210]
-#define ID_ReduceAction545 SFT_parser[2211]
-#define COLOR_ReduceAction545 SFT_parser[2212]
-#define INIT_TABLE_POS_ReduceAction545 SFT_parser[2213]
-#define COLOR_parser___ReduceAction545___init SFT_parser[2214]
-#define ID_ReduceAction546 SFT_parser[2215]
-#define COLOR_ReduceAction546 SFT_parser[2216]
-#define INIT_TABLE_POS_ReduceAction546 SFT_parser[2217]
-#define COLOR_parser___ReduceAction546___init SFT_parser[2218]
-#define ID_ReduceAction547 SFT_parser[2219]
-#define COLOR_ReduceAction547 SFT_parser[2220]
-#define INIT_TABLE_POS_ReduceAction547 SFT_parser[2221]
-#define COLOR_parser___ReduceAction547___init SFT_parser[2222]
-#define ID_ReduceAction548 SFT_parser[2223]
-#define COLOR_ReduceAction548 SFT_parser[2224]
-#define INIT_TABLE_POS_ReduceAction548 SFT_parser[2225]
-#define COLOR_parser___ReduceAction548___init SFT_parser[2226]
-#define ID_ReduceAction549 SFT_parser[2227]
-#define COLOR_ReduceAction549 SFT_parser[2228]
-#define INIT_TABLE_POS_ReduceAction549 SFT_parser[2229]
-#define COLOR_parser___ReduceAction549___init SFT_parser[2230]
-#define ID_ReduceAction550 SFT_parser[2231]
-#define COLOR_ReduceAction550 SFT_parser[2232]
-#define INIT_TABLE_POS_ReduceAction550 SFT_parser[2233]
-#define COLOR_parser___ReduceAction550___init SFT_parser[2234]
-#define ID_ReduceAction551 SFT_parser[2235]
-#define COLOR_ReduceAction551 SFT_parser[2236]
-#define INIT_TABLE_POS_ReduceAction551 SFT_parser[2237]
-#define COLOR_parser___ReduceAction551___init SFT_parser[2238]
-#define ID_ReduceAction552 SFT_parser[2239]
-#define COLOR_ReduceAction552 SFT_parser[2240]
-#define INIT_TABLE_POS_ReduceAction552 SFT_parser[2241]
-#define COLOR_parser___ReduceAction552___init SFT_parser[2242]
-#define ID_ReduceAction553 SFT_parser[2243]
-#define COLOR_ReduceAction553 SFT_parser[2244]
-#define INIT_TABLE_POS_ReduceAction553 SFT_parser[2245]
-#define COLOR_parser___ReduceAction553___init SFT_parser[2246]
-#define ID_ReduceAction554 SFT_parser[2247]
-#define COLOR_ReduceAction554 SFT_parser[2248]
-#define INIT_TABLE_POS_ReduceAction554 SFT_parser[2249]
-#define COLOR_parser___ReduceAction554___init SFT_parser[2250]
-#define ID_ReduceAction555 SFT_parser[2251]
-#define COLOR_ReduceAction555 SFT_parser[2252]
-#define INIT_TABLE_POS_ReduceAction555 SFT_parser[2253]
-#define COLOR_parser___ReduceAction555___init SFT_parser[2254]
-#define ID_ReduceAction556 SFT_parser[2255]
-#define COLOR_ReduceAction556 SFT_parser[2256]
-#define INIT_TABLE_POS_ReduceAction556 SFT_parser[2257]
-#define COLOR_parser___ReduceAction556___init SFT_parser[2258]
-#define ID_ReduceAction557 SFT_parser[2259]
-#define COLOR_ReduceAction557 SFT_parser[2260]
-#define INIT_TABLE_POS_ReduceAction557 SFT_parser[2261]
-#define COLOR_parser___ReduceAction557___init SFT_parser[2262]
-#define ID_ReduceAction558 SFT_parser[2263]
-#define COLOR_ReduceAction558 SFT_parser[2264]
-#define INIT_TABLE_POS_ReduceAction558 SFT_parser[2265]
-#define COLOR_parser___ReduceAction558___init SFT_parser[2266]
-#define ID_ReduceAction559 SFT_parser[2267]
-#define COLOR_ReduceAction559 SFT_parser[2268]
-#define INIT_TABLE_POS_ReduceAction559 SFT_parser[2269]
-#define COLOR_parser___ReduceAction559___init SFT_parser[2270]
-#define ID_ReduceAction560 SFT_parser[2271]
-#define COLOR_ReduceAction560 SFT_parser[2272]
-#define INIT_TABLE_POS_ReduceAction560 SFT_parser[2273]
-#define COLOR_parser___ReduceAction560___init SFT_parser[2274]
-#define ID_ReduceAction561 SFT_parser[2275]
-#define COLOR_ReduceAction561 SFT_parser[2276]
-#define INIT_TABLE_POS_ReduceAction561 SFT_parser[2277]
-#define COLOR_parser___ReduceAction561___init SFT_parser[2278]
-#define ID_ReduceAction562 SFT_parser[2279]
-#define COLOR_ReduceAction562 SFT_parser[2280]
-#define INIT_TABLE_POS_ReduceAction562 SFT_parser[2281]
-#define COLOR_parser___ReduceAction562___init SFT_parser[2282]
-#define ID_ReduceAction563 SFT_parser[2283]
-#define COLOR_ReduceAction563 SFT_parser[2284]
-#define INIT_TABLE_POS_ReduceAction563 SFT_parser[2285]
-#define COLOR_parser___ReduceAction563___init SFT_parser[2286]
-#define ID_ReduceAction564 SFT_parser[2287]
-#define COLOR_ReduceAction564 SFT_parser[2288]
-#define INIT_TABLE_POS_ReduceAction564 SFT_parser[2289]
-#define COLOR_parser___ReduceAction564___init SFT_parser[2290]
-#define ID_ReduceAction565 SFT_parser[2291]
-#define COLOR_ReduceAction565 SFT_parser[2292]
-#define INIT_TABLE_POS_ReduceAction565 SFT_parser[2293]
-#define COLOR_parser___ReduceAction565___init SFT_parser[2294]
-#define ID_ReduceAction566 SFT_parser[2295]
-#define COLOR_ReduceAction566 SFT_parser[2296]
-#define INIT_TABLE_POS_ReduceAction566 SFT_parser[2297]
-#define COLOR_parser___ReduceAction566___init SFT_parser[2298]
-#define ID_ReduceAction567 SFT_parser[2299]
-#define COLOR_ReduceAction567 SFT_parser[2300]
-#define INIT_TABLE_POS_ReduceAction567 SFT_parser[2301]
-#define COLOR_parser___ReduceAction567___init SFT_parser[2302]
-#define ID_ReduceAction568 SFT_parser[2303]
-#define COLOR_ReduceAction568 SFT_parser[2304]
-#define INIT_TABLE_POS_ReduceAction568 SFT_parser[2305]
-#define COLOR_parser___ReduceAction568___init SFT_parser[2306]
+#define ID_Parser SFT_parser[10]
+#define COLOR_Parser SFT_parser[11]
+#define COLOR_parser___Parser____lexer SFT_parser[12]
+#define COLOR_parser___Parser____stack SFT_parser[13]
+#define COLOR_parser___Parser____stack_pos SFT_parser[14]
+#define COLOR_parser___Parser____reduce_table SFT_parser[15]
+#define INIT_TABLE_POS_Parser SFT_parser[16]
+#define COLOR_parser___Parser___init SFT_parser[17]
+#define COLOR_parser___Parser___go_to SFT_parser[18]
+#define COLOR_parser___Parser___push SFT_parser[19]
+#define COLOR_parser___Parser___state SFT_parser[20]
+#define COLOR_parser___Parser___pop SFT_parser[21]
+#define COLOR_parser___Parser___parse SFT_parser[22]
+#define COLOR_parser___Parser___build_reduce_table SFT_parser[23]
+#define ID_SearchTokensVisitor SFT_parser[24]
+#define COLOR_SearchTokensVisitor SFT_parser[25]
+#define COLOR_parser___SearchTokensVisitor____untokenned_nodes SFT_parser[26]
+#define COLOR_parser___SearchTokensVisitor____last_token SFT_parser[27]
+#define INIT_TABLE_POS_SearchTokensVisitor SFT_parser[28]
+#define COLOR_parser___SearchTokensVisitor___init SFT_parser[29]
+#define ID_ReduceAction SFT_parser[30]
+#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 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);
@@ -7496,4 +7525,32 @@ typedef void (* parser___ReduceAction568___init_t)(val_t  self, int* init_table)
 void parser___ReduceAction568___init(val_t  self, int* init_table);
 val_t NEW_parser___ReduceAction568___init();
 #define LOCATE_parser___ReduceAction568___init "parser::ReduceAction568::init"
+typedef void (* parser___ReduceAction569___action_t)(val_t  self, val_t  param0);
+void parser___ReduceAction569___action(val_t  self, val_t  param0);
+#define LOCATE_parser___ReduceAction569___action "parser::ReduceAction569::(parser::ReduceAction::action)"
+typedef void (* parser___ReduceAction569___init_t)(val_t  self, int* init_table);
+void parser___ReduceAction569___init(val_t  self, int* init_table);
+val_t NEW_parser___ReduceAction569___init();
+#define LOCATE_parser___ReduceAction569___init "parser::ReduceAction569::init"
+typedef void (* parser___ReduceAction570___action_t)(val_t  self, val_t  param0);
+void parser___ReduceAction570___action(val_t  self, val_t  param0);
+#define LOCATE_parser___ReduceAction570___action "parser::ReduceAction570::(parser::ReduceAction::action)"
+typedef void (* parser___ReduceAction570___init_t)(val_t  self, int* init_table);
+void parser___ReduceAction570___init(val_t  self, int* init_table);
+val_t NEW_parser___ReduceAction570___init();
+#define LOCATE_parser___ReduceAction570___init "parser::ReduceAction570::init"
+typedef void (* parser___ReduceAction571___action_t)(val_t  self, val_t  param0);
+void parser___ReduceAction571___action(val_t  self, val_t  param0);
+#define LOCATE_parser___ReduceAction571___action "parser::ReduceAction571::(parser::ReduceAction::action)"
+typedef void (* parser___ReduceAction571___init_t)(val_t  self, int* init_table);
+void parser___ReduceAction571___init(val_t  self, int* init_table);
+val_t NEW_parser___ReduceAction571___init();
+#define LOCATE_parser___ReduceAction571___init "parser::ReduceAction571::init"
+typedef void (* parser___ReduceAction572___action_t)(val_t  self, val_t  param0);
+void parser___ReduceAction572___action(val_t  self, val_t  param0);
+#define LOCATE_parser___ReduceAction572___action "parser::ReduceAction572::(parser::ReduceAction::action)"
+typedef void (* parser___ReduceAction572___init_t)(val_t  self, int* init_table);
+void parser___ReduceAction572___init(val_t  self, int* init_table);
+val_t NEW_parser___ReduceAction572___init();
+#define LOCATE_parser___ReduceAction572___init "parser::ReduceAction572::init"
 #endif
index d7854f3..6cf68f8 100644 (file)
 /* This C file is generated by NIT to compile module parser_nodes. */
 #include "parser_nodes._sep.h"
 val_t parser_nodes___PPropdef___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___PPropdef___n_doc, 280};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 283, LOCATE_parser_nodes___PPropdef___n_doc};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___PPropdef___n_doc__eq, 280};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 283, LOCATE_parser_nodes___PPropdef___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___PAble___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___PAble___n_kwredef, 283};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 286, LOCATE_parser_nodes___PAble___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___PAble___n_kwredef__eq, 283};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 286, LOCATE_parser_nodes___PAble___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___PParam___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___PParam___n_id, 289};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 292, LOCATE_parser_nodes___PParam___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___PParam___n_id__eq, 289};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 292, LOCATE_parser_nodes___PParam___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___PParam___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___PParam___n_type, 290};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 293, LOCATE_parser_nodes___PParam___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___PParam___n_type__eq, 290};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 293, LOCATE_parser_nodes___PParam___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AModule___n_packagedecl(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AModule___n_packagedecl, 300};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 303, LOCATE_parser_nodes___AModule___n_packagedecl};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AModule___n_packagedecl__eq, 300};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 303, LOCATE_parser_nodes___AModule___n_packagedecl__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AModule___n_imports(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AModule___n_imports, 301};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 304, LOCATE_parser_nodes___AModule___n_imports};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AModule___n_imports__eq, 301};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 304, LOCATE_parser_nodes___AModule___n_imports__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AModule___n_classdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AModule___n_classdefs, 302};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 305, LOCATE_parser_nodes___AModule___n_classdefs};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AModule___n_classdefs__eq, 302};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 305, LOCATE_parser_nodes___AModule___n_classdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APackagedecl___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___APackagedecl___n_doc, 306};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 309, LOCATE_parser_nodes___APackagedecl___n_doc};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___APackagedecl___n_doc__eq, 306};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 309, LOCATE_parser_nodes___APackagedecl___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APackagedecl___n_kwpackage(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___APackagedecl___n_kwpackage, 307};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___APackagedecl___n_kwpackage__eq, 307};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 310, LOCATE_parser_nodes___APackagedecl___n_kwpackage__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APackagedecl___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___APackagedecl___n_id, 308};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 311, LOCATE_parser_nodes___APackagedecl___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___APackagedecl___n_id__eq, 308};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 311, LOCATE_parser_nodes___APackagedecl___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AImport___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AImport___n_visibility, 312};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 315, LOCATE_parser_nodes___AImport___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AImport___n_visibility__eq, 312};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 315, LOCATE_parser_nodes___AImport___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AImport___n_kwimport(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AImport___n_kwimport, 313};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 316, LOCATE_parser_nodes___AImport___n_kwimport};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AImport___n_kwimport__eq, 313};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 316, LOCATE_parser_nodes___AImport___n_kwimport__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AImport___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AImport___n_id, 314};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 317, LOCATE_parser_nodes___AImport___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AImport___n_id__eq, 314};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 317, LOCATE_parser_nodes___AImport___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANoImport___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANoImport___n_visibility, 318};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 321, LOCATE_parser_nodes___ANoImport___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANoImport___n_visibility__eq, 318};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 321, LOCATE_parser_nodes___ANoImport___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANoImport___n_kwimport(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANoImport___n_kwimport, 319};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 322, LOCATE_parser_nodes___ANoImport___n_kwimport};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANoImport___n_kwimport__eq, 319};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 322, LOCATE_parser_nodes___ANoImport___n_kwimport__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANoImport___n_kwend(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANoImport___n_kwend, 320};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 323, LOCATE_parser_nodes___ANoImport___n_kwend};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANoImport___n_kwend__eq, 320};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 323, LOCATE_parser_nodes___ANoImport___n_kwend__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APrivateVisibility___n_kwprivate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate, 327};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate__eq, 327};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 330, LOCATE_parser_nodes___APrivateVisibility___n_kwprivate__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AProtectedVisibility___n_kwprotected(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected, 331};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected__eq, 331};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 334, LOCATE_parser_nodes___AProtectedVisibility___n_kwprotected__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIntrudeVisibility___n_kwintrude(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude, 335};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude__eq, 335};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 338, LOCATE_parser_nodes___AIntrudeVisibility___n_kwintrude__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_doc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_doc, 339};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 342, LOCATE_parser_nodes___AClassdef___n_doc};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_doc__eq, 339};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 342, LOCATE_parser_nodes___AClassdef___n_doc__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_kwredef, 340};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 343, LOCATE_parser_nodes___AClassdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_kwredef__eq, 340};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 343, LOCATE_parser_nodes___AClassdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_visibility, 341};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 344, LOCATE_parser_nodes___AClassdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_visibility__eq, 341};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 344, LOCATE_parser_nodes___AClassdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_classkind(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_classkind, 342};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 345, LOCATE_parser_nodes___AClassdef___n_classkind};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_classkind__eq, 342};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 345, LOCATE_parser_nodes___AClassdef___n_classkind__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_id, 343};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 346, LOCATE_parser_nodes___AClassdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_id__eq, 343};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 346, LOCATE_parser_nodes___AClassdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_formaldefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_formaldefs, 344};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_formaldefs__eq, 344};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 347, LOCATE_parser_nodes___AClassdef___n_formaldefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_superclasses(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_superclasses, 345};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 348, LOCATE_parser_nodes___AClassdef___n_superclasses};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_superclasses__eq, 345};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 348, LOCATE_parser_nodes___AClassdef___n_superclasses__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AClassdef___n_propdefs, 346};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 349, LOCATE_parser_nodes___AClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AClassdef___n_propdefs__eq, 346};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 349, LOCATE_parser_nodes___AClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATopClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ATopClassdef___n_propdefs, 350};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ATopClassdef___n_propdefs__eq, 350};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 353, LOCATE_parser_nodes___ATopClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMainClassdef___n_propdefs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMainClassdef___n_propdefs, 354};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMainClassdef___n_propdefs__eq, 354};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 357, LOCATE_parser_nodes___AMainClassdef___n_propdefs__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteClasskind___n_kwclass(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass, 358};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass__eq, 358};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 361, LOCATE_parser_nodes___AConcreteClasskind___n_kwclass__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAbstractClasskind___n_kwabstract(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract, 362};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract__eq, 362};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 365, LOCATE_parser_nodes___AAbstractClasskind___n_kwabstract__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAbstractClasskind___n_kwclass(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass, 363};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass__eq, 363};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 366, LOCATE_parser_nodes___AAbstractClasskind___n_kwclass__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInterfaceClasskind___n_kwinterface(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface, 367};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface__eq, 367};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 370, LOCATE_parser_nodes___AInterfaceClasskind___n_kwinterface__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AUniversalClasskind___n_kwuniversal(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal, 371};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal__eq, 371};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 374, LOCATE_parser_nodes___AUniversalClasskind___n_kwuniversal__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFormaldef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AFormaldef___n_id, 375};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 378, LOCATE_parser_nodes___AFormaldef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AFormaldef___n_id__eq, 375};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 378, LOCATE_parser_nodes___AFormaldef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFormaldef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AFormaldef___n_type, 376};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 379, LOCATE_parser_nodes___AFormaldef___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AFormaldef___n_type__eq, 376};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 379, LOCATE_parser_nodes___AFormaldef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperclass___n_kwspecial(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASuperclass___n_kwspecial, 380};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASuperclass___n_kwspecial__eq, 380};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 383, LOCATE_parser_nodes___ASuperclass___n_kwspecial__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperclass___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASuperclass___n_type, 381};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 384, LOCATE_parser_nodes___ASuperclass___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASuperclass___n_type__eq, 381};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 384, LOCATE_parser_nodes___ASuperclass___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_kwredef, 385};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_kwredef__eq, 385};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 388, LOCATE_parser_nodes___AAttrPropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_visibility, 386};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_visibility__eq, 386};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 389, LOCATE_parser_nodes___AAttrPropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_kwattr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_kwattr, 387};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_kwattr__eq, 387};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 390, LOCATE_parser_nodes___AAttrPropdef___n_kwattr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_id, 388};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 391, LOCATE_parser_nodes___AAttrPropdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_id__eq, 388};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 391, LOCATE_parser_nodes___AAttrPropdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_type, 389};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 392, LOCATE_parser_nodes___AAttrPropdef___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_type__eq, 389};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 392, LOCATE_parser_nodes___AAttrPropdef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_readable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_readable, 390};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_readable__eq, 390};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 393, LOCATE_parser_nodes___AAttrPropdef___n_readable__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_writable, 391};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_writable__eq, 391};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 394, LOCATE_parser_nodes___AAttrPropdef___n_writable__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrPropdef___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrPropdef___n_expr, 392};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrPropdef___n_expr__eq, 392};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 395, LOCATE_parser_nodes___AAttrPropdef___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMethPropdef___n_kwredef, 396};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMethPropdef___n_kwredef__eq, 396};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 399, LOCATE_parser_nodes___AMethPropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMethPropdef___n_visibility, 397};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMethPropdef___n_visibility__eq, 397};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 400, LOCATE_parser_nodes___AMethPropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_methid(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMethPropdef___n_methid, 398};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 401, LOCATE_parser_nodes___AMethPropdef___n_methid};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMethPropdef___n_methid__eq, 398};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 401, LOCATE_parser_nodes___AMethPropdef___n_methid__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMethPropdef___n_signature(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMethPropdef___n_signature, 399};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 402, LOCATE_parser_nodes___AMethPropdef___n_signature};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMethPropdef___n_signature__eq, 399};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 402, LOCATE_parser_nodes___AMethPropdef___n_signature__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADeferredMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth, 403};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq, 403};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 406, LOCATE_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInternMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth, 407};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth__eq, 407};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 410, LOCATE_parser_nodes___AInternMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AExternMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth, 411};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth__eq, 411};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 414, LOCATE_parser_nodes___AExternMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AExternMethPropdef___n_extern(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AExternMethPropdef___n_extern, 412};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AExternMethPropdef___n_extern__eq, 412};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 415, LOCATE_parser_nodes___AExternMethPropdef___n_extern__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteMethPropdef___n_kwmeth(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth, 416};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq, 416};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 419, LOCATE_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteMethPropdef___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AConcreteMethPropdef___n_block, 417};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AConcreteMethPropdef___n_block__eq, 417};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 420, LOCATE_parser_nodes___AConcreteMethPropdef___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AConcreteInitPropdef___n_kwinit(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit, 421};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit__eq, 421};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 424, LOCATE_parser_nodes___AConcreteInitPropdef___n_kwinit__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_kwredef(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ATypePropdef___n_kwredef, 428};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ATypePropdef___n_kwredef__eq, 428};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 431, LOCATE_parser_nodes___ATypePropdef___n_kwredef__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_visibility(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ATypePropdef___n_visibility, 429};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ATypePropdef___n_visibility__eq, 429};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 432, LOCATE_parser_nodes___ATypePropdef___n_visibility__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_kwtype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ATypePropdef___n_kwtype, 430};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ATypePropdef___n_kwtype__eq, 430};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 433, LOCATE_parser_nodes___ATypePropdef___n_kwtype__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ATypePropdef___n_id, 431};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 434, LOCATE_parser_nodes___ATypePropdef___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ATypePropdef___n_id__eq, 431};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 434, LOCATE_parser_nodes___ATypePropdef___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATypePropdef___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ATypePropdef___n_type, 432};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 435, LOCATE_parser_nodes___ATypePropdef___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ATypePropdef___n_type__eq, 432};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 435, LOCATE_parser_nodes___ATypePropdef___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReadAble___n_kwreadable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AReadAble___n_kwreadable, 436};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AReadAble___n_kwreadable__eq, 436};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 439, LOCATE_parser_nodes___AReadAble___n_kwreadable__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWriteAble___n_kwwritable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AWriteAble___n_kwwritable, 440};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AWriteAble___n_kwwritable__eq, 440};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 443, LOCATE_parser_nodes___AWriteAble___n_kwwritable__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIdMethid___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIdMethid___n_id, 444};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 447, LOCATE_parser_nodes___AIdMethid___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIdMethid___n_id__eq, 444};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 447, LOCATE_parser_nodes___AIdMethid___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APlusMethid___n_plus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___APlusMethid___n_plus, 448};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 451, LOCATE_parser_nodes___APlusMethid___n_plus};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___APlusMethid___n_plus__eq, 448};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 451, LOCATE_parser_nodes___APlusMethid___n_plus__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMinusMethid___n_minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMinusMethid___n_minus, 452};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 455, LOCATE_parser_nodes___AMinusMethid___n_minus};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMinusMethid___n_minus__eq, 452};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 455, LOCATE_parser_nodes___AMinusMethid___n_minus__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStarMethid___n_star(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AStarMethid___n_star, 456};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 459, LOCATE_parser_nodes___AStarMethid___n_star};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AStarMethid___n_star__eq, 456};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 459, LOCATE_parser_nodes___AStarMethid___n_star__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASlashMethid___n_slash(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASlashMethid___n_slash, 460};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 463, LOCATE_parser_nodes___ASlashMethid___n_slash};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASlashMethid___n_slash__eq, 460};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 463, LOCATE_parser_nodes___ASlashMethid___n_slash__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___APercentMethid___n_percent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___APercentMethid___n_percent, 464};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 467, LOCATE_parser_nodes___APercentMethid___n_percent};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___APercentMethid___n_percent__eq, 464};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 467, LOCATE_parser_nodes___APercentMethid___n_percent__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEqMethid___n_eq(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AEqMethid___n_eq, 468};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 471, LOCATE_parser_nodes___AEqMethid___n_eq};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AEqMethid___n_eq__eq, 468};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 471, LOCATE_parser_nodes___AEqMethid___n_eq__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANeMethid___n_ne(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANeMethid___n_ne, 472};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 475, LOCATE_parser_nodes___ANeMethid___n_ne};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANeMethid___n_ne__eq, 472};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 475, LOCATE_parser_nodes___ANeMethid___n_ne__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ALeMethid___n_le(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ALeMethid___n_le, 476};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 479, LOCATE_parser_nodes___ALeMethid___n_le};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ALeMethid___n_le__eq, 476};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 479, LOCATE_parser_nodes___ALeMethid___n_le__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AGeMethid___n_ge(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AGeMethid___n_ge, 480};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 483, LOCATE_parser_nodes___AGeMethid___n_ge};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AGeMethid___n_ge__eq, 480};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 483, LOCATE_parser_nodes___AGeMethid___n_ge__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ALtMethid___n_lt(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ALtMethid___n_lt, 484};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 487, LOCATE_parser_nodes___ALtMethid___n_lt};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ALtMethid___n_lt__eq, 484};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 487, LOCATE_parser_nodes___ALtMethid___n_lt__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AGtMethid___n_gt(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AGtMethid___n_gt, 488};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 491, LOCATE_parser_nodes___AGtMethid___n_gt};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AGtMethid___n_gt__eq, 488};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 491, LOCATE_parser_nodes___AGtMethid___n_gt__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraMethid___n_obra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABraMethid___n_obra, 492};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 495, LOCATE_parser_nodes___ABraMethid___n_obra};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABraMethid___n_obra__eq, 492};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 495, LOCATE_parser_nodes___ABraMethid___n_obra__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraMethid___n_cbra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABraMethid___n_cbra, 493};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 496, LOCATE_parser_nodes___ABraMethid___n_cbra};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABraMethid___n_cbra__eq, 493};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 496, LOCATE_parser_nodes___ABraMethid___n_cbra__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStarshipMethid___n_starship(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AStarshipMethid___n_starship, 497};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AStarshipMethid___n_starship__eq, 497};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 500, LOCATE_parser_nodes___AStarshipMethid___n_starship__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignMethid___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAssignMethid___n_id, 501};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 504, LOCATE_parser_nodes___AAssignMethid___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAssignMethid___n_id__eq, 501};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 504, LOCATE_parser_nodes___AAssignMethid___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignMethid___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAssignMethid___n_assign, 502};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 505, LOCATE_parser_nodes___AAssignMethid___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAssignMethid___n_assign__eq, 502};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 505, LOCATE_parser_nodes___AAssignMethid___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_obra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABraassignMethid___n_obra, 506};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABraassignMethid___n_obra__eq, 506};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 509, LOCATE_parser_nodes___ABraassignMethid___n_obra__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_cbra(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABraassignMethid___n_cbra, 507};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABraassignMethid___n_cbra__eq, 507};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 510, LOCATE_parser_nodes___ABraassignMethid___n_cbra__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraassignMethid___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABraassignMethid___n_assign, 508};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABraassignMethid___n_assign__eq, 508};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 511, LOCATE_parser_nodes___ABraassignMethid___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASignature___n_params(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASignature___n_params, 512};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 515, LOCATE_parser_nodes___ASignature___n_params};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASignature___n_params__eq, 512};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 515, LOCATE_parser_nodes___ASignature___n_params__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASignature___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASignature___n_type, 513};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 516, LOCATE_parser_nodes___ASignature___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASignature___n_type__eq, 513};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 516, LOCATE_parser_nodes___ASignature___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AParam___n_dotdotdot(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AParam___n_dotdotdot, 517};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 520, LOCATE_parser_nodes___AParam___n_dotdotdot};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AParam___n_dotdotdot__eq, 517};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 520, LOCATE_parser_nodes___AParam___n_dotdotdot__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AType___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AType___n_id, 521};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 524, LOCATE_parser_nodes___AType___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AType___n_id__eq, 521};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 524, LOCATE_parser_nodes___AType___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AType___n_types(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AType___n_types, 522};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 525, LOCATE_parser_nodes___AType___n_types};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AType___n_types__eq, 522};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 525, LOCATE_parser_nodes___AType___n_types__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABlockExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABlockExpr___n_expr, 529};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 532, LOCATE_parser_nodes___ABlockExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABlockExpr___n_expr__eq, 529};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 532, LOCATE_parser_nodes___ABlockExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_kwvar(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AVardeclExpr___n_kwvar, 533};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AVardeclExpr___n_kwvar__eq, 533};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 536, LOCATE_parser_nodes___AVardeclExpr___n_kwvar__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AVardeclExpr___n_id, 534};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 537, LOCATE_parser_nodes___AVardeclExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AVardeclExpr___n_id__eq, 534};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 537, LOCATE_parser_nodes___AVardeclExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AVardeclExpr___n_type, 535};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 538, LOCATE_parser_nodes___AVardeclExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AVardeclExpr___n_type__eq, 535};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 538, LOCATE_parser_nodes___AVardeclExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AVardeclExpr___n_assign, 536};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AVardeclExpr___n_assign__eq, 536};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 539, LOCATE_parser_nodes___AVardeclExpr___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVardeclExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AVardeclExpr___n_expr, 537};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AVardeclExpr___n_expr__eq, 537};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 540, LOCATE_parser_nodes___AVardeclExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReturnExpr___n_kwreturn(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AReturnExpr___n_kwreturn, 541};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AReturnExpr___n_kwreturn__eq, 541};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 544, LOCATE_parser_nodes___AReturnExpr___n_kwreturn__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReturnExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AReturnExpr___n_expr, 542};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 545, LOCATE_parser_nodes___AReturnExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AReturnExpr___n_expr__eq, 542};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 545, LOCATE_parser_nodes___AReturnExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABreakExpr___n_kwbreak(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABreakExpr___n_kwbreak, 546};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABreakExpr___n_kwbreak__eq, 546};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 549, LOCATE_parser_nodes___ABreakExpr___n_kwbreak__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAbortExpr___n_kwabort(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAbortExpr___n_kwabort, 550};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAbortExpr___n_kwabort__eq, 550};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 553, LOCATE_parser_nodes___AAbortExpr___n_kwabort__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AContinueExpr___n_kwcontinue(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue, 554};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue__eq, 554};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 557, LOCATE_parser_nodes___AContinueExpr___n_kwcontinue__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADoExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ADoExpr___n_kwdo, 558};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ADoExpr___n_kwdo__eq, 558};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 561, LOCATE_parser_nodes___ADoExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADoExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ADoExpr___n_block, 559};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 562, LOCATE_parser_nodes___ADoExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ADoExpr___n_block__eq, 559};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 562, LOCATE_parser_nodes___ADoExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_kwif(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfExpr___n_kwif, 563};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 566, LOCATE_parser_nodes___AIfExpr___n_kwif};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfExpr___n_kwif__eq, 563};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 566, LOCATE_parser_nodes___AIfExpr___n_kwif__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfExpr___n_expr, 564};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 567, LOCATE_parser_nodes___AIfExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfExpr___n_expr__eq, 564};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 567, LOCATE_parser_nodes___AIfExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_then(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfExpr___n_then, 565};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 568, LOCATE_parser_nodes___AIfExpr___n_then};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfExpr___n_then__eq, 565};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 568, LOCATE_parser_nodes___AIfExpr___n_then__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfExpr___n_else(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfExpr___n_else, 566};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 569, LOCATE_parser_nodes___AIfExpr___n_else};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfExpr___n_else__eq, 566};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 569, LOCATE_parser_nodes___AIfExpr___n_else__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwif(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfexprExpr___n_kwif, 570};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfexprExpr___n_kwif__eq, 570};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 573, LOCATE_parser_nodes___AIfexprExpr___n_kwif__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfexprExpr___n_expr, 571};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfexprExpr___n_expr__eq, 571};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 574, LOCATE_parser_nodes___AIfexprExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwthen(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfexprExpr___n_kwthen, 572};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfexprExpr___n_kwthen__eq, 572};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 575, LOCATE_parser_nodes___AIfexprExpr___n_kwthen__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_then(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfexprExpr___n_then, 573};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 576, LOCATE_parser_nodes___AIfexprExpr___n_then};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfexprExpr___n_then__eq, 573};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 576, LOCATE_parser_nodes___AIfexprExpr___n_then__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_kwelse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfexprExpr___n_kwelse, 574};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfexprExpr___n_kwelse__eq, 574};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 577, LOCATE_parser_nodes___AIfexprExpr___n_kwelse__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIfexprExpr___n_else(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIfexprExpr___n_else, 575};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 578, LOCATE_parser_nodes___AIfexprExpr___n_else};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIfexprExpr___n_else__eq, 575};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 578, LOCATE_parser_nodes___AIfexprExpr___n_else__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_kwwhile(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AWhileExpr___n_kwwhile, 579};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AWhileExpr___n_kwwhile__eq, 579};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 582, LOCATE_parser_nodes___AWhileExpr___n_kwwhile__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AWhileExpr___n_expr, 580};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 583, LOCATE_parser_nodes___AWhileExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AWhileExpr___n_expr__eq, 580};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 583, LOCATE_parser_nodes___AWhileExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AWhileExpr___n_kwdo, 581};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AWhileExpr___n_kwdo__eq, 581};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 584, LOCATE_parser_nodes___AWhileExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AWhileExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AWhileExpr___n_block, 582};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 585, LOCATE_parser_nodes___AWhileExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AWhileExpr___n_block__eq, 582};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 585, LOCATE_parser_nodes___AWhileExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForExpr___n_vardecl(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AForExpr___n_vardecl, 586};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 589, LOCATE_parser_nodes___AForExpr___n_vardecl};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AForExpr___n_vardecl__eq, 586};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 589, LOCATE_parser_nodes___AForExpr___n_vardecl__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForExpr___n_kwdo(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AForExpr___n_kwdo, 587};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 590, LOCATE_parser_nodes___AForExpr___n_kwdo};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AForExpr___n_kwdo__eq, 587};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 590, LOCATE_parser_nodes___AForExpr___n_kwdo__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForExpr___n_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AForExpr___n_block, 588};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 591, LOCATE_parser_nodes___AForExpr___n_block};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AForExpr___n_block__eq, 588};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 591, LOCATE_parser_nodes___AForExpr___n_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_kwfor(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor, 592};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor__eq, 592};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 595, LOCATE_parser_nodes___AForVardeclExpr___n_kwfor__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AForVardeclExpr___n_id, 593};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AForVardeclExpr___n_id__eq, 593};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 596, LOCATE_parser_nodes___AForVardeclExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AForVardeclExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AForVardeclExpr___n_expr, 594};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AForVardeclExpr___n_expr__eq, 594};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 597, LOCATE_parser_nodes___AForVardeclExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssertExpr___n_kwassert(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAssertExpr___n_kwassert, 598};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAssertExpr___n_kwassert__eq, 598};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 601, LOCATE_parser_nodes___AAssertExpr___n_kwassert__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssertExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAssertExpr___n_id, 599};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 602, LOCATE_parser_nodes___AAssertExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAssertExpr___n_id__eq, 599};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 602, LOCATE_parser_nodes___AAssertExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssertExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAssertExpr___n_expr, 600};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 603, LOCATE_parser_nodes___AAssertExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAssertExpr___n_expr__eq, 600};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 603, LOCATE_parser_nodes___AAssertExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignFormExpr___n_assign(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAssignFormExpr___n_assign, 604};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAssignFormExpr___n_assign__eq, 604};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 607, LOCATE_parser_nodes___AAssignFormExpr___n_assign__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAssignFormExpr___n_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAssignFormExpr___n_value, 605};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAssignFormExpr___n_value__eq, 605};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 608, LOCATE_parser_nodes___AAssignFormExpr___n_value__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReassignFormExpr___n_assign_op(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op, 609};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op__eq, 609};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 612, LOCATE_parser_nodes___AReassignFormExpr___n_assign_op__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AReassignFormExpr___n_value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AReassignFormExpr___n_value, 610};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AReassignFormExpr___n_value__eq, 610};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 613, LOCATE_parser_nodes___AReassignFormExpr___n_value__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AOnceExpr___n_kwonce(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AOnceExpr___n_kwonce, 614};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AOnceExpr___n_kwonce__eq, 614};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 617, LOCATE_parser_nodes___AOnceExpr___n_kwonce__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASendExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASendExpr___n_expr, 618};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 621, LOCATE_parser_nodes___ASendExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASendExpr___n_expr__eq, 618};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 621, LOCATE_parser_nodes___ASendExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABinopExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABinopExpr___n_expr2, 622};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABinopExpr___n_expr2__eq, 622};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 625, LOCATE_parser_nodes___ABinopExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AOrExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AOrExpr___n_expr, 629};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 632, LOCATE_parser_nodes___AOrExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AOrExpr___n_expr__eq, 629};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 632, LOCATE_parser_nodes___AOrExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AOrExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AOrExpr___n_expr2, 630};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 633, LOCATE_parser_nodes___AOrExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AOrExpr___n_expr2__eq, 630};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 633, LOCATE_parser_nodes___AOrExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAndExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAndExpr___n_expr, 634};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 637, LOCATE_parser_nodes___AAndExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAndExpr___n_expr__eq, 634};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 637, LOCATE_parser_nodes___AAndExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAndExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAndExpr___n_expr2, 635};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 638, LOCATE_parser_nodes___AAndExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAndExpr___n_expr2__eq, 635};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 638, LOCATE_parser_nodes___AAndExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANotExpr___n_kwnot(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANotExpr___n_kwnot, 639};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANotExpr___n_kwnot__eq, 639};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 642, LOCATE_parser_nodes___ANotExpr___n_kwnot__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANotExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANotExpr___n_expr, 640};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 643, LOCATE_parser_nodes___ANotExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANotExpr___n_expr__eq, 640};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 643, LOCATE_parser_nodes___ANotExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEeExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AEeExpr___n_expr, 647};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 650, LOCATE_parser_nodes___AEeExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AEeExpr___n_expr__eq, 647};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 650, LOCATE_parser_nodes___AEeExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEeExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AEeExpr___n_expr2, 648};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 651, LOCATE_parser_nodes___AEeExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AEeExpr___n_expr2__eq, 648};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 651, LOCATE_parser_nodes___AEeExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIsaExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIsaExpr___n_expr, 667};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 670, LOCATE_parser_nodes___AIsaExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIsaExpr___n_expr__eq, 667};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 670, LOCATE_parser_nodes___AIsaExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIsaExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIsaExpr___n_type, 668};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 671, LOCATE_parser_nodes___AIsaExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIsaExpr___n_type__eq, 668};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 671, LOCATE_parser_nodes___AIsaExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AUminusExpr___n_minus(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AUminusExpr___n_minus, 690};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 693, LOCATE_parser_nodes___AUminusExpr___n_minus};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AUminusExpr___n_minus__eq, 690};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 693, LOCATE_parser_nodes___AUminusExpr___n_minus__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_kwnew(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANewExpr___n_kwnew, 694};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANewExpr___n_kwnew__eq, 694};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 697, LOCATE_parser_nodes___ANewExpr___n_kwnew__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANewExpr___n_type, 695};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 698, LOCATE_parser_nodes___ANewExpr___n_type};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANewExpr___n_type__eq, 695};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 698, LOCATE_parser_nodes___ANewExpr___n_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANewExpr___n_id, 696};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 699, LOCATE_parser_nodes___ANewExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANewExpr___n_id__eq, 696};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 699, LOCATE_parser_nodes___ANewExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANewExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANewExpr___n_args, 697};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 700, LOCATE_parser_nodes___ANewExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANewExpr___n_args__eq, 697};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 700, LOCATE_parser_nodes___ANewExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrFormExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrFormExpr___n_expr, 701};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrFormExpr___n_expr__eq, 701};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 704, LOCATE_parser_nodes___AAttrFormExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AAttrFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AAttrFormExpr___n_id, 702};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AAttrFormExpr___n_id__eq, 702};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 705, LOCATE_parser_nodes___AAttrFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ACallFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ACallFormExpr___n_id, 713};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 716, LOCATE_parser_nodes___ACallFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ACallFormExpr___n_id__eq, 713};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 716, LOCATE_parser_nodes___ACallFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ACallFormExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ACallFormExpr___n_args, 714};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 717, LOCATE_parser_nodes___ACallFormExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ACallFormExpr___n_args__eq, 714};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 717, LOCATE_parser_nodes___ACallFormExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperExpr___n_qualified(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASuperExpr___n_qualified, 735};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASuperExpr___n_qualified__eq, 735};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 738, LOCATE_parser_nodes___ASuperExpr___n_qualified__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperExpr___n_kwsuper(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASuperExpr___n_kwsuper, 736};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASuperExpr___n_kwsuper__eq, 736};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 739, LOCATE_parser_nodes___ASuperExpr___n_kwsuper__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASuperExpr___n_args, 737};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 740, LOCATE_parser_nodes___ASuperExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASuperExpr___n_args__eq, 737};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 740, LOCATE_parser_nodes___ASuperExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInitExpr___n_kwinit(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AInitExpr___n_kwinit, 741};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AInitExpr___n_kwinit__eq, 741};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 744, LOCATE_parser_nodes___AInitExpr___n_kwinit__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AInitExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AInitExpr___n_args, 742};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 745, LOCATE_parser_nodes___AInitExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AInitExpr___n_args__eq, 742};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 745, LOCATE_parser_nodes___AInitExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ABraFormExpr___n_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ABraFormExpr___n_args, 746};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 749, LOCATE_parser_nodes___ABraFormExpr___n_args};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ABraFormExpr___n_args__eq, 746};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 749, LOCATE_parser_nodes___ABraFormExpr___n_args__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AVarFormExpr___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AVarFormExpr___n_id, 757};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 760, LOCATE_parser_nodes___AVarFormExpr___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AVarFormExpr___n_id__eq, 757};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 760, LOCATE_parser_nodes___AVarFormExpr___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ARangeExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ARangeExpr___n_expr, 776};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 779, LOCATE_parser_nodes___ARangeExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ARangeExpr___n_expr__eq, 776};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 779, LOCATE_parser_nodes___ARangeExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ARangeExpr___n_expr2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ARangeExpr___n_expr2, 777};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ARangeExpr___n_expr2__eq, 777};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 780, LOCATE_parser_nodes___ARangeExpr___n_expr2__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AArrayExpr___n_exprs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AArrayExpr___n_exprs, 787};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AArrayExpr___n_exprs__eq, 787};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 790, LOCATE_parser_nodes___AArrayExpr___n_exprs__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASelfExpr___n_kwself(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASelfExpr___n_kwself, 791};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASelfExpr___n_kwself__eq, 791};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 794, LOCATE_parser_nodes___ASelfExpr___n_kwself__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ATrueExpr___n_kwtrue(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ATrueExpr___n_kwtrue, 798};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ATrueExpr___n_kwtrue__eq, 798};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 801, LOCATE_parser_nodes___ATrueExpr___n_kwtrue__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFalseExpr___n_kwfalse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AFalseExpr___n_kwfalse, 802};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AFalseExpr___n_kwfalse__eq, 802};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 805, LOCATE_parser_nodes___AFalseExpr___n_kwfalse__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ANullExpr___n_kwnull(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ANullExpr___n_kwnull, 806};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ANullExpr___n_kwnull__eq, 806};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 809, LOCATE_parser_nodes___ANullExpr___n_kwnull__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AIntExpr___n_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AIntExpr___n_number, 810};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 813, LOCATE_parser_nodes___AIntExpr___n_number};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AIntExpr___n_number__eq, 810};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 813, LOCATE_parser_nodes___AIntExpr___n_number__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AFloatExpr___n_float(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AFloatExpr___n_float, 814};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 817, LOCATE_parser_nodes___AFloatExpr___n_float};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AFloatExpr___n_float__eq, 814};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 817, LOCATE_parser_nodes___AFloatExpr___n_float__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ACharExpr___n_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ACharExpr___n_char, 818};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 821, LOCATE_parser_nodes___ACharExpr___n_char};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ACharExpr___n_char__eq, 818};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 821, LOCATE_parser_nodes___ACharExpr___n_char__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AStringExpr___n_string, 825};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 828, LOCATE_parser_nodes___AStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AStringExpr___n_string__eq, 825};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 828, LOCATE_parser_nodes___AStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AStartStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AStartStringExpr___n_string, 829};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 832, LOCATE_parser_nodes___AStartStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AStartStringExpr___n_string__eq, 829};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 832, LOCATE_parser_nodes___AStartStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMidStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMidStringExpr___n_string, 833};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 836, LOCATE_parser_nodes___AMidStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMidStringExpr___n_string__eq, 833};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 836, LOCATE_parser_nodes___AMidStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AEndStringExpr___n_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AEndStringExpr___n_string, 837};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 840, LOCATE_parser_nodes___AEndStringExpr___n_string};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AEndStringExpr___n_string__eq, 837};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 840, LOCATE_parser_nodes___AEndStringExpr___n_string__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ASuperstringExpr___n_exprs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ASuperstringExpr___n_exprs, 841};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ASuperstringExpr___n_exprs__eq, 841};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 844, LOCATE_parser_nodes___ASuperstringExpr___n_exprs__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AProxyExpr___n_expr(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AProxyExpr___n_expr, 848};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 851, LOCATE_parser_nodes___AProxyExpr___n_expr};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AProxyExpr___n_expr__eq, 848};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 851, LOCATE_parser_nodes___AProxyExpr___n_expr__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  param0;
   tracehead = trace.prev;
   return;
 }
+val_t parser_nodes___AAsCastExpr___n_expr(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_parser_nodes, 855, LOCATE_parser_nodes___AAsCastExpr___n_expr__eq};
+  trace.prev = tracehead; tracehead = &trace;
+  ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  param0;
+  tracehead = trace.prev;
+  return;
+}
+val_t parser_nodes___AAsCastExpr___n_kwas(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_parser_nodes, 856, LOCATE_parser_nodes___AAsCastExpr___n_kwas__eq};
+  trace.prev = tracehead; tracehead = &trace;
+  ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  param0;
+  tracehead = trace.prev;
+  return;
+}
+val_t parser_nodes___AAsCastExpr___n_type(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 857, LOCATE_parser_nodes___AAsCastExpr___n_type};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_parser_nodes, 857, LOCATE_parser_nodes___AAsCastExpr___n_type__eq};
+  trace.prev = tracehead; tracehead = &trace;
+  ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  param0;
+  tracehead = trace.prev;
+  return;
+}
 val_t parser_nodes___APlusAssignOp___n_pluseq(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___APlusAssignOp___n_pluseq, 852};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___APlusAssignOp___n_pluseq__eq, 852};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 861, LOCATE_parser_nodes___APlusAssignOp___n_pluseq__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AMinusAssignOp___n_minuseq(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq, 856};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq__eq, 856};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 865, LOCATE_parser_nodes___AMinusAssignOp___n_minuseq__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AQualified___n_id(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AQualified___n_id, 860};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 869, LOCATE_parser_nodes___AQualified___n_id};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AQualified___n_id__eq, 860};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 869, LOCATE_parser_nodes___AQualified___n_id__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___AQualified___n_classid(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___AQualified___n_classid, 861};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 870, LOCATE_parser_nodes___AQualified___n_classid};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___AQualified___n_classid__eq, 861};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 870, LOCATE_parser_nodes___AQualified___n_classid__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___ADoc___n_comment(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___ADoc___n_comment, 865};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 874, LOCATE_parser_nodes___ADoc___n_comment};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___ADoc___n_comment__eq, 865};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 874, LOCATE_parser_nodes___ADoc___n_comment__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___Start___n_base(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___Start___n_base, 870};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 879, LOCATE_parser_nodes___Start___n_base};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___Start___n_base__eq, 870};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 879, LOCATE_parser_nodes___Start___n_base__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_nodes___Start___n_eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_nodes___Start___n_eof, 871};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 880, LOCATE_parser_nodes___Start___n_eof};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_parser_nodes___Start___n_eof__eq, 871};
+  struct trace_t trace = {NULL, LOCATE_parser_nodes, 880, LOCATE_parser_nodes___Start___n_eof__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_nodes___Start____n_eof( self) /*Start::_n_eof*/ =  param0;
   tracehead = trace.prev;
index d32571c..b24d47e 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires parser_nodes. */
-#ifndef parser_nodes_3_sep
-#define parser_nodes_3_sep
+#ifndef parser_nodes_2_sep
+#define parser_nodes_2_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
@@ -104,6 +104,8 @@ extern const classtable_elt_t VFT_TKwfalse[];
 
 extern const classtable_elt_t VFT_TKwnull[];
 
+extern const classtable_elt_t VFT_TKwas[];
+
 extern const classtable_elt_t VFT_TOpar[];
 
 extern const classtable_elt_t VFT_TCpar[];
@@ -460,6 +462,8 @@ extern const classtable_elt_t VFT_AParExpr[];
 
 extern const classtable_elt_t VFT_AProxyExpr[];
 
+extern const classtable_elt_t VFT_AAsCastExpr[];
+
 extern const classtable_elt_t VFT_APlusAssignOp[];
 
 extern const classtable_elt_t VFT_AMinusAssignOp[];
@@ -469,7 +473,7 @@ extern const classtable_elt_t VFT_AQualified[];
 extern const classtable_elt_t VFT_ADoc[];
 
 extern const classtable_elt_t VFT_Start[];
-#define LOCATE_parser_nodes "parser_nodes"
+#define LOCATE_parser_nodes "./parser//parser_nodes.nit"
 extern const int SFT_parser_nodes[];
 #define ID_PNode SFT_parser_nodes[0]
 #define COLOR_PNode SFT_parser_nodes[1]
@@ -621,1098 +625,1113 @@ extern const int SFT_parser_nodes[];
 #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_TOpar SFT_parser_nodes[150]
-#define COLOR_TOpar SFT_parser_nodes[151]
-#define INIT_TABLE_POS_TOpar SFT_parser_nodes[152]
-#define ID_TCpar SFT_parser_nodes[153]
-#define COLOR_TCpar SFT_parser_nodes[154]
-#define INIT_TABLE_POS_TCpar SFT_parser_nodes[155]
-#define ID_TObra SFT_parser_nodes[156]
-#define COLOR_TObra SFT_parser_nodes[157]
-#define INIT_TABLE_POS_TObra SFT_parser_nodes[158]
-#define ID_TCbra SFT_parser_nodes[159]
-#define COLOR_TCbra SFT_parser_nodes[160]
-#define INIT_TABLE_POS_TCbra SFT_parser_nodes[161]
-#define ID_TComma SFT_parser_nodes[162]
-#define COLOR_TComma SFT_parser_nodes[163]
-#define INIT_TABLE_POS_TComma SFT_parser_nodes[164]
-#define ID_TColumn SFT_parser_nodes[165]
-#define COLOR_TColumn SFT_parser_nodes[166]
-#define INIT_TABLE_POS_TColumn SFT_parser_nodes[167]
-#define ID_TQuad SFT_parser_nodes[168]
-#define COLOR_TQuad SFT_parser_nodes[169]
-#define INIT_TABLE_POS_TQuad SFT_parser_nodes[170]
-#define ID_TAssign SFT_parser_nodes[171]
-#define COLOR_TAssign SFT_parser_nodes[172]
-#define INIT_TABLE_POS_TAssign SFT_parser_nodes[173]
-#define ID_TPluseq SFT_parser_nodes[174]
-#define COLOR_TPluseq SFT_parser_nodes[175]
-#define INIT_TABLE_POS_TPluseq SFT_parser_nodes[176]
-#define ID_TMinuseq SFT_parser_nodes[177]
-#define COLOR_TMinuseq SFT_parser_nodes[178]
-#define INIT_TABLE_POS_TMinuseq SFT_parser_nodes[179]
-#define ID_TDotdotdot SFT_parser_nodes[180]
-#define COLOR_TDotdotdot SFT_parser_nodes[181]
-#define INIT_TABLE_POS_TDotdotdot SFT_parser_nodes[182]
-#define ID_TDotdot SFT_parser_nodes[183]
-#define COLOR_TDotdot SFT_parser_nodes[184]
-#define INIT_TABLE_POS_TDotdot SFT_parser_nodes[185]
-#define ID_TDot SFT_parser_nodes[186]
-#define COLOR_TDot SFT_parser_nodes[187]
-#define INIT_TABLE_POS_TDot SFT_parser_nodes[188]
-#define ID_TPlus SFT_parser_nodes[189]
-#define COLOR_TPlus SFT_parser_nodes[190]
-#define INIT_TABLE_POS_TPlus SFT_parser_nodes[191]
-#define ID_TMinus SFT_parser_nodes[192]
-#define COLOR_TMinus SFT_parser_nodes[193]
-#define INIT_TABLE_POS_TMinus SFT_parser_nodes[194]
-#define ID_TStar SFT_parser_nodes[195]
-#define COLOR_TStar SFT_parser_nodes[196]
-#define INIT_TABLE_POS_TStar SFT_parser_nodes[197]
-#define ID_TSlash SFT_parser_nodes[198]
-#define COLOR_TSlash SFT_parser_nodes[199]
-#define INIT_TABLE_POS_TSlash SFT_parser_nodes[200]
-#define ID_TPercent SFT_parser_nodes[201]
-#define COLOR_TPercent SFT_parser_nodes[202]
-#define INIT_TABLE_POS_TPercent SFT_parser_nodes[203]
-#define ID_TEq SFT_parser_nodes[204]
-#define COLOR_TEq SFT_parser_nodes[205]
-#define INIT_TABLE_POS_TEq SFT_parser_nodes[206]
-#define ID_TNe SFT_parser_nodes[207]
-#define COLOR_TNe SFT_parser_nodes[208]
-#define INIT_TABLE_POS_TNe SFT_parser_nodes[209]
-#define ID_TLt SFT_parser_nodes[210]
-#define COLOR_TLt SFT_parser_nodes[211]
-#define INIT_TABLE_POS_TLt SFT_parser_nodes[212]
-#define ID_TLe SFT_parser_nodes[213]
-#define COLOR_TLe SFT_parser_nodes[214]
-#define INIT_TABLE_POS_TLe SFT_parser_nodes[215]
-#define ID_TGt SFT_parser_nodes[216]
-#define COLOR_TGt SFT_parser_nodes[217]
-#define INIT_TABLE_POS_TGt SFT_parser_nodes[218]
-#define ID_TGe SFT_parser_nodes[219]
-#define COLOR_TGe SFT_parser_nodes[220]
-#define INIT_TABLE_POS_TGe SFT_parser_nodes[221]
-#define ID_TStarship SFT_parser_nodes[222]
-#define COLOR_TStarship SFT_parser_nodes[223]
-#define INIT_TABLE_POS_TStarship SFT_parser_nodes[224]
-#define ID_TClassid SFT_parser_nodes[225]
-#define COLOR_TClassid SFT_parser_nodes[226]
-#define INIT_TABLE_POS_TClassid SFT_parser_nodes[227]
-#define ID_TId SFT_parser_nodes[228]
-#define COLOR_TId SFT_parser_nodes[229]
-#define INIT_TABLE_POS_TId SFT_parser_nodes[230]
-#define ID_TAttrid SFT_parser_nodes[231]
-#define COLOR_TAttrid SFT_parser_nodes[232]
-#define INIT_TABLE_POS_TAttrid SFT_parser_nodes[233]
-#define ID_TNumber SFT_parser_nodes[234]
-#define COLOR_TNumber SFT_parser_nodes[235]
-#define INIT_TABLE_POS_TNumber SFT_parser_nodes[236]
-#define ID_TFloat SFT_parser_nodes[237]
-#define COLOR_TFloat SFT_parser_nodes[238]
-#define INIT_TABLE_POS_TFloat SFT_parser_nodes[239]
-#define ID_TChar SFT_parser_nodes[240]
-#define COLOR_TChar SFT_parser_nodes[241]
-#define INIT_TABLE_POS_TChar SFT_parser_nodes[242]
-#define ID_TString SFT_parser_nodes[243]
-#define COLOR_TString SFT_parser_nodes[244]
-#define INIT_TABLE_POS_TString SFT_parser_nodes[245]
-#define ID_TStartString SFT_parser_nodes[246]
-#define COLOR_TStartString SFT_parser_nodes[247]
-#define INIT_TABLE_POS_TStartString SFT_parser_nodes[248]
-#define ID_TMidString SFT_parser_nodes[249]
-#define COLOR_TMidString SFT_parser_nodes[250]
-#define INIT_TABLE_POS_TMidString SFT_parser_nodes[251]
-#define ID_TEndString SFT_parser_nodes[252]
-#define COLOR_TEndString SFT_parser_nodes[253]
-#define INIT_TABLE_POS_TEndString SFT_parser_nodes[254]
-#define ID_EOF SFT_parser_nodes[255]
-#define COLOR_EOF SFT_parser_nodes[256]
-#define INIT_TABLE_POS_EOF SFT_parser_nodes[257]
-#define ID_PError SFT_parser_nodes[258]
-#define COLOR_PError SFT_parser_nodes[259]
-#define INIT_TABLE_POS_PError SFT_parser_nodes[260]
-#define ID_PModule SFT_parser_nodes[261]
-#define COLOR_PModule SFT_parser_nodes[262]
-#define INIT_TABLE_POS_PModule SFT_parser_nodes[263]
-#define ID_PPackagedecl SFT_parser_nodes[264]
-#define COLOR_PPackagedecl SFT_parser_nodes[265]
-#define INIT_TABLE_POS_PPackagedecl SFT_parser_nodes[266]
-#define ID_PImport SFT_parser_nodes[267]
-#define COLOR_PImport SFT_parser_nodes[268]
-#define INIT_TABLE_POS_PImport SFT_parser_nodes[269]
-#define ID_PVisibility SFT_parser_nodes[270]
-#define COLOR_PVisibility SFT_parser_nodes[271]
-#define INIT_TABLE_POS_PVisibility SFT_parser_nodes[272]
-#define ID_PClassdef SFT_parser_nodes[273]
-#define COLOR_PClassdef SFT_parser_nodes[274]
-#define INIT_TABLE_POS_PClassdef SFT_parser_nodes[275]
-#define ID_PClasskind SFT_parser_nodes[276]
-#define COLOR_PClasskind SFT_parser_nodes[277]
-#define INIT_TABLE_POS_PClasskind SFT_parser_nodes[278]
-#define ID_PFormaldef SFT_parser_nodes[279]
-#define COLOR_PFormaldef SFT_parser_nodes[280]
-#define INIT_TABLE_POS_PFormaldef SFT_parser_nodes[281]
-#define ID_PSuperclass SFT_parser_nodes[282]
-#define COLOR_PSuperclass SFT_parser_nodes[283]
-#define INIT_TABLE_POS_PSuperclass SFT_parser_nodes[284]
-#define ID_PPropdef SFT_parser_nodes[285]
-#define COLOR_PPropdef SFT_parser_nodes[286]
-#define COLOR_parser_nodes___PPropdef____n_doc SFT_parser_nodes[287]
-#define INIT_TABLE_POS_PPropdef SFT_parser_nodes[288]
-#define COLOR_parser_nodes___PPropdef___n_doc SFT_parser_nodes[289]
-#define COLOR_parser_nodes___PPropdef___n_doc__eq SFT_parser_nodes[290]
-#define ID_PAble SFT_parser_nodes[291]
-#define COLOR_PAble SFT_parser_nodes[292]
-#define COLOR_parser_nodes___PAble____n_kwredef SFT_parser_nodes[293]
-#define INIT_TABLE_POS_PAble SFT_parser_nodes[294]
-#define COLOR_parser_nodes___PAble___n_kwredef SFT_parser_nodes[295]
-#define COLOR_parser_nodes___PAble___n_kwredef__eq SFT_parser_nodes[296]
-#define ID_PMethid SFT_parser_nodes[297]
-#define COLOR_PMethid SFT_parser_nodes[298]
-#define INIT_TABLE_POS_PMethid SFT_parser_nodes[299]
-#define ID_PSignature SFT_parser_nodes[300]
-#define COLOR_PSignature SFT_parser_nodes[301]
-#define INIT_TABLE_POS_PSignature SFT_parser_nodes[302]
-#define ID_PParam SFT_parser_nodes[303]
-#define COLOR_PParam SFT_parser_nodes[304]
-#define COLOR_parser_nodes___PParam____n_id SFT_parser_nodes[305]
-#define COLOR_parser_nodes___PParam____n_type SFT_parser_nodes[306]
-#define INIT_TABLE_POS_PParam SFT_parser_nodes[307]
-#define COLOR_parser_nodes___PParam___n_id SFT_parser_nodes[308]
-#define COLOR_parser_nodes___PParam___n_id__eq SFT_parser_nodes[309]
-#define COLOR_parser_nodes___PParam___n_type SFT_parser_nodes[310]
-#define COLOR_parser_nodes___PParam___n_type__eq SFT_parser_nodes[311]
-#define ID_PType SFT_parser_nodes[312]
-#define COLOR_PType SFT_parser_nodes[313]
-#define INIT_TABLE_POS_PType SFT_parser_nodes[314]
-#define ID_PExpr SFT_parser_nodes[315]
-#define COLOR_PExpr SFT_parser_nodes[316]
-#define INIT_TABLE_POS_PExpr SFT_parser_nodes[317]
-#define ID_PAssignOp SFT_parser_nodes[318]
-#define COLOR_PAssignOp SFT_parser_nodes[319]
-#define INIT_TABLE_POS_PAssignOp SFT_parser_nodes[320]
-#define ID_PQualified SFT_parser_nodes[321]
-#define COLOR_PQualified SFT_parser_nodes[322]
-#define INIT_TABLE_POS_PQualified SFT_parser_nodes[323]
-#define ID_PDoc SFT_parser_nodes[324]
-#define COLOR_PDoc SFT_parser_nodes[325]
-#define INIT_TABLE_POS_PDoc SFT_parser_nodes[326]
-#define ID_AModule SFT_parser_nodes[327]
-#define COLOR_AModule SFT_parser_nodes[328]
-#define COLOR_parser_nodes___AModule____n_packagedecl SFT_parser_nodes[329]
-#define COLOR_parser_nodes___AModule____n_imports SFT_parser_nodes[330]
-#define COLOR_parser_nodes___AModule____n_classdefs SFT_parser_nodes[331]
-#define INIT_TABLE_POS_AModule SFT_parser_nodes[332]
-#define COLOR_parser_nodes___AModule___n_packagedecl SFT_parser_nodes[333]
-#define COLOR_parser_nodes___AModule___n_packagedecl__eq SFT_parser_nodes[334]
-#define COLOR_parser_nodes___AModule___n_imports SFT_parser_nodes[335]
-#define COLOR_parser_nodes___AModule___n_imports__eq SFT_parser_nodes[336]
-#define COLOR_parser_nodes___AModule___n_classdefs SFT_parser_nodes[337]
-#define COLOR_parser_nodes___AModule___n_classdefs__eq SFT_parser_nodes[338]
-#define ID_APackagedecl SFT_parser_nodes[339]
-#define COLOR_APackagedecl SFT_parser_nodes[340]
-#define COLOR_parser_nodes___APackagedecl____n_doc SFT_parser_nodes[341]
-#define COLOR_parser_nodes___APackagedecl____n_kwpackage SFT_parser_nodes[342]
-#define COLOR_parser_nodes___APackagedecl____n_id SFT_parser_nodes[343]
-#define INIT_TABLE_POS_APackagedecl SFT_parser_nodes[344]
-#define COLOR_parser_nodes___APackagedecl___n_doc SFT_parser_nodes[345]
-#define COLOR_parser_nodes___APackagedecl___n_doc__eq SFT_parser_nodes[346]
-#define COLOR_parser_nodes___APackagedecl___n_kwpackage SFT_parser_nodes[347]
-#define COLOR_parser_nodes___APackagedecl___n_kwpackage__eq SFT_parser_nodes[348]
-#define COLOR_parser_nodes___APackagedecl___n_id SFT_parser_nodes[349]
-#define COLOR_parser_nodes___APackagedecl___n_id__eq SFT_parser_nodes[350]
-#define ID_AImport SFT_parser_nodes[351]
-#define COLOR_AImport SFT_parser_nodes[352]
-#define COLOR_parser_nodes___AImport____n_visibility SFT_parser_nodes[353]
-#define COLOR_parser_nodes___AImport____n_kwimport SFT_parser_nodes[354]
-#define COLOR_parser_nodes___AImport____n_id SFT_parser_nodes[355]
-#define INIT_TABLE_POS_AImport SFT_parser_nodes[356]
-#define COLOR_parser_nodes___AImport___n_visibility SFT_parser_nodes[357]
-#define COLOR_parser_nodes___AImport___n_visibility__eq SFT_parser_nodes[358]
-#define COLOR_parser_nodes___AImport___n_kwimport SFT_parser_nodes[359]
-#define COLOR_parser_nodes___AImport___n_kwimport__eq SFT_parser_nodes[360]
-#define COLOR_parser_nodes___AImport___n_id SFT_parser_nodes[361]
-#define COLOR_parser_nodes___AImport___n_id__eq SFT_parser_nodes[362]
-#define ID_ANoImport SFT_parser_nodes[363]
-#define COLOR_ANoImport SFT_parser_nodes[364]
-#define COLOR_parser_nodes___ANoImport____n_visibility SFT_parser_nodes[365]
-#define COLOR_parser_nodes___ANoImport____n_kwimport SFT_parser_nodes[366]
-#define COLOR_parser_nodes___ANoImport____n_kwend SFT_parser_nodes[367]
-#define INIT_TABLE_POS_ANoImport SFT_parser_nodes[368]
-#define COLOR_parser_nodes___ANoImport___n_visibility SFT_parser_nodes[369]
-#define COLOR_parser_nodes___ANoImport___n_visibility__eq SFT_parser_nodes[370]
-#define COLOR_parser_nodes___ANoImport___n_kwimport SFT_parser_nodes[371]
-#define COLOR_parser_nodes___ANoImport___n_kwimport__eq SFT_parser_nodes[372]
-#define COLOR_parser_nodes___ANoImport___n_kwend SFT_parser_nodes[373]
-#define COLOR_parser_nodes___ANoImport___n_kwend__eq SFT_parser_nodes[374]
-#define ID_APublicVisibility SFT_parser_nodes[375]
-#define COLOR_APublicVisibility SFT_parser_nodes[376]
-#define INIT_TABLE_POS_APublicVisibility SFT_parser_nodes[377]
-#define ID_APrivateVisibility SFT_parser_nodes[378]
-#define COLOR_APrivateVisibility SFT_parser_nodes[379]
-#define COLOR_parser_nodes___APrivateVisibility____n_kwprivate SFT_parser_nodes[380]
-#define INIT_TABLE_POS_APrivateVisibility SFT_parser_nodes[381]
-#define COLOR_parser_nodes___APrivateVisibility___n_kwprivate SFT_parser_nodes[382]
-#define COLOR_parser_nodes___APrivateVisibility___n_kwprivate__eq SFT_parser_nodes[383]
-#define ID_AProtectedVisibility SFT_parser_nodes[384]
-#define COLOR_AProtectedVisibility SFT_parser_nodes[385]
-#define COLOR_parser_nodes___AProtectedVisibility____n_kwprotected SFT_parser_nodes[386]
-#define INIT_TABLE_POS_AProtectedVisibility SFT_parser_nodes[387]
-#define COLOR_parser_nodes___AProtectedVisibility___n_kwprotected SFT_parser_nodes[388]
-#define COLOR_parser_nodes___AProtectedVisibility___n_kwprotected__eq SFT_parser_nodes[389]
-#define ID_AIntrudeVisibility SFT_parser_nodes[390]
-#define COLOR_AIntrudeVisibility SFT_parser_nodes[391]
-#define COLOR_parser_nodes___AIntrudeVisibility____n_kwintrude SFT_parser_nodes[392]
-#define INIT_TABLE_POS_AIntrudeVisibility SFT_parser_nodes[393]
-#define COLOR_parser_nodes___AIntrudeVisibility___n_kwintrude SFT_parser_nodes[394]
-#define COLOR_parser_nodes___AIntrudeVisibility___n_kwintrude__eq SFT_parser_nodes[395]
-#define ID_AClassdef SFT_parser_nodes[396]
-#define COLOR_AClassdef SFT_parser_nodes[397]
-#define COLOR_parser_nodes___AClassdef____n_doc SFT_parser_nodes[398]
-#define COLOR_parser_nodes___AClassdef____n_kwredef SFT_parser_nodes[399]
-#define COLOR_parser_nodes___AClassdef____n_visibility SFT_parser_nodes[400]
-#define COLOR_parser_nodes___AClassdef____n_classkind SFT_parser_nodes[401]
-#define COLOR_parser_nodes___AClassdef____n_id SFT_parser_nodes[402]
-#define COLOR_parser_nodes___AClassdef____n_formaldefs SFT_parser_nodes[403]
-#define COLOR_parser_nodes___AClassdef____n_superclasses SFT_parser_nodes[404]
-#define COLOR_parser_nodes___AClassdef____n_propdefs SFT_parser_nodes[405]
-#define INIT_TABLE_POS_AClassdef SFT_parser_nodes[406]
-#define COLOR_parser_nodes___AClassdef___n_doc SFT_parser_nodes[407]
-#define COLOR_parser_nodes___AClassdef___n_doc__eq SFT_parser_nodes[408]
-#define COLOR_parser_nodes___AClassdef___n_kwredef SFT_parser_nodes[409]
-#define COLOR_parser_nodes___AClassdef___n_kwredef__eq SFT_parser_nodes[410]
-#define COLOR_parser_nodes___AClassdef___n_visibility SFT_parser_nodes[411]
-#define COLOR_parser_nodes___AClassdef___n_visibility__eq SFT_parser_nodes[412]
-#define COLOR_parser_nodes___AClassdef___n_classkind SFT_parser_nodes[413]
-#define COLOR_parser_nodes___AClassdef___n_classkind__eq SFT_parser_nodes[414]
-#define COLOR_parser_nodes___AClassdef___n_id SFT_parser_nodes[415]
-#define COLOR_parser_nodes___AClassdef___n_id__eq SFT_parser_nodes[416]
-#define COLOR_parser_nodes___AClassdef___n_formaldefs SFT_parser_nodes[417]
-#define COLOR_parser_nodes___AClassdef___n_formaldefs__eq SFT_parser_nodes[418]
-#define COLOR_parser_nodes___AClassdef___n_superclasses SFT_parser_nodes[419]
-#define COLOR_parser_nodes___AClassdef___n_superclasses__eq SFT_parser_nodes[420]
-#define COLOR_parser_nodes___AClassdef___n_propdefs SFT_parser_nodes[421]
-#define COLOR_parser_nodes___AClassdef___n_propdefs__eq SFT_parser_nodes[422]
-#define ID_ATopClassdef SFT_parser_nodes[423]
-#define COLOR_ATopClassdef SFT_parser_nodes[424]
-#define COLOR_parser_nodes___ATopClassdef____n_propdefs SFT_parser_nodes[425]
-#define INIT_TABLE_POS_ATopClassdef SFT_parser_nodes[426]
-#define COLOR_parser_nodes___ATopClassdef___n_propdefs SFT_parser_nodes[427]
-#define COLOR_parser_nodes___ATopClassdef___n_propdefs__eq SFT_parser_nodes[428]
-#define ID_AMainClassdef SFT_parser_nodes[429]
-#define COLOR_AMainClassdef SFT_parser_nodes[430]
-#define COLOR_parser_nodes___AMainClassdef____n_propdefs SFT_parser_nodes[431]
-#define INIT_TABLE_POS_AMainClassdef SFT_parser_nodes[432]
-#define COLOR_parser_nodes___AMainClassdef___n_propdefs SFT_parser_nodes[433]
-#define COLOR_parser_nodes___AMainClassdef___n_propdefs__eq SFT_parser_nodes[434]
-#define ID_AConcreteClasskind SFT_parser_nodes[435]
-#define COLOR_AConcreteClasskind SFT_parser_nodes[436]
-#define COLOR_parser_nodes___AConcreteClasskind____n_kwclass SFT_parser_nodes[437]
-#define INIT_TABLE_POS_AConcreteClasskind SFT_parser_nodes[438]
-#define COLOR_parser_nodes___AConcreteClasskind___n_kwclass SFT_parser_nodes[439]
-#define COLOR_parser_nodes___AConcreteClasskind___n_kwclass__eq SFT_parser_nodes[440]
-#define ID_AAbstractClasskind SFT_parser_nodes[441]
-#define COLOR_AAbstractClasskind SFT_parser_nodes[442]
-#define COLOR_parser_nodes___AAbstractClasskind____n_kwabstract SFT_parser_nodes[443]
-#define COLOR_parser_nodes___AAbstractClasskind____n_kwclass SFT_parser_nodes[444]
-#define INIT_TABLE_POS_AAbstractClasskind SFT_parser_nodes[445]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwabstract SFT_parser_nodes[446]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwabstract__eq SFT_parser_nodes[447]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwclass SFT_parser_nodes[448]
-#define COLOR_parser_nodes___AAbstractClasskind___n_kwclass__eq SFT_parser_nodes[449]
-#define ID_AInterfaceClasskind SFT_parser_nodes[450]
-#define COLOR_AInterfaceClasskind SFT_parser_nodes[451]
-#define COLOR_parser_nodes___AInterfaceClasskind____n_kwinterface SFT_parser_nodes[452]
-#define INIT_TABLE_POS_AInterfaceClasskind SFT_parser_nodes[453]
-#define COLOR_parser_nodes___AInterfaceClasskind___n_kwinterface SFT_parser_nodes[454]
-#define COLOR_parser_nodes___AInterfaceClasskind___n_kwinterface__eq SFT_parser_nodes[455]
-#define ID_AUniversalClasskind SFT_parser_nodes[456]
-#define COLOR_AUniversalClasskind SFT_parser_nodes[457]
-#define COLOR_parser_nodes___AUniversalClasskind____n_kwuniversal SFT_parser_nodes[458]
-#define INIT_TABLE_POS_AUniversalClasskind SFT_parser_nodes[459]
-#define COLOR_parser_nodes___AUniversalClasskind___n_kwuniversal SFT_parser_nodes[460]
-#define COLOR_parser_nodes___AUniversalClasskind___n_kwuniversal__eq SFT_parser_nodes[461]
-#define ID_AFormaldef SFT_parser_nodes[462]
-#define COLOR_AFormaldef SFT_parser_nodes[463]
-#define COLOR_parser_nodes___AFormaldef____n_id SFT_parser_nodes[464]
-#define COLOR_parser_nodes___AFormaldef____n_type SFT_parser_nodes[465]
-#define INIT_TABLE_POS_AFormaldef SFT_parser_nodes[466]
-#define COLOR_parser_nodes___AFormaldef___n_id SFT_parser_nodes[467]
-#define COLOR_parser_nodes___AFormaldef___n_id__eq SFT_parser_nodes[468]
-#define COLOR_parser_nodes___AFormaldef___n_type SFT_parser_nodes[469]
-#define COLOR_parser_nodes___AFormaldef___n_type__eq SFT_parser_nodes[470]
-#define ID_ASuperclass SFT_parser_nodes[471]
-#define COLOR_ASuperclass SFT_parser_nodes[472]
-#define COLOR_parser_nodes___ASuperclass____n_kwspecial SFT_parser_nodes[473]
-#define COLOR_parser_nodes___ASuperclass____n_type SFT_parser_nodes[474]
-#define INIT_TABLE_POS_ASuperclass SFT_parser_nodes[475]
-#define COLOR_parser_nodes___ASuperclass___n_kwspecial SFT_parser_nodes[476]
-#define COLOR_parser_nodes___ASuperclass___n_kwspecial__eq SFT_parser_nodes[477]
-#define COLOR_parser_nodes___ASuperclass___n_type SFT_parser_nodes[478]
-#define COLOR_parser_nodes___ASuperclass___n_type__eq SFT_parser_nodes[479]
-#define ID_AAttrPropdef SFT_parser_nodes[480]
-#define COLOR_AAttrPropdef SFT_parser_nodes[481]
-#define COLOR_parser_nodes___AAttrPropdef____n_kwredef SFT_parser_nodes[482]
-#define COLOR_parser_nodes___AAttrPropdef____n_visibility SFT_parser_nodes[483]
-#define COLOR_parser_nodes___AAttrPropdef____n_kwattr SFT_parser_nodes[484]
-#define COLOR_parser_nodes___AAttrPropdef____n_id SFT_parser_nodes[485]
-#define COLOR_parser_nodes___AAttrPropdef____n_type SFT_parser_nodes[486]
-#define COLOR_parser_nodes___AAttrPropdef____n_readable SFT_parser_nodes[487]
-#define COLOR_parser_nodes___AAttrPropdef____n_writable SFT_parser_nodes[488]
-#define COLOR_parser_nodes___AAttrPropdef____n_expr SFT_parser_nodes[489]
-#define INIT_TABLE_POS_AAttrPropdef SFT_parser_nodes[490]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwredef SFT_parser_nodes[491]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwredef__eq SFT_parser_nodes[492]
-#define COLOR_parser_nodes___AAttrPropdef___n_visibility SFT_parser_nodes[493]
-#define COLOR_parser_nodes___AAttrPropdef___n_visibility__eq SFT_parser_nodes[494]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwattr SFT_parser_nodes[495]
-#define COLOR_parser_nodes___AAttrPropdef___n_kwattr__eq SFT_parser_nodes[496]
-#define COLOR_parser_nodes___AAttrPropdef___n_id SFT_parser_nodes[497]
-#define COLOR_parser_nodes___AAttrPropdef___n_id__eq SFT_parser_nodes[498]
-#define COLOR_parser_nodes___AAttrPropdef___n_type SFT_parser_nodes[499]
-#define COLOR_parser_nodes___AAttrPropdef___n_type__eq SFT_parser_nodes[500]
-#define COLOR_parser_nodes___AAttrPropdef___n_readable SFT_parser_nodes[501]
-#define COLOR_parser_nodes___AAttrPropdef___n_readable__eq SFT_parser_nodes[502]
-#define COLOR_parser_nodes___AAttrPropdef___n_writable SFT_parser_nodes[503]
-#define COLOR_parser_nodes___AAttrPropdef___n_writable__eq SFT_parser_nodes[504]
-#define COLOR_parser_nodes___AAttrPropdef___n_expr SFT_parser_nodes[505]
-#define COLOR_parser_nodes___AAttrPropdef___n_expr__eq SFT_parser_nodes[506]
-#define ID_AMethPropdef SFT_parser_nodes[507]
-#define COLOR_AMethPropdef SFT_parser_nodes[508]
-#define COLOR_parser_nodes___AMethPropdef____n_kwredef SFT_parser_nodes[509]
-#define COLOR_parser_nodes___AMethPropdef____n_visibility SFT_parser_nodes[510]
-#define COLOR_parser_nodes___AMethPropdef____n_methid SFT_parser_nodes[511]
-#define COLOR_parser_nodes___AMethPropdef____n_signature SFT_parser_nodes[512]
-#define INIT_TABLE_POS_AMethPropdef SFT_parser_nodes[513]
-#define COLOR_parser_nodes___AMethPropdef___n_kwredef SFT_parser_nodes[514]
-#define COLOR_parser_nodes___AMethPropdef___n_kwredef__eq SFT_parser_nodes[515]
-#define COLOR_parser_nodes___AMethPropdef___n_visibility SFT_parser_nodes[516]
-#define COLOR_parser_nodes___AMethPropdef___n_visibility__eq SFT_parser_nodes[517]
-#define COLOR_parser_nodes___AMethPropdef___n_methid SFT_parser_nodes[518]
-#define COLOR_parser_nodes___AMethPropdef___n_methid__eq SFT_parser_nodes[519]
-#define COLOR_parser_nodes___AMethPropdef___n_signature SFT_parser_nodes[520]
-#define COLOR_parser_nodes___AMethPropdef___n_signature__eq SFT_parser_nodes[521]
-#define ID_ADeferredMethPropdef SFT_parser_nodes[522]
-#define COLOR_ADeferredMethPropdef SFT_parser_nodes[523]
-#define COLOR_parser_nodes___ADeferredMethPropdef____n_kwmeth SFT_parser_nodes[524]
-#define INIT_TABLE_POS_ADeferredMethPropdef SFT_parser_nodes[525]
-#define COLOR_parser_nodes___ADeferredMethPropdef___n_kwmeth SFT_parser_nodes[526]
-#define COLOR_parser_nodes___ADeferredMethPropdef___n_kwmeth__eq SFT_parser_nodes[527]
-#define ID_AInternMethPropdef SFT_parser_nodes[528]
-#define COLOR_AInternMethPropdef SFT_parser_nodes[529]
-#define COLOR_parser_nodes___AInternMethPropdef____n_kwmeth SFT_parser_nodes[530]
-#define INIT_TABLE_POS_AInternMethPropdef SFT_parser_nodes[531]
-#define COLOR_parser_nodes___AInternMethPropdef___n_kwmeth SFT_parser_nodes[532]
-#define COLOR_parser_nodes___AInternMethPropdef___n_kwmeth__eq SFT_parser_nodes[533]
-#define ID_AExternMethPropdef SFT_parser_nodes[534]
-#define COLOR_AExternMethPropdef SFT_parser_nodes[535]
-#define COLOR_parser_nodes___AExternMethPropdef____n_kwmeth SFT_parser_nodes[536]
-#define COLOR_parser_nodes___AExternMethPropdef____n_extern SFT_parser_nodes[537]
-#define INIT_TABLE_POS_AExternMethPropdef SFT_parser_nodes[538]
-#define COLOR_parser_nodes___AExternMethPropdef___n_kwmeth SFT_parser_nodes[539]
-#define COLOR_parser_nodes___AExternMethPropdef___n_kwmeth__eq SFT_parser_nodes[540]
-#define COLOR_parser_nodes___AExternMethPropdef___n_extern SFT_parser_nodes[541]
-#define COLOR_parser_nodes___AExternMethPropdef___n_extern__eq SFT_parser_nodes[542]
-#define ID_AConcreteMethPropdef SFT_parser_nodes[543]
-#define COLOR_AConcreteMethPropdef SFT_parser_nodes[544]
-#define COLOR_parser_nodes___AConcreteMethPropdef____n_kwmeth SFT_parser_nodes[545]
-#define COLOR_parser_nodes___AConcreteMethPropdef____n_block SFT_parser_nodes[546]
-#define INIT_TABLE_POS_AConcreteMethPropdef SFT_parser_nodes[547]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_kwmeth SFT_parser_nodes[548]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_kwmeth__eq SFT_parser_nodes[549]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_block SFT_parser_nodes[550]
-#define COLOR_parser_nodes___AConcreteMethPropdef___n_block__eq SFT_parser_nodes[551]
-#define ID_AConcreteInitPropdef SFT_parser_nodes[552]
-#define COLOR_AConcreteInitPropdef SFT_parser_nodes[553]
-#define COLOR_parser_nodes___AConcreteInitPropdef____n_kwinit SFT_parser_nodes[554]
-#define INIT_TABLE_POS_AConcreteInitPropdef SFT_parser_nodes[555]
-#define COLOR_parser_nodes___AConcreteInitPropdef___n_kwinit SFT_parser_nodes[556]
-#define COLOR_parser_nodes___AConcreteInitPropdef___n_kwinit__eq SFT_parser_nodes[557]
-#define ID_AMainMethPropdef SFT_parser_nodes[558]
-#define COLOR_AMainMethPropdef SFT_parser_nodes[559]
-#define INIT_TABLE_POS_AMainMethPropdef SFT_parser_nodes[560]
-#define ID_ATypePropdef SFT_parser_nodes[561]
-#define COLOR_ATypePropdef SFT_parser_nodes[562]
-#define COLOR_parser_nodes___ATypePropdef____n_kwredef SFT_parser_nodes[563]
-#define COLOR_parser_nodes___ATypePropdef____n_visibility SFT_parser_nodes[564]
-#define COLOR_parser_nodes___ATypePropdef____n_kwtype SFT_parser_nodes[565]
-#define COLOR_parser_nodes___ATypePropdef____n_id SFT_parser_nodes[566]
-#define COLOR_parser_nodes___ATypePropdef____n_type SFT_parser_nodes[567]
-#define INIT_TABLE_POS_ATypePropdef SFT_parser_nodes[568]
-#define COLOR_parser_nodes___ATypePropdef___n_kwredef SFT_parser_nodes[569]
-#define COLOR_parser_nodes___ATypePropdef___n_kwredef__eq SFT_parser_nodes[570]
-#define COLOR_parser_nodes___ATypePropdef___n_visibility SFT_parser_nodes[571]
-#define COLOR_parser_nodes___ATypePropdef___n_visibility__eq SFT_parser_nodes[572]
-#define COLOR_parser_nodes___ATypePropdef___n_kwtype SFT_parser_nodes[573]
-#define COLOR_parser_nodes___ATypePropdef___n_kwtype__eq SFT_parser_nodes[574]
-#define COLOR_parser_nodes___ATypePropdef___n_id SFT_parser_nodes[575]
-#define COLOR_parser_nodes___ATypePropdef___n_id__eq SFT_parser_nodes[576]
-#define COLOR_parser_nodes___ATypePropdef___n_type SFT_parser_nodes[577]
-#define COLOR_parser_nodes___ATypePropdef___n_type__eq SFT_parser_nodes[578]
-#define ID_AReadAble SFT_parser_nodes[579]
-#define COLOR_AReadAble SFT_parser_nodes[580]
-#define COLOR_parser_nodes___AReadAble____n_kwreadable SFT_parser_nodes[581]
-#define INIT_TABLE_POS_AReadAble SFT_parser_nodes[582]
-#define COLOR_parser_nodes___AReadAble___n_kwreadable SFT_parser_nodes[583]
-#define COLOR_parser_nodes___AReadAble___n_kwreadable__eq SFT_parser_nodes[584]
-#define ID_AWriteAble SFT_parser_nodes[585]
-#define COLOR_AWriteAble SFT_parser_nodes[586]
-#define COLOR_parser_nodes___AWriteAble____n_kwwritable SFT_parser_nodes[587]
-#define INIT_TABLE_POS_AWriteAble SFT_parser_nodes[588]
-#define COLOR_parser_nodes___AWriteAble___n_kwwritable SFT_parser_nodes[589]
-#define COLOR_parser_nodes___AWriteAble___n_kwwritable__eq SFT_parser_nodes[590]
-#define ID_AIdMethid SFT_parser_nodes[591]
-#define COLOR_AIdMethid SFT_parser_nodes[592]
-#define COLOR_parser_nodes___AIdMethid____n_id SFT_parser_nodes[593]
-#define INIT_TABLE_POS_AIdMethid SFT_parser_nodes[594]
-#define COLOR_parser_nodes___AIdMethid___n_id SFT_parser_nodes[595]
-#define COLOR_parser_nodes___AIdMethid___n_id__eq SFT_parser_nodes[596]
-#define ID_APlusMethid SFT_parser_nodes[597]
-#define COLOR_APlusMethid SFT_parser_nodes[598]
-#define COLOR_parser_nodes___APlusMethid____n_plus SFT_parser_nodes[599]
-#define INIT_TABLE_POS_APlusMethid SFT_parser_nodes[600]
-#define COLOR_parser_nodes___APlusMethid___n_plus SFT_parser_nodes[601]
-#define COLOR_parser_nodes___APlusMethid___n_plus__eq SFT_parser_nodes[602]
-#define ID_AMinusMethid SFT_parser_nodes[603]
-#define COLOR_AMinusMethid SFT_parser_nodes[604]
-#define COLOR_parser_nodes___AMinusMethid____n_minus SFT_parser_nodes[605]
-#define INIT_TABLE_POS_AMinusMethid SFT_parser_nodes[606]
-#define COLOR_parser_nodes___AMinusMethid___n_minus SFT_parser_nodes[607]
-#define COLOR_parser_nodes___AMinusMethid___n_minus__eq SFT_parser_nodes[608]
-#define ID_AStarMethid SFT_parser_nodes[609]
-#define COLOR_AStarMethid SFT_parser_nodes[610]
-#define COLOR_parser_nodes___AStarMethid____n_star SFT_parser_nodes[611]
-#define INIT_TABLE_POS_AStarMethid SFT_parser_nodes[612]
-#define COLOR_parser_nodes___AStarMethid___n_star SFT_parser_nodes[613]
-#define COLOR_parser_nodes___AStarMethid___n_star__eq SFT_parser_nodes[614]
-#define ID_ASlashMethid SFT_parser_nodes[615]
-#define COLOR_ASlashMethid SFT_parser_nodes[616]
-#define COLOR_parser_nodes___ASlashMethid____n_slash SFT_parser_nodes[617]
-#define INIT_TABLE_POS_ASlashMethid SFT_parser_nodes[618]
-#define COLOR_parser_nodes___ASlashMethid___n_slash SFT_parser_nodes[619]
-#define COLOR_parser_nodes___ASlashMethid___n_slash__eq SFT_parser_nodes[620]
-#define ID_APercentMethid SFT_parser_nodes[621]
-#define COLOR_APercentMethid SFT_parser_nodes[622]
-#define COLOR_parser_nodes___APercentMethid____n_percent SFT_parser_nodes[623]
-#define INIT_TABLE_POS_APercentMethid SFT_parser_nodes[624]
-#define COLOR_parser_nodes___APercentMethid___n_percent SFT_parser_nodes[625]
-#define COLOR_parser_nodes___APercentMethid___n_percent__eq SFT_parser_nodes[626]
-#define ID_AEqMethid SFT_parser_nodes[627]
-#define COLOR_AEqMethid SFT_parser_nodes[628]
-#define COLOR_parser_nodes___AEqMethid____n_eq SFT_parser_nodes[629]
-#define INIT_TABLE_POS_AEqMethid SFT_parser_nodes[630]
-#define COLOR_parser_nodes___AEqMethid___n_eq SFT_parser_nodes[631]
-#define COLOR_parser_nodes___AEqMethid___n_eq__eq SFT_parser_nodes[632]
-#define ID_ANeMethid SFT_parser_nodes[633]
-#define COLOR_ANeMethid SFT_parser_nodes[634]
-#define COLOR_parser_nodes___ANeMethid____n_ne SFT_parser_nodes[635]
-#define INIT_TABLE_POS_ANeMethid SFT_parser_nodes[636]
-#define COLOR_parser_nodes___ANeMethid___n_ne SFT_parser_nodes[637]
-#define COLOR_parser_nodes___ANeMethid___n_ne__eq SFT_parser_nodes[638]
-#define ID_ALeMethid SFT_parser_nodes[639]
-#define COLOR_ALeMethid SFT_parser_nodes[640]
-#define COLOR_parser_nodes___ALeMethid____n_le SFT_parser_nodes[641]
-#define INIT_TABLE_POS_ALeMethid SFT_parser_nodes[642]
-#define COLOR_parser_nodes___ALeMethid___n_le SFT_parser_nodes[643]
-#define COLOR_parser_nodes___ALeMethid___n_le__eq SFT_parser_nodes[644]
-#define ID_AGeMethid SFT_parser_nodes[645]
-#define COLOR_AGeMethid SFT_parser_nodes[646]
-#define COLOR_parser_nodes___AGeMethid____n_ge SFT_parser_nodes[647]
-#define INIT_TABLE_POS_AGeMethid SFT_parser_nodes[648]
-#define COLOR_parser_nodes___AGeMethid___n_ge SFT_parser_nodes[649]
-#define COLOR_parser_nodes___AGeMethid___n_ge__eq SFT_parser_nodes[650]
-#define ID_ALtMethid SFT_parser_nodes[651]
-#define COLOR_ALtMethid SFT_parser_nodes[652]
-#define COLOR_parser_nodes___ALtMethid____n_lt SFT_parser_nodes[653]
-#define INIT_TABLE_POS_ALtMethid SFT_parser_nodes[654]
-#define COLOR_parser_nodes___ALtMethid___n_lt SFT_parser_nodes[655]
-#define COLOR_parser_nodes___ALtMethid___n_lt__eq SFT_parser_nodes[656]
-#define ID_AGtMethid SFT_parser_nodes[657]
-#define COLOR_AGtMethid SFT_parser_nodes[658]
-#define COLOR_parser_nodes___AGtMethid____n_gt SFT_parser_nodes[659]
-#define INIT_TABLE_POS_AGtMethid SFT_parser_nodes[660]
-#define COLOR_parser_nodes___AGtMethid___n_gt SFT_parser_nodes[661]
-#define COLOR_parser_nodes___AGtMethid___n_gt__eq SFT_parser_nodes[662]
-#define ID_ABraMethid SFT_parser_nodes[663]
-#define COLOR_ABraMethid SFT_parser_nodes[664]
-#define COLOR_parser_nodes___ABraMethid____n_obra SFT_parser_nodes[665]
-#define COLOR_parser_nodes___ABraMethid____n_cbra SFT_parser_nodes[666]
-#define INIT_TABLE_POS_ABraMethid SFT_parser_nodes[667]
-#define COLOR_parser_nodes___ABraMethid___n_obra SFT_parser_nodes[668]
-#define COLOR_parser_nodes___ABraMethid___n_obra__eq SFT_parser_nodes[669]
-#define COLOR_parser_nodes___ABraMethid___n_cbra SFT_parser_nodes[670]
-#define COLOR_parser_nodes___ABraMethid___n_cbra__eq SFT_parser_nodes[671]
-#define ID_AStarshipMethid SFT_parser_nodes[672]
-#define COLOR_AStarshipMethid SFT_parser_nodes[673]
-#define COLOR_parser_nodes___AStarshipMethid____n_starship SFT_parser_nodes[674]
-#define INIT_TABLE_POS_AStarshipMethid SFT_parser_nodes[675]
-#define COLOR_parser_nodes___AStarshipMethid___n_starship SFT_parser_nodes[676]
-#define COLOR_parser_nodes___AStarshipMethid___n_starship__eq SFT_parser_nodes[677]
-#define ID_AAssignMethid SFT_parser_nodes[678]
-#define COLOR_AAssignMethid SFT_parser_nodes[679]
-#define COLOR_parser_nodes___AAssignMethid____n_id SFT_parser_nodes[680]
-#define COLOR_parser_nodes___AAssignMethid____n_assign SFT_parser_nodes[681]
-#define INIT_TABLE_POS_AAssignMethid SFT_parser_nodes[682]
-#define COLOR_parser_nodes___AAssignMethid___n_id SFT_parser_nodes[683]
-#define COLOR_parser_nodes___AAssignMethid___n_id__eq SFT_parser_nodes[684]
-#define COLOR_parser_nodes___AAssignMethid___n_assign SFT_parser_nodes[685]
-#define COLOR_parser_nodes___AAssignMethid___n_assign__eq SFT_parser_nodes[686]
-#define ID_ABraassignMethid SFT_parser_nodes[687]
-#define COLOR_ABraassignMethid SFT_parser_nodes[688]
-#define COLOR_parser_nodes___ABraassignMethid____n_obra SFT_parser_nodes[689]
-#define COLOR_parser_nodes___ABraassignMethid____n_cbra SFT_parser_nodes[690]
-#define COLOR_parser_nodes___ABraassignMethid____n_assign SFT_parser_nodes[691]
-#define INIT_TABLE_POS_ABraassignMethid SFT_parser_nodes[692]
-#define COLOR_parser_nodes___ABraassignMethid___n_obra SFT_parser_nodes[693]
-#define COLOR_parser_nodes___ABraassignMethid___n_obra__eq SFT_parser_nodes[694]
-#define COLOR_parser_nodes___ABraassignMethid___n_cbra SFT_parser_nodes[695]
-#define COLOR_parser_nodes___ABraassignMethid___n_cbra__eq SFT_parser_nodes[696]
-#define COLOR_parser_nodes___ABraassignMethid___n_assign SFT_parser_nodes[697]
-#define COLOR_parser_nodes___ABraassignMethid___n_assign__eq SFT_parser_nodes[698]
-#define ID_ASignature SFT_parser_nodes[699]
-#define COLOR_ASignature SFT_parser_nodes[700]
-#define COLOR_parser_nodes___ASignature____n_params SFT_parser_nodes[701]
-#define COLOR_parser_nodes___ASignature____n_type SFT_parser_nodes[702]
-#define INIT_TABLE_POS_ASignature SFT_parser_nodes[703]
-#define COLOR_parser_nodes___ASignature___n_params SFT_parser_nodes[704]
-#define COLOR_parser_nodes___ASignature___n_params__eq SFT_parser_nodes[705]
-#define COLOR_parser_nodes___ASignature___n_type SFT_parser_nodes[706]
-#define COLOR_parser_nodes___ASignature___n_type__eq SFT_parser_nodes[707]
-#define ID_AParam SFT_parser_nodes[708]
-#define COLOR_AParam SFT_parser_nodes[709]
-#define COLOR_parser_nodes___AParam____n_dotdotdot SFT_parser_nodes[710]
-#define INIT_TABLE_POS_AParam SFT_parser_nodes[711]
-#define COLOR_parser_nodes___AParam___n_dotdotdot SFT_parser_nodes[712]
-#define COLOR_parser_nodes___AParam___n_dotdotdot__eq SFT_parser_nodes[713]
-#define ID_AType SFT_parser_nodes[714]
-#define COLOR_AType SFT_parser_nodes[715]
-#define COLOR_parser_nodes___AType____n_id SFT_parser_nodes[716]
-#define COLOR_parser_nodes___AType____n_types SFT_parser_nodes[717]
-#define INIT_TABLE_POS_AType SFT_parser_nodes[718]
-#define COLOR_parser_nodes___AType___n_id SFT_parser_nodes[719]
-#define COLOR_parser_nodes___AType___n_id__eq SFT_parser_nodes[720]
-#define COLOR_parser_nodes___AType___n_types SFT_parser_nodes[721]
-#define COLOR_parser_nodes___AType___n_types__eq SFT_parser_nodes[722]
-#define ID_ABlockExpr SFT_parser_nodes[723]
-#define COLOR_ABlockExpr SFT_parser_nodes[724]
-#define COLOR_parser_nodes___ABlockExpr____n_expr SFT_parser_nodes[725]
-#define INIT_TABLE_POS_ABlockExpr SFT_parser_nodes[726]
-#define COLOR_parser_nodes___ABlockExpr___n_expr SFT_parser_nodes[727]
-#define COLOR_parser_nodes___ABlockExpr___n_expr__eq SFT_parser_nodes[728]
-#define ID_AVardeclExpr SFT_parser_nodes[729]
-#define COLOR_AVardeclExpr SFT_parser_nodes[730]
-#define COLOR_parser_nodes___AVardeclExpr____n_kwvar SFT_parser_nodes[731]
-#define COLOR_parser_nodes___AVardeclExpr____n_id SFT_parser_nodes[732]
-#define COLOR_parser_nodes___AVardeclExpr____n_type SFT_parser_nodes[733]
-#define COLOR_parser_nodes___AVardeclExpr____n_assign SFT_parser_nodes[734]
-#define COLOR_parser_nodes___AVardeclExpr____n_expr SFT_parser_nodes[735]
-#define INIT_TABLE_POS_AVardeclExpr SFT_parser_nodes[736]
-#define COLOR_parser_nodes___AVardeclExpr___n_kwvar SFT_parser_nodes[737]
-#define COLOR_parser_nodes___AVardeclExpr___n_kwvar__eq SFT_parser_nodes[738]
-#define COLOR_parser_nodes___AVardeclExpr___n_id SFT_parser_nodes[739]
-#define COLOR_parser_nodes___AVardeclExpr___n_id__eq SFT_parser_nodes[740]
-#define COLOR_parser_nodes___AVardeclExpr___n_type SFT_parser_nodes[741]
-#define COLOR_parser_nodes___AVardeclExpr___n_type__eq SFT_parser_nodes[742]
-#define COLOR_parser_nodes___AVardeclExpr___n_assign SFT_parser_nodes[743]
-#define COLOR_parser_nodes___AVardeclExpr___n_assign__eq SFT_parser_nodes[744]
-#define COLOR_parser_nodes___AVardeclExpr___n_expr SFT_parser_nodes[745]
-#define COLOR_parser_nodes___AVardeclExpr___n_expr__eq SFT_parser_nodes[746]
-#define ID_AReturnExpr SFT_parser_nodes[747]
-#define COLOR_AReturnExpr SFT_parser_nodes[748]
-#define COLOR_parser_nodes___AReturnExpr____n_kwreturn SFT_parser_nodes[749]
-#define COLOR_parser_nodes___AReturnExpr____n_expr SFT_parser_nodes[750]
-#define INIT_TABLE_POS_AReturnExpr SFT_parser_nodes[751]
-#define COLOR_parser_nodes___AReturnExpr___n_kwreturn SFT_parser_nodes[752]
-#define COLOR_parser_nodes___AReturnExpr___n_kwreturn__eq SFT_parser_nodes[753]
-#define COLOR_parser_nodes___AReturnExpr___n_expr SFT_parser_nodes[754]
-#define COLOR_parser_nodes___AReturnExpr___n_expr__eq SFT_parser_nodes[755]
-#define ID_ABreakExpr SFT_parser_nodes[756]
-#define COLOR_ABreakExpr SFT_parser_nodes[757]
-#define COLOR_parser_nodes___ABreakExpr____n_kwbreak SFT_parser_nodes[758]
-#define INIT_TABLE_POS_ABreakExpr SFT_parser_nodes[759]
-#define COLOR_parser_nodes___ABreakExpr___n_kwbreak SFT_parser_nodes[760]
-#define COLOR_parser_nodes___ABreakExpr___n_kwbreak__eq SFT_parser_nodes[761]
-#define ID_AAbortExpr SFT_parser_nodes[762]
-#define COLOR_AAbortExpr SFT_parser_nodes[763]
-#define COLOR_parser_nodes___AAbortExpr____n_kwabort SFT_parser_nodes[764]
-#define INIT_TABLE_POS_AAbortExpr SFT_parser_nodes[765]
-#define COLOR_parser_nodes___AAbortExpr___n_kwabort SFT_parser_nodes[766]
-#define COLOR_parser_nodes___AAbortExpr___n_kwabort__eq SFT_parser_nodes[767]
-#define ID_AContinueExpr SFT_parser_nodes[768]
-#define COLOR_AContinueExpr SFT_parser_nodes[769]
-#define COLOR_parser_nodes___AContinueExpr____n_kwcontinue SFT_parser_nodes[770]
-#define INIT_TABLE_POS_AContinueExpr SFT_parser_nodes[771]
-#define COLOR_parser_nodes___AContinueExpr___n_kwcontinue SFT_parser_nodes[772]
-#define COLOR_parser_nodes___AContinueExpr___n_kwcontinue__eq SFT_parser_nodes[773]
-#define ID_ADoExpr SFT_parser_nodes[774]
-#define COLOR_ADoExpr SFT_parser_nodes[775]
-#define COLOR_parser_nodes___ADoExpr____n_kwdo SFT_parser_nodes[776]
-#define COLOR_parser_nodes___ADoExpr____n_block SFT_parser_nodes[777]
-#define INIT_TABLE_POS_ADoExpr SFT_parser_nodes[778]
-#define COLOR_parser_nodes___ADoExpr___n_kwdo SFT_parser_nodes[779]
-#define COLOR_parser_nodes___ADoExpr___n_kwdo__eq SFT_parser_nodes[780]
-#define COLOR_parser_nodes___ADoExpr___n_block SFT_parser_nodes[781]
-#define COLOR_parser_nodes___ADoExpr___n_block__eq SFT_parser_nodes[782]
-#define ID_AIfExpr SFT_parser_nodes[783]
-#define COLOR_AIfExpr SFT_parser_nodes[784]
-#define COLOR_parser_nodes___AIfExpr____n_kwif SFT_parser_nodes[785]
-#define COLOR_parser_nodes___AIfExpr____n_expr SFT_parser_nodes[786]
-#define COLOR_parser_nodes___AIfExpr____n_then SFT_parser_nodes[787]
-#define COLOR_parser_nodes___AIfExpr____n_else SFT_parser_nodes[788]
-#define INIT_TABLE_POS_AIfExpr SFT_parser_nodes[789]
-#define COLOR_parser_nodes___AIfExpr___n_kwif SFT_parser_nodes[790]
-#define COLOR_parser_nodes___AIfExpr___n_kwif__eq SFT_parser_nodes[791]
-#define COLOR_parser_nodes___AIfExpr___n_expr SFT_parser_nodes[792]
-#define COLOR_parser_nodes___AIfExpr___n_expr__eq SFT_parser_nodes[793]
-#define COLOR_parser_nodes___AIfExpr___n_then SFT_parser_nodes[794]
-#define COLOR_parser_nodes___AIfExpr___n_then__eq SFT_parser_nodes[795]
-#define COLOR_parser_nodes___AIfExpr___n_else SFT_parser_nodes[796]
-#define COLOR_parser_nodes___AIfExpr___n_else__eq SFT_parser_nodes[797]
-#define ID_AIfexprExpr SFT_parser_nodes[798]
-#define COLOR_AIfexprExpr SFT_parser_nodes[799]
-#define COLOR_parser_nodes___AIfexprExpr____n_kwif SFT_parser_nodes[800]
-#define COLOR_parser_nodes___AIfexprExpr____n_expr SFT_parser_nodes[801]
-#define COLOR_parser_nodes___AIfexprExpr____n_kwthen SFT_parser_nodes[802]
-#define COLOR_parser_nodes___AIfexprExpr____n_then SFT_parser_nodes[803]
-#define COLOR_parser_nodes___AIfexprExpr____n_kwelse SFT_parser_nodes[804]
-#define COLOR_parser_nodes___AIfexprExpr____n_else SFT_parser_nodes[805]
-#define INIT_TABLE_POS_AIfexprExpr SFT_parser_nodes[806]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwif SFT_parser_nodes[807]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwif__eq SFT_parser_nodes[808]
-#define COLOR_parser_nodes___AIfexprExpr___n_expr SFT_parser_nodes[809]
-#define COLOR_parser_nodes___AIfexprExpr___n_expr__eq SFT_parser_nodes[810]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwthen SFT_parser_nodes[811]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwthen__eq SFT_parser_nodes[812]
-#define COLOR_parser_nodes___AIfexprExpr___n_then SFT_parser_nodes[813]
-#define COLOR_parser_nodes___AIfexprExpr___n_then__eq SFT_parser_nodes[814]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwelse SFT_parser_nodes[815]
-#define COLOR_parser_nodes___AIfexprExpr___n_kwelse__eq SFT_parser_nodes[816]
-#define COLOR_parser_nodes___AIfexprExpr___n_else SFT_parser_nodes[817]
-#define COLOR_parser_nodes___AIfexprExpr___n_else__eq SFT_parser_nodes[818]
-#define ID_AWhileExpr SFT_parser_nodes[819]
-#define COLOR_AWhileExpr SFT_parser_nodes[820]
-#define COLOR_parser_nodes___AWhileExpr____n_kwwhile SFT_parser_nodes[821]
-#define COLOR_parser_nodes___AWhileExpr____n_expr SFT_parser_nodes[822]
-#define COLOR_parser_nodes___AWhileExpr____n_kwdo SFT_parser_nodes[823]
-#define COLOR_parser_nodes___AWhileExpr____n_block SFT_parser_nodes[824]
-#define INIT_TABLE_POS_AWhileExpr SFT_parser_nodes[825]
-#define COLOR_parser_nodes___AWhileExpr___n_kwwhile SFT_parser_nodes[826]
-#define COLOR_parser_nodes___AWhileExpr___n_kwwhile__eq SFT_parser_nodes[827]
-#define COLOR_parser_nodes___AWhileExpr___n_expr SFT_parser_nodes[828]
-#define COLOR_parser_nodes___AWhileExpr___n_expr__eq SFT_parser_nodes[829]
-#define COLOR_parser_nodes___AWhileExpr___n_kwdo SFT_parser_nodes[830]
-#define COLOR_parser_nodes___AWhileExpr___n_kwdo__eq SFT_parser_nodes[831]
-#define COLOR_parser_nodes___AWhileExpr___n_block SFT_parser_nodes[832]
-#define COLOR_parser_nodes___AWhileExpr___n_block__eq SFT_parser_nodes[833]
-#define ID_AForExpr SFT_parser_nodes[834]
-#define COLOR_AForExpr SFT_parser_nodes[835]
-#define COLOR_parser_nodes___AForExpr____n_vardecl SFT_parser_nodes[836]
-#define COLOR_parser_nodes___AForExpr____n_kwdo SFT_parser_nodes[837]
-#define COLOR_parser_nodes___AForExpr____n_block SFT_parser_nodes[838]
-#define INIT_TABLE_POS_AForExpr SFT_parser_nodes[839]
-#define COLOR_parser_nodes___AForExpr___n_vardecl SFT_parser_nodes[840]
-#define COLOR_parser_nodes___AForExpr___n_vardecl__eq SFT_parser_nodes[841]
-#define COLOR_parser_nodes___AForExpr___n_kwdo SFT_parser_nodes[842]
-#define COLOR_parser_nodes___AForExpr___n_kwdo__eq SFT_parser_nodes[843]
-#define COLOR_parser_nodes___AForExpr___n_block SFT_parser_nodes[844]
-#define COLOR_parser_nodes___AForExpr___n_block__eq SFT_parser_nodes[845]
-#define ID_AForVardeclExpr SFT_parser_nodes[846]
-#define COLOR_AForVardeclExpr SFT_parser_nodes[847]
-#define COLOR_parser_nodes___AForVardeclExpr____n_kwfor SFT_parser_nodes[848]
-#define COLOR_parser_nodes___AForVardeclExpr____n_id SFT_parser_nodes[849]
-#define COLOR_parser_nodes___AForVardeclExpr____n_expr SFT_parser_nodes[850]
-#define INIT_TABLE_POS_AForVardeclExpr SFT_parser_nodes[851]
-#define COLOR_parser_nodes___AForVardeclExpr___n_kwfor SFT_parser_nodes[852]
-#define COLOR_parser_nodes___AForVardeclExpr___n_kwfor__eq SFT_parser_nodes[853]
-#define COLOR_parser_nodes___AForVardeclExpr___n_id SFT_parser_nodes[854]
-#define COLOR_parser_nodes___AForVardeclExpr___n_id__eq SFT_parser_nodes[855]
-#define COLOR_parser_nodes___AForVardeclExpr___n_expr SFT_parser_nodes[856]
-#define COLOR_parser_nodes___AForVardeclExpr___n_expr__eq SFT_parser_nodes[857]
-#define ID_AAssertExpr SFT_parser_nodes[858]
-#define COLOR_AAssertExpr SFT_parser_nodes[859]
-#define COLOR_parser_nodes___AAssertExpr____n_kwassert SFT_parser_nodes[860]
-#define COLOR_parser_nodes___AAssertExpr____n_id SFT_parser_nodes[861]
-#define COLOR_parser_nodes___AAssertExpr____n_expr SFT_parser_nodes[862]
-#define INIT_TABLE_POS_AAssertExpr SFT_parser_nodes[863]
-#define COLOR_parser_nodes___AAssertExpr___n_kwassert SFT_parser_nodes[864]
-#define COLOR_parser_nodes___AAssertExpr___n_kwassert__eq SFT_parser_nodes[865]
-#define COLOR_parser_nodes___AAssertExpr___n_id SFT_parser_nodes[866]
-#define COLOR_parser_nodes___AAssertExpr___n_id__eq SFT_parser_nodes[867]
-#define COLOR_parser_nodes___AAssertExpr___n_expr SFT_parser_nodes[868]
-#define COLOR_parser_nodes___AAssertExpr___n_expr__eq SFT_parser_nodes[869]
-#define ID_AAssignFormExpr SFT_parser_nodes[870]
-#define COLOR_AAssignFormExpr SFT_parser_nodes[871]
-#define COLOR_parser_nodes___AAssignFormExpr____n_assign SFT_parser_nodes[872]
-#define COLOR_parser_nodes___AAssignFormExpr____n_value SFT_parser_nodes[873]
-#define INIT_TABLE_POS_AAssignFormExpr SFT_parser_nodes[874]
-#define COLOR_parser_nodes___AAssignFormExpr___n_assign SFT_parser_nodes[875]
-#define COLOR_parser_nodes___AAssignFormExpr___n_assign__eq SFT_parser_nodes[876]
-#define COLOR_parser_nodes___AAssignFormExpr___n_value SFT_parser_nodes[877]
-#define COLOR_parser_nodes___AAssignFormExpr___n_value__eq SFT_parser_nodes[878]
-#define ID_AReassignFormExpr SFT_parser_nodes[879]
-#define COLOR_AReassignFormExpr SFT_parser_nodes[880]
-#define COLOR_parser_nodes___AReassignFormExpr____n_assign_op SFT_parser_nodes[881]
-#define COLOR_parser_nodes___AReassignFormExpr____n_value SFT_parser_nodes[882]
-#define INIT_TABLE_POS_AReassignFormExpr SFT_parser_nodes[883]
-#define COLOR_parser_nodes___AReassignFormExpr___n_assign_op SFT_parser_nodes[884]
-#define COLOR_parser_nodes___AReassignFormExpr___n_assign_op__eq SFT_parser_nodes[885]
-#define COLOR_parser_nodes___AReassignFormExpr___n_value SFT_parser_nodes[886]
-#define COLOR_parser_nodes___AReassignFormExpr___n_value__eq SFT_parser_nodes[887]
-#define ID_AOnceExpr SFT_parser_nodes[888]
-#define COLOR_AOnceExpr SFT_parser_nodes[889]
-#define COLOR_parser_nodes___AOnceExpr____n_kwonce SFT_parser_nodes[890]
-#define INIT_TABLE_POS_AOnceExpr SFT_parser_nodes[891]
-#define COLOR_parser_nodes___AOnceExpr___n_kwonce SFT_parser_nodes[892]
-#define COLOR_parser_nodes___AOnceExpr___n_kwonce__eq SFT_parser_nodes[893]
-#define ID_ASendExpr SFT_parser_nodes[894]
-#define COLOR_ASendExpr SFT_parser_nodes[895]
-#define COLOR_parser_nodes___ASendExpr____n_expr SFT_parser_nodes[896]
-#define INIT_TABLE_POS_ASendExpr SFT_parser_nodes[897]
-#define COLOR_parser_nodes___ASendExpr___n_expr SFT_parser_nodes[898]
-#define COLOR_parser_nodes___ASendExpr___n_expr__eq SFT_parser_nodes[899]
-#define ID_ABinopExpr SFT_parser_nodes[900]
-#define COLOR_ABinopExpr SFT_parser_nodes[901]
-#define COLOR_parser_nodes___ABinopExpr____n_expr2 SFT_parser_nodes[902]
-#define INIT_TABLE_POS_ABinopExpr SFT_parser_nodes[903]
-#define COLOR_parser_nodes___ABinopExpr___n_expr2 SFT_parser_nodes[904]
-#define COLOR_parser_nodes___ABinopExpr___n_expr2__eq SFT_parser_nodes[905]
-#define ID_ABoolExpr SFT_parser_nodes[906]
-#define COLOR_ABoolExpr SFT_parser_nodes[907]
-#define INIT_TABLE_POS_ABoolExpr SFT_parser_nodes[908]
-#define ID_AOrExpr SFT_parser_nodes[909]
-#define COLOR_AOrExpr SFT_parser_nodes[910]
-#define COLOR_parser_nodes___AOrExpr____n_expr SFT_parser_nodes[911]
-#define COLOR_parser_nodes___AOrExpr____n_expr2 SFT_parser_nodes[912]
-#define INIT_TABLE_POS_AOrExpr SFT_parser_nodes[913]
-#define COLOR_parser_nodes___AOrExpr___n_expr SFT_parser_nodes[914]
-#define COLOR_parser_nodes___AOrExpr___n_expr__eq SFT_parser_nodes[915]
-#define COLOR_parser_nodes___AOrExpr___n_expr2 SFT_parser_nodes[916]
-#define COLOR_parser_nodes___AOrExpr___n_expr2__eq SFT_parser_nodes[917]
-#define ID_AAndExpr SFT_parser_nodes[918]
-#define COLOR_AAndExpr SFT_parser_nodes[919]
-#define COLOR_parser_nodes___AAndExpr____n_expr SFT_parser_nodes[920]
-#define COLOR_parser_nodes___AAndExpr____n_expr2 SFT_parser_nodes[921]
-#define INIT_TABLE_POS_AAndExpr SFT_parser_nodes[922]
-#define COLOR_parser_nodes___AAndExpr___n_expr SFT_parser_nodes[923]
-#define COLOR_parser_nodes___AAndExpr___n_expr__eq SFT_parser_nodes[924]
-#define COLOR_parser_nodes___AAndExpr___n_expr2 SFT_parser_nodes[925]
-#define COLOR_parser_nodes___AAndExpr___n_expr2__eq SFT_parser_nodes[926]
-#define ID_ANotExpr SFT_parser_nodes[927]
-#define COLOR_ANotExpr SFT_parser_nodes[928]
-#define COLOR_parser_nodes___ANotExpr____n_kwnot SFT_parser_nodes[929]
-#define COLOR_parser_nodes___ANotExpr____n_expr SFT_parser_nodes[930]
-#define INIT_TABLE_POS_ANotExpr SFT_parser_nodes[931]
-#define COLOR_parser_nodes___ANotExpr___n_kwnot SFT_parser_nodes[932]
-#define COLOR_parser_nodes___ANotExpr___n_kwnot__eq SFT_parser_nodes[933]
-#define COLOR_parser_nodes___ANotExpr___n_expr SFT_parser_nodes[934]
-#define COLOR_parser_nodes___ANotExpr___n_expr__eq SFT_parser_nodes[935]
-#define ID_AEqExpr SFT_parser_nodes[936]
-#define COLOR_AEqExpr SFT_parser_nodes[937]
-#define INIT_TABLE_POS_AEqExpr SFT_parser_nodes[938]
-#define ID_AEeExpr SFT_parser_nodes[939]
-#define COLOR_AEeExpr SFT_parser_nodes[940]
-#define COLOR_parser_nodes___AEeExpr____n_expr SFT_parser_nodes[941]
-#define COLOR_parser_nodes___AEeExpr____n_expr2 SFT_parser_nodes[942]
-#define INIT_TABLE_POS_AEeExpr SFT_parser_nodes[943]
-#define COLOR_parser_nodes___AEeExpr___n_expr SFT_parser_nodes[944]
-#define COLOR_parser_nodes___AEeExpr___n_expr__eq SFT_parser_nodes[945]
-#define COLOR_parser_nodes___AEeExpr___n_expr2 SFT_parser_nodes[946]
-#define COLOR_parser_nodes___AEeExpr___n_expr2__eq SFT_parser_nodes[947]
-#define ID_ANeExpr SFT_parser_nodes[948]
-#define COLOR_ANeExpr SFT_parser_nodes[949]
-#define INIT_TABLE_POS_ANeExpr SFT_parser_nodes[950]
-#define ID_ALtExpr SFT_parser_nodes[951]
-#define COLOR_ALtExpr SFT_parser_nodes[952]
-#define INIT_TABLE_POS_ALtExpr SFT_parser_nodes[953]
-#define ID_ALeExpr SFT_parser_nodes[954]
-#define COLOR_ALeExpr SFT_parser_nodes[955]
-#define INIT_TABLE_POS_ALeExpr SFT_parser_nodes[956]
-#define ID_AGtExpr SFT_parser_nodes[957]
-#define COLOR_AGtExpr SFT_parser_nodes[958]
-#define INIT_TABLE_POS_AGtExpr SFT_parser_nodes[959]
-#define ID_AGeExpr SFT_parser_nodes[960]
-#define COLOR_AGeExpr SFT_parser_nodes[961]
-#define INIT_TABLE_POS_AGeExpr SFT_parser_nodes[962]
-#define ID_AIsaExpr SFT_parser_nodes[963]
-#define COLOR_AIsaExpr SFT_parser_nodes[964]
-#define COLOR_parser_nodes___AIsaExpr____n_expr SFT_parser_nodes[965]
-#define COLOR_parser_nodes___AIsaExpr____n_type SFT_parser_nodes[966]
-#define INIT_TABLE_POS_AIsaExpr SFT_parser_nodes[967]
-#define COLOR_parser_nodes___AIsaExpr___n_expr SFT_parser_nodes[968]
-#define COLOR_parser_nodes___AIsaExpr___n_expr__eq SFT_parser_nodes[969]
-#define COLOR_parser_nodes___AIsaExpr___n_type SFT_parser_nodes[970]
-#define COLOR_parser_nodes___AIsaExpr___n_type__eq SFT_parser_nodes[971]
-#define ID_APlusExpr SFT_parser_nodes[972]
-#define COLOR_APlusExpr SFT_parser_nodes[973]
-#define INIT_TABLE_POS_APlusExpr SFT_parser_nodes[974]
-#define ID_AMinusExpr SFT_parser_nodes[975]
-#define COLOR_AMinusExpr SFT_parser_nodes[976]
-#define INIT_TABLE_POS_AMinusExpr SFT_parser_nodes[977]
-#define ID_AStarshipExpr SFT_parser_nodes[978]
-#define COLOR_AStarshipExpr SFT_parser_nodes[979]
-#define INIT_TABLE_POS_AStarshipExpr SFT_parser_nodes[980]
-#define ID_AStarExpr SFT_parser_nodes[981]
-#define COLOR_AStarExpr SFT_parser_nodes[982]
-#define INIT_TABLE_POS_AStarExpr SFT_parser_nodes[983]
-#define ID_ASlashExpr SFT_parser_nodes[984]
-#define COLOR_ASlashExpr SFT_parser_nodes[985]
-#define INIT_TABLE_POS_ASlashExpr SFT_parser_nodes[986]
-#define ID_APercentExpr SFT_parser_nodes[987]
-#define COLOR_APercentExpr SFT_parser_nodes[988]
-#define INIT_TABLE_POS_APercentExpr SFT_parser_nodes[989]
-#define ID_AUminusExpr SFT_parser_nodes[990]
-#define COLOR_AUminusExpr SFT_parser_nodes[991]
-#define COLOR_parser_nodes___AUminusExpr____n_minus SFT_parser_nodes[992]
-#define INIT_TABLE_POS_AUminusExpr SFT_parser_nodes[993]
-#define COLOR_parser_nodes___AUminusExpr___n_minus SFT_parser_nodes[994]
-#define COLOR_parser_nodes___AUminusExpr___n_minus__eq SFT_parser_nodes[995]
-#define ID_ANewExpr SFT_parser_nodes[996]
-#define COLOR_ANewExpr SFT_parser_nodes[997]
-#define COLOR_parser_nodes___ANewExpr____n_kwnew SFT_parser_nodes[998]
-#define COLOR_parser_nodes___ANewExpr____n_type SFT_parser_nodes[999]
-#define COLOR_parser_nodes___ANewExpr____n_id SFT_parser_nodes[1000]
-#define COLOR_parser_nodes___ANewExpr____n_args SFT_parser_nodes[1001]
-#define INIT_TABLE_POS_ANewExpr SFT_parser_nodes[1002]
-#define COLOR_parser_nodes___ANewExpr___n_kwnew SFT_parser_nodes[1003]
-#define COLOR_parser_nodes___ANewExpr___n_kwnew__eq SFT_parser_nodes[1004]
-#define COLOR_parser_nodes___ANewExpr___n_type SFT_parser_nodes[1005]
-#define COLOR_parser_nodes___ANewExpr___n_type__eq SFT_parser_nodes[1006]
-#define COLOR_parser_nodes___ANewExpr___n_id SFT_parser_nodes[1007]
-#define COLOR_parser_nodes___ANewExpr___n_id__eq SFT_parser_nodes[1008]
-#define COLOR_parser_nodes___ANewExpr___n_args SFT_parser_nodes[1009]
-#define COLOR_parser_nodes___ANewExpr___n_args__eq SFT_parser_nodes[1010]
-#define ID_AAttrFormExpr SFT_parser_nodes[1011]
-#define COLOR_AAttrFormExpr SFT_parser_nodes[1012]
-#define COLOR_parser_nodes___AAttrFormExpr____n_expr SFT_parser_nodes[1013]
-#define COLOR_parser_nodes___AAttrFormExpr____n_id SFT_parser_nodes[1014]
-#define INIT_TABLE_POS_AAttrFormExpr SFT_parser_nodes[1015]
-#define COLOR_parser_nodes___AAttrFormExpr___n_expr SFT_parser_nodes[1016]
-#define COLOR_parser_nodes___AAttrFormExpr___n_expr__eq SFT_parser_nodes[1017]
-#define COLOR_parser_nodes___AAttrFormExpr___n_id SFT_parser_nodes[1018]
-#define COLOR_parser_nodes___AAttrFormExpr___n_id__eq SFT_parser_nodes[1019]
-#define ID_AAttrExpr SFT_parser_nodes[1020]
-#define COLOR_AAttrExpr SFT_parser_nodes[1021]
-#define INIT_TABLE_POS_AAttrExpr SFT_parser_nodes[1022]
-#define ID_AAttrAssignExpr SFT_parser_nodes[1023]
-#define COLOR_AAttrAssignExpr SFT_parser_nodes[1024]
-#define INIT_TABLE_POS_AAttrAssignExpr SFT_parser_nodes[1025]
-#define ID_ACallFormExpr SFT_parser_nodes[1026]
-#define COLOR_ACallFormExpr SFT_parser_nodes[1027]
-#define COLOR_parser_nodes___ACallFormExpr____n_id SFT_parser_nodes[1028]
-#define COLOR_parser_nodes___ACallFormExpr____n_args SFT_parser_nodes[1029]
-#define INIT_TABLE_POS_ACallFormExpr SFT_parser_nodes[1030]
-#define COLOR_parser_nodes___ACallFormExpr___n_id SFT_parser_nodes[1031]
-#define COLOR_parser_nodes___ACallFormExpr___n_id__eq SFT_parser_nodes[1032]
-#define COLOR_parser_nodes___ACallFormExpr___n_args SFT_parser_nodes[1033]
-#define COLOR_parser_nodes___ACallFormExpr___n_args__eq SFT_parser_nodes[1034]
-#define ID_AAttrReassignExpr SFT_parser_nodes[1035]
-#define COLOR_AAttrReassignExpr SFT_parser_nodes[1036]
-#define INIT_TABLE_POS_AAttrReassignExpr SFT_parser_nodes[1037]
-#define ID_ACallExpr SFT_parser_nodes[1038]
-#define COLOR_ACallExpr SFT_parser_nodes[1039]
-#define INIT_TABLE_POS_ACallExpr SFT_parser_nodes[1040]
-#define ID_ACallAssignExpr SFT_parser_nodes[1041]
-#define COLOR_ACallAssignExpr SFT_parser_nodes[1042]
-#define INIT_TABLE_POS_ACallAssignExpr SFT_parser_nodes[1043]
-#define ID_ACallReassignExpr SFT_parser_nodes[1044]
-#define COLOR_ACallReassignExpr SFT_parser_nodes[1045]
-#define INIT_TABLE_POS_ACallReassignExpr SFT_parser_nodes[1046]
-#define ID_ASuperExpr SFT_parser_nodes[1047]
-#define COLOR_ASuperExpr SFT_parser_nodes[1048]
-#define COLOR_parser_nodes___ASuperExpr____n_qualified SFT_parser_nodes[1049]
-#define COLOR_parser_nodes___ASuperExpr____n_kwsuper SFT_parser_nodes[1050]
-#define COLOR_parser_nodes___ASuperExpr____n_args SFT_parser_nodes[1051]
-#define INIT_TABLE_POS_ASuperExpr SFT_parser_nodes[1052]
-#define COLOR_parser_nodes___ASuperExpr___n_qualified SFT_parser_nodes[1053]
-#define COLOR_parser_nodes___ASuperExpr___n_qualified__eq SFT_parser_nodes[1054]
-#define COLOR_parser_nodes___ASuperExpr___n_kwsuper SFT_parser_nodes[1055]
-#define COLOR_parser_nodes___ASuperExpr___n_kwsuper__eq SFT_parser_nodes[1056]
-#define COLOR_parser_nodes___ASuperExpr___n_args SFT_parser_nodes[1057]
-#define COLOR_parser_nodes___ASuperExpr___n_args__eq SFT_parser_nodes[1058]
-#define ID_AInitExpr SFT_parser_nodes[1059]
-#define COLOR_AInitExpr SFT_parser_nodes[1060]
-#define COLOR_parser_nodes___AInitExpr____n_kwinit SFT_parser_nodes[1061]
-#define COLOR_parser_nodes___AInitExpr____n_args SFT_parser_nodes[1062]
-#define INIT_TABLE_POS_AInitExpr SFT_parser_nodes[1063]
-#define COLOR_parser_nodes___AInitExpr___n_kwinit SFT_parser_nodes[1064]
-#define COLOR_parser_nodes___AInitExpr___n_kwinit__eq SFT_parser_nodes[1065]
-#define COLOR_parser_nodes___AInitExpr___n_args SFT_parser_nodes[1066]
-#define COLOR_parser_nodes___AInitExpr___n_args__eq SFT_parser_nodes[1067]
-#define ID_ABraFormExpr SFT_parser_nodes[1068]
-#define COLOR_ABraFormExpr SFT_parser_nodes[1069]
-#define COLOR_parser_nodes___ABraFormExpr____n_args SFT_parser_nodes[1070]
-#define INIT_TABLE_POS_ABraFormExpr SFT_parser_nodes[1071]
-#define COLOR_parser_nodes___ABraFormExpr___n_args SFT_parser_nodes[1072]
-#define COLOR_parser_nodes___ABraFormExpr___n_args__eq SFT_parser_nodes[1073]
-#define ID_ABraExpr SFT_parser_nodes[1074]
-#define COLOR_ABraExpr SFT_parser_nodes[1075]
-#define INIT_TABLE_POS_ABraExpr SFT_parser_nodes[1076]
-#define ID_ABraAssignExpr SFT_parser_nodes[1077]
-#define COLOR_ABraAssignExpr SFT_parser_nodes[1078]
-#define INIT_TABLE_POS_ABraAssignExpr SFT_parser_nodes[1079]
-#define ID_AVarFormExpr SFT_parser_nodes[1080]
-#define COLOR_AVarFormExpr SFT_parser_nodes[1081]
-#define COLOR_parser_nodes___AVarFormExpr____n_id SFT_parser_nodes[1082]
-#define INIT_TABLE_POS_AVarFormExpr SFT_parser_nodes[1083]
-#define COLOR_parser_nodes___AVarFormExpr___n_id SFT_parser_nodes[1084]
-#define COLOR_parser_nodes___AVarFormExpr___n_id__eq SFT_parser_nodes[1085]
-#define ID_ABraReassignExpr SFT_parser_nodes[1086]
-#define COLOR_ABraReassignExpr SFT_parser_nodes[1087]
-#define INIT_TABLE_POS_ABraReassignExpr SFT_parser_nodes[1088]
-#define ID_AVarExpr SFT_parser_nodes[1089]
-#define COLOR_AVarExpr SFT_parser_nodes[1090]
-#define INIT_TABLE_POS_AVarExpr SFT_parser_nodes[1091]
-#define ID_AVarAssignExpr SFT_parser_nodes[1092]
-#define COLOR_AVarAssignExpr SFT_parser_nodes[1093]
-#define INIT_TABLE_POS_AVarAssignExpr SFT_parser_nodes[1094]
-#define ID_AVarReassignExpr SFT_parser_nodes[1095]
-#define COLOR_AVarReassignExpr SFT_parser_nodes[1096]
-#define INIT_TABLE_POS_AVarReassignExpr SFT_parser_nodes[1097]
-#define ID_ARangeExpr SFT_parser_nodes[1098]
-#define COLOR_ARangeExpr SFT_parser_nodes[1099]
-#define COLOR_parser_nodes___ARangeExpr____n_expr SFT_parser_nodes[1100]
-#define COLOR_parser_nodes___ARangeExpr____n_expr2 SFT_parser_nodes[1101]
-#define INIT_TABLE_POS_ARangeExpr SFT_parser_nodes[1102]
-#define COLOR_parser_nodes___ARangeExpr___n_expr SFT_parser_nodes[1103]
-#define COLOR_parser_nodes___ARangeExpr___n_expr__eq SFT_parser_nodes[1104]
-#define COLOR_parser_nodes___ARangeExpr___n_expr2 SFT_parser_nodes[1105]
-#define COLOR_parser_nodes___ARangeExpr___n_expr2__eq SFT_parser_nodes[1106]
-#define ID_ACrangeExpr SFT_parser_nodes[1107]
-#define COLOR_ACrangeExpr SFT_parser_nodes[1108]
-#define INIT_TABLE_POS_ACrangeExpr SFT_parser_nodes[1109]
-#define ID_AOrangeExpr SFT_parser_nodes[1110]
-#define COLOR_AOrangeExpr SFT_parser_nodes[1111]
-#define INIT_TABLE_POS_AOrangeExpr SFT_parser_nodes[1112]
-#define ID_AArrayExpr SFT_parser_nodes[1113]
-#define COLOR_AArrayExpr SFT_parser_nodes[1114]
-#define COLOR_parser_nodes___AArrayExpr____n_exprs SFT_parser_nodes[1115]
-#define INIT_TABLE_POS_AArrayExpr SFT_parser_nodes[1116]
-#define COLOR_parser_nodes___AArrayExpr___n_exprs SFT_parser_nodes[1117]
-#define COLOR_parser_nodes___AArrayExpr___n_exprs__eq SFT_parser_nodes[1118]
-#define ID_ASelfExpr SFT_parser_nodes[1119]
-#define COLOR_ASelfExpr SFT_parser_nodes[1120]
-#define COLOR_parser_nodes___ASelfExpr____n_kwself SFT_parser_nodes[1121]
-#define INIT_TABLE_POS_ASelfExpr SFT_parser_nodes[1122]
-#define COLOR_parser_nodes___ASelfExpr___n_kwself SFT_parser_nodes[1123]
-#define COLOR_parser_nodes___ASelfExpr___n_kwself__eq SFT_parser_nodes[1124]
-#define ID_AImplicitSelfExpr SFT_parser_nodes[1125]
-#define COLOR_AImplicitSelfExpr SFT_parser_nodes[1126]
-#define INIT_TABLE_POS_AImplicitSelfExpr SFT_parser_nodes[1127]
-#define ID_ATrueExpr SFT_parser_nodes[1128]
-#define COLOR_ATrueExpr SFT_parser_nodes[1129]
-#define COLOR_parser_nodes___ATrueExpr____n_kwtrue SFT_parser_nodes[1130]
-#define INIT_TABLE_POS_ATrueExpr SFT_parser_nodes[1131]
-#define COLOR_parser_nodes___ATrueExpr___n_kwtrue SFT_parser_nodes[1132]
-#define COLOR_parser_nodes___ATrueExpr___n_kwtrue__eq SFT_parser_nodes[1133]
-#define ID_AFalseExpr SFT_parser_nodes[1134]
-#define COLOR_AFalseExpr SFT_parser_nodes[1135]
-#define COLOR_parser_nodes___AFalseExpr____n_kwfalse SFT_parser_nodes[1136]
-#define INIT_TABLE_POS_AFalseExpr SFT_parser_nodes[1137]
-#define COLOR_parser_nodes___AFalseExpr___n_kwfalse SFT_parser_nodes[1138]
-#define COLOR_parser_nodes___AFalseExpr___n_kwfalse__eq SFT_parser_nodes[1139]
-#define ID_ANullExpr SFT_parser_nodes[1140]
-#define COLOR_ANullExpr SFT_parser_nodes[1141]
-#define COLOR_parser_nodes___ANullExpr____n_kwnull SFT_parser_nodes[1142]
-#define INIT_TABLE_POS_ANullExpr SFT_parser_nodes[1143]
-#define COLOR_parser_nodes___ANullExpr___n_kwnull SFT_parser_nodes[1144]
-#define COLOR_parser_nodes___ANullExpr___n_kwnull__eq SFT_parser_nodes[1145]
-#define ID_AIntExpr SFT_parser_nodes[1146]
-#define COLOR_AIntExpr SFT_parser_nodes[1147]
-#define COLOR_parser_nodes___AIntExpr____n_number SFT_parser_nodes[1148]
-#define INIT_TABLE_POS_AIntExpr SFT_parser_nodes[1149]
-#define COLOR_parser_nodes___AIntExpr___n_number SFT_parser_nodes[1150]
-#define COLOR_parser_nodes___AIntExpr___n_number__eq SFT_parser_nodes[1151]
-#define ID_AFloatExpr SFT_parser_nodes[1152]
-#define COLOR_AFloatExpr SFT_parser_nodes[1153]
-#define COLOR_parser_nodes___AFloatExpr____n_float SFT_parser_nodes[1154]
-#define INIT_TABLE_POS_AFloatExpr SFT_parser_nodes[1155]
-#define COLOR_parser_nodes___AFloatExpr___n_float SFT_parser_nodes[1156]
-#define COLOR_parser_nodes___AFloatExpr___n_float__eq SFT_parser_nodes[1157]
-#define ID_ACharExpr SFT_parser_nodes[1158]
-#define COLOR_ACharExpr SFT_parser_nodes[1159]
-#define COLOR_parser_nodes___ACharExpr____n_char SFT_parser_nodes[1160]
-#define INIT_TABLE_POS_ACharExpr SFT_parser_nodes[1161]
-#define COLOR_parser_nodes___ACharExpr___n_char SFT_parser_nodes[1162]
-#define COLOR_parser_nodes___ACharExpr___n_char__eq SFT_parser_nodes[1163]
-#define ID_AStringFormExpr SFT_parser_nodes[1164]
-#define COLOR_AStringFormExpr SFT_parser_nodes[1165]
-#define INIT_TABLE_POS_AStringFormExpr SFT_parser_nodes[1166]
-#define ID_AStringExpr SFT_parser_nodes[1167]
-#define COLOR_AStringExpr SFT_parser_nodes[1168]
-#define COLOR_parser_nodes___AStringExpr____n_string SFT_parser_nodes[1169]
-#define INIT_TABLE_POS_AStringExpr SFT_parser_nodes[1170]
-#define COLOR_parser_nodes___AStringExpr___n_string SFT_parser_nodes[1171]
-#define COLOR_parser_nodes___AStringExpr___n_string__eq SFT_parser_nodes[1172]
-#define ID_AStartStringExpr SFT_parser_nodes[1173]
-#define COLOR_AStartStringExpr SFT_parser_nodes[1174]
-#define COLOR_parser_nodes___AStartStringExpr____n_string SFT_parser_nodes[1175]
-#define INIT_TABLE_POS_AStartStringExpr SFT_parser_nodes[1176]
-#define COLOR_parser_nodes___AStartStringExpr___n_string SFT_parser_nodes[1177]
-#define COLOR_parser_nodes___AStartStringExpr___n_string__eq SFT_parser_nodes[1178]
-#define ID_AMidStringExpr SFT_parser_nodes[1179]
-#define COLOR_AMidStringExpr SFT_parser_nodes[1180]
-#define COLOR_parser_nodes___AMidStringExpr____n_string SFT_parser_nodes[1181]
-#define INIT_TABLE_POS_AMidStringExpr SFT_parser_nodes[1182]
-#define COLOR_parser_nodes___AMidStringExpr___n_string SFT_parser_nodes[1183]
-#define COLOR_parser_nodes___AMidStringExpr___n_string__eq SFT_parser_nodes[1184]
-#define ID_AEndStringExpr SFT_parser_nodes[1185]
-#define COLOR_AEndStringExpr SFT_parser_nodes[1186]
-#define COLOR_parser_nodes___AEndStringExpr____n_string SFT_parser_nodes[1187]
-#define INIT_TABLE_POS_AEndStringExpr SFT_parser_nodes[1188]
-#define COLOR_parser_nodes___AEndStringExpr___n_string SFT_parser_nodes[1189]
-#define COLOR_parser_nodes___AEndStringExpr___n_string__eq SFT_parser_nodes[1190]
-#define ID_ASuperstringExpr SFT_parser_nodes[1191]
-#define COLOR_ASuperstringExpr SFT_parser_nodes[1192]
-#define COLOR_parser_nodes___ASuperstringExpr____n_exprs SFT_parser_nodes[1193]
-#define INIT_TABLE_POS_ASuperstringExpr SFT_parser_nodes[1194]
-#define COLOR_parser_nodes___ASuperstringExpr___n_exprs SFT_parser_nodes[1195]
-#define COLOR_parser_nodes___ASuperstringExpr___n_exprs__eq SFT_parser_nodes[1196]
-#define ID_AParExpr SFT_parser_nodes[1197]
-#define COLOR_AParExpr SFT_parser_nodes[1198]
-#define INIT_TABLE_POS_AParExpr SFT_parser_nodes[1199]
-#define ID_AProxyExpr SFT_parser_nodes[1200]
-#define COLOR_AProxyExpr SFT_parser_nodes[1201]
-#define COLOR_parser_nodes___AProxyExpr____n_expr SFT_parser_nodes[1202]
-#define INIT_TABLE_POS_AProxyExpr SFT_parser_nodes[1203]
-#define COLOR_parser_nodes___AProxyExpr___n_expr SFT_parser_nodes[1204]
-#define COLOR_parser_nodes___AProxyExpr___n_expr__eq SFT_parser_nodes[1205]
-#define ID_APlusAssignOp SFT_parser_nodes[1206]
-#define COLOR_APlusAssignOp SFT_parser_nodes[1207]
-#define COLOR_parser_nodes___APlusAssignOp____n_pluseq SFT_parser_nodes[1208]
-#define INIT_TABLE_POS_APlusAssignOp SFT_parser_nodes[1209]
-#define COLOR_parser_nodes___APlusAssignOp___n_pluseq SFT_parser_nodes[1210]
-#define COLOR_parser_nodes___APlusAssignOp___n_pluseq__eq SFT_parser_nodes[1211]
-#define ID_AMinusAssignOp SFT_parser_nodes[1212]
-#define COLOR_AMinusAssignOp SFT_parser_nodes[1213]
-#define COLOR_parser_nodes___AMinusAssignOp____n_minuseq SFT_parser_nodes[1214]
-#define INIT_TABLE_POS_AMinusAssignOp SFT_parser_nodes[1215]
-#define COLOR_parser_nodes___AMinusAssignOp___n_minuseq SFT_parser_nodes[1216]
-#define COLOR_parser_nodes___AMinusAssignOp___n_minuseq__eq SFT_parser_nodes[1217]
-#define ID_AQualified SFT_parser_nodes[1218]
-#define COLOR_AQualified SFT_parser_nodes[1219]
-#define COLOR_parser_nodes___AQualified____n_id SFT_parser_nodes[1220]
-#define COLOR_parser_nodes___AQualified____n_classid SFT_parser_nodes[1221]
-#define INIT_TABLE_POS_AQualified SFT_parser_nodes[1222]
-#define COLOR_parser_nodes___AQualified___n_id SFT_parser_nodes[1223]
-#define COLOR_parser_nodes___AQualified___n_id__eq SFT_parser_nodes[1224]
-#define COLOR_parser_nodes___AQualified___n_classid SFT_parser_nodes[1225]
-#define COLOR_parser_nodes___AQualified___n_classid__eq SFT_parser_nodes[1226]
-#define ID_ADoc SFT_parser_nodes[1227]
-#define COLOR_ADoc SFT_parser_nodes[1228]
-#define COLOR_parser_nodes___ADoc____n_comment SFT_parser_nodes[1229]
-#define INIT_TABLE_POS_ADoc SFT_parser_nodes[1230]
-#define COLOR_parser_nodes___ADoc___n_comment SFT_parser_nodes[1231]
-#define COLOR_parser_nodes___ADoc___n_comment__eq SFT_parser_nodes[1232]
-#define ID_Start SFT_parser_nodes[1233]
-#define COLOR_Start SFT_parser_nodes[1234]
-#define COLOR_parser_nodes___Start____n_base SFT_parser_nodes[1235]
-#define COLOR_parser_nodes___Start____n_eof SFT_parser_nodes[1236]
-#define INIT_TABLE_POS_Start SFT_parser_nodes[1237]
-#define COLOR_parser_nodes___Start___n_base SFT_parser_nodes[1238]
-#define COLOR_parser_nodes___Start___n_base__eq SFT_parser_nodes[1239]
-#define COLOR_parser_nodes___Start___n_eof SFT_parser_nodes[1240]
-#define COLOR_parser_nodes___Start___n_eof__eq SFT_parser_nodes[1241]
+#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 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);
@@ -2931,6 +2950,27 @@ val_t parser_nodes___AProxyExpr___n_expr(val_t  self);
 typedef void (* parser_nodes___AProxyExpr___n_expr__eq_t)(val_t  self, val_t  param0);
 void parser_nodes___AProxyExpr___n_expr__eq(val_t  self, val_t  param0);
 #define LOCATE_parser_nodes___AProxyExpr___n_expr__eq "parser_nodes::AProxyExpr::n_expr="
+#define ATTR_parser_nodes___AAsCastExpr____n_expr(recv) ATTR(recv, COLOR_parser_nodes___AAsCastExpr____n_expr)
+typedef val_t (* parser_nodes___AAsCastExpr___n_expr_t)(val_t  self);
+val_t parser_nodes___AAsCastExpr___n_expr(val_t  self);
+#define LOCATE_parser_nodes___AAsCastExpr___n_expr "parser_nodes::AAsCastExpr::n_expr"
+typedef void (* parser_nodes___AAsCastExpr___n_expr__eq_t)(val_t  self, val_t  param0);
+void parser_nodes___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0);
+#define LOCATE_parser_nodes___AAsCastExpr___n_expr__eq "parser_nodes::AAsCastExpr::n_expr="
+#define ATTR_parser_nodes___AAsCastExpr____n_kwas(recv) ATTR(recv, COLOR_parser_nodes___AAsCastExpr____n_kwas)
+typedef val_t (* parser_nodes___AAsCastExpr___n_kwas_t)(val_t  self);
+val_t parser_nodes___AAsCastExpr___n_kwas(val_t  self);
+#define LOCATE_parser_nodes___AAsCastExpr___n_kwas "parser_nodes::AAsCastExpr::n_kwas"
+typedef void (* parser_nodes___AAsCastExpr___n_kwas__eq_t)(val_t  self, val_t  param0);
+void parser_nodes___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0);
+#define LOCATE_parser_nodes___AAsCastExpr___n_kwas__eq "parser_nodes::AAsCastExpr::n_kwas="
+#define ATTR_parser_nodes___AAsCastExpr____n_type(recv) ATTR(recv, COLOR_parser_nodes___AAsCastExpr____n_type)
+typedef val_t (* parser_nodes___AAsCastExpr___n_type_t)(val_t  self);
+val_t parser_nodes___AAsCastExpr___n_type(val_t  self);
+#define LOCATE_parser_nodes___AAsCastExpr___n_type "parser_nodes::AAsCastExpr::n_type"
+typedef void (* parser_nodes___AAsCastExpr___n_type__eq_t)(val_t  self, val_t  param0);
+void parser_nodes___AAsCastExpr___n_type__eq(val_t  self, val_t  param0);
+#define LOCATE_parser_nodes___AAsCastExpr___n_type__eq "parser_nodes::AAsCastExpr::n_type="
 #define ATTR_parser_nodes___APlusAssignOp____n_pluseq(recv) ATTR(recv, COLOR_parser_nodes___APlusAssignOp____n_pluseq)
 typedef val_t (* parser_nodes___APlusAssignOp___n_pluseq_t)(val_t  self);
 val_t parser_nodes___APlusAssignOp___n_pluseq(val_t  self);
index 393cb5b..073910f 100644 (file)
@@ -1,20 +1,20 @@
 /* This C file is generated by NIT to compile module parser_prod. */
 #include "parser_prod._sep.h"
 val_t parser_prod___PNode___parent(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___parent, 9};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9, LOCATE_parser_prod___PNode___parent};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
 }
 void parser_prod___PNode___parent__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___parent__eq, 9};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9, LOCATE_parser_prod___PNode___parent__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___PNode___remove_child(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___remove_child, 12};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 12, LOCATE_parser_prod___PNode___remove_child};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -23,21 +23,22 @@ void parser_prod___PNode___remove_child(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___PNode___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___replace_child, 18};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 18, LOCATE_parser_prod___PNode___replace_child};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "replace_child", LOCATE_parser_prod___PNode___remove_child, 18);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___remove_child, LOCATE_parser_prod, 18);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___PNode___replace_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___replace_with, 21};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 21, LOCATE_parser_prod___PNode___replace_with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
-  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*/) /*PNode::==*/)))))));
+  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 = ATTR_parser_prod___PNode____parent( self) /*PNode::_parent*/;
     ((parser_prod___PNode___replace_child_t)CALL(variable1,COLOR_parser_prod___PNode___replace_child))(variable1,  self,  variable0 /*node*/) /*PNode::replace_child*/;
@@ -46,39 +47,43 @@ void parser_prod___PNode___replace_with(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___PNode___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___visit_all, 29};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 29, LOCATE_parser_prod___PNode___visit_all};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "visit_all", LOCATE_parser_prod___PNode___replace_with, 29);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 29);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___PNode___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___visit_all_reverse, 33};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 33, LOCATE_parser_prod___PNode___visit_all_reverse};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "visit_all_reverse", LOCATE_parser_prod___PNode___replace_with, 33);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 33);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t parser_prod___PNode___locate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___locate, 37};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 37, LOCATE_parser_prod___PNode___locate};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "locate", LOCATE_parser_prod___PNode___replace_with, 37);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 37);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t parser_prod___PNode___line_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___line_number, 40};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 40, LOCATE_parser_prod___PNode___line_number};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "line_number", LOCATE_parser_prod___PNode___replace_with, 40);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___PNode___replace_with, LOCATE_parser_prod, 40);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void parser_prod___PNode___printl(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___PNode___printl, 43};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 43, LOCATE_parser_prod___PNode___printl};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -107,12 +112,12 @@ void parser_prod___PNode___printl(val_t  self, val_t  param0) {
   variable9 = NEW_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) /*PNode::print*/;
+  ((file___Object___print_t)CALL( self,COLOR_file___Object___print))( self, variable1) /*Object::print*/;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___Token___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Token___visit_all, 51};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 51, LOCATE_parser_prod___Token___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -120,7 +125,7 @@ void parser_prod___Token___visit_all(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___Token___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Token___visit_all_reverse, 52};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 52, LOCATE_parser_prod___Token___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -128,7 +133,7 @@ void parser_prod___Token___visit_all_reverse(val_t  self, val_t  param0) {
   return;
 }
 void parser_prod___Token___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Token___replace_child, 53};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 53, LOCATE_parser_prod___Token___replace_child};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -138,7 +143,7 @@ void parser_prod___Token___replace_child(val_t  self, val_t  param0, val_t  para
   return;
 }
 val_t parser_prod___Token___locate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Token___locate, 55};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 55, LOCATE_parser_prod___Token___locate};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -185,7 +190,7 @@ val_t parser_prod___Token___locate(val_t  self) {
   return variable0;
 }
 val_t parser_prod___Token___line_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Token___line_number, 60};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 60, LOCATE_parser_prod___Token___line_number};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((lexer___Token___line_t)CALL( self,COLOR_lexer___Token___line))( self) /*Token::line*/;
@@ -195,33 +200,33 @@ val_t parser_prod___Token___line_number(val_t  self) {
   return variable0;
 }
 val_t parser_prod___Prod___first_token(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Prod___first_token, 64};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 64, LOCATE_parser_prod___Prod___first_token};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/;
 }
 void parser_prod___Prod___first_token__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Prod___first_token__eq, 64};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 64, LOCATE_parser_prod___Prod___first_token__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_prod___Prod____first_token( self) /*Prod::_first_token*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_prod___Prod___last_token(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Prod___last_token, 67};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 67, LOCATE_parser_prod___Prod___last_token};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/;
 }
 void parser_prod___Prod___last_token__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Prod___last_token__eq, 67};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 67, LOCATE_parser_prod___Prod___last_token__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_parser_prod___Prod____last_token( self) /*Prod::_last_token*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t parser_prod___Prod___locate(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Prod___locate, 70};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 70, LOCATE_parser_prod___Prod___locate};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -239,7 +244,7 @@ val_t parser_prod___Prod___locate(val_t  self) {
     val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*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*/
     goto return_label8;
@@ -248,7 +253,7 @@ val_t parser_prod___Prod___locate(val_t  self) {
   variable1 = ((lexer___Token___pos_t)CALL(variable1,COLOR_lexer___Token___pos))(variable1) /*Token::pos*/;
   variable2 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
   variable2 = ((lexer___Token___text_t)CALL(variable2,COLOR_lexer___Token___text))(variable2) /*Token::text*/;
-  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int(variable2));
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
   variable0 = variable1;
@@ -311,14 +316,14 @@ val_t parser_prod___Prod___locate(val_t  self) {
   return variable0;
 }
 void parser_prod___Prod___replace_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Prod___replace_with, 83};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 83, LOCATE_parser_prod___Prod___replace_with};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ((parser_prod___Prod___replace_with_t)CALL( self,COLOR_SUPER_parser_prod___Prod___replace_with))( self,  param0) /*super Prod::replace_with*/;
   variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___Prod___replace_with, 86); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Prod___replace_with, LOCATE_parser_prod, 86); nit_exit(1);}
   variable1 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
   ((parser_prod___Prod___first_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___first_token__eq))( variable0 /*n*/, variable1) /*Prod::first_token=*/;
   variable1 = ((parser_prod___Prod___last_token_t)CALL( self,COLOR_parser_prod___Prod___last_token))( self) /*Prod::last_token*/;
@@ -327,11 +332,11 @@ void parser_prod___Prod___replace_with(val_t  self, val_t  param0) {
   return;
 }
 val_t parser_prod___Prod___line_number(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Prod___line_number, 91};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 91, LOCATE_parser_prod___Prod___line_number};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
-  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*/) /*Token::==*/)))))));
+  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 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*Prod::first_token*/;
     variable0 = ((lexer___Token___line_t)CALL(variable0,COLOR_lexer___Token___line))(variable0) /*Token::line*/;
@@ -345,29 +350,30 @@ val_t parser_prod___Prod___line_number(val_t  self) {
   return variable0;
 }
 void parser_prod___Visitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Visitor___visit, 103};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 103, LOCATE_parser_prod___Visitor___visit};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "visit", LOCATE_parser_prod___Prod___line_number, 103);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser_prod___Prod___line_number, LOCATE_parser_prod, 103);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AModule___n_packagedecl__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AModule___n_packagedecl__eq, 110};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 110, LOCATE_parser_prod___AModule___n_packagedecl__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/ =  variable0 /*n*/;
-  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*/) /*PPackagedecl::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PPackagedecl::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AModule___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AModule___empty_init, 118};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 118, LOCATE_parser_prod___AModule___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i] = 1;
@@ -375,7 +381,7 @@ void parser_prod___AModule___empty_init(val_t  self, int* init_table) {
   return;
 }
 void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AModule___init_amodule, 120};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 120, LOCATE_parser_prod___AModule___init_amodule};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -388,38 +394,38 @@ void parser_prod___AModule___init_amodule(val_t  self, val_t  param0, val_t  par
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AModule].i]) return;
   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*/) /*PPackagedecl::==*/)))))));
+  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) /*PPackagedecl::parent=*/;
+    ((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[PImport]*/
+  variable3 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_imports*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_imports*/) /*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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___AModule___init_amodule, 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, 132); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PImport::parent=*/;
+    ((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=*/;
     continue_14: while(0);
     ((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[PClassdef]*/
+  variable3 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_classdefs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_classdefs*/) /*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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___AModule___init_amodule, 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, 138); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PClassdef::parent=*/;
+    ((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=*/;
     continue_15: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
@@ -429,7 +435,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, LOCATE_parser_prod___AModule___replace_child, 144};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 144, LOCATE_parser_prod___AModule___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -438,16 +444,16 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AModule___replace_child, 146); nit_exit(1);}
+  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);}
   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*/) /*PPackagedecl::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AModule___replace_child, 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, 150); 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*/;
@@ -456,7 +462,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -465,15 +471,15 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PImport::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AModule___replace_child, 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, 160); 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) /*PImport::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AModule____n_imports( self) /*AModule::_n_imports*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -486,7 +492,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -495,15 +501,15 @@ void parser_prod___AModule___replace_child(val_t  self, val_t  param0, val_t  pa
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PClassdef::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AModule___replace_child, 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, 172); 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) /*PClassdef::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AModule____n_classdefs( self) /*AModule::_n_classdefs*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -519,14 +525,14 @@ 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, LOCATE_parser_prod___AModule___visit_all, 183};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 183, LOCATE_parser_prod___AModule___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
-  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*/) /*PPackagedecl::==*/)))))));
+  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 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -557,14 +563,14 @@ 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, LOCATE_parser_prod___AModule___visit_all_reverse, 196};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 196, LOCATE_parser_prod___AModule___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
-  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*/) /*PPackagedecl::==*/)))))));
+  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 = ATTR_parser_nodes___AModule____n_packagedecl( self) /*AModule::_n_packagedecl*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -601,49 +607,49 @@ 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, LOCATE_parser_prod___APackagedecl___n_doc__eq, 218};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 218, LOCATE_parser_prod___APackagedecl___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APackagedecl___n_kwpackage__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APackagedecl___n_kwpackage__eq, 225};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 225, LOCATE_parser_prod___APackagedecl___n_kwpackage__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  variable0 /*n*/;
-  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*/) /*TKwpackage::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwpackage::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APackagedecl___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APackagedecl___n_id__eq, 232};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 232, LOCATE_parser_prod___APackagedecl___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APackagedecl___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APackagedecl___empty_init, 240};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 240, LOCATE_parser_prod___APackagedecl___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i] = 1;
@@ -651,7 +657,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, LOCATE_parser_prod___APackagedecl___init_apackagedecl, 242};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 242, LOCATE_parser_prod___APackagedecl___init_apackagedecl};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -662,42 +668,42 @@ void parser_prod___APackagedecl___init_apackagedecl(val_t  self, val_t  param0,
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i]) return;
   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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/ =  variable1 /*n_kwpackage*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwpackage*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwpackage*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwpackage*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwpackage*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwpackage*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwpackage*/,  NIT_NULL /*null*/) /*TKwpackage::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwpackage*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwpackage*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwpackage*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwpackage*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwpackage*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwpackage*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwpackage*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwpackage*/,  self) /*TKwpackage::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwpackage*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwpackage*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/ =  variable2 /*n_id*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APackagedecl].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APackagedecl___replace_child, 262};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 262, LOCATE_parser_prod___APackagedecl___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APackagedecl___replace_child, 264); nit_exit(1);}
+  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);}
   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*/) /*PDoc::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APackagedecl___replace_child, 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, 268); 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*/;
@@ -705,13 +711,13 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
     goto return_label30;
   }
   variable2 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
-  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*/) /*TKwpackage::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APackagedecl___replace_child, 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, 278); 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*/;
@@ -719,13 +725,13 @@ void parser_prod___APackagedecl___replace_child(val_t  self, val_t  param0, val_
     goto return_label30;
   }
   variable2 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APackagedecl___replace_child, 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, 288); 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*/;
@@ -737,25 +743,25 @@ 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, LOCATE_parser_prod___APackagedecl___visit_all, 297};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 297, LOCATE_parser_prod___APackagedecl___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  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 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
-  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*/) /*TKwpackage::==*/)))))));
+  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 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -764,25 +770,25 @@ 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, LOCATE_parser_prod___APackagedecl___visit_all_reverse, 310};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 310, LOCATE_parser_prod___APackagedecl___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  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 = ATTR_parser_nodes___APackagedecl____n_doc( self) /*APackagedecl::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
-  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*/) /*TKwpackage::==*/)))))));
+  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 = ATTR_parser_nodes___APackagedecl____n_kwpackage( self) /*APackagedecl::_n_kwpackage*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___APackagedecl____n_id( self) /*APackagedecl::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -791,49 +797,49 @@ 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, LOCATE_parser_prod___AImport___n_visibility__eq, 324};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 324, LOCATE_parser_prod___AImport___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AImport___n_kwimport__eq, 331};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 331, LOCATE_parser_prod___AImport___n_kwimport__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  variable0 /*n*/;
-  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*/) /*TKwimport::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwimport::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImport___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AImport___n_id__eq, 338};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 338, LOCATE_parser_prod___AImport___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImport___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AImport___empty_init, 346};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 346, LOCATE_parser_prod___AImport___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i] = 1;
@@ -841,7 +847,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, LOCATE_parser_prod___AImport___init_aimport, 348};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 348, LOCATE_parser_prod___AImport___init_aimport};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -852,42 +858,42 @@ void parser_prod___AImport___init_aimport(val_t  self, val_t  param0, val_t  par
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i]) return;
   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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/ =  variable1 /*n_kwimport*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwimport*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwimport*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwimport*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwimport*/,  NIT_NULL /*null*/) /*TKwimport::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwimport*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwimport*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwimport*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwimport*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/,  self) /*TKwimport::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/ =  variable2 /*n_id*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_id*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AImport].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AImport___replace_child, 368};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 368, LOCATE_parser_prod___AImport___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AImport___replace_child, 370); nit_exit(1);}
+  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);}
   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*/) /*PVisibility::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AImport___replace_child, 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, 374); 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*/;
@@ -895,13 +901,13 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label38;
   }
   variable2 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
-  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*/) /*TKwimport::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AImport___replace_child, 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, 384); 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*/;
@@ -909,13 +915,13 @@ void parser_prod___AImport___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label38;
   }
   variable2 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AImport___replace_child, 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, 394); 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*/;
@@ -927,25 +933,25 @@ 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, LOCATE_parser_prod___AImport___visit_all, 403};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 403, LOCATE_parser_prod___AImport___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
-  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*/) /*TKwimport::==*/)))))));
+  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 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -954,25 +960,25 @@ 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, LOCATE_parser_prod___AImport___visit_all_reverse, 416};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 416, LOCATE_parser_prod___AImport___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AImport____n_visibility( self) /*AImport::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
-  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*/) /*TKwimport::==*/)))))));
+  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 = ATTR_parser_nodes___AImport____n_kwimport( self) /*AImport::_n_kwimport*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AImport____n_id( self) /*AImport::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -981,49 +987,49 @@ 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, LOCATE_parser_prod___ANoImport___n_visibility__eq, 430};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 430, LOCATE_parser_prod___ANoImport___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANoImport___n_kwimport__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANoImport___n_kwimport__eq, 437};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 437, LOCATE_parser_prod___ANoImport___n_kwimport__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  variable0 /*n*/;
-  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*/) /*TKwimport::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwimport::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANoImport___n_kwend__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANoImport___n_kwend__eq, 444};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 444, LOCATE_parser_prod___ANoImport___n_kwend__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  variable0 /*n*/;
-  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*/) /*TKwend::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwend::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANoImport___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANoImport___empty_init, 452};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 452, LOCATE_parser_prod___ANoImport___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i] = 1;
@@ -1031,7 +1037,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, LOCATE_parser_prod___ANoImport___init_anoimport, 454};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 454, LOCATE_parser_prod___ANoImport___init_anoimport};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1042,42 +1048,42 @@ void parser_prod___ANoImport___init_anoimport(val_t  self, val_t  param0, val_t
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i]) return;
   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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/ =  variable1 /*n_kwimport*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwimport*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwimport*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwimport*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwimport*/,  NIT_NULL /*null*/) /*TKwimport::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwimport*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwimport*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwimport*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwimport*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwimport*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/,  self) /*TKwimport::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwimport*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwimport*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/ =  variable2 /*n_kwend*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwend*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_kwend*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwend*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwend*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwend*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwend*/,  NIT_NULL /*null*/) /*TKwend::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwend*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_kwend*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwend*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwend*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwend*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwend*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwend*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwend*/,  self) /*TKwend::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwend*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwend*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANoImport].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANoImport___replace_child, 474};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 474, LOCATE_parser_prod___ANoImport___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ANoImport___replace_child, 476); nit_exit(1);}
+  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);}
   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*/) /*PVisibility::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANoImport___replace_child, 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, 480); 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*/;
@@ -1085,13 +1091,13 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
     goto return_label46;
   }
   variable2 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
-  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*/) /*TKwimport::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANoImport___replace_child, 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, 490); 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*/;
@@ -1099,13 +1105,13 @@ void parser_prod___ANoImport___replace_child(val_t  self, val_t  param0, val_t
     goto return_label46;
   }
   variable2 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
-  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*/) /*TKwend::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANoImport___replace_child, 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, 500); 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*/;
@@ -1117,25 +1123,25 @@ 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, LOCATE_parser_prod___ANoImport___visit_all, 509};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 509, LOCATE_parser_prod___ANoImport___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
-  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*/) /*TKwimport::==*/)))))));
+  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 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
-  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*/) /*TKwend::==*/)))))));
+  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 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1144,25 +1150,25 @@ 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, LOCATE_parser_prod___ANoImport___visit_all_reverse, 522};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 522, LOCATE_parser_prod___ANoImport___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___ANoImport____n_visibility( self) /*ANoImport::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
-  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*/) /*TKwimport::==*/)))))));
+  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 = ATTR_parser_nodes___ANoImport____n_kwimport( self) /*ANoImport::_n_kwimport*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
-  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*/) /*TKwend::==*/)))))));
+  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 = ATTR_parser_nodes___ANoImport____n_kwend( self) /*ANoImport::_n_kwend*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1171,7 +1177,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, LOCATE_parser_prod___APublicVisibility___empty_init, 537};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 537, LOCATE_parser_prod___APublicVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
@@ -1179,7 +1185,7 @@ 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, LOCATE_parser_prod___APublicVisibility___init_apublicvisibility, 539};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 539, LOCATE_parser_prod___APublicVisibility___init_apublicvisibility};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APublicVisibility].i] = 1;
@@ -1187,20 +1193,20 @@ void parser_prod___APublicVisibility___init_apublicvisibility(val_t  self, int*
   return;
 }
 void parser_prod___APublicVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APublicVisibility___replace_child, 543};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 543, LOCATE_parser_prod___APublicVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APublicVisibility___replace_child, 545); nit_exit(1);}
+  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);}
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APublicVisibility___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APublicVisibility___visit_all, 548};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 548, LOCATE_parser_prod___APublicVisibility___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1208,7 +1214,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, LOCATE_parser_prod___APublicVisibility___visit_all_reverse, 552};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 552, LOCATE_parser_prod___APublicVisibility___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -1216,21 +1222,21 @@ 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, LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq, 557};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 557, LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/ =  variable0 /*n*/;
-  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*/) /*TKwprivate::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwprivate::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APrivateVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APrivateVisibility___empty_init, 565};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 565, LOCATE_parser_prod___APrivateVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i] = 1;
@@ -1238,39 +1244,39 @@ 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, LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility, 567};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 567, LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i]) return;
   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*/) /*TKwprivate::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprivate*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprivate*/,  self) /*TKwprivate::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprivate*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprivate*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APrivateVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APrivateVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APrivateVisibility___replace_child, 577};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 577, LOCATE_parser_prod___APrivateVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APrivateVisibility___replace_child, 579); nit_exit(1);}
+  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);}
   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*/) /*TKwprivate::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APrivateVisibility___replace_child, 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, 583); 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*/;
@@ -1282,13 +1288,13 @@ 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, LOCATE_parser_prod___APrivateVisibility___visit_all, 592};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 592, LOCATE_parser_prod___APrivateVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
-  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*/) /*TKwprivate::==*/)))))));
+  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 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1297,13 +1303,13 @@ 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, LOCATE_parser_prod___APrivateVisibility___visit_all_reverse, 599};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 599, LOCATE_parser_prod___APrivateVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
-  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*/) /*TKwprivate::==*/)))))));
+  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 = ATTR_parser_nodes___APrivateVisibility____n_kwprivate( self) /*APrivateVisibility::_n_kwprivate*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1312,21 +1318,21 @@ 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, LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq, 607};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 607, LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/ =  variable0 /*n*/;
-  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*/) /*TKwprotected::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwprotected::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AProtectedVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AProtectedVisibility___empty_init, 615};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 615, LOCATE_parser_prod___AProtectedVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i] = 1;
@@ -1334,39 +1340,39 @@ 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, LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility, 617};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 617, LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i]) return;
   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*/) /*TKwprotected::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprotected*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprotected*/,  self) /*TKwprotected::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwprotected*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwprotected*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AProtectedVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AProtectedVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AProtectedVisibility___replace_child, 627};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 627, LOCATE_parser_prod___AProtectedVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AProtectedVisibility___replace_child, 629); nit_exit(1);}
+  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);}
   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*/) /*TKwprotected::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AProtectedVisibility___replace_child, 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, 633); 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*/;
@@ -1378,13 +1384,13 @@ 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, LOCATE_parser_prod___AProtectedVisibility___visit_all, 642};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 642, LOCATE_parser_prod___AProtectedVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
-  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*/) /*TKwprotected::==*/)))))));
+  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 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1393,13 +1399,13 @@ 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, LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse, 649};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 649, LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
-  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*/) /*TKwprotected::==*/)))))));
+  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 = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected( self) /*AProtectedVisibility::_n_kwprotected*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1408,21 +1414,21 @@ 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, LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq, 657};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 657, LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/ =  variable0 /*n*/;
-  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*/) /*TKwintrude::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwintrude::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIntrudeVisibility___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIntrudeVisibility___empty_init, 665};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 665, LOCATE_parser_prod___AIntrudeVisibility___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i] = 1;
@@ -1430,39 +1436,39 @@ 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, LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility, 667};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 667, LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i]) return;
   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*/) /*TKwintrude::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwintrude*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwintrude*/,  self) /*TKwintrude::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwintrude*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwintrude*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntrudeVisibility].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIntrudeVisibility___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIntrudeVisibility___replace_child, 677};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 677, LOCATE_parser_prod___AIntrudeVisibility___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AIntrudeVisibility___replace_child, 679); nit_exit(1);}
+  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);}
   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*/) /*TKwintrude::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIntrudeVisibility___replace_child, 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, 683); 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*/;
@@ -1474,13 +1480,13 @@ 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, LOCATE_parser_prod___AIntrudeVisibility___visit_all, 692};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 692, LOCATE_parser_prod___AIntrudeVisibility___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
-  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*/) /*TKwintrude::==*/)))))));
+  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 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1489,13 +1495,13 @@ 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, LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse, 699};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 699, LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
-  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*/) /*TKwintrude::==*/)))))));
+  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 = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude( self) /*AIntrudeVisibility::_n_kwintrude*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1504,77 +1510,77 @@ 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, LOCATE_parser_prod___AClassdef___n_doc__eq, 707};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 707, LOCATE_parser_prod___AClassdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AClassdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AClassdef___n_kwredef__eq, 714};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 714, LOCATE_parser_prod___AClassdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AClassdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AClassdef___n_visibility__eq, 721};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 721, LOCATE_parser_prod___AClassdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AClassdef___n_classkind__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AClassdef___n_classkind__eq, 728};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 728, LOCATE_parser_prod___AClassdef___n_classkind__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  variable0 /*n*/;
-  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*/) /*PClasskind::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PClasskind::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AClassdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AClassdef___n_id__eq, 735};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 735, LOCATE_parser_prod___AClassdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TClassid::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AClassdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AClassdef___empty_init, 743};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 743, LOCATE_parser_prod___AClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i] = 1;
@@ -1582,7 +1588,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, LOCATE_parser_prod___AClassdef___init_aclassdef, 745};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 745, LOCATE_parser_prod___AClassdef___init_aclassdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1605,74 +1611,74 @@ void parser_prod___AClassdef___init_aclassdef(val_t  self, val_t  param0, val_t
   variable7 =  param7;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AClassdef].i]) return;
   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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/ =  variable3 /*n_classkind*/;
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_classkind*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_classkind*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_classkind*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_classkind*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_classkind*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_classkind*/,  NIT_NULL /*null*/) /*PClasskind::==*/)))))));
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_classkind*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_classkind*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_classkind*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_classkind*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_classkind*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_classkind*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable8)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_classkind*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_classkind*/,  self) /*PClasskind::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_classkind*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_classkind*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/ =  variable4 /*n_id*/;
-  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_id*/,  NIT_NULL /*null*/) /*TClassid::==*/)))))));
+  variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TClassid::parent=*/;
+    ((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[PFormaldef]*/
+  variable8 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable8 = ((array___AbstractArray___iterator_t)CALL( variable5 /*n_formaldefs*/,COLOR_abstract_collection___Collection___iterator))( variable5 /*n_formaldefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___init_aclassdef, 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, 778); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/,  self) /*PFormaldef::parent=*/;
+    ((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=*/;
     continue_79: while(0);
     ((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[PSuperclass]*/
+  variable8 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable8 = ((array___AbstractArray___iterator_t)CALL( variable6 /*n_superclasses*/,COLOR_abstract_collection___Collection___iterator))( variable6 /*n_superclasses*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___init_aclassdef, 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, 784); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/,  self) /*PSuperclass::parent=*/;
+    ((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=*/;
     continue_80: while(0);
     ((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[PPropdef]*/
+  variable8 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable8 = ((array___AbstractArray___iterator_t)CALL( variable7 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable7 /*n_propdefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___init_aclassdef, 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, 790); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable9 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable9 /*n*/,  self) /*PPropdef::parent=*/;
+    ((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=*/;
     continue_81: while(0);
     ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
   }
@@ -1682,7 +1688,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, LOCATE_parser_prod___AClassdef___replace_child, 796};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 796, LOCATE_parser_prod___AClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1691,16 +1697,16 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 798); nit_exit(1);}
+  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);}
   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*/) /*PDoc::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 802); 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*/;
@@ -1708,13 +1714,13 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     goto return_label82;
   }
   variable2 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 812); 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*/;
@@ -1722,13 +1728,13 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     goto return_label82;
   }
   variable2 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_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*/) /*PVisibility::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 822); 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*/;
@@ -1736,13 +1742,13 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     goto return_label82;
   }
   variable2 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
-  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*/) /*PClasskind::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 832); 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*/;
@@ -1750,13 +1756,13 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     goto return_label82;
   }
   variable2 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_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*/) /*TClassid::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 842); 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*/;
@@ -1765,7 +1771,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1774,15 +1780,15 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PFormaldef::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 852); 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) /*PFormaldef::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AClassdef____n_formaldefs( self) /*AClassdef::_n_formaldefs*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -1795,7 +1801,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1804,15 +1810,15 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PSuperclass::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 864); 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) /*PSuperclass::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AClassdef____n_superclasses( self) /*AClassdef::_n_superclasses*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -1825,7 +1831,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -1834,15 +1840,15 @@ void parser_prod___AClassdef___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PPropdef::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AClassdef___replace_child, 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, 876); 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) /*PPropdef::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AClassdef____n_propdefs( self) /*AClassdef::_n_propdefs*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -1858,38 +1864,38 @@ 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, LOCATE_parser_prod___AClassdef___visit_all, 887};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 887, LOCATE_parser_prod___AClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
-  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*/) /*PClasskind::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -1931,38 +1937,38 @@ 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, LOCATE_parser_prod___AClassdef___visit_all_reverse, 915};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 915, LOCATE_parser_prod___AClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_doc( self) /*AClassdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_kwredef( self) /*AClassdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_visibility( self) /*AClassdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
-  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*/) /*PClasskind::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_classkind( self) /*AClassdef::_n_classkind*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AClassdef____n_id( self) /*AClassdef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2013,7 +2019,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, LOCATE_parser_prod___ATopClassdef___empty_init, 957};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 957, LOCATE_parser_prod___ATopClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i] = 1;
@@ -2021,7 +2027,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, LOCATE_parser_prod___ATopClassdef___init_atopclassdef, 959};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 959, LOCATE_parser_prod___ATopClassdef___init_atopclassdef};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2029,18 +2035,18 @@ void parser_prod___ATopClassdef___init_atopclassdef(val_t  self, val_t  param0,
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATopClassdef].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[PPropdef]*/
+  variable1 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___ATopClassdef___init_atopclassdef, 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, 965); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PPropdef::parent=*/;
+    ((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=*/;
     continue_96: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -2050,7 +2056,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, LOCATE_parser_prod___ATopClassdef___replace_child, 971};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 971, LOCATE_parser_prod___ATopClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2059,11 +2065,11 @@ void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ATopClassdef___replace_child, 973); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -2072,15 +2078,15 @@ void parser_prod___ATopClassdef___replace_child(val_t  self, val_t  param0, val_
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PPropdef::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ATopClassdef___replace_child, 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, 977); 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) /*PPropdef::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___ATopClassdef____n_propdefs( self) /*ATopClassdef::_n_propdefs*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -2096,7 +2102,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, LOCATE_parser_prod___ATopClassdef___visit_all, 988};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 988, LOCATE_parser_prod___ATopClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2117,7 +2123,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, LOCATE_parser_prod___ATopClassdef___visit_all_reverse, 995};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 995, LOCATE_parser_prod___ATopClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2141,7 +2147,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, LOCATE_parser_prod___AMainClassdef___empty_init, 1008};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1008, LOCATE_parser_prod___AMainClassdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i] = 1;
@@ -2149,7 +2155,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, LOCATE_parser_prod___AMainClassdef___init_amainclassdef, 1010};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1010, LOCATE_parser_prod___AMainClassdef___init_amainclassdef};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2157,18 +2163,18 @@ void parser_prod___AMainClassdef___init_amainclassdef(val_t  self, val_t  param0
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainClassdef].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[PPropdef]*/
+  variable1 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_propdefs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_propdefs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___AMainClassdef___init_amainclassdef, 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, 1016); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PPropdef::parent=*/;
+    ((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=*/;
     continue_105: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -2178,7 +2184,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, LOCATE_parser_prod___AMainClassdef___replace_child, 1022};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1022, LOCATE_parser_prod___AMainClassdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2187,11 +2193,11 @@ void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AMainClassdef___replace_child, 1024); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -2200,15 +2206,15 @@ void parser_prod___AMainClassdef___replace_child(val_t  self, val_t  param0, val
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PPropdef::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AMainClassdef___replace_child, 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, 1028); 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) /*PPropdef::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AMainClassdef____n_propdefs( self) /*AMainClassdef::_n_propdefs*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -2224,7 +2230,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, LOCATE_parser_prod___AMainClassdef___visit_all, 1039};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1039, LOCATE_parser_prod___AMainClassdef___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -2245,7 +2251,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, LOCATE_parser_prod___AMainClassdef___visit_all_reverse, 1046};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1046, LOCATE_parser_prod___AMainClassdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2269,21 +2275,21 @@ 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, LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq, 1058};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1058, LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/ =  variable0 /*n*/;
-  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*/) /*TKwclass::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwclass::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteClasskind___empty_init, 1066};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1066, LOCATE_parser_prod___AConcreteClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i] = 1;
@@ -2291,39 +2297,39 @@ 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, LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind, 1068};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1068, LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i]) return;
   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*/) /*TKwclass::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwclass*/,  self) /*TKwclass::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwclass*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteClasskind___replace_child, 1078};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1078, LOCATE_parser_prod___AConcreteClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AConcreteClasskind___replace_child, 1080); nit_exit(1);}
+  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);}
   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*/) /*TKwclass::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteClasskind___replace_child, 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, 1084); 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*/;
@@ -2335,13 +2341,13 @@ 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, LOCATE_parser_prod___AConcreteClasskind___visit_all, 1093};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1093, LOCATE_parser_prod___AConcreteClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
-  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*/) /*TKwclass::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2350,13 +2356,13 @@ 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, LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse, 1100};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1100, LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
-  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*/) /*TKwclass::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteClasskind____n_kwclass( self) /*AConcreteClasskind::_n_kwclass*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2365,35 +2371,35 @@ 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, LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq, 1108};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1108, LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/ =  variable0 /*n*/;
-  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*/) /*TKwabstract::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwabstract::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq, 1115};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1115, LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  variable0 /*n*/;
-  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*/) /*TKwclass::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwclass::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAbstractClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAbstractClasskind___empty_init, 1123};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1123, LOCATE_parser_prod___AAbstractClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i] = 1;
@@ -2401,7 +2407,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, LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind, 1125};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1125, LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2410,37 +2416,37 @@ void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t  self, val
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i]) return;
   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*/) /*TKwabstract::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabstract*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabstract*/,  self) /*TKwabstract::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabstract*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabstract*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/ =  variable1 /*n_kwclass*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwclass*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwclass*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwclass*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwclass*/,  NIT_NULL /*null*/) /*TKwclass::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwclass*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwclass*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwclass*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwclass*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwclass*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwclass*/,  self) /*TKwclass::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwclass*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwclass*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbstractClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAbstractClasskind___replace_child, 1140};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1140, LOCATE_parser_prod___AAbstractClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAbstractClasskind___replace_child, 1142); nit_exit(1);}
+  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);}
   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*/) /*TKwabstract::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAbstractClasskind___replace_child, 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, 1146); 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*/;
@@ -2448,13 +2454,13 @@ void parser_prod___AAbstractClasskind___replace_child(val_t  self, val_t  param0
     goto return_label122;
   }
   variable2 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_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*/) /*TKwclass::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAbstractClasskind___replace_child, 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, 1156); 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*/;
@@ -2466,19 +2472,19 @@ 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, LOCATE_parser_prod___AAbstractClasskind___visit_all, 1165};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1165, LOCATE_parser_prod___AAbstractClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
-  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*/) /*TKwabstract::==*/)))))));
+  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 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
-  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*/) /*TKwclass::==*/)))))));
+  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 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2487,19 +2493,19 @@ 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, LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse, 1175};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1175, LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
-  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*/) /*TKwabstract::==*/)))))));
+  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 = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract( self) /*AAbstractClasskind::_n_kwabstract*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
-  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*/) /*TKwclass::==*/)))))));
+  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 = ATTR_parser_nodes___AAbstractClasskind____n_kwclass( self) /*AAbstractClasskind::_n_kwclass*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2508,21 +2514,21 @@ 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, LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq, 1186};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1186, LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/ =  variable0 /*n*/;
-  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*/) /*TKwinterface::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwinterface::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInterfaceClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInterfaceClasskind___empty_init, 1194};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1194, LOCATE_parser_prod___AInterfaceClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i] = 1;
@@ -2530,39 +2536,39 @@ 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, LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind, 1196};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1196, LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i]) return;
   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*/) /*TKwinterface::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwinterface*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwinterface*/,  self) /*TKwinterface::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwinterface*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwinterface*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInterfaceClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInterfaceClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInterfaceClasskind___replace_child, 1206};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1206, LOCATE_parser_prod___AInterfaceClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AInterfaceClasskind___replace_child, 1208); nit_exit(1);}
+  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);}
   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*/) /*TKwinterface::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInterfaceClasskind___replace_child, 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, 1212); 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*/;
@@ -2574,13 +2580,13 @@ 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, LOCATE_parser_prod___AInterfaceClasskind___visit_all, 1221};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1221, LOCATE_parser_prod___AInterfaceClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
-  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*/) /*TKwinterface::==*/)))))));
+  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 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2589,13 +2595,13 @@ 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, LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse, 1228};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1228, LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
-  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*/) /*TKwinterface::==*/)))))));
+  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 = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface( self) /*AInterfaceClasskind::_n_kwinterface*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2604,21 +2610,21 @@ 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, LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq, 1236};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1236, LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/ =  variable0 /*n*/;
-  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*/) /*TKwuniversal::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwuniversal::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUniversalClasskind___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AUniversalClasskind___empty_init, 1244};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1244, LOCATE_parser_prod___AUniversalClasskind___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i] = 1;
@@ -2626,39 +2632,39 @@ 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, LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind, 1246};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1246, LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i]) return;
   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*/) /*TKwuniversal::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwuniversal*/,  self) /*TKwuniversal::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwuniversal*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwuniversal*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUniversalClasskind].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUniversalClasskind___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AUniversalClasskind___replace_child, 1256};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1256, LOCATE_parser_prod___AUniversalClasskind___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AUniversalClasskind___replace_child, 1258); nit_exit(1);}
+  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);}
   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*/) /*TKwuniversal::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AUniversalClasskind___replace_child, 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, 1262); 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*/;
@@ -2670,13 +2676,13 @@ 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, LOCATE_parser_prod___AUniversalClasskind___visit_all, 1271};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1271, LOCATE_parser_prod___AUniversalClasskind___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
-  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*/) /*TKwuniversal::==*/)))))));
+  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 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2685,13 +2691,13 @@ 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, LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse, 1278};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1278, LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
-  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*/) /*TKwuniversal::==*/)))))));
+  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 = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal( self) /*AUniversalClasskind::_n_kwuniversal*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2700,35 +2706,35 @@ 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, LOCATE_parser_prod___AFormaldef___n_id__eq, 1286};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1286, LOCATE_parser_prod___AFormaldef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TClassid::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFormaldef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AFormaldef___n_type__eq, 1293};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1293, LOCATE_parser_prod___AFormaldef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFormaldef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AFormaldef___empty_init, 1301};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1301, LOCATE_parser_prod___AFormaldef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i] = 1;
@@ -2736,7 +2742,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, LOCATE_parser_prod___AFormaldef___init_aformaldef, 1303};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1303, LOCATE_parser_prod___AFormaldef___init_aformaldef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2745,37 +2751,37 @@ void parser_prod___AFormaldef___init_aformaldef(val_t  self, val_t  param0, val_
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i]) return;
   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*/) /*TClassid::==*/)))))));
+  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) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/ =  variable1 /*n_type*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFormaldef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AFormaldef___replace_child, 1318};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1318, LOCATE_parser_prod___AFormaldef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AFormaldef___replace_child, 1320); nit_exit(1);}
+  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);}
   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*/) /*TClassid::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AFormaldef___replace_child, 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, 1324); 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*/;
@@ -2783,13 +2789,13 @@ void parser_prod___AFormaldef___replace_child(val_t  self, val_t  param0, val_t
     goto return_label141;
   }
   variable2 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AFormaldef___replace_child, 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, 1334); 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*/;
@@ -2801,19 +2807,19 @@ 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, LOCATE_parser_prod___AFormaldef___visit_all, 1343};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1343, LOCATE_parser_prod___AFormaldef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2822,19 +2828,19 @@ 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, LOCATE_parser_prod___AFormaldef___visit_all_reverse, 1353};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1353, LOCATE_parser_prod___AFormaldef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AFormaldef____n_id( self) /*AFormaldef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AFormaldef____n_type( self) /*AFormaldef::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2843,35 +2849,35 @@ 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, LOCATE_parser_prod___ASuperclass___n_kwspecial__eq, 1364};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1364, LOCATE_parser_prod___ASuperclass___n_kwspecial__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/ =  variable0 /*n*/;
-  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*/) /*TKwspecial::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwspecial::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperclass___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASuperclass___n_type__eq, 1371};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1371, LOCATE_parser_prod___ASuperclass___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperclass___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASuperclass___empty_init, 1379};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1379, LOCATE_parser_prod___ASuperclass___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i] = 1;
@@ -2879,7 +2885,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, LOCATE_parser_prod___ASuperclass___init_asuperclass, 1381};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1381, LOCATE_parser_prod___ASuperclass___init_asuperclass};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2888,37 +2894,37 @@ void parser_prod___ASuperclass___init_asuperclass(val_t  self, val_t  param0, va
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i]) return;
   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*/) /*TKwspecial::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwspecial*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwspecial*/,  self) /*TKwspecial::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwspecial*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwspecial*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/ =  variable1 /*n_type*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperclass].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASuperclass___replace_child, 1396};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1396, LOCATE_parser_prod___ASuperclass___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASuperclass___replace_child, 1398); nit_exit(1);}
+  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);}
   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*/) /*TKwspecial::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperclass___replace_child, 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, 1402); 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*/;
@@ -2926,13 +2932,13 @@ void parser_prod___ASuperclass___replace_child(val_t  self, val_t  param0, val_t
     goto return_label148;
   }
   variable2 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperclass___replace_child, 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, 1412); 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*/;
@@ -2944,19 +2950,19 @@ 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, LOCATE_parser_prod___ASuperclass___visit_all, 1421};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1421, LOCATE_parser_prod___ASuperclass___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
-  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*/) /*TKwspecial::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2965,19 +2971,19 @@ 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, LOCATE_parser_prod___ASuperclass___visit_all_reverse, 1431};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1431, LOCATE_parser_prod___ASuperclass___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
-  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*/) /*TKwspecial::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperclass____n_kwspecial( self) /*ASuperclass::_n_kwspecial*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperclass____n_type( self) /*ASuperclass::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -2986,133 +2992,133 @@ 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, LOCATE_parser_prod___AAttrPropdef___n_doc__eq, 1442};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1442, LOCATE_parser_prod___AAttrPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_readable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_readable__eq, 1449};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1449, LOCATE_parser_prod___AAttrPropdef___n_readable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  variable0 /*n*/;
-  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*/) /*PAble::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PAble::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_writable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_writable__eq, 1456};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1456, LOCATE_parser_prod___AAttrPropdef___n_writable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  variable0 /*n*/;
-  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*/) /*PAble::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PAble::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq, 1463};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1463, LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_visibility__eq, 1470};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1470, LOCATE_parser_prod___AAttrPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_kwattr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_kwattr__eq, 1477};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1477, LOCATE_parser_prod___AAttrPropdef___n_kwattr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  variable0 /*n*/;
-  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*/) /*TKwattr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwattr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_id__eq, 1484};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1484, LOCATE_parser_prod___AAttrPropdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TAttrid::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_type__eq, 1491};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1491, LOCATE_parser_prod___AAttrPropdef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___n_expr__eq, 1498};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1498, LOCATE_parser_prod___AAttrPropdef___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___empty_init, 1506};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1506, LOCATE_parser_prod___AAttrPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i] = 1;
@@ -3120,7 +3126,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, LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef, 1508};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1508, LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3142,87 +3148,87 @@ 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;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/ =  variable1 /*n_readable*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_readable*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_readable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_readable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_readable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_readable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_readable*/,  NIT_NULL /*null*/) /*PAble::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_readable*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_readable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_readable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_readable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_readable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_readable*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_readable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_readable*/,  self) /*PAble::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_readable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_readable*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/ =  variable2 /*n_writable*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_writable*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_writable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_writable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_writable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_writable*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_writable*/,  NIT_NULL /*null*/) /*PAble::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_writable*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_writable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_writable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_writable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_writable*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_writable*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_writable*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_writable*/,  self) /*PAble::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_writable*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_writable*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/ =  variable3 /*n_kwredef*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/ =  variable4 /*n_visibility*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/ =  variable5 /*n_kwattr*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_kwattr*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_kwattr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_kwattr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_kwattr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_kwattr*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_kwattr*/,  NIT_NULL /*null*/) /*TKwattr::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_kwattr*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_kwattr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_kwattr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_kwattr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_kwattr*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_kwattr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_kwattr*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_kwattr*/,  self) /*TKwattr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_kwattr*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_kwattr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/ =  variable6 /*n_id*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_id*/,  NIT_NULL /*null*/) /*TAttrid::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_id*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_id*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/ =  variable7 /*n_type*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable7 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable7 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable7 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable7 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable7 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable7 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable7 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable7 /*n_type*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/ =  variable8 /*n_expr*/;
-  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable8 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable8 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable8 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable8 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable9)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable8 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable8 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable8 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable8 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrPropdef___replace_child, 1558};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1558, LOCATE_parser_prod___AAttrPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 1560); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 1564); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
-  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*/) /*PAble::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1574); 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*/;
@@ -3230,13 +3236,13 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
-  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*/) /*PAble::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1584); 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*/;
@@ -3244,13 +3250,13 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1594); 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*/;
@@ -3258,13 +3264,13 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_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*/) /*PVisibility::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1604); 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*/;
@@ -3272,13 +3278,13 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
-  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*/) /*TKwattr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1614); 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*/;
@@ -3286,13 +3292,13 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_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*/) /*TAttrid::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1624); 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*/;
@@ -3300,13 +3306,13 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1634); 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*/;
@@ -3314,13 +3320,13 @@ void parser_prod___AAttrPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label162;
   }
   variable2 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrPropdef___replace_child, 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, 1644); 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*/;
@@ -3332,61 +3338,61 @@ 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, LOCATE_parser_prod___AAttrPropdef___visit_all, 1653};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1653, LOCATE_parser_prod___AAttrPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
-  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*/) /*PAble::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
-  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*/) /*PAble::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
-  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*/) /*TKwattr::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -3395,61 +3401,61 @@ 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, LOCATE_parser_prod___AAttrPropdef___visit_all_reverse, 1684};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1684, LOCATE_parser_prod___AAttrPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AAttrPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
-  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*/) /*PAble::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_readable( self) /*AAttrPropdef::_n_readable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
-  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*/) /*PAble::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_writable( self) /*AAttrPropdef::_n_writable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_kwredef( self) /*AAttrPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_visibility( self) /*AAttrPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
-  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*/) /*TKwattr::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_kwattr( self) /*AAttrPropdef::_n_kwattr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_id( self) /*AAttrPropdef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_type( self) /*AAttrPropdef::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAttrPropdef____n_expr( self) /*AAttrPropdef::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -3458,77 +3464,77 @@ 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, LOCATE_parser_prod___AMethPropdef___n_doc__eq, 1716};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1716, LOCATE_parser_prod___AMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMethPropdef___n_kwredef__eq, 1723};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1723, LOCATE_parser_prod___AMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMethPropdef___n_visibility__eq, 1730};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1730, LOCATE_parser_prod___AMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMethPropdef___n_methid__eq, 1737};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1737, LOCATE_parser_prod___AMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
-  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*/) /*PMethid::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMethPropdef___n_signature__eq, 1744};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1744, LOCATE_parser_prod___AMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
-  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*/) /*PSignature::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMethPropdef___empty_init, 1752};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1752, LOCATE_parser_prod___AMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i] = 1;
@@ -3536,7 +3542,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, LOCATE_parser_prod___AMethPropdef___init_amethpropdef, 1754};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1754, LOCATE_parser_prod___AMethPropdef___init_amethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3550,67 +3556,67 @@ 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;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable3 /*n_methid*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_methid*/,  NIT_NULL /*null*/) /*PMethid::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_methid*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_methid*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_methid*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable4 /*n_signature*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_signature*/,  NIT_NULL /*null*/) /*PSignature::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_signature*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_signature*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_signature*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMethPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMethPropdef___replace_child, 1784};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1784, LOCATE_parser_prod___AMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AMethPropdef___replace_child, 1786); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMethPropdef___replace_child, 1790); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label172;
   }
   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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMethPropdef___replace_child, 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, 1800); 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*/;
@@ -3618,13 +3624,13 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label172;
   }
   variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_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*/) /*PVisibility::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMethPropdef___replace_child, 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, 1810); 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*/;
@@ -3632,13 +3638,13 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label172;
   }
   variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMethPropdef___replace_child, 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, 1820); 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*/;
@@ -3646,13 +3652,13 @@ void parser_prod___AMethPropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label172;
   }
   variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMethPropdef___replace_child, 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, 1830); 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*/;
@@ -3664,37 +3670,37 @@ 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, LOCATE_parser_prod___AMethPropdef___visit_all, 1839};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1839, LOCATE_parser_prod___AMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -3703,37 +3709,37 @@ 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, LOCATE_parser_prod___AMethPropdef___visit_all_reverse, 1858};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1858, LOCATE_parser_prod___AMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -3742,91 +3748,91 @@ 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, LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq, 1878};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1878, LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq, 1885};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1885, LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq, 1892};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1892, LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq, 1899};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1899, LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq, 1906};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1906, LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ =  variable0 /*n*/;
-  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*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq, 1913};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1913, LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ =  variable0 /*n*/;
-  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*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___empty_init, 1921};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1921, LOCATE_parser_prod___ADeferredMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -3835,7 +3841,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, LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef, 1923};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1923, LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3852,131 +3858,131 @@ void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t  self,
   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*/;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/ =  variable3 /*n_kwmeth*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 1958};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 1958, LOCATE_parser_prod___ADeferredMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 1960); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 1964); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label183;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 1974); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label183;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_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*/) /*PVisibility::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 1984); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
+      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___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
     }
     goto return_label183;
   }
   variable2 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 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, 1994); 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*/;
     }
     goto return_label183;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 2004); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
+      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_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
     }
     goto return_label183;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADeferredMethPropdef___replace_child, 2014); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
+      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___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
     }
     goto return_label183;
   }
@@ -3985,181 +3991,181 @@ 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, LOCATE_parser_prod___ADeferredMethPropdef___visit_all, 2023};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2023, LOCATE_parser_prod___ADeferredMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse, 2045};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2045, LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ADeferredMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*ADeferredMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*ADeferredMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth( self) /*ADeferredMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*ADeferredMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*ADeferredMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___n_doc__eq, 2068};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2068, LOCATE_parser_prod___AInternMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq, 2075};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2075, LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq, 2082};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2082, LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq, 2089};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2089, LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___n_methid__eq, 2096};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2096, LOCATE_parser_prod___AInternMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ =  variable0 /*n*/;
-  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*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___n_signature__eq, 2103};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2103, LOCATE_parser_prod___AInternMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ =  variable0 /*n*/;
-  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*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___empty_init, 2111};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2111, LOCATE_parser_prod___AInternMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -4168,7 +4174,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, LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef, 2113};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2113, LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4185,131 +4191,131 @@ void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t  self, val
   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*/;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/ =  variable3 /*n_kwmeth*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AInternMethPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___replace_child, 2148};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2148, LOCATE_parser_prod___AInternMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AInternMethPropdef___replace_child, 2150); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInternMethPropdef___replace_child, 2154); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label194;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInternMethPropdef___replace_child, 2164); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label194;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_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*/) /*PVisibility::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInternMethPropdef___replace_child, 2174); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
     }
     goto return_label194;
   }
   variable2 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInternMethPropdef___replace_child, 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, 2184); 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*/;
     }
     goto return_label194;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInternMethPropdef___replace_child, 2194); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
     }
     goto return_label194;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInternMethPropdef___replace_child, 2204); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
     }
     goto return_label194;
   }
@@ -4318,195 +4324,195 @@ 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, LOCATE_parser_prod___AInternMethPropdef___visit_all, 2213};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2213, LOCATE_parser_prod___AInternMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInternMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse, 2235};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2235, LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AInternMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AInternMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AInternMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth( self) /*AInternMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AInternMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AInternMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___n_doc__eq, 2258};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2258, LOCATE_parser_prod___AExternMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq, 2265};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2265, LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq, 2272};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2272, LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq, 2279};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2279, LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___n_methid__eq, 2286};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2286, LOCATE_parser_prod___AExternMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ =  variable0 /*n*/;
-  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*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___n_signature__eq, 2293};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2293, LOCATE_parser_prod___AExternMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ =  variable0 /*n*/;
-  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*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___n_extern__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___n_extern__eq, 2300};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2300, LOCATE_parser_prod___AExternMethPropdef___n_extern__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  variable0 /*n*/;
-  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*/) /*TString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___empty_init, 2308};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2308, LOCATE_parser_prod___AExternMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -4515,7 +4521,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, LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef, 2310};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2310, LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4534,147 +4540,147 @@ void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t  self, val
   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*/;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/ =  variable3 /*n_kwmeth*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/ =  variable6 /*n_extern*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_extern*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_extern*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_extern*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_extern*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_extern*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_extern*/,  NIT_NULL /*null*/) /*TString::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_extern*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_extern*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_extern*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_extern*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_extern*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_extern*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_extern*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_extern*/,  self) /*TString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_extern*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_extern*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AExternMethPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AExternMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AExternMethPropdef___replace_child, 2350};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2350, LOCATE_parser_prod___AExternMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 2352); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 2356); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label206;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 2366); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label206;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_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*/) /*PVisibility::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 2376); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
     }
     goto return_label206;
   }
   variable2 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 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, 2386); 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*/;
     }
     goto return_label206;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 2396); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
     }
     goto return_label206;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 2406); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
     }
     goto return_label206;
   }
   variable2 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
-  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*/) /*TString::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AExternMethPropdef___replace_child, 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, 2416); 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*/;
@@ -4686,49 +4692,49 @@ 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, LOCATE_parser_prod___AExternMethPropdef___visit_all, 2425};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2425, LOCATE_parser_prod___AExternMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
-  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*/) /*TString::==*/)))))));
+  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 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -4737,49 +4743,49 @@ 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, LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse, 2450};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2450, LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AExternMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AExternMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AExternMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth( self) /*AExternMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AExternMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AExternMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
-  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*/) /*TString::==*/)))))));
+  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 = ATTR_parser_nodes___AExternMethPropdef____n_extern( self) /*AExternMethPropdef::_n_extern*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -4788,105 +4794,105 @@ 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, LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq, 2476};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2476, LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq, 2483};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2483, LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq, 2490};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2490, LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq, 2497};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2497, LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  variable0 /*n*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq, 2504};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2504, LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ =  variable0 /*n*/;
-  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*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq, 2511};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2511, LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ =  variable0 /*n*/;
-  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*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq, 2518};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2518, LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___empty_init, 2526};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2526, LOCATE_parser_prod___AConcreteMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -4895,7 +4901,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, LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef, 2528};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2528, LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -4914,147 +4920,147 @@ void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t  self,
   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*/;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/ =  variable3 /*n_kwmeth*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*TKwmeth::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwmeth*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwmeth*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwmeth*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwmeth*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwmeth*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*TKwmeth::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwmeth*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwmeth*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable6 /*n_block*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_block*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 2568};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2568, LOCATE_parser_prod___AConcreteMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 2570); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 2574); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label218;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 2584); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label218;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_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*/) /*PVisibility::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 2594); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
     }
     goto return_label218;
   }
   variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 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, 2604); 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*/;
     }
     goto return_label218;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 2614); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
     }
     goto return_label218;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 2624); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
     }
     goto return_label218;
   }
   variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteMethPropdef___replace_child, 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, 2634); 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*/;
@@ -5066,49 +5072,49 @@ 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, LOCATE_parser_prod___AConcreteMethPropdef___visit_all, 2643};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2643, LOCATE_parser_prod___AConcreteMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -5117,49 +5123,49 @@ 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, LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse, 2668};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2668, LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteMethPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteMethPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
-  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*/) /*TKwmeth::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth( self) /*AConcreteMethPropdef::_n_kwmeth*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteMethPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteMethPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -5168,105 +5174,105 @@ 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, LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq, 2694};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2694, LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq, 2701};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2701, LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq, 2708};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2708, LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq, 2715};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2715, LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  variable0 /*n*/;
-  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*/) /*TKwinit::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwinit::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq, 2722};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2722, LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ =  variable0 /*n*/;
-  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*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq, 2729};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2729, LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ =  variable0 /*n*/;
-  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*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq, 2736};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2736, LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___empty_init, 2744};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2744, LOCATE_parser_prod___AConcreteInitPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -5275,7 +5281,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, LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef, 2746};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2746, LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5294,150 +5300,150 @@ void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t  self,
   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*/;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/ =  variable3 /*n_kwinit*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwinit*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwinit*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwinit*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwinit*/,  NIT_NULL /*null*/) /*TKwinit::==*/)))))));
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwinit*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwinit*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwinit*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwinit*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwinit*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwinit*/,  self) /*TKwinit::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwinit*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwinit*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ =  variable4 /*n_methid*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*PMethid::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable4 /*n_methid*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_methid*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_methid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_methid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_methid*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_methid*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PMethid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_methid*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_methid*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ =  variable5 /*n_signature*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*PSignature::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable5 /*n_signature*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_signature*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_signature*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_signature*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_signature*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_signature*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PSignature::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_signature*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_signature*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ =  variable6 /*n_block*/;
-  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_block*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable6 /*n_block*/;
+  variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable6 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable6 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable7)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n_block*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2786};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2786, LOCATE_parser_prod___AConcreteInitPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2788); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2792); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label230;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2802); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label230;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_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*/) /*PVisibility::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2812); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/ =  NIT_NULL /*null*/;
     }
     goto return_label230;
   }
   variable2 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
-  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*/) /*TKwinit::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 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, 2822); 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*/;
     }
     goto return_label230;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2832); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/ =  NIT_NULL /*null*/;
     }
     goto return_label230;
   }
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))));
+  variable2 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2842); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/ =  NIT_NULL /*null*/;
     }
     goto return_label230;
   }
-  variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AConcreteInitPropdef___replace_child, 2852); nit_exit(1);}
-      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  NIT_NULL /*null*/;
     }
     goto return_label230;
   }
@@ -5446,137 +5452,137 @@ 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, LOCATE_parser_prod___AConcreteInitPropdef___visit_all, 2861};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2861, LOCATE_parser_prod___AConcreteInitPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
-  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*/) /*TKwinit::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
+    variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse, 2886};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2886, LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*AConcreteInitPropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AConcreteInitPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AConcreteInitPropdef::_n_visibility*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_visibility( self) /*AMethPropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
-  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*/) /*TKwinit::==*/)))))));
+  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 = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit( self) /*AConcreteInitPropdef::_n_kwinit*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
-  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*/) /*PMethid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AConcreteInitPropdef::_n_methid*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_methid( self) /*AMethPropdef::_n_methid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
-  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*/) /*PSignature::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AConcreteInitPropdef::_n_signature*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_signature( self) /*AMethPropdef::_n_signature*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteInitPropdef::_n_block*/;
+    variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq, 2912};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2912, LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMainMethPropdef___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMainMethPropdef___n_block__eq, 2919};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2919, LOCATE_parser_prod___AMainMethPropdef___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMainMethPropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMainMethPropdef___empty_init, 2927};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2927, LOCATE_parser_prod___AMainMethPropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -5585,7 +5591,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, LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef, 2929};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2929, LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5594,55 +5600,55 @@ void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t  self, val_t
   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*/;
-  ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_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*/) /*TKwredef::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ =  variable1 /*n_block*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_block*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable1 /*n_block*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMainMethPropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMainMethPropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMainMethPropdef___replace_child, 2944};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2944, LOCATE_parser_prod___AMainMethPropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AMainMethPropdef___replace_child, 2946); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_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*/) /*TKwredef::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMainMethPropdef___replace_child, 2950); nit_exit(1);}
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label237;
   }
-  variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMainMethPropdef___replace_child, 2960); nit_exit(1);}
-      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/ =  NIT_NULL /*null*/;
     }
     goto return_label237;
   }
@@ -5651,133 +5657,133 @@ 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, LOCATE_parser_prod___AMainMethPropdef___visit_all, 2969};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2969, LOCATE_parser_prod___AMainMethPropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
+    variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMainMethPropdef___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse, 2979};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2979, LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
+  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 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMainMethPropdef::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___AMethPropdef____n_kwredef( self) /*AMethPropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
+  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 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AMainMethPropdef::_n_block*/;
+    variable1 = ATTR_parser_nodes___AConcreteMethPropdef____n_block( self) /*AConcreteMethPropdef::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___n_doc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___n_doc__eq, 2990};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2990, LOCATE_parser_prod___ATypePropdef___n_doc__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/ =  variable0 /*n*/;
-  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*/) /*PDoc::==*/)))))));
+  ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___n_kwredef__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___n_kwredef__eq, 2997};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 2997, LOCATE_parser_prod___ATypePropdef___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___n_visibility__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___n_visibility__eq, 3004};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3004, LOCATE_parser_prod___ATypePropdef___n_visibility__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  variable0 /*n*/;
-  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*/) /*PVisibility::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___n_kwtype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___n_kwtype__eq, 3011};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3011, LOCATE_parser_prod___ATypePropdef___n_kwtype__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  variable0 /*n*/;
-  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*/) /*TKwtype::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwtype::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___n_id__eq, 3018};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3018, LOCATE_parser_prod___ATypePropdef___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TClassid::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___n_type__eq, 3025};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3025, LOCATE_parser_prod___ATypePropdef___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___empty_init, 3033};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3033, LOCATE_parser_prod___ATypePropdef___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i] = 1;
@@ -5785,7 +5791,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, LOCATE_parser_prod___ATypePropdef___init_atypepropdef, 3035};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3035, LOCATE_parser_prod___ATypePropdef___init_atypepropdef};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -5801,72 +5807,72 @@ 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;
-  ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_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*/) /*PDoc::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PDoc::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_doc*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_doc*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/ =  variable1 /*n_kwredef*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*TKwredef::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwredef*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwredef*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwredef*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwredef*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwredef*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/ =  variable2 /*n_visibility*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*PVisibility::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_visibility*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_visibility*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_visibility*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_visibility*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_visibility*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PVisibility::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_visibility*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_visibility*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/ =  variable3 /*n_kwtype*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwtype*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwtype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwtype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwtype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwtype*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwtype*/,  NIT_NULL /*null*/) /*TKwtype::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_kwtype*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_kwtype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwtype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_kwtype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_kwtype*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_kwtype*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwtype*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwtype*/,  self) /*TKwtype::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_kwtype*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_kwtype*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/ =  variable4 /*n_id*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_id*/,  NIT_NULL /*null*/) /*TClassid::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_id*/,  self) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_id*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/ =  variable5 /*n_type*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_type*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATypePropdef].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATypePropdef___replace_child, 3070};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3070, LOCATE_parser_prod___ATypePropdef___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ATypePropdef___replace_child, 3072); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_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*/) /*PDoc::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ATypePropdef___replace_child, 3076); nit_exit(1);}
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/ =  NIT_NULL /*null*/;
     }
     goto return_label248;
   }
   variable2 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_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*/) /*TKwredef::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ATypePropdef___replace_child, 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, 3086); 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*/;
@@ -5874,13 +5880,13 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label248;
   }
   variable2 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_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*/) /*PVisibility::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ATypePropdef___replace_child, 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, 3096); 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*/;
@@ -5888,13 +5894,13 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label248;
   }
   variable2 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
-  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*/) /*TKwtype::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ATypePropdef___replace_child, 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, 3106); 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*/;
@@ -5902,13 +5908,13 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label248;
   }
   variable2 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_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*/) /*TClassid::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ATypePropdef___replace_child, 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, 3116); 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*/;
@@ -5916,13 +5922,13 @@ void parser_prod___ATypePropdef___replace_child(val_t  self, val_t  param0, val_
     goto return_label248;
   }
   variable2 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ATypePropdef___replace_child, 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, 3126); 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*/;
@@ -5934,43 +5940,43 @@ 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, LOCATE_parser_prod___ATypePropdef___visit_all, 3135};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3135, LOCATE_parser_prod___ATypePropdef___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
-  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*/) /*TKwtype::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -5979,43 +5985,43 @@ 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, LOCATE_parser_prod___ATypePropdef___visit_all_reverse, 3157};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3157, LOCATE_parser_prod___ATypePropdef___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
-  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*/) /*PDoc::==*/)))))));
+  variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
+  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 = ATTR_parser_nodes___PPropdef____n_doc( self) /*ATypePropdef::_n_doc*/;
+    variable1 = ATTR_parser_nodes___PPropdef____n_doc( self) /*PPropdef::_n_doc*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_kwredef( self) /*ATypePropdef::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
-  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*/) /*PVisibility::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_visibility( self) /*ATypePropdef::_n_visibility*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
-  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*/) /*TKwtype::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_kwtype( self) /*ATypePropdef::_n_kwtype*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_id( self) /*ATypePropdef::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ATypePropdef____n_type( self) /*ATypePropdef::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6024,35 +6030,35 @@ 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, LOCATE_parser_prod___AReadAble___n_kwredef__eq, 3180};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3180, LOCATE_parser_prod___AReadAble___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReadAble___n_kwreadable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AReadAble___n_kwreadable__eq, 3187};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3187, LOCATE_parser_prod___AReadAble___n_kwreadable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  variable0 /*n*/;
-  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*/) /*TKwreadable::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwreadable::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReadAble___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AReadAble___empty_init, 3195};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3195, LOCATE_parser_prod___AReadAble___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i] = 1;
@@ -6060,7 +6066,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, LOCATE_parser_prod___AReadAble___init_areadable, 3197};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3197, LOCATE_parser_prod___AReadAble___init_areadable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6068,52 +6074,52 @@ 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;
-  ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_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*/) /*TKwredef::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/ =  variable1 /*n_kwreadable*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwreadable*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwreadable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwreadable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwreadable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwreadable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwreadable*/,  NIT_NULL /*null*/) /*TKwreadable::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwreadable*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwreadable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwreadable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwreadable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwreadable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwreadable*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwreadable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwreadable*/,  self) /*TKwreadable::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwreadable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwreadable*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReadAble].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReadAble___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AReadAble___replace_child, 3212};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3212, LOCATE_parser_prod___AReadAble___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AReadAble___replace_child, 3214); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_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*/) /*TKwredef::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AReadAble___replace_child, 3218); nit_exit(1);}
-      ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label255;
   }
   variable2 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
-  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*/) /*TKwreadable::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AReadAble___replace_child, 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, 3228); 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*/;
@@ -6125,19 +6131,19 @@ 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, LOCATE_parser_prod___AReadAble___visit_all, 3237};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3237, LOCATE_parser_prod___AReadAble___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
+  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 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
-  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*/) /*TKwreadable::==*/)))))));
+  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 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6146,19 +6152,19 @@ 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, LOCATE_parser_prod___AReadAble___visit_all_reverse, 3247};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3247, LOCATE_parser_prod___AReadAble___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
+  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 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AReadAble::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
-  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*/) /*TKwreadable::==*/)))))));
+  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 = ATTR_parser_nodes___AReadAble____n_kwreadable( self) /*AReadAble::_n_kwreadable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6167,35 +6173,35 @@ 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, LOCATE_parser_prod___AWriteAble___n_kwredef__eq, 3258};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3258, LOCATE_parser_prod___AWriteAble___n_kwredef__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/ =  variable0 /*n*/;
-  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*/) /*TKwredef::==*/)))))));
+  ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWriteAble___n_kwwritable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWriteAble___n_kwwritable__eq, 3265};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3265, LOCATE_parser_prod___AWriteAble___n_kwwritable__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  variable0 /*n*/;
-  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*/) /*TKwwritable::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwwritable::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWriteAble___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWriteAble___empty_init, 3273};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3273, LOCATE_parser_prod___AWriteAble___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i] = 1;
@@ -6203,7 +6209,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, LOCATE_parser_prod___AWriteAble___init_awriteable, 3275};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3275, LOCATE_parser_prod___AWriteAble___init_awriteable};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -6211,52 +6217,52 @@ 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;
-  ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_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*/) /*TKwredef::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/,  self) /*TKwredef::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwredef*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwredef*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/ =  variable1 /*n_kwwritable*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwwritable*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwwritable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwwritable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwwritable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwwritable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwwritable*/,  NIT_NULL /*null*/) /*TKwwritable::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwwritable*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwwritable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwwritable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwwritable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwwritable*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwwritable*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwwritable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwwritable*/,  self) /*TKwwritable::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwwritable*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwwritable*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWriteAble].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWriteAble___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWriteAble___replace_child, 3290};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3290, LOCATE_parser_prod___AWriteAble___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AWriteAble___replace_child, 3292); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_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*/) /*TKwredef::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AWriteAble___replace_child, 3296); nit_exit(1);}
-      ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/ =  NIT_NULL /*null*/;
     }
     goto return_label262;
   }
   variable2 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
-  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*/) /*TKwwritable::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AWriteAble___replace_child, 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, 3306); 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*/;
@@ -6268,19 +6274,19 @@ 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, LOCATE_parser_prod___AWriteAble___visit_all, 3315};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3315, LOCATE_parser_prod___AWriteAble___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
+  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 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
-  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*/) /*TKwwritable::==*/)))))));
+  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 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6289,19 +6295,19 @@ 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, LOCATE_parser_prod___AWriteAble___visit_all_reverse, 3325};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3325, LOCATE_parser_prod___AWriteAble___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
-  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*/) /*TKwredef::==*/)))))));
+  variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
+  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 = ATTR_parser_nodes___PAble____n_kwredef( self) /*AWriteAble::_n_kwredef*/;
+    variable1 = ATTR_parser_nodes___PAble____n_kwredef( self) /*PAble::_n_kwredef*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
-  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*/) /*TKwwritable::==*/)))))));
+  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 = ATTR_parser_nodes___AWriteAble____n_kwwritable( self) /*AWriteAble::_n_kwwritable*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6310,21 +6316,21 @@ 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, LOCATE_parser_prod___AIdMethid___n_id__eq, 3336};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3336, LOCATE_parser_prod___AIdMethid___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIdMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIdMethid___empty_init, 3344};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3344, LOCATE_parser_prod___AIdMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i] = 1;
@@ -6332,39 +6338,39 @@ 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, LOCATE_parser_prod___AIdMethid___init_aidmethid, 3346};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3346, LOCATE_parser_prod___AIdMethid___init_aidmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i]) return;
   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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIdMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIdMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIdMethid___replace_child, 3356};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3356, LOCATE_parser_prod___AIdMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AIdMethid___replace_child, 3358); nit_exit(1);}
+  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);}
   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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIdMethid___replace_child, 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, 3362); 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*/;
@@ -6376,13 +6382,13 @@ 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, LOCATE_parser_prod___AIdMethid___visit_all, 3371};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3371, LOCATE_parser_prod___AIdMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6391,13 +6397,13 @@ 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, LOCATE_parser_prod___AIdMethid___visit_all_reverse, 3378};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3378, LOCATE_parser_prod___AIdMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AIdMethid____n_id( self) /*AIdMethid::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6406,21 +6412,21 @@ 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, LOCATE_parser_prod___APlusMethid___n_plus__eq, 3386};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3386, LOCATE_parser_prod___APlusMethid___n_plus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/ =  variable0 /*n*/;
-  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*/) /*TPlus::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TPlus::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusMethid___empty_init, 3394};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3394, LOCATE_parser_prod___APlusMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i] = 1;
@@ -6428,39 +6434,39 @@ 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, LOCATE_parser_prod___APlusMethid___init_aplusmethid, 3396};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3396, LOCATE_parser_prod___APlusMethid___init_aplusmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i]) return;
   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*/) /*TPlus::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_plus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_plus*/,  self) /*TPlus::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_plus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_plus*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusMethid___replace_child, 3406};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3406, LOCATE_parser_prod___APlusMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APlusMethid___replace_child, 3408); nit_exit(1);}
+  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);}
   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*/) /*TPlus::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APlusMethid___replace_child, 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, 3412); 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*/;
@@ -6472,13 +6478,13 @@ 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, LOCATE_parser_prod___APlusMethid___visit_all, 3421};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3421, LOCATE_parser_prod___APlusMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
-  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*/) /*TPlus::==*/)))))));
+  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 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6487,13 +6493,13 @@ 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, LOCATE_parser_prod___APlusMethid___visit_all_reverse, 3428};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3428, LOCATE_parser_prod___APlusMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
-  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*/) /*TPlus::==*/)))))));
+  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 = ATTR_parser_nodes___APlusMethid____n_plus( self) /*APlusMethid::_n_plus*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6502,21 +6508,21 @@ 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, LOCATE_parser_prod___AMinusMethid___n_minus__eq, 3436};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3436, LOCATE_parser_prod___AMinusMethid___n_minus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/ =  variable0 /*n*/;
-  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*/) /*TMinus::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TMinus::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusMethid___empty_init, 3444};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3444, LOCATE_parser_prod___AMinusMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i] = 1;
@@ -6524,39 +6530,39 @@ 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, LOCATE_parser_prod___AMinusMethid___init_aminusmethid, 3446};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3446, LOCATE_parser_prod___AMinusMethid___init_aminusmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i]) return;
   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*/) /*TMinus::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/,  self) /*TMinus::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusMethid___replace_child, 3456};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3456, LOCATE_parser_prod___AMinusMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AMinusMethid___replace_child, 3458); nit_exit(1);}
+  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);}
   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*/) /*TMinus::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMinusMethid___replace_child, 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, 3462); 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*/;
@@ -6568,13 +6574,13 @@ 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, LOCATE_parser_prod___AMinusMethid___visit_all, 3471};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3471, LOCATE_parser_prod___AMinusMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
-  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*/) /*TMinus::==*/)))))));
+  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 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6583,13 +6589,13 @@ 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, LOCATE_parser_prod___AMinusMethid___visit_all_reverse, 3478};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3478, LOCATE_parser_prod___AMinusMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
-  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*/) /*TMinus::==*/)))))));
+  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 = ATTR_parser_nodes___AMinusMethid____n_minus( self) /*AMinusMethid::_n_minus*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6598,21 +6604,21 @@ 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, LOCATE_parser_prod___AStarMethid___n_star__eq, 3486};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3486, LOCATE_parser_prod___AStarMethid___n_star__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/ =  variable0 /*n*/;
-  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*/) /*TStar::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TStar::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarMethid___empty_init, 3494};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3494, LOCATE_parser_prod___AStarMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i] = 1;
@@ -6620,39 +6626,39 @@ 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, LOCATE_parser_prod___AStarMethid___init_astarmethid, 3496};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3496, LOCATE_parser_prod___AStarMethid___init_astarmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i]) return;
   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*/) /*TStar::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_star*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_star*/,  self) /*TStar::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_star*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_star*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarMethid___replace_child, 3506};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3506, LOCATE_parser_prod___AStarMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AStarMethid___replace_child, 3508); nit_exit(1);}
+  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);}
   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*/) /*TStar::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStarMethid___replace_child, 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, 3512); 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*/;
@@ -6664,13 +6670,13 @@ 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, LOCATE_parser_prod___AStarMethid___visit_all, 3521};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3521, LOCATE_parser_prod___AStarMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
-  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*/) /*TStar::==*/)))))));
+  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 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6679,13 +6685,13 @@ 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, LOCATE_parser_prod___AStarMethid___visit_all_reverse, 3528};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3528, LOCATE_parser_prod___AStarMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
-  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*/) /*TStar::==*/)))))));
+  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 = ATTR_parser_nodes___AStarMethid____n_star( self) /*AStarMethid::_n_star*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6694,21 +6700,21 @@ 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, LOCATE_parser_prod___ASlashMethid___n_slash__eq, 3536};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3536, LOCATE_parser_prod___ASlashMethid___n_slash__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/ =  variable0 /*n*/;
-  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*/) /*TSlash::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TSlash::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASlashMethid___empty_init, 3544};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3544, LOCATE_parser_prod___ASlashMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i] = 1;
@@ -6716,39 +6722,39 @@ 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, LOCATE_parser_prod___ASlashMethid___init_aslashmethid, 3546};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3546, LOCATE_parser_prod___ASlashMethid___init_aslashmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i]) return;
   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*/) /*TSlash::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_slash*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_slash*/,  self) /*TSlash::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_slash*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_slash*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASlashMethid___replace_child, 3556};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3556, LOCATE_parser_prod___ASlashMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASlashMethid___replace_child, 3558); nit_exit(1);}
+  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);}
   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*/) /*TSlash::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASlashMethid___replace_child, 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, 3562); 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*/;
@@ -6760,13 +6766,13 @@ 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, LOCATE_parser_prod___ASlashMethid___visit_all, 3571};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3571, LOCATE_parser_prod___ASlashMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
-  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*/) /*TSlash::==*/)))))));
+  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 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6775,13 +6781,13 @@ 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, LOCATE_parser_prod___ASlashMethid___visit_all_reverse, 3578};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3578, LOCATE_parser_prod___ASlashMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
-  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*/) /*TSlash::==*/)))))));
+  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 = ATTR_parser_nodes___ASlashMethid____n_slash( self) /*ASlashMethid::_n_slash*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6790,21 +6796,21 @@ 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, LOCATE_parser_prod___APercentMethid___n_percent__eq, 3586};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3586, LOCATE_parser_prod___APercentMethid___n_percent__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/ =  variable0 /*n*/;
-  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*/) /*TPercent::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TPercent::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APercentMethid___empty_init, 3594};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3594, LOCATE_parser_prod___APercentMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i] = 1;
@@ -6812,39 +6818,39 @@ 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, LOCATE_parser_prod___APercentMethid___init_apercentmethid, 3596};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3596, LOCATE_parser_prod___APercentMethid___init_apercentmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i]) return;
   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*/) /*TPercent::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_percent*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_percent*/,  self) /*TPercent::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_percent*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_percent*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APercentMethid___replace_child, 3606};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3606, LOCATE_parser_prod___APercentMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APercentMethid___replace_child, 3608); nit_exit(1);}
+  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);}
   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*/) /*TPercent::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APercentMethid___replace_child, 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, 3612); 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*/;
@@ -6856,13 +6862,13 @@ 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, LOCATE_parser_prod___APercentMethid___visit_all, 3621};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3621, LOCATE_parser_prod___APercentMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
-  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*/) /*TPercent::==*/)))))));
+  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 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6871,13 +6877,13 @@ 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, LOCATE_parser_prod___APercentMethid___visit_all_reverse, 3628};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3628, LOCATE_parser_prod___APercentMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
-  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*/) /*TPercent::==*/)))))));
+  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 = ATTR_parser_nodes___APercentMethid____n_percent( self) /*APercentMethid::_n_percent*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6886,21 +6892,21 @@ 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, LOCATE_parser_prod___AEqMethid___n_eq__eq, 3636};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3636, LOCATE_parser_prod___AEqMethid___n_eq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/ =  variable0 /*n*/;
-  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*/) /*TEq::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TEq::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEqMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEqMethid___empty_init, 3644};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3644, LOCATE_parser_prod___AEqMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i] = 1;
@@ -6908,39 +6914,39 @@ 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, LOCATE_parser_prod___AEqMethid___init_aeqmethid, 3646};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3646, LOCATE_parser_prod___AEqMethid___init_aeqmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i]) return;
   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*/) /*TEq::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_eq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_eq*/,  self) /*TEq::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_eq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_eq*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEqMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEqMethid___replace_child, 3656};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3656, LOCATE_parser_prod___AEqMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AEqMethid___replace_child, 3658); nit_exit(1);}
+  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);}
   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*/) /*TEq::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AEqMethid___replace_child, 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, 3662); 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*/;
@@ -6952,13 +6958,13 @@ 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, LOCATE_parser_prod___AEqMethid___visit_all, 3671};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3671, LOCATE_parser_prod___AEqMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
-  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*/) /*TEq::==*/)))))));
+  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 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6967,13 +6973,13 @@ 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, LOCATE_parser_prod___AEqMethid___visit_all_reverse, 3678};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3678, LOCATE_parser_prod___AEqMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
-  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*/) /*TEq::==*/)))))));
+  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 = ATTR_parser_nodes___AEqMethid____n_eq( self) /*AEqMethid::_n_eq*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -6982,21 +6988,21 @@ 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, LOCATE_parser_prod___ANeMethid___n_ne__eq, 3686};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3686, LOCATE_parser_prod___ANeMethid___n_ne__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/ =  variable0 /*n*/;
-  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*/) /*TNe::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TNe::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANeMethid___empty_init, 3694};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3694, LOCATE_parser_prod___ANeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i] = 1;
@@ -7004,39 +7010,39 @@ 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, LOCATE_parser_prod___ANeMethid___init_anemethid, 3696};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3696, LOCATE_parser_prod___ANeMethid___init_anemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i]) return;
   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*/) /*TNe::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ne*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ne*/,  self) /*TNe::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ne*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ne*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANeMethid___replace_child, 3706};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3706, LOCATE_parser_prod___ANeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ANeMethid___replace_child, 3708); nit_exit(1);}
+  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);}
   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*/) /*TNe::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANeMethid___replace_child, 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, 3712); 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*/;
@@ -7048,13 +7054,13 @@ 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, LOCATE_parser_prod___ANeMethid___visit_all, 3721};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3721, LOCATE_parser_prod___ANeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
-  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*/) /*TNe::==*/)))))));
+  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 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7063,13 +7069,13 @@ 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, LOCATE_parser_prod___ANeMethid___visit_all_reverse, 3728};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3728, LOCATE_parser_prod___ANeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
-  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*/) /*TNe::==*/)))))));
+  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 = ATTR_parser_nodes___ANeMethid____n_ne( self) /*ANeMethid::_n_ne*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7078,21 +7084,21 @@ 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, LOCATE_parser_prod___ALeMethid___n_le__eq, 3736};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3736, LOCATE_parser_prod___ALeMethid___n_le__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/ =  variable0 /*n*/;
-  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*/) /*TLe::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TLe::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALeMethid___empty_init, 3744};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3744, LOCATE_parser_prod___ALeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i] = 1;
@@ -7100,39 +7106,39 @@ 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, LOCATE_parser_prod___ALeMethid___init_alemethid, 3746};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3746, LOCATE_parser_prod___ALeMethid___init_alemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i]) return;
   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*/) /*TLe::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_le*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_le*/,  self) /*TLe::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_le*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_le*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALeMethid___replace_child, 3756};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3756, LOCATE_parser_prod___ALeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ALeMethid___replace_child, 3758); nit_exit(1);}
+  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);}
   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*/) /*TLe::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ALeMethid___replace_child, 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, 3762); 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*/;
@@ -7144,13 +7150,13 @@ 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, LOCATE_parser_prod___ALeMethid___visit_all, 3771};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3771, LOCATE_parser_prod___ALeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
-  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*/) /*TLe::==*/)))))));
+  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 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7159,13 +7165,13 @@ 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, LOCATE_parser_prod___ALeMethid___visit_all_reverse, 3778};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3778, LOCATE_parser_prod___ALeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
-  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*/) /*TLe::==*/)))))));
+  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 = ATTR_parser_nodes___ALeMethid____n_le( self) /*ALeMethid::_n_le*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7174,21 +7180,21 @@ 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, LOCATE_parser_prod___AGeMethid___n_ge__eq, 3786};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3786, LOCATE_parser_prod___AGeMethid___n_ge__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/ =  variable0 /*n*/;
-  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*/) /*TGe::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TGe::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGeMethid___empty_init, 3794};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3794, LOCATE_parser_prod___AGeMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i] = 1;
@@ -7196,39 +7202,39 @@ 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, LOCATE_parser_prod___AGeMethid___init_agemethid, 3796};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3796, LOCATE_parser_prod___AGeMethid___init_agemethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i]) return;
   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*/) /*TGe::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ge*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ge*/,  self) /*TGe::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_ge*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_ge*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGeMethid___replace_child, 3806};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3806, LOCATE_parser_prod___AGeMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AGeMethid___replace_child, 3808); nit_exit(1);}
+  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);}
   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*/) /*TGe::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AGeMethid___replace_child, 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, 3812); 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*/;
@@ -7240,13 +7246,13 @@ 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, LOCATE_parser_prod___AGeMethid___visit_all, 3821};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3821, LOCATE_parser_prod___AGeMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
-  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*/) /*TGe::==*/)))))));
+  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 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7255,13 +7261,13 @@ 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, LOCATE_parser_prod___AGeMethid___visit_all_reverse, 3828};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3828, LOCATE_parser_prod___AGeMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
-  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*/) /*TGe::==*/)))))));
+  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 = ATTR_parser_nodes___AGeMethid____n_ge( self) /*AGeMethid::_n_ge*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7270,21 +7276,21 @@ 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, LOCATE_parser_prod___ALtMethid___n_lt__eq, 3836};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3836, LOCATE_parser_prod___ALtMethid___n_lt__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/ =  variable0 /*n*/;
-  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*/) /*TLt::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TLt::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALtMethid___empty_init, 3844};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3844, LOCATE_parser_prod___ALtMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i] = 1;
@@ -7292,39 +7298,39 @@ 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, LOCATE_parser_prod___ALtMethid___init_altmethid, 3846};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3846, LOCATE_parser_prod___ALtMethid___init_altmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i]) return;
   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*/) /*TLt::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_lt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_lt*/,  self) /*TLt::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_lt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_lt*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALtMethid___replace_child, 3856};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3856, LOCATE_parser_prod___ALtMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ALtMethid___replace_child, 3858); nit_exit(1);}
+  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);}
   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*/) /*TLt::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ALtMethid___replace_child, 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, 3862); 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*/;
@@ -7336,13 +7342,13 @@ 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, LOCATE_parser_prod___ALtMethid___visit_all, 3871};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3871, LOCATE_parser_prod___ALtMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
-  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*/) /*TLt::==*/)))))));
+  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 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7351,13 +7357,13 @@ 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, LOCATE_parser_prod___ALtMethid___visit_all_reverse, 3878};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3878, LOCATE_parser_prod___ALtMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
-  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*/) /*TLt::==*/)))))));
+  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 = ATTR_parser_nodes___ALtMethid____n_lt( self) /*ALtMethid::_n_lt*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7366,21 +7372,21 @@ 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, LOCATE_parser_prod___AGtMethid___n_gt__eq, 3886};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3886, LOCATE_parser_prod___AGtMethid___n_gt__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/ =  variable0 /*n*/;
-  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*/) /*TGt::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TGt::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGtMethid___empty_init, 3894};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3894, LOCATE_parser_prod___AGtMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i] = 1;
@@ -7388,39 +7394,39 @@ 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, LOCATE_parser_prod___AGtMethid___init_agtmethid, 3896};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3896, LOCATE_parser_prod___AGtMethid___init_agtmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i]) return;
   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*/) /*TGt::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_gt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_gt*/,  self) /*TGt::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_gt*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_gt*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGtMethid___replace_child, 3906};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3906, LOCATE_parser_prod___AGtMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AGtMethid___replace_child, 3908); nit_exit(1);}
+  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);}
   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*/) /*TGt::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AGtMethid___replace_child, 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, 3912); 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*/;
@@ -7432,13 +7438,13 @@ 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, LOCATE_parser_prod___AGtMethid___visit_all, 3921};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3921, LOCATE_parser_prod___AGtMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
-  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*/) /*TGt::==*/)))))));
+  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 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7447,13 +7453,13 @@ 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, LOCATE_parser_prod___AGtMethid___visit_all_reverse, 3928};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3928, LOCATE_parser_prod___AGtMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
-  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*/) /*TGt::==*/)))))));
+  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 = ATTR_parser_nodes___AGtMethid____n_gt( self) /*AGtMethid::_n_gt*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7462,35 +7468,35 @@ 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, LOCATE_parser_prod___ABraMethid___n_obra__eq, 3936};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3936, LOCATE_parser_prod___ABraMethid___n_obra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/ =  variable0 /*n*/;
-  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*/) /*TObra::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TObra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraMethid___n_cbra__eq, 3943};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3943, LOCATE_parser_prod___ABraMethid___n_cbra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  variable0 /*n*/;
-  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*/) /*TCbra::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TCbra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraMethid___empty_init, 3951};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3951, LOCATE_parser_prod___ABraMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i] = 1;
@@ -7498,7 +7504,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, LOCATE_parser_prod___ABraMethid___init_abramethid, 3953};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3953, LOCATE_parser_prod___ABraMethid___init_abramethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7507,37 +7513,37 @@ void parser_prod___ABraMethid___init_abramethid(val_t  self, val_t  param0, val_
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i]) return;
   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*/) /*TObra::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/,  self) /*TObra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/ =  variable1 /*n_cbra*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_cbra*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_cbra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_cbra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_cbra*/,  NIT_NULL /*null*/) /*TCbra::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_cbra*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_cbra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_cbra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_cbra*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/,  self) /*TCbra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraMethid___replace_child, 3968};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3968, LOCATE_parser_prod___ABraMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABraMethid___replace_child, 3970); nit_exit(1);}
+  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);}
   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*/) /*TObra::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraMethid___replace_child, 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, 3974); 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*/;
@@ -7545,13 +7551,13 @@ void parser_prod___ABraMethid___replace_child(val_t  self, val_t  param0, val_t
     goto return_label341;
   }
   variable2 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
-  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*/) /*TCbra::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraMethid___replace_child, 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, 3984); 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*/;
@@ -7563,19 +7569,19 @@ 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, LOCATE_parser_prod___ABraMethid___visit_all, 3993};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 3993, LOCATE_parser_prod___ABraMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
-  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*/) /*TObra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
-  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*/) /*TCbra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7584,19 +7590,19 @@ 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, LOCATE_parser_prod___ABraMethid___visit_all_reverse, 4003};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4003, LOCATE_parser_prod___ABraMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
-  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*/) /*TObra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraMethid____n_obra( self) /*ABraMethid::_n_obra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
-  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*/) /*TCbra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraMethid____n_cbra( self) /*ABraMethid::_n_cbra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7605,21 +7611,21 @@ 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, LOCATE_parser_prod___AStarshipMethid___n_starship__eq, 4014};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4014, LOCATE_parser_prod___AStarshipMethid___n_starship__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/ =  variable0 /*n*/;
-  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*/) /*TStarship::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TStarship::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarshipMethid___empty_init, 4022};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4022, LOCATE_parser_prod___AStarshipMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i] = 1;
@@ -7627,39 +7633,39 @@ 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, LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid, 4024};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4024, LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i]) return;
   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*/) /*TStarship::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_starship*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_starship*/,  self) /*TStarship::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_starship*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_starship*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarshipMethid___replace_child, 4034};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4034, LOCATE_parser_prod___AStarshipMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AStarshipMethid___replace_child, 4036); nit_exit(1);}
+  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);}
   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*/) /*TStarship::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStarshipMethid___replace_child, 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, 4040); 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*/;
@@ -7671,13 +7677,13 @@ 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, LOCATE_parser_prod___AStarshipMethid___visit_all, 4049};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4049, LOCATE_parser_prod___AStarshipMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
-  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*/) /*TStarship::==*/)))))));
+  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 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7686,13 +7692,13 @@ 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, LOCATE_parser_prod___AStarshipMethid___visit_all_reverse, 4056};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4056, LOCATE_parser_prod___AStarshipMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
-  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*/) /*TStarship::==*/)))))));
+  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 = ATTR_parser_nodes___AStarshipMethid____n_starship( self) /*AStarshipMethid::_n_starship*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7701,35 +7707,35 @@ 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, LOCATE_parser_prod___AAssignMethid___n_id__eq, 4064};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4064, LOCATE_parser_prod___AAssignMethid___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAssignMethid___n_assign__eq, 4071};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4071, LOCATE_parser_prod___AAssignMethid___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  variable0 /*n*/;
-  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*/) /*TAssign::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssignMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAssignMethid___empty_init, 4079};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4079, LOCATE_parser_prod___AAssignMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i] = 1;
@@ -7737,7 +7743,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, LOCATE_parser_prod___AAssignMethid___init_aassignmethid, 4081};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4081, LOCATE_parser_prod___AAssignMethid___init_aassignmethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7746,37 +7752,37 @@ void parser_prod___AAssignMethid___init_aassignmethid(val_t  self, val_t  param0
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i]) return;
   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*/) /*TId::==*/)))))));
+  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) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/ =  variable1 /*n_assign*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign*/,  NIT_NULL /*null*/) /*TAssign::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssignMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAssignMethid___replace_child, 4096};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4096, LOCATE_parser_prod___AAssignMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAssignMethid___replace_child, 4098); nit_exit(1);}
+  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);}
   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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAssignMethid___replace_child, 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, 4102); 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*/;
@@ -7784,13 +7790,13 @@ void parser_prod___AAssignMethid___replace_child(val_t  self, val_t  param0, val
     goto return_label354;
   }
   variable2 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
-  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*/) /*TAssign::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAssignMethid___replace_child, 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, 4112); 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*/;
@@ -7802,19 +7808,19 @@ 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, LOCATE_parser_prod___AAssignMethid___visit_all, 4121};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4121, LOCATE_parser_prod___AAssignMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  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 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7823,19 +7829,19 @@ 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, LOCATE_parser_prod___AAssignMethid___visit_all_reverse, 4131};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4131, LOCATE_parser_prod___AAssignMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AAssignMethid____n_id( self) /*AAssignMethid::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  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 = ATTR_parser_nodes___AAssignMethid____n_assign( self) /*AAssignMethid::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -7844,49 +7850,49 @@ 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, LOCATE_parser_prod___ABraassignMethid___n_obra__eq, 4142};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4142, LOCATE_parser_prod___ABraassignMethid___n_obra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/ =  variable0 /*n*/;
-  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*/) /*TObra::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TObra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraassignMethid___n_cbra__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraassignMethid___n_cbra__eq, 4149};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4149, LOCATE_parser_prod___ABraassignMethid___n_cbra__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  variable0 /*n*/;
-  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*/) /*TCbra::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TCbra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraassignMethid___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraassignMethid___n_assign__eq, 4156};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4156, LOCATE_parser_prod___ABraassignMethid___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  variable0 /*n*/;
-  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*/) /*TAssign::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraassignMethid___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraassignMethid___empty_init, 4164};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4164, LOCATE_parser_prod___ABraassignMethid___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i] = 1;
@@ -7894,7 +7900,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, LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid, 4166};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4166, LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -7905,42 +7911,42 @@ void parser_prod___ABraassignMethid___init_abraassignmethid(val_t  self, val_t
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i]) return;
   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*/) /*TObra::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/,  self) /*TObra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_obra*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_obra*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/ =  variable1 /*n_cbra*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_cbra*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_cbra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_cbra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_cbra*/,  NIT_NULL /*null*/) /*TCbra::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_cbra*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_cbra*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_cbra*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_cbra*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_cbra*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/,  self) /*TCbra::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_cbra*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_cbra*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/ =  variable2 /*n_assign*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/,  NIT_NULL /*null*/) /*TAssign::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraassignMethid].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraassignMethid___replace_child, 4186};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4186, LOCATE_parser_prod___ABraassignMethid___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABraassignMethid___replace_child, 4188); nit_exit(1);}
+  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);}
   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*/) /*TObra::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraassignMethid___replace_child, 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, 4192); 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*/;
@@ -7948,13 +7954,13 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
     goto return_label362;
   }
   variable2 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
-  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*/) /*TCbra::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraassignMethid___replace_child, 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, 4202); 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*/;
@@ -7962,13 +7968,13 @@ void parser_prod___ABraassignMethid___replace_child(val_t  self, val_t  param0,
     goto return_label362;
   }
   variable2 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
-  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*/) /*TAssign::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraassignMethid___replace_child, 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, 4212); 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*/;
@@ -7980,25 +7986,25 @@ 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, LOCATE_parser_prod___ABraassignMethid___visit_all, 4221};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4221, LOCATE_parser_prod___ABraassignMethid___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
-  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*/) /*TObra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
-  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*/) /*TCbra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  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 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8007,25 +8013,25 @@ 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, LOCATE_parser_prod___ABraassignMethid___visit_all_reverse, 4234};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4234, LOCATE_parser_prod___ABraassignMethid___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
-  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*/) /*TObra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraassignMethid____n_obra( self) /*ABraassignMethid::_n_obra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
-  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*/) /*TCbra::==*/)))))));
+  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 = ATTR_parser_nodes___ABraassignMethid____n_cbra( self) /*ABraassignMethid::_n_cbra*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  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 = ATTR_parser_nodes___ABraassignMethid____n_assign( self) /*ABraassignMethid::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8034,21 +8040,21 @@ 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, LOCATE_parser_prod___ASignature___n_type__eq, 4248};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4248, LOCATE_parser_prod___ASignature___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASignature___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASignature___empty_init, 4256};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4256, LOCATE_parser_prod___ASignature___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i] = 1;
@@ -8056,7 +8062,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, LOCATE_parser_prod___ASignature___init_asignature, 4258};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4258, LOCATE_parser_prod___ASignature___init_asignature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8066,33 +8072,33 @@ 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[PParam]*/
+  variable2 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_params*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_params*/) /*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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___ASignature___init_asignature, 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, 4265); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*PParam::parent=*/;
+    ((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=*/;
     continue_368: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
   break_368: while(0);
   ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/ =  variable1 /*n_type*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASignature].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASignature___replace_child, 4275};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4275, LOCATE_parser_prod___ASignature___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8101,11 +8107,11 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASignature___replace_child, 4277); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -8114,15 +8120,15 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PParam::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ASignature___replace_child, 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, 4281); 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) /*PParam::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___ASignature____n_params( self) /*ASignature::_n_params*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -8134,13 +8140,13 @@ void parser_prod___ASignature___replace_child(val_t  self, val_t  param0, val_t
   }
   break_370: while(0);
   variable2 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASignature___replace_child, 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, 4293); 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*/;
@@ -8152,7 +8158,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, LOCATE_parser_prod___ASignature___visit_all, 4302};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4302, LOCATE_parser_prod___ASignature___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -8170,7 +8176,7 @@ void parser_prod___ASignature___visit_all(val_t  self, val_t  param0) {
   }
   break_372: while(0);
   variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8179,7 +8185,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, LOCATE_parser_prod___ASignature___visit_all_reverse, 4312};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4312, LOCATE_parser_prod___ASignature___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8200,7 +8206,7 @@ void parser_prod___ASignature___visit_all_reverse(val_t  self, val_t  param0) {
   }
   break_374: while(0);
   variable1 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ASignature____n_type( self) /*ASignature::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8209,49 +8215,49 @@ 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, LOCATE_parser_prod___AParam___n_id__eq, 4327};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4327, LOCATE_parser_prod___AParam___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParam___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AParam___n_type__eq, 4334};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4334, LOCATE_parser_prod___AParam___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParam___n_dotdotdot__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AParam___n_dotdotdot__eq, 4341};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4341, LOCATE_parser_prod___AParam___n_dotdotdot__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  variable0 /*n*/;
-  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*/) /*TDotdotdot::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TDotdotdot::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParam___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AParam___empty_init, 4349};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4349, LOCATE_parser_prod___AParam___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i] = 1;
@@ -8259,7 +8265,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, LOCATE_parser_prod___AParam___init_aparam, 4351};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4351, LOCATE_parser_prod___AParam___init_aparam};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8269,71 +8275,71 @@ 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;
-  ATTR_parser_nodes___PParam____n_id( self) /*AParam::_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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ =  variable1 /*n_type*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  variable1 /*n_type*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/ =  variable2 /*n_dotdotdot*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_dotdotdot*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_dotdotdot*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_dotdotdot*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_dotdotdot*/,  NIT_NULL /*null*/) /*TDotdotdot::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_dotdotdot*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_dotdotdot*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_dotdotdot*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_dotdotdot*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_dotdotdot*/,  self) /*TDotdotdot::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_dotdotdot*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_dotdotdot*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParam].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParam___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AParam___replace_child, 4371};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4371, LOCATE_parser_prod___AParam___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AParam___replace_child, 4373); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_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*/) /*TId::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AParam___replace_child, 4377); nit_exit(1);}
-      ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label380;
   }
-  variable2 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
-  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*/) /*PType::==*/)))));
+  variable2 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AParam___replace_child, 4387); nit_exit(1);}
-      ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/ =  NIT_NULL /*null*/;
     }
     goto return_label380;
   }
   variable2 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
-  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*/) /*TDotdotdot::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AParam___replace_child, 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, 4397); 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*/;
@@ -8345,25 +8351,25 @@ 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, LOCATE_parser_prod___AParam___visit_all, 4406};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4406, LOCATE_parser_prod___AParam___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
+  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 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
+    variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_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*/) /*PType::==*/)))))));
+  variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_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 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
+    variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
-  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*/) /*TDotdotdot::==*/)))))));
+  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 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8372,25 +8378,25 @@ 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, LOCATE_parser_prod___AParam___visit_all_reverse, 4419};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4419, LOCATE_parser_prod___AParam___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
+  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 = ATTR_parser_nodes___PParam____n_id( self) /*AParam::_n_id*/;
+    variable1 = ATTR_parser_nodes___PParam____n_id( self) /*PParam::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_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*/) /*PType::==*/)))))));
+  variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_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 = ATTR_parser_nodes___PParam____n_type( self) /*AParam::_n_type*/;
+    variable1 = ATTR_parser_nodes___PParam____n_type( self) /*PParam::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
-  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*/) /*TDotdotdot::==*/)))))));
+  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 = ATTR_parser_nodes___AParam____n_dotdotdot( self) /*AParam::_n_dotdotdot*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8399,21 +8405,21 @@ 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, LOCATE_parser_prod___AType___n_id__eq, 4433};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4433, LOCATE_parser_prod___AType___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TClassid::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AType___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AType___empty_init, 4441};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4441, LOCATE_parser_prod___AType___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i] = 1;
@@ -8421,7 +8427,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, LOCATE_parser_prod___AType___init_atype, 4443};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4443, LOCATE_parser_prod___AType___init_atype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8432,22 +8438,22 @@ void parser_prod___AType___init_atype(val_t  self, val_t  param0, val_t  param1,
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AType].i]) return;
   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*/) /*TClassid::==*/)))))));
+  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) /*TClassid::parent=*/;
+    ((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[PType]*/
+  variable2 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_types*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_types*/) /*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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___AType___init_atype, 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, 4454); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*PType::parent=*/;
+    ((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=*/;
     continue_386: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
@@ -8457,7 +8463,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, LOCATE_parser_prod___AType___replace_child, 4460};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4460, LOCATE_parser_prod___AType___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8466,16 +8472,16 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AType___replace_child, 4462); nit_exit(1);}
+  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);}
   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*/) /*TClassid::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AType___replace_child, 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, 4466); 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*/;
@@ -8484,7 +8490,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -8493,15 +8499,15 @@ void parser_prod___AType___replace_child(val_t  self, val_t  param0, val_t  para
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PType::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AType___replace_child, 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, 4476); 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) /*PType::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AType____n_types( self) /*AType::_n_types*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -8517,14 +8523,14 @@ 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, LOCATE_parser_prod___AType___visit_all, 4487};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4487, LOCATE_parser_prod___AType___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8544,14 +8550,14 @@ 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, LOCATE_parser_prod___AType___visit_all_reverse, 4497};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4497, LOCATE_parser_prod___AType___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AType____n_id( self) /*AType::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8574,7 +8580,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, LOCATE_parser_prod___ABlockExpr___empty_init, 4513};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4513, LOCATE_parser_prod___ABlockExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i] = 1;
@@ -8582,7 +8588,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, LOCATE_parser_prod___ABlockExpr___init_ablockexpr, 4515};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4515, LOCATE_parser_prod___ABlockExpr___init_ablockexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -8590,18 +8596,18 @@ void parser_prod___ABlockExpr___init_ablockexpr(val_t  self, val_t  param0, int*
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABlockExpr].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[PExpr]*/
+  variable1 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_expr*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_expr*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___ABlockExpr___init_ablockexpr, 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, 4521); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PExpr::parent=*/;
+    ((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=*/;
     continue_395: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -8611,7 +8617,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, LOCATE_parser_prod___ABlockExpr___replace_child, 4527};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4527, LOCATE_parser_prod___ABlockExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8620,11 +8626,11 @@ void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABlockExpr___replace_child, 4529); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -8633,15 +8639,15 @@ void parser_prod___ABlockExpr___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ABlockExpr___replace_child, 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, 4533); 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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___ABlockExpr____n_expr( self) /*ABlockExpr::_n_expr*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -8657,7 +8663,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, LOCATE_parser_prod___ABlockExpr___visit_all, 4544};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4544, LOCATE_parser_prod___ABlockExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -8678,7 +8684,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, LOCATE_parser_prod___ABlockExpr___visit_all_reverse, 4551};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4551, LOCATE_parser_prod___ABlockExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8702,77 +8708,77 @@ 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, LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq, 4563};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4563, LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/ =  variable0 /*n*/;
-  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*/) /*TKwvar::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwvar::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVardeclExpr___n_id__eq, 4570};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4570, LOCATE_parser_prod___AVardeclExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVardeclExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVardeclExpr___n_type__eq, 4577};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4577, LOCATE_parser_prod___AVardeclExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVardeclExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVardeclExpr___n_assign__eq, 4584};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4584, LOCATE_parser_prod___AVardeclExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  variable0 /*n*/;
-  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*/) /*TAssign::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVardeclExpr___n_expr__eq, 4591};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4591, LOCATE_parser_prod___AVardeclExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVardeclExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVardeclExpr___empty_init, 4599};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4599, LOCATE_parser_prod___AVardeclExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i] = 1;
@@ -8780,7 +8786,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, LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr, 4601};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4601, LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -8795,52 +8801,52 @@ void parser_prod___AVardeclExpr___init_avardeclexpr(val_t  self, val_t  param0,
   variable4 =  param4;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i]) return;
   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*/) /*TKwvar::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwvar*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwvar*/,  self) /*TKwvar::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwvar*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwvar*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/ =  variable2 /*n_type*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_type*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/ =  variable3 /*n_assign*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign*/,  NIT_NULL /*null*/) /*TAssign::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/ =  variable4 /*n_expr*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVardeclExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVardeclExpr___replace_child, 4631};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4631, LOCATE_parser_prod___AVardeclExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AVardeclExpr___replace_child, 4633); nit_exit(1);}
+  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);}
   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*/) /*TKwvar::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVardeclExpr___replace_child, 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, 4637); 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*/;
@@ -8848,13 +8854,13 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     goto return_label409;
   }
   variable2 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVardeclExpr___replace_child, 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, 4647); 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*/;
@@ -8862,13 +8868,13 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     goto return_label409;
   }
   variable2 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVardeclExpr___replace_child, 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, 4657); 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*/;
@@ -8876,13 +8882,13 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     goto return_label409;
   }
   variable2 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVardeclExpr___replace_child, 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, 4667); 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*/;
@@ -8890,13 +8896,13 @@ void parser_prod___AVardeclExpr___replace_child(val_t  self, val_t  param0, val_
     goto return_label409;
   }
   variable2 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVardeclExpr___replace_child, 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, 4677); 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*/;
@@ -8908,37 +8914,37 @@ 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, LOCATE_parser_prod___AVardeclExpr___visit_all, 4686};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4686, LOCATE_parser_prod___AVardeclExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
-  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*/) /*TKwvar::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8947,37 +8953,37 @@ 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, LOCATE_parser_prod___AVardeclExpr___visit_all_reverse, 4705};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4705, LOCATE_parser_prod___AVardeclExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
-  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*/) /*TKwvar::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_kwvar( self) /*AVardeclExpr::_n_kwvar*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_id( self) /*AVardeclExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_type( self) /*AVardeclExpr::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_assign( self) /*AVardeclExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AVardeclExpr____n_expr( self) /*AVardeclExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -8986,35 +8992,35 @@ 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, LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq, 4725};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4725, LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/ =  variable0 /*n*/;
-  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*/) /*TKwreturn::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwreturn::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReturnExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AReturnExpr___n_expr__eq, 4732};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4732, LOCATE_parser_prod___AReturnExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReturnExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AReturnExpr___empty_init, 4740};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4740, LOCATE_parser_prod___AReturnExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i] = 1;
@@ -9022,7 +9028,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, LOCATE_parser_prod___AReturnExpr___init_areturnexpr, 4742};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4742, LOCATE_parser_prod___AReturnExpr___init_areturnexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9031,37 +9037,37 @@ void parser_prod___AReturnExpr___init_areturnexpr(val_t  self, val_t  param0, va
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i]) return;
   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*/) /*TKwreturn::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwreturn*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwreturn*/,  self) /*TKwreturn::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwreturn*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwreturn*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/ =  variable1 /*n_expr*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AReturnExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AReturnExpr___replace_child, 4757};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4757, LOCATE_parser_prod___AReturnExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AReturnExpr___replace_child, 4759); nit_exit(1);}
+  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);}
   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*/) /*TKwreturn::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AReturnExpr___replace_child, 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, 4763); 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*/;
@@ -9069,13 +9075,13 @@ void parser_prod___AReturnExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label416;
   }
   variable2 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AReturnExpr___replace_child, 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, 4773); 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*/;
@@ -9087,19 +9093,19 @@ 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, LOCATE_parser_prod___AReturnExpr___visit_all, 4782};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4782, LOCATE_parser_prod___AReturnExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
-  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*/) /*TKwreturn::==*/)))))));
+  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 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9108,19 +9114,19 @@ 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, LOCATE_parser_prod___AReturnExpr___visit_all_reverse, 4792};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4792, LOCATE_parser_prod___AReturnExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
-  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*/) /*TKwreturn::==*/)))))));
+  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 = ATTR_parser_nodes___AReturnExpr____n_kwreturn( self) /*AReturnExpr::_n_kwreturn*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AReturnExpr____n_expr( self) /*AReturnExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9129,21 +9135,21 @@ 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, LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq, 4803};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4803, LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/ =  variable0 /*n*/;
-  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*/) /*TKwbreak::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwbreak::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABreakExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABreakExpr___empty_init, 4811};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4811, LOCATE_parser_prod___ABreakExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i] = 1;
@@ -9151,39 +9157,39 @@ 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, LOCATE_parser_prod___ABreakExpr___init_abreakexpr, 4813};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4813, LOCATE_parser_prod___ABreakExpr___init_abreakexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i]) return;
   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*/) /*TKwbreak::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwbreak*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwbreak*/,  self) /*TKwbreak::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwbreak*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwbreak*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABreakExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABreakExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABreakExpr___replace_child, 4823};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4823, LOCATE_parser_prod___ABreakExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABreakExpr___replace_child, 4825); nit_exit(1);}
+  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);}
   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*/) /*TKwbreak::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABreakExpr___replace_child, 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, 4829); 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*/;
@@ -9195,13 +9201,13 @@ 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, LOCATE_parser_prod___ABreakExpr___visit_all, 4838};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4838, LOCATE_parser_prod___ABreakExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
-  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*/) /*TKwbreak::==*/)))))));
+  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 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9210,13 +9216,13 @@ 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, LOCATE_parser_prod___ABreakExpr___visit_all_reverse, 4845};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4845, LOCATE_parser_prod___ABreakExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
-  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*/) /*TKwbreak::==*/)))))));
+  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 = ATTR_parser_nodes___ABreakExpr____n_kwbreak( self) /*ABreakExpr::_n_kwbreak*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9225,21 +9231,21 @@ 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, LOCATE_parser_prod___AAbortExpr___n_kwabort__eq, 4853};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4853, LOCATE_parser_prod___AAbortExpr___n_kwabort__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/ =  variable0 /*n*/;
-  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*/) /*TKwabort::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwabort::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAbortExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAbortExpr___empty_init, 4861};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4861, LOCATE_parser_prod___AAbortExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i] = 1;
@@ -9247,39 +9253,39 @@ 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, LOCATE_parser_prod___AAbortExpr___init_aabortexpr, 4863};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4863, LOCATE_parser_prod___AAbortExpr___init_aabortexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i]) return;
   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*/) /*TKwabort::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabort*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabort*/,  self) /*TKwabort::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwabort*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwabort*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAbortExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAbortExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAbortExpr___replace_child, 4873};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4873, LOCATE_parser_prod___AAbortExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAbortExpr___replace_child, 4875); nit_exit(1);}
+  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);}
   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*/) /*TKwabort::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAbortExpr___replace_child, 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, 4879); 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*/;
@@ -9291,13 +9297,13 @@ 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, LOCATE_parser_prod___AAbortExpr___visit_all, 4888};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4888, LOCATE_parser_prod___AAbortExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
-  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*/) /*TKwabort::==*/)))))));
+  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 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9306,13 +9312,13 @@ 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, LOCATE_parser_prod___AAbortExpr___visit_all_reverse, 4895};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4895, LOCATE_parser_prod___AAbortExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
-  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*/) /*TKwabort::==*/)))))));
+  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 = ATTR_parser_nodes___AAbortExpr____n_kwabort( self) /*AAbortExpr::_n_kwabort*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9321,21 +9327,21 @@ 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, LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq, 4903};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4903, LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/ =  variable0 /*n*/;
-  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*/) /*TKwcontinue::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwcontinue::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AContinueExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AContinueExpr___empty_init, 4911};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4911, LOCATE_parser_prod___AContinueExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i] = 1;
@@ -9343,39 +9349,39 @@ 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, LOCATE_parser_prod___AContinueExpr___init_acontinueexpr, 4913};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4913, LOCATE_parser_prod___AContinueExpr___init_acontinueexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i]) return;
   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*/) /*TKwcontinue::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwcontinue*/,  self) /*TKwcontinue::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwcontinue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwcontinue*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AContinueExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AContinueExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AContinueExpr___replace_child, 4923};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4923, LOCATE_parser_prod___AContinueExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AContinueExpr___replace_child, 4925); nit_exit(1);}
+  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);}
   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*/) /*TKwcontinue::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AContinueExpr___replace_child, 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, 4929); 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*/;
@@ -9387,13 +9393,13 @@ 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, LOCATE_parser_prod___AContinueExpr___visit_all, 4938};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4938, LOCATE_parser_prod___AContinueExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
-  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*/) /*TKwcontinue::==*/)))))));
+  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 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9402,13 +9408,13 @@ 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, LOCATE_parser_prod___AContinueExpr___visit_all_reverse, 4945};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4945, LOCATE_parser_prod___AContinueExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
-  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*/) /*TKwcontinue::==*/)))))));
+  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 = ATTR_parser_nodes___AContinueExpr____n_kwcontinue( self) /*AContinueExpr::_n_kwcontinue*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9417,35 +9423,35 @@ 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, LOCATE_parser_prod___ADoExpr___n_kwdo__eq, 4953};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4953, LOCATE_parser_prod___ADoExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/ =  variable0 /*n*/;
-  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*/) /*TKwdo::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwdo::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADoExpr___n_block__eq, 4960};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4960, LOCATE_parser_prod___ADoExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADoExpr___empty_init, 4968};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4968, LOCATE_parser_prod___ADoExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i] = 1;
@@ -9453,7 +9459,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, LOCATE_parser_prod___ADoExpr___init_adoexpr, 4970};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4970, LOCATE_parser_prod___ADoExpr___init_adoexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9462,37 +9468,37 @@ void parser_prod___ADoExpr___init_adoexpr(val_t  self, val_t  param0, val_t  par
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i]) return;
   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*/) /*TKwdo::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwdo*/,  self) /*TKwdo::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwdo*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/ =  variable1 /*n_block*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_block*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_block*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADoExpr___replace_child, 4985};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 4985, LOCATE_parser_prod___ADoExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ADoExpr___replace_child, 4987); nit_exit(1);}
+  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);}
   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*/) /*TKwdo::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADoExpr___replace_child, 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, 4991); 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*/;
@@ -9500,13 +9506,13 @@ void parser_prod___ADoExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label441;
   }
   variable2 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ADoExpr___replace_child, 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, 5001); 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*/;
@@ -9518,19 +9524,19 @@ 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, LOCATE_parser_prod___ADoExpr___visit_all, 5010};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5010, LOCATE_parser_prod___ADoExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
-  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*/) /*TKwdo::==*/)))))));
+  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 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9539,19 +9545,19 @@ 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, LOCATE_parser_prod___ADoExpr___visit_all_reverse, 5020};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5020, LOCATE_parser_prod___ADoExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
-  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*/) /*TKwdo::==*/)))))));
+  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 = ATTR_parser_nodes___ADoExpr____n_kwdo( self) /*ADoExpr::_n_kwdo*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ADoExpr____n_block( self) /*ADoExpr::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9560,63 +9566,63 @@ 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, LOCATE_parser_prod___AIfExpr___n_kwif__eq, 5031};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5031, LOCATE_parser_prod___AIfExpr___n_kwif__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/ =  variable0 /*n*/;
-  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*/) /*TKwif::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwif::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfExpr___n_expr__eq, 5038};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5038, LOCATE_parser_prod___AIfExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfExpr___n_then__eq, 5045};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5045, LOCATE_parser_prod___AIfExpr___n_then__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfExpr___n_else__eq, 5052};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5052, LOCATE_parser_prod___AIfExpr___n_else__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfExpr___empty_init, 5060};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5060, LOCATE_parser_prod___AIfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i] = 1;
@@ -9624,7 +9630,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, LOCATE_parser_prod___AIfExpr___init_aifexpr, 5062};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5062, LOCATE_parser_prod___AIfExpr___init_aifexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9637,47 +9643,47 @@ void parser_prod___AIfExpr___init_aifexpr(val_t  self, val_t  param0, val_t  par
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i]) return;
   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*/) /*TKwif::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/,  self) /*TKwif::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/ =  variable1 /*n_expr*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/ =  variable2 /*n_then*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_then*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_then*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_then*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_then*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_then*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_then*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_then*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_then*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_then*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_then*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_then*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_then*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_then*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_then*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/ =  variable3 /*n_else*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_else*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_else*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_else*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_else*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_else*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_else*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_else*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_else*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_else*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_else*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_else*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_else*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_else*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_else*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfExpr___replace_child, 5087};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5087, LOCATE_parser_prod___AIfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AIfExpr___replace_child, 5089); nit_exit(1);}
+  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);}
   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*/) /*TKwif::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfExpr___replace_child, 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, 5093); 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*/;
@@ -9685,13 +9691,13 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label450;
   }
   variable2 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfExpr___replace_child, 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, 5103); 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*/;
@@ -9699,13 +9705,13 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label450;
   }
   variable2 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfExpr___replace_child, 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, 5113); 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*/;
@@ -9713,13 +9719,13 @@ void parser_prod___AIfExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label450;
   }
   variable2 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfExpr___replace_child, 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, 5123); 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*/;
@@ -9731,31 +9737,31 @@ 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, LOCATE_parser_prod___AIfExpr___visit_all, 5132};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5132, LOCATE_parser_prod___AIfExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
-  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*/) /*TKwif::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9764,31 +9770,31 @@ 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, LOCATE_parser_prod___AIfExpr___visit_all_reverse, 5148};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5148, LOCATE_parser_prod___AIfExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
-  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*/) /*TKwif::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_kwif( self) /*AIfExpr::_n_kwif*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_expr( self) /*AIfExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_then( self) /*AIfExpr::_n_then*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfExpr____n_else( self) /*AIfExpr::_n_else*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -9797,91 +9803,91 @@ 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, LOCATE_parser_prod___AIfexprExpr___n_kwif__eq, 5165};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5165, LOCATE_parser_prod___AIfexprExpr___n_kwif__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/ =  variable0 /*n*/;
-  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*/) /*TKwif::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwif::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfexprExpr___n_expr__eq, 5172};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5172, LOCATE_parser_prod___AIfexprExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___n_kwthen__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq, 5179};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5179, LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  variable0 /*n*/;
-  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*/) /*TKwthen::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwthen::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___n_then__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfexprExpr___n_then__eq, 5186};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5186, LOCATE_parser_prod___AIfexprExpr___n_then__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___n_kwelse__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq, 5193};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5193, LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  variable0 /*n*/;
-  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*/) /*TKwelse::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwelse::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___n_else__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfexprExpr___n_else__eq, 5200};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5200, LOCATE_parser_prod___AIfexprExpr___n_else__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfexprExpr___empty_init, 5208};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5208, LOCATE_parser_prod___AIfexprExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i] = 1;
@@ -9889,7 +9895,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, LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr, 5210};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5210, LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -9906,57 +9912,57 @@ void parser_prod___AIfexprExpr___init_aifexprexpr(val_t  self, val_t  param0, va
   variable5 =  param5;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i]) return;
   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*/) /*TKwif::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/,  self) /*TKwif::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwif*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwif*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/ =  variable1 /*n_expr*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/ =  variable2 /*n_kwthen*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwthen*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_kwthen*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwthen*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwthen*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwthen*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwthen*/,  NIT_NULL /*null*/) /*TKwthen::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwthen*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_kwthen*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwthen*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwthen*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwthen*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwthen*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwthen*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwthen*/,  self) /*TKwthen::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwthen*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwthen*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/ =  variable3 /*n_then*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_then*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_then*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_then*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_then*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_then*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_then*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_then*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_then*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_then*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_then*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_then*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_then*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_then*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_then*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_then*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/ =  variable4 /*n_kwelse*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_kwelse*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_kwelse*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_kwelse*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_kwelse*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_kwelse*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_kwelse*/,  NIT_NULL /*null*/) /*TKwelse::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_kwelse*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_kwelse*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_kwelse*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_kwelse*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_kwelse*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_kwelse*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_kwelse*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_kwelse*/,  self) /*TKwelse::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_kwelse*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_kwelse*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/ =  variable5 /*n_else*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_else*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_else*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_else*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_else*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_else*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_else*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*n_else*/ ==  NIT_NULL /*null*/) || (( variable5 /*n_else*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*n_else*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*n_else*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*n_else*/,COLOR_kernel___Object_____eqeq))( variable5 /*n_else*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_else*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n_else*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n_else*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIfexprExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIfexprExpr___replace_child, 5245};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5245, LOCATE_parser_prod___AIfexprExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AIfexprExpr___replace_child, 5247); nit_exit(1);}
+  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);}
   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*/) /*TKwif::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfexprExpr___replace_child, 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, 5251); 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*/;
@@ -9964,13 +9970,13 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label461;
   }
   variable2 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfexprExpr___replace_child, 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, 5261); 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*/;
@@ -9978,13 +9984,13 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label461;
   }
   variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
-  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*/) /*TKwthen::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfexprExpr___replace_child, 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, 5271); 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*/;
@@ -9992,13 +9998,13 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label461;
   }
   variable2 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfexprExpr___replace_child, 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, 5281); 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*/;
@@ -10006,13 +10012,13 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label461;
   }
   variable2 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
-  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*/) /*TKwelse::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfexprExpr___replace_child, 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, 5291); 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*/;
@@ -10020,13 +10026,13 @@ void parser_prod___AIfexprExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label461;
   }
   variable2 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIfexprExpr___replace_child, 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, 5301); 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*/;
@@ -10038,43 +10044,43 @@ 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, LOCATE_parser_prod___AIfexprExpr___visit_all, 5310};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5310, LOCATE_parser_prod___AIfexprExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
-  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*/) /*TKwif::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
-  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*/) /*TKwthen::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
-  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*/) /*TKwelse::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10083,43 +10089,43 @@ 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, LOCATE_parser_prod___AIfexprExpr___visit_all_reverse, 5332};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5332, LOCATE_parser_prod___AIfexprExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
-  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*/) /*TKwif::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_kwif( self) /*AIfexprExpr::_n_kwif*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_expr( self) /*AIfexprExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
-  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*/) /*TKwthen::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_kwthen( self) /*AIfexprExpr::_n_kwthen*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_then( self) /*AIfexprExpr::_n_then*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
-  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*/) /*TKwelse::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_kwelse( self) /*AIfexprExpr::_n_kwelse*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIfexprExpr____n_else( self) /*AIfexprExpr::_n_else*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10128,63 +10134,63 @@ 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, LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq, 5355};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5355, LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/ =  variable0 /*n*/;
-  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*/) /*TKwwhile::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwwhile::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWhileExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWhileExpr___n_expr__eq, 5362};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5362, LOCATE_parser_prod___AWhileExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWhileExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWhileExpr___n_kwdo__eq, 5369};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5369, LOCATE_parser_prod___AWhileExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  variable0 /*n*/;
-  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*/) /*TKwdo::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwdo::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWhileExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWhileExpr___n_block__eq, 5376};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5376, LOCATE_parser_prod___AWhileExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWhileExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWhileExpr___empty_init, 5384};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5384, LOCATE_parser_prod___AWhileExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i] = 1;
@@ -10192,7 +10198,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, LOCATE_parser_prod___AWhileExpr___init_awhileexpr, 5386};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5386, LOCATE_parser_prod___AWhileExpr___init_awhileexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10205,47 +10211,47 @@ void parser_prod___AWhileExpr___init_awhileexpr(val_t  self, val_t  param0, val_
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i]) return;
   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*/) /*TKwwhile::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwwhile*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwwhile*/,  self) /*TKwwhile::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwwhile*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwwhile*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/ =  variable1 /*n_expr*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/ =  variable2 /*n_kwdo*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwdo*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwdo*/,  NIT_NULL /*null*/) /*TKwdo::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_kwdo*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_kwdo*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwdo*/,  self) /*TKwdo::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_kwdo*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/ =  variable3 /*n_block*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_block*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_block*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_block*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AWhileExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AWhileExpr___replace_child, 5411};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5411, LOCATE_parser_prod___AWhileExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AWhileExpr___replace_child, 5413); nit_exit(1);}
+  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);}
   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*/) /*TKwwhile::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AWhileExpr___replace_child, 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, 5417); 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*/;
@@ -10253,13 +10259,13 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label470;
   }
   variable2 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AWhileExpr___replace_child, 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, 5427); 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*/;
@@ -10267,13 +10273,13 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label470;
   }
   variable2 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_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*/) /*TKwdo::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AWhileExpr___replace_child, 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, 5437); 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*/;
@@ -10281,13 +10287,13 @@ void parser_prod___AWhileExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label470;
   }
   variable2 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AWhileExpr___replace_child, 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, 5447); 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*/;
@@ -10299,31 +10305,31 @@ 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, LOCATE_parser_prod___AWhileExpr___visit_all, 5456};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5456, LOCATE_parser_prod___AWhileExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
-  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*/) /*TKwwhile::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
-  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*/) /*TKwdo::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10332,31 +10338,31 @@ 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, LOCATE_parser_prod___AWhileExpr___visit_all_reverse, 5472};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5472, LOCATE_parser_prod___AWhileExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
-  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*/) /*TKwwhile::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_kwwhile( self) /*AWhileExpr::_n_kwwhile*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_expr( self) /*AWhileExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
-  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*/) /*TKwdo::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_kwdo( self) /*AWhileExpr::_n_kwdo*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AWhileExpr____n_block( self) /*AWhileExpr::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10365,49 +10371,49 @@ 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, LOCATE_parser_prod___AForExpr___n_vardecl__eq, 5489};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5489, LOCATE_parser_prod___AForExpr___n_vardecl__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForExpr___n_kwdo__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForExpr___n_kwdo__eq, 5496};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5496, LOCATE_parser_prod___AForExpr___n_kwdo__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  variable0 /*n*/;
-  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*/) /*TKwdo::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwdo::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForExpr___n_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForExpr___n_block__eq, 5503};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5503, LOCATE_parser_prod___AForExpr___n_block__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForExpr___empty_init, 5511};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5511, LOCATE_parser_prod___AForExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i] = 1;
@@ -10415,7 +10421,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, LOCATE_parser_prod___AForExpr___init_aforexpr, 5513};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5513, LOCATE_parser_prod___AForExpr___init_aforexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10426,42 +10432,42 @@ void parser_prod___AForExpr___init_aforexpr(val_t  self, val_t  param0, val_t  p
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i]) return;
   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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_vardecl*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_vardecl*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_vardecl*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_vardecl*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/ =  variable1 /*n_kwdo*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwdo*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwdo*/,  NIT_NULL /*null*/) /*TKwdo::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwdo*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwdo*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwdo*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwdo*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwdo*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwdo*/,  self) /*TKwdo::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwdo*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwdo*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/ =  variable2 /*n_block*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_block*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_block*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_block*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_block*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_block*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_block*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForExpr___replace_child, 5533};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5533, LOCATE_parser_prod___AForExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AForExpr___replace_child, 5535); nit_exit(1);}
+  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);}
   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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AForExpr___replace_child, 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, 5539); 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*/;
@@ -10469,13 +10475,13 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
     goto return_label478;
   }
   variable2 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_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*/) /*TKwdo::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AForExpr___replace_child, 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, 5549); 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*/;
@@ -10483,13 +10489,13 @@ void parser_prod___AForExpr___replace_child(val_t  self, val_t  param0, val_t  p
     goto return_label478;
   }
   variable2 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AForExpr___replace_child, 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, 5559); 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*/;
@@ -10501,25 +10507,25 @@ 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, LOCATE_parser_prod___AForExpr___visit_all, 5568};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5568, LOCATE_parser_prod___AForExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
-  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*/) /*TKwdo::==*/)))))));
+  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 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10528,25 +10534,25 @@ 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, LOCATE_parser_prod___AForExpr___visit_all_reverse, 5581};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5581, LOCATE_parser_prod___AForExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AForExpr____n_vardecl( self) /*AForExpr::_n_vardecl*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
-  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*/) /*TKwdo::==*/)))))));
+  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 = ATTR_parser_nodes___AForExpr____n_kwdo( self) /*AForExpr::_n_kwdo*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AForExpr____n_block( self) /*AForExpr::_n_block*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10555,49 +10561,49 @@ 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, LOCATE_parser_prod___AForVardeclExpr___n_kwfor__eq, 5595};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5595, LOCATE_parser_prod___AForVardeclExpr___n_kwfor__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/ =  variable0 /*n*/;
-  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*/) /*TKwfor::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwfor::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForVardeclExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForVardeclExpr___n_id__eq, 5602};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5602, LOCATE_parser_prod___AForVardeclExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForVardeclExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForVardeclExpr___n_expr__eq, 5609};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5609, LOCATE_parser_prod___AForVardeclExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForVardeclExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForVardeclExpr___empty_init, 5617};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5617, LOCATE_parser_prod___AForVardeclExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i] = 1;
@@ -10605,7 +10611,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, LOCATE_parser_prod___AForVardeclExpr___init_aforvardeclexpr, 5619};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5619, LOCATE_parser_prod___AForVardeclExpr___init_aforvardeclexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10616,42 +10622,42 @@ void parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t  self, val_t  pa
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i]) return;
   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*/) /*TKwfor::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfor*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfor*/,  self) /*TKwfor::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfor*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfor*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/ =  variable2 /*n_expr*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AForVardeclExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AForVardeclExpr___replace_child, 5639};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5639, LOCATE_parser_prod___AForVardeclExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AForVardeclExpr___replace_child, 5641); nit_exit(1);}
+  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);}
   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*/) /*TKwfor::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AForVardeclExpr___replace_child, 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, 5645); 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*/;
@@ -10659,13 +10665,13 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
     goto return_label486;
   }
   variable2 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AForVardeclExpr___replace_child, 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, 5655); 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*/;
@@ -10673,13 +10679,13 @@ void parser_prod___AForVardeclExpr___replace_child(val_t  self, val_t  param0, v
     goto return_label486;
   }
   variable2 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AForVardeclExpr___replace_child, 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, 5665); 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*/;
@@ -10691,25 +10697,25 @@ 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, LOCATE_parser_prod___AForVardeclExpr___visit_all, 5674};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5674, LOCATE_parser_prod___AForVardeclExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
-  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*/) /*TKwfor::==*/)))))));
+  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 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10718,25 +10724,25 @@ 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, LOCATE_parser_prod___AForVardeclExpr___visit_all_reverse, 5687};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5687, LOCATE_parser_prod___AForVardeclExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
-  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*/) /*TKwfor::==*/)))))));
+  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 = ATTR_parser_nodes___AForVardeclExpr____n_kwfor( self) /*AForVardeclExpr::_n_kwfor*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AForVardeclExpr____n_id( self) /*AForVardeclExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AForVardeclExpr____n_expr( self) /*AForVardeclExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10745,49 +10751,49 @@ 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, LOCATE_parser_prod___AAssertExpr___n_kwassert__eq, 5701};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5701, LOCATE_parser_prod___AAssertExpr___n_kwassert__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/ =  variable0 /*n*/;
-  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*/) /*TKwassert::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwassert::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssertExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAssertExpr___n_id__eq, 5708};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5708, LOCATE_parser_prod___AAssertExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssertExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAssertExpr___n_expr__eq, 5715};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5715, LOCATE_parser_prod___AAssertExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssertExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAssertExpr___empty_init, 5723};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5723, LOCATE_parser_prod___AAssertExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i] = 1;
@@ -10795,7 +10801,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, LOCATE_parser_prod___AAssertExpr___init_aassertexpr, 5725};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5725, LOCATE_parser_prod___AAssertExpr___init_aassertexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10806,42 +10812,42 @@ void parser_prod___AAssertExpr___init_aassertexpr(val_t  self, val_t  param0, va
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i]) return;
   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*/) /*TKwassert::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwassert*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwassert*/,  self) /*TKwassert::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwassert*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwassert*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/ =  variable2 /*n_expr*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAssertExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAssertExpr___replace_child, 5745};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5745, LOCATE_parser_prod___AAssertExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAssertExpr___replace_child, 5747); nit_exit(1);}
+  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);}
   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*/) /*TKwassert::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAssertExpr___replace_child, 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, 5751); 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*/;
@@ -10849,13 +10855,13 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label494;
   }
   variable2 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAssertExpr___replace_child, 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, 5761); 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*/;
@@ -10863,13 +10869,13 @@ void parser_prod___AAssertExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label494;
   }
   variable2 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAssertExpr___replace_child, 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, 5771); 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*/;
@@ -10881,25 +10887,25 @@ 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, LOCATE_parser_prod___AAssertExpr___visit_all, 5780};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5780, LOCATE_parser_prod___AAssertExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
-  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*/) /*TKwassert::==*/)))))));
+  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 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10908,25 +10914,25 @@ 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, LOCATE_parser_prod___AAssertExpr___visit_all_reverse, 5793};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5793, LOCATE_parser_prod___AAssertExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
-  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*/) /*TKwassert::==*/)))))));
+  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 = ATTR_parser_nodes___AAssertExpr____n_kwassert( self) /*AAssertExpr::_n_kwassert*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___AAssertExpr____n_id( self) /*AAssertExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAssertExpr____n_expr( self) /*AAssertExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -10935,35 +10941,35 @@ 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, LOCATE_parser_prod___AOnceExpr___n_kwonce__eq, 5807};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5807, LOCATE_parser_prod___AOnceExpr___n_kwonce__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/ =  variable0 /*n*/;
-  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*/) /*TKwonce::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwonce::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOnceExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOnceExpr___n_expr__eq, 5814};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5814, LOCATE_parser_prod___AOnceExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOnceExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOnceExpr___empty_init, 5822};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5822, LOCATE_parser_prod___AOnceExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i] = 1;
@@ -10971,7 +10977,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, LOCATE_parser_prod___AOnceExpr___init_aonceexpr, 5824};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5824, LOCATE_parser_prod___AOnceExpr___init_aonceexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -10980,54 +10986,54 @@ void parser_prod___AOnceExpr___init_aonceexpr(val_t  self, val_t  param0, val_t
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i]) return;
   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*/) /*TKwonce::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwonce*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwonce*/,  self) /*TKwonce::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwonce*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwonce*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ =  variable1 /*n_expr*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable1 /*n_expr*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOnceExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOnceExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOnceExpr___replace_child, 5839};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5839, LOCATE_parser_prod___AOnceExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AOnceExpr___replace_child, 5841); nit_exit(1);}
+  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);}
   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*/) /*TKwonce::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AOnceExpr___replace_child, 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, 5845); 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*/;
     }
     goto return_label501;
   }
-  variable2 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AOnceExpr___replace_child, 5855); nit_exit(1);}
-      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label501;
   }
@@ -11036,63 +11042,63 @@ 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, LOCATE_parser_prod___AOnceExpr___visit_all, 5864};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5864, LOCATE_parser_prod___AOnceExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
-  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*/) /*TKwonce::==*/)))))));
+  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 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOnceExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOnceExpr___visit_all_reverse, 5874};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5874, LOCATE_parser_prod___AOnceExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
-  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*/) /*TKwonce::==*/)))))));
+  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 = ATTR_parser_nodes___AOnceExpr____n_kwonce( self) /*AOnceExpr::_n_kwonce*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AOnceExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASendExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASendExpr___n_expr__eq, 5885};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5885, LOCATE_parser_prod___ASendExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASendExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASendExpr___empty_init, 5893};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5893, LOCATE_parser_prod___ASendExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i] = 1;
@@ -11100,39 +11106,39 @@ 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, LOCATE_parser_prod___ASendExpr___init_asendexpr, 5895};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5895, LOCATE_parser_prod___ASendExpr___init_asendexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i]) return;
   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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASendExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASendExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASendExpr___replace_child, 5905};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5905, LOCATE_parser_prod___ASendExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASendExpr___replace_child, 5907); nit_exit(1);}
+  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);}
   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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASendExpr___replace_child, 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, 5911); 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*/;
@@ -11144,13 +11150,13 @@ 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, LOCATE_parser_prod___ASendExpr___visit_all, 5920};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5920, LOCATE_parser_prod___ASendExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11159,13 +11165,13 @@ 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, LOCATE_parser_prod___ASendExpr___visit_all_reverse, 5927};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5927, LOCATE_parser_prod___ASendExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11174,35 +11180,35 @@ 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, LOCATE_parser_prod___ABinopExpr___n_expr__eq, 5935};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5935, LOCATE_parser_prod___ABinopExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABinopExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABinopExpr___n_expr2__eq, 5942};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5942, LOCATE_parser_prod___ABinopExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABinopExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABinopExpr___empty_init, 5950};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5950, LOCATE_parser_prod___ABinopExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -11211,7 +11217,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, LOCATE_parser_prod___ABinopExpr___init_abinopexpr, 5952};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5952, LOCATE_parser_prod___ABinopExpr___init_abinopexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11220,52 +11226,52 @@ void parser_prod___ABinopExpr___init_abinopexpr(val_t  self, val_t  param0, val_
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABinopExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABinopExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABinopExpr___replace_child, 5967};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5967, LOCATE_parser_prod___ABinopExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABinopExpr___replace_child, 5969); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABinopExpr___replace_child, 5973); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label514;
   }
   variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABinopExpr___replace_child, 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, 5983); 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*/;
@@ -11277,19 +11283,19 @@ 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, LOCATE_parser_prod___ABinopExpr___visit_all, 5992};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 5992, LOCATE_parser_prod___ABinopExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11298,19 +11304,19 @@ 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, LOCATE_parser_prod___ABinopExpr___visit_all_reverse, 6002};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6002, LOCATE_parser_prod___ABinopExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABinopExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11319,35 +11325,35 @@ 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, LOCATE_parser_prod___AOrExpr___n_expr__eq, 6013};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6013, LOCATE_parser_prod___AOrExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrExpr___n_expr2__eq, 6020};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6020, LOCATE_parser_prod___AOrExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrExpr___empty_init, 6028};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6028, LOCATE_parser_prod___AOrExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i] = 1;
@@ -11355,7 +11361,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, LOCATE_parser_prod___AOrExpr___init_aorexpr, 6030};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6030, LOCATE_parser_prod___AOrExpr___init_aorexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11364,37 +11370,37 @@ void parser_prod___AOrExpr___init_aorexpr(val_t  self, val_t  param0, val_t  par
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i]) return;
   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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrExpr___replace_child, 6045};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6045, LOCATE_parser_prod___AOrExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AOrExpr___replace_child, 6047); nit_exit(1);}
+  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);}
   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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AOrExpr___replace_child, 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, 6051); 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*/;
@@ -11402,13 +11408,13 @@ void parser_prod___AOrExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label521;
   }
   variable2 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AOrExpr___replace_child, 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, 6061); 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*/;
@@ -11420,19 +11426,19 @@ 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, LOCATE_parser_prod___AOrExpr___visit_all, 6070};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6070, LOCATE_parser_prod___AOrExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11441,19 +11447,19 @@ 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, LOCATE_parser_prod___AOrExpr___visit_all_reverse, 6080};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6080, LOCATE_parser_prod___AOrExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AOrExpr____n_expr( self) /*AOrExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AOrExpr____n_expr2( self) /*AOrExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11462,35 +11468,35 @@ 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, LOCATE_parser_prod___AAndExpr___n_expr__eq, 6091};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6091, LOCATE_parser_prod___AAndExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAndExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAndExpr___n_expr2__eq, 6098};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6098, LOCATE_parser_prod___AAndExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAndExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAndExpr___empty_init, 6106};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6106, LOCATE_parser_prod___AAndExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i] = 1;
@@ -11498,7 +11504,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, LOCATE_parser_prod___AAndExpr___init_aandexpr, 6108};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6108, LOCATE_parser_prod___AAndExpr___init_aandexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11507,37 +11513,37 @@ void parser_prod___AAndExpr___init_aandexpr(val_t  self, val_t  param0, val_t  p
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i]) return;
   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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAndExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAndExpr___replace_child, 6123};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6123, LOCATE_parser_prod___AAndExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAndExpr___replace_child, 6125); nit_exit(1);}
+  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);}
   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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAndExpr___replace_child, 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, 6129); 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*/;
@@ -11545,13 +11551,13 @@ void parser_prod___AAndExpr___replace_child(val_t  self, val_t  param0, val_t  p
     goto return_label528;
   }
   variable2 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAndExpr___replace_child, 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, 6139); 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*/;
@@ -11563,19 +11569,19 @@ 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, LOCATE_parser_prod___AAndExpr___visit_all, 6148};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6148, LOCATE_parser_prod___AAndExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11584,19 +11590,19 @@ 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, LOCATE_parser_prod___AAndExpr___visit_all_reverse, 6158};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6158, LOCATE_parser_prod___AAndExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAndExpr____n_expr( self) /*AAndExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AAndExpr____n_expr2( self) /*AAndExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11605,35 +11611,35 @@ 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, LOCATE_parser_prod___ANotExpr___n_kwnot__eq, 6169};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6169, LOCATE_parser_prod___ANotExpr___n_kwnot__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/ =  variable0 /*n*/;
-  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*/) /*TKwnot::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwnot::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANotExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANotExpr___n_expr__eq, 6176};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6176, LOCATE_parser_prod___ANotExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANotExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANotExpr___empty_init, 6184};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6184, LOCATE_parser_prod___ANotExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i] = 1;
@@ -11641,7 +11647,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, LOCATE_parser_prod___ANotExpr___init_anotexpr, 6186};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6186, LOCATE_parser_prod___ANotExpr___init_anotexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11650,37 +11656,37 @@ void parser_prod___ANotExpr___init_anotexpr(val_t  self, val_t  param0, val_t  p
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i]) return;
   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*/) /*TKwnot::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnot*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnot*/,  self) /*TKwnot::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnot*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnot*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/ =  variable1 /*n_expr*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANotExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANotExpr___replace_child, 6201};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6201, LOCATE_parser_prod___ANotExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ANotExpr___replace_child, 6203); nit_exit(1);}
+  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);}
   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*/) /*TKwnot::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANotExpr___replace_child, 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, 6207); 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*/;
@@ -11688,13 +11694,13 @@ void parser_prod___ANotExpr___replace_child(val_t  self, val_t  param0, val_t  p
     goto return_label535;
   }
   variable2 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANotExpr___replace_child, 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, 6217); 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*/;
@@ -11706,19 +11712,19 @@ 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, LOCATE_parser_prod___ANotExpr___visit_all, 6226};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6226, LOCATE_parser_prod___ANotExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
-  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*/) /*TKwnot::==*/)))))));
+  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 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11727,19 +11733,19 @@ 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, LOCATE_parser_prod___ANotExpr___visit_all_reverse, 6236};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6236, LOCATE_parser_prod___ANotExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
-  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*/) /*TKwnot::==*/)))))));
+  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 = ATTR_parser_nodes___ANotExpr____n_kwnot( self) /*ANotExpr::_n_kwnot*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ANotExpr____n_expr( self) /*ANotExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -11748,35 +11754,35 @@ 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, LOCATE_parser_prod___AEqExpr___n_expr__eq, 6247};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6247, LOCATE_parser_prod___AEqExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEqExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEqExpr___n_expr2__eq, 6254};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6254, LOCATE_parser_prod___AEqExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEqExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEqExpr___empty_init, 6262};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6262, LOCATE_parser_prod___AEqExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -11785,7 +11791,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, LOCATE_parser_prod___AEqExpr___init_aeqexpr, 6264};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6264, LOCATE_parser_prod___AEqExpr___init_aeqexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11794,55 +11800,55 @@ void parser_prod___AEqExpr___init_aeqexpr(val_t  self, val_t  param0, val_t  par
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEqExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEqExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEqExpr___replace_child, 6279};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6279, LOCATE_parser_prod___AEqExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AEqExpr___replace_child, 6281); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AEqExpr___replace_child, 6285); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label542;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AEqExpr___replace_child, 6295); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label542;
   }
@@ -11851,77 +11857,77 @@ 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, LOCATE_parser_prod___AEqExpr___visit_all, 6304};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6304, LOCATE_parser_prod___AEqExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEqExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEqExpr___visit_all_reverse, 6314};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6314, LOCATE_parser_prod___AEqExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AEqExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AEqExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEeExpr___n_expr__eq, 6325};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6325, LOCATE_parser_prod___AEeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEeExpr___n_expr2__eq, 6332};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6332, LOCATE_parser_prod___AEeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEeExpr___empty_init, 6340};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6340, LOCATE_parser_prod___AEeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i] = 1;
@@ -11929,7 +11935,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, LOCATE_parser_prod___AEeExpr___init_aeeexpr, 6342};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6342, LOCATE_parser_prod___AEeExpr___init_aeeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -11938,37 +11944,37 @@ void parser_prod___AEeExpr___init_aeeexpr(val_t  self, val_t  param0, val_t  par
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i]) return;
   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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEeExpr___replace_child, 6357};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6357, LOCATE_parser_prod___AEeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AEeExpr___replace_child, 6359); nit_exit(1);}
+  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);}
   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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AEeExpr___replace_child, 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, 6363); 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*/;
@@ -11976,13 +11982,13 @@ void parser_prod___AEeExpr___replace_child(val_t  self, val_t  param0, val_t  pa
     goto return_label549;
   }
   variable2 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AEeExpr___replace_child, 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, 6373); 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*/;
@@ -11994,19 +12000,19 @@ 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, LOCATE_parser_prod___AEeExpr___visit_all, 6382};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6382, LOCATE_parser_prod___AEeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -12015,19 +12021,19 @@ 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, LOCATE_parser_prod___AEeExpr___visit_all_reverse, 6392};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6392, LOCATE_parser_prod___AEeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AEeExpr____n_expr( self) /*AEeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AEeExpr____n_expr2( self) /*AEeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -12036,35 +12042,35 @@ 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, LOCATE_parser_prod___ANeExpr___n_expr__eq, 6403};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6403, LOCATE_parser_prod___ANeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANeExpr___n_expr2__eq, 6410};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6410, LOCATE_parser_prod___ANeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANeExpr___empty_init, 6418};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6418, LOCATE_parser_prod___ANeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -12073,7 +12079,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, LOCATE_parser_prod___ANeExpr___init_aneexpr, 6420};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6420, LOCATE_parser_prod___ANeExpr___init_aneexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12082,55 +12088,55 @@ void parser_prod___ANeExpr___init_aneexpr(val_t  self, val_t  param0, val_t  par
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANeExpr___replace_child, 6435};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6435, LOCATE_parser_prod___ANeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ANeExpr___replace_child, 6437); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANeExpr___replace_child, 6441); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label556;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANeExpr___replace_child, 6451); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label556;
   }
@@ -12139,77 +12145,77 @@ 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, LOCATE_parser_prod___ANeExpr___visit_all, 6460};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6460, LOCATE_parser_prod___ANeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANeExpr___visit_all_reverse, 6470};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6470, LOCATE_parser_prod___ANeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ANeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ANeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALtExpr___n_expr__eq, 6481};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6481, LOCATE_parser_prod___ALtExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALtExpr___n_expr2__eq, 6488};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6488, LOCATE_parser_prod___ALtExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALtExpr___empty_init, 6496};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6496, LOCATE_parser_prod___ALtExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -12218,7 +12224,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, LOCATE_parser_prod___ALtExpr___init_altexpr, 6498};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6498, LOCATE_parser_prod___ALtExpr___init_altexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12227,55 +12233,55 @@ void parser_prod___ALtExpr___init_altexpr(val_t  self, val_t  param0, val_t  par
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALtExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALtExpr___replace_child, 6513};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6513, LOCATE_parser_prod___ALtExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ALtExpr___replace_child, 6515); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ALtExpr___replace_child, 6519); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label563;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ALtExpr___replace_child, 6529); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label563;
   }
@@ -12284,77 +12290,77 @@ 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, LOCATE_parser_prod___ALtExpr___visit_all, 6538};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6538, LOCATE_parser_prod___ALtExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALtExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALtExpr___visit_all_reverse, 6548};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6548, LOCATE_parser_prod___ALtExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALtExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALtExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALeExpr___n_expr__eq, 6559};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6559, LOCATE_parser_prod___ALeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALeExpr___n_expr2__eq, 6566};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6566, LOCATE_parser_prod___ALeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALeExpr___empty_init, 6574};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6574, LOCATE_parser_prod___ALeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -12363,7 +12369,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, LOCATE_parser_prod___ALeExpr___init_aleexpr, 6576};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6576, LOCATE_parser_prod___ALeExpr___init_aleexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12372,55 +12378,55 @@ void parser_prod___ALeExpr___init_aleexpr(val_t  self, val_t  param0, val_t  par
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ALeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALeExpr___replace_child, 6591};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6591, LOCATE_parser_prod___ALeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ALeExpr___replace_child, 6593); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ALeExpr___replace_child, 6597); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label570;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ALeExpr___replace_child, 6607); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label570;
   }
@@ -12429,77 +12435,77 @@ 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, LOCATE_parser_prod___ALeExpr___visit_all, 6616};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6616, LOCATE_parser_prod___ALeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ALeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ALeExpr___visit_all_reverse, 6626};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6626, LOCATE_parser_prod___ALeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ALeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ALeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGtExpr___n_expr__eq, 6637};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6637, LOCATE_parser_prod___AGtExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGtExpr___n_expr2__eq, 6644};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6644, LOCATE_parser_prod___AGtExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGtExpr___empty_init, 6652};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6652, LOCATE_parser_prod___AGtExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -12508,7 +12514,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, LOCATE_parser_prod___AGtExpr___init_agtexpr, 6654};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6654, LOCATE_parser_prod___AGtExpr___init_agtexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12517,55 +12523,55 @@ void parser_prod___AGtExpr___init_agtexpr(val_t  self, val_t  param0, val_t  par
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGtExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGtExpr___replace_child, 6669};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6669, LOCATE_parser_prod___AGtExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AGtExpr___replace_child, 6671); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AGtExpr___replace_child, 6675); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label577;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AGtExpr___replace_child, 6685); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label577;
   }
@@ -12574,77 +12580,77 @@ 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, LOCATE_parser_prod___AGtExpr___visit_all, 6694};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6694, LOCATE_parser_prod___AGtExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGtExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGtExpr___visit_all_reverse, 6704};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6704, LOCATE_parser_prod___AGtExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGtExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGtExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGeExpr___n_expr__eq, 6715};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6715, LOCATE_parser_prod___AGeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGeExpr___n_expr2__eq, 6722};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6722, LOCATE_parser_prod___AGeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGeExpr___empty_init, 6730};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6730, LOCATE_parser_prod___AGeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -12653,7 +12659,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, LOCATE_parser_prod___AGeExpr___init_ageexpr, 6732};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6732, LOCATE_parser_prod___AGeExpr___init_ageexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12662,55 +12668,55 @@ void parser_prod___AGeExpr___init_ageexpr(val_t  self, val_t  param0, val_t  par
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AGeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGeExpr___replace_child, 6747};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6747, LOCATE_parser_prod___AGeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AGeExpr___replace_child, 6749); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AGeExpr___replace_child, 6753); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label584;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AGeExpr___replace_child, 6763); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label584;
   }
@@ -12719,77 +12725,77 @@ 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, LOCATE_parser_prod___AGeExpr___visit_all, 6772};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6772, LOCATE_parser_prod___AGeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AGeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AGeExpr___visit_all_reverse, 6782};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6782, LOCATE_parser_prod___AGeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AGeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AGeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIsaExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIsaExpr___n_expr__eq, 6793};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6793, LOCATE_parser_prod___AIsaExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIsaExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIsaExpr___n_type__eq, 6800};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6800, LOCATE_parser_prod___AIsaExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIsaExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIsaExpr___empty_init, 6808};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6808, LOCATE_parser_prod___AIsaExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i] = 1;
@@ -12797,7 +12803,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, LOCATE_parser_prod___AIsaExpr___init_aisaexpr, 6810};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6810, LOCATE_parser_prod___AIsaExpr___init_aisaexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12806,37 +12812,37 @@ void parser_prod___AIsaExpr___init_aisaexpr(val_t  self, val_t  param0, val_t  p
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i]) return;
   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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/ =  variable1 /*n_type*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIsaExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIsaExpr___replace_child, 6825};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6825, LOCATE_parser_prod___AIsaExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AIsaExpr___replace_child, 6827); nit_exit(1);}
+  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);}
   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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIsaExpr___replace_child, 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, 6831); 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*/;
@@ -12844,13 +12850,13 @@ void parser_prod___AIsaExpr___replace_child(val_t  self, val_t  param0, val_t  p
     goto return_label591;
   }
   variable2 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIsaExpr___replace_child, 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, 6841); 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*/;
@@ -12862,19 +12868,19 @@ 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, LOCATE_parser_prod___AIsaExpr___visit_all, 6850};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6850, LOCATE_parser_prod___AIsaExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -12883,19 +12889,19 @@ 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, LOCATE_parser_prod___AIsaExpr___visit_all_reverse, 6860};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6860, LOCATE_parser_prod___AIsaExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___AIsaExpr____n_expr( self) /*AIsaExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___AIsaExpr____n_type( self) /*AIsaExpr::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -12904,35 +12910,35 @@ 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, LOCATE_parser_prod___APlusExpr___n_expr__eq, 6871};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6871, LOCATE_parser_prod___APlusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusExpr___n_expr2__eq, 6878};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6878, LOCATE_parser_prod___APlusExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusExpr___empty_init, 6886};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6886, LOCATE_parser_prod___APlusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -12941,7 +12947,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, LOCATE_parser_prod___APlusExpr___init_aplusexpr, 6888};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6888, LOCATE_parser_prod___APlusExpr___init_aplusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -12950,55 +12956,55 @@ void parser_prod___APlusExpr___init_aplusexpr(val_t  self, val_t  param0, val_t
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusExpr___replace_child, 6903};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6903, LOCATE_parser_prod___APlusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APlusExpr___replace_child, 6905); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APlusExpr___replace_child, 6909); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label598;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APlusExpr___replace_child, 6919); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label598;
   }
@@ -13007,77 +13013,77 @@ 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, LOCATE_parser_prod___APlusExpr___visit_all, 6928};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6928, LOCATE_parser_prod___APlusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusExpr___visit_all_reverse, 6938};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6938, LOCATE_parser_prod___APlusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APlusExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APlusExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusExpr___n_expr__eq, 6949};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6949, LOCATE_parser_prod___AMinusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusExpr___n_expr2__eq, 6956};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6956, LOCATE_parser_prod___AMinusExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusExpr___empty_init, 6964};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6964, LOCATE_parser_prod___AMinusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -13086,7 +13092,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, LOCATE_parser_prod___AMinusExpr___init_aminusexpr, 6966};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6966, LOCATE_parser_prod___AMinusExpr___init_aminusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13095,55 +13101,55 @@ void parser_prod___AMinusExpr___init_aminusexpr(val_t  self, val_t  param0, val_
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusExpr___replace_child, 6981};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 6981, LOCATE_parser_prod___AMinusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AMinusExpr___replace_child, 6983); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMinusExpr___replace_child, 6987); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label605;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMinusExpr___replace_child, 6997); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label605;
   }
@@ -13152,77 +13158,77 @@ 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, LOCATE_parser_prod___AMinusExpr___visit_all, 7006};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7006, LOCATE_parser_prod___AMinusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusExpr___visit_all_reverse, 7016};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7016, LOCATE_parser_prod___AMinusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AMinusExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AMinusExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarshipExpr___n_expr__eq, 7027};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7027, LOCATE_parser_prod___AStarshipExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarshipExpr___n_expr2__eq, 7034};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7034, LOCATE_parser_prod___AStarshipExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarshipExpr___empty_init, 7042};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7042, LOCATE_parser_prod___AStarshipExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -13231,7 +13237,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, LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr, 7044};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7044, LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13240,55 +13246,55 @@ void parser_prod___AStarshipExpr___init_astarshipexpr(val_t  self, val_t  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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarshipExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarshipExpr___replace_child, 7059};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7059, LOCATE_parser_prod___AStarshipExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AStarshipExpr___replace_child, 7061); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStarshipExpr___replace_child, 7065); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label612;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStarshipExpr___replace_child, 7075); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label612;
   }
@@ -13297,77 +13303,77 @@ 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, LOCATE_parser_prod___AStarshipExpr___visit_all, 7084};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7084, LOCATE_parser_prod___AStarshipExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarshipExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarshipExpr___visit_all_reverse, 7094};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7094, LOCATE_parser_prod___AStarshipExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarshipExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarshipExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarExpr___n_expr__eq, 7105};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7105, LOCATE_parser_prod___AStarExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarExpr___n_expr2__eq, 7112};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7112, LOCATE_parser_prod___AStarExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarExpr___empty_init, 7120};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7120, LOCATE_parser_prod___AStarExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -13376,7 +13382,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, LOCATE_parser_prod___AStarExpr___init_astarexpr, 7122};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7122, LOCATE_parser_prod___AStarExpr___init_astarexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13385,55 +13391,55 @@ void parser_prod___AStarExpr___init_astarexpr(val_t  self, val_t  param0, val_t
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStarExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarExpr___replace_child, 7137};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7137, LOCATE_parser_prod___AStarExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AStarExpr___replace_child, 7139); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStarExpr___replace_child, 7143); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label619;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStarExpr___replace_child, 7153); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label619;
   }
@@ -13442,77 +13448,77 @@ 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, LOCATE_parser_prod___AStarExpr___visit_all, 7162};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7162, LOCATE_parser_prod___AStarExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStarExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStarExpr___visit_all_reverse, 7172};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7172, LOCATE_parser_prod___AStarExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AStarExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*AStarExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASlashExpr___n_expr__eq, 7183};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7183, LOCATE_parser_prod___ASlashExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASlashExpr___n_expr2__eq, 7190};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7190, LOCATE_parser_prod___ASlashExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASlashExpr___empty_init, 7198};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7198, LOCATE_parser_prod___ASlashExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -13521,7 +13527,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, LOCATE_parser_prod___ASlashExpr___init_aslashexpr, 7200};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7200, LOCATE_parser_prod___ASlashExpr___init_aslashexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13530,55 +13536,55 @@ void parser_prod___ASlashExpr___init_aslashexpr(val_t  self, val_t  param0, val_
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASlashExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASlashExpr___replace_child, 7215};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7215, LOCATE_parser_prod___ASlashExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASlashExpr___replace_child, 7217); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASlashExpr___replace_child, 7221); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label626;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASlashExpr___replace_child, 7231); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label626;
   }
@@ -13587,77 +13593,77 @@ 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, LOCATE_parser_prod___ASlashExpr___visit_all, 7240};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7240, LOCATE_parser_prod___ASlashExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASlashExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASlashExpr___visit_all_reverse, 7250};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7250, LOCATE_parser_prod___ASlashExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASlashExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ASlashExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APercentExpr___n_expr__eq, 7261};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7261, LOCATE_parser_prod___APercentExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APercentExpr___n_expr2__eq, 7268};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7268, LOCATE_parser_prod___APercentExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APercentExpr___empty_init, 7276};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7276, LOCATE_parser_prod___APercentExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -13666,7 +13672,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, LOCATE_parser_prod___APercentExpr___init_apercentexpr, 7278};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7278, LOCATE_parser_prod___APercentExpr___init_apercentexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13675,55 +13681,55 @@ void parser_prod___APercentExpr___init_apercentexpr(val_t  self, val_t  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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APercentExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APercentExpr___replace_child, 7293};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7293, LOCATE_parser_prod___APercentExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APercentExpr___replace_child, 7295); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APercentExpr___replace_child, 7299); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label633;
   }
-  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APercentExpr___replace_child, 7309); nit_exit(1);}
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label633;
   }
@@ -13732,77 +13738,77 @@ 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, LOCATE_parser_prod___APercentExpr___visit_all, 7318};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7318, LOCATE_parser_prod___APercentExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APercentExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APercentExpr___visit_all_reverse, 7328};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7328, LOCATE_parser_prod___APercentExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*APercentExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*APercentExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ABinopExpr____n_expr2( self) /*ABinopExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUminusExpr___n_minus__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AUminusExpr___n_minus__eq, 7339};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7339, LOCATE_parser_prod___AUminusExpr___n_minus__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/ =  variable0 /*n*/;
-  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*/) /*TMinus::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TMinus::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUminusExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AUminusExpr___n_expr__eq, 7346};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7346, LOCATE_parser_prod___AUminusExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUminusExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AUminusExpr___empty_init, 7354};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7354, LOCATE_parser_prod___AUminusExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -13811,7 +13817,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, LOCATE_parser_prod___AUminusExpr___init_auminusexpr, 7356};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7356, LOCATE_parser_prod___AUminusExpr___init_auminusexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13821,54 +13827,54 @@ void parser_prod___AUminusExpr___init_auminusexpr(val_t  self, val_t  param0, va
   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*/;
   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*/) /*TMinus::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/,  self) /*TMinus::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minus*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minus*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ =  variable1 /*n_expr*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*n_expr*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AUminusExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUminusExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AUminusExpr___replace_child, 7371};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7371, LOCATE_parser_prod___AUminusExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AUminusExpr___replace_child, 7373); nit_exit(1);}
+  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);}
   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*/) /*TMinus::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AUminusExpr___replace_child, 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, 7377); 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*/;
     }
     goto return_label640;
   }
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AUminusExpr___replace_child, 7387); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label640;
   }
@@ -13877,91 +13883,91 @@ 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, LOCATE_parser_prod___AUminusExpr___visit_all, 7396};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7396, LOCATE_parser_prod___AUminusExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
-  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*/) /*TMinus::==*/)))))));
+  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 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AUminusExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AUminusExpr___visit_all_reverse, 7406};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7406, LOCATE_parser_prod___AUminusExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
-  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*/) /*TMinus::==*/)))))));
+  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 = ATTR_parser_nodes___AUminusExpr____n_minus( self) /*AUminusExpr::_n_minus*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AUminusExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANewExpr___n_kwnew__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANewExpr___n_kwnew__eq, 7417};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7417, LOCATE_parser_prod___ANewExpr___n_kwnew__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/ =  variable0 /*n*/;
-  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*/) /*TKwnew::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwnew::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANewExpr___n_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANewExpr___n_type__eq, 7424};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7424, LOCATE_parser_prod___ANewExpr___n_type__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  variable0 /*n*/;
-  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*/) /*PType::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANewExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANewExpr___n_id__eq, 7431};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7431, LOCATE_parser_prod___ANewExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANewExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANewExpr___empty_init, 7439};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7439, LOCATE_parser_prod___ANewExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i] = 1;
@@ -13969,7 +13975,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, LOCATE_parser_prod___ANewExpr___init_anewexpr, 7441};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7441, LOCATE_parser_prod___ANewExpr___init_anewexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -13984,32 +13990,32 @@ void parser_prod___ANewExpr___init_anewexpr(val_t  self, val_t  param0, val_t  p
   variable3 =  param3;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANewExpr].i]) return;
   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*/) /*TKwnew::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnew*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnew*/,  self) /*TKwnew::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnew*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnew*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/ =  variable1 /*n_type*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*PType::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PType::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_type*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/ =  variable2 /*n_id*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TId::parent=*/;
+    ((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[PExpr]*/
+  variable4 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable4 = ((array___AbstractArray___iterator_t)CALL( variable3 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable3 /*n_args*/) /*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 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ANewExpr___init_anewexpr, 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, 7462); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/,  self) /*PExpr::parent=*/;
+    ((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=*/;
     continue_648: while(0);
     ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
   }
@@ -14019,7 +14025,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, LOCATE_parser_prod___ANewExpr___replace_child, 7468};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7468, LOCATE_parser_prod___ANewExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14028,16 +14034,16 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ANewExpr___replace_child, 7470); nit_exit(1);}
+  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);}
   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*/) /*TKwnew::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANewExpr___replace_child, 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, 7474); 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*/;
@@ -14045,13 +14051,13 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
     goto return_label649;
   }
   variable2 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
-  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*/) /*PType::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANewExpr___replace_child, 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, 7484); 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*/;
@@ -14059,13 +14065,13 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
     goto return_label649;
   }
   variable2 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_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*/) /*TId::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANewExpr___replace_child, 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, 7494); 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*/;
@@ -14074,7 +14080,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -14083,15 +14089,15 @@ void parser_prod___ANewExpr___replace_child(val_t  self, val_t  param0, val_t  p
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ANewExpr___replace_child, 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, 7504); 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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___ANewExpr____n_args( self) /*ANewExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -14107,26 +14113,26 @@ 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, LOCATE_parser_prod___ANewExpr___visit_all, 7515};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7515, LOCATE_parser_prod___ANewExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
-  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*/) /*TKwnew::==*/)))))));
+  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 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -14146,26 +14152,26 @@ 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, LOCATE_parser_prod___ANewExpr___visit_all_reverse, 7531};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7531, LOCATE_parser_prod___ANewExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
-  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*/) /*TKwnew::==*/)))))));
+  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 = ATTR_parser_nodes___ANewExpr____n_kwnew( self) /*ANewExpr::_n_kwnew*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_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*/) /*PType::==*/)))))));
+  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 = ATTR_parser_nodes___ANewExpr____n_type( self) /*ANewExpr::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  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 = ATTR_parser_nodes___ANewExpr____n_id( self) /*ANewExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -14188,35 +14194,35 @@ 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, LOCATE_parser_prod___AAttrExpr___n_expr__eq, 7552};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7552, LOCATE_parser_prod___AAttrExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrExpr___n_id__eq, 7559};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7559, LOCATE_parser_prod___AAttrExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TAttrid::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrExpr___empty_init, 7567};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7567, LOCATE_parser_prod___AAttrExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i] = 1;
@@ -14224,7 +14230,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, LOCATE_parser_prod___AAttrExpr___init_aattrexpr, 7569};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7569, LOCATE_parser_prod___AAttrExpr___init_aattrexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14232,55 +14238,55 @@ 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;
-  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TAttrid::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*n_id*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrExpr___replace_child, 7584};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7584, LOCATE_parser_prod___AAttrExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAttrExpr___replace_child, 7586); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrExpr___replace_child, 7590); nit_exit(1);}
-      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label659;
   }
-  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_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*/) /*TAttrid::==*/)))));
+  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrExpr___replace_child, 7600); nit_exit(1);}
-      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label659;
   }
@@ -14289,105 +14295,105 @@ 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, LOCATE_parser_prod___AAttrExpr___visit_all, 7609};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7609, LOCATE_parser_prod___AAttrExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrExpr___visit_all_reverse, 7619};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7619, LOCATE_parser_prod___AAttrExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq, 7630};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7630, LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrAssignExpr___n_id__eq, 7637};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7637, LOCATE_parser_prod___AAttrAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TAttrid::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq, 7644};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7644, LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ =  variable0 /*n*/;
-  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*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrAssignExpr___n_value__eq, 7651};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7651, LOCATE_parser_prod___AAttrAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrAssignExpr___empty_init, 7659};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7659, LOCATE_parser_prod___AAttrAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i] = 1;
@@ -14395,7 +14401,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, LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr, 7661};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7661, LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14407,93 +14413,93 @@ 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;
-  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TAttrid::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*n_id*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ =  variable2 /*n_assign*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/,  NIT_NULL /*null*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable2 /*n_assign*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ =  variable3 /*n_value*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable3 /*n_value*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrAssignExpr___replace_child, 7686};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7686, LOCATE_parser_prod___AAttrAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAttrAssignExpr___replace_child, 7688); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrAssignExpr___replace_child, 7692); nit_exit(1);}
-      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label668;
   }
-  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_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*/) /*TAttrid::==*/)))));
+  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrAssignExpr___replace_child, 7702); nit_exit(1);}
-      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label668;
   }
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrAssignExpr___replace_child, 7712); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
     }
     goto return_label668;
   }
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrAssignExpr___replace_child, 7722); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label668;
   }
@@ -14502,129 +14508,129 @@ 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, LOCATE_parser_prod___AAttrAssignExpr___visit_all, 7731};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7731, LOCATE_parser_prod___AAttrAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse, 7747};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7747, LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrAssignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrAssignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAttrAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAttrAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq, 7764};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7764, LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrReassignExpr___n_id__eq, 7771};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7771, LOCATE_parser_prod___AAttrReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TAttrid::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq, 7778};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7778, LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/ =  variable0 /*n*/;
-  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*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrReassignExpr___n_value__eq, 7785};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7785, LOCATE_parser_prod___AAttrReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrReassignExpr___empty_init, 7793};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7793, LOCATE_parser_prod___AAttrReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i] = 1;
@@ -14632,7 +14638,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, LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr, 7795};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7795, LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14644,93 +14650,93 @@ 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;
-  ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TAttrid::==*/)))))));
+  ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*n_id*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*TAttrid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/ =  variable2 /*n_assign_op*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign_op*/,  NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable2 /*n_assign_op*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign_op*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ =  variable3 /*n_value*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable3 /*n_value*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAttrReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrReassignExpr___replace_child, 7820};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7820, LOCATE_parser_prod___AAttrReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AAttrReassignExpr___replace_child, 7822); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrReassignExpr___replace_child, 7826); nit_exit(1);}
-      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label677;
   }
-  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_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*/) /*TAttrid::==*/)))));
+  variable2 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrReassignExpr___replace_child, 7836); nit_exit(1);}
-      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label677;
   }
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrReassignExpr___replace_child, 7846); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/ =  variable1 /*new_child*/;
+      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);}
+      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) /*AAttrReassignExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
     }
     goto return_label677;
   }
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AAttrReassignExpr___replace_child, 7856); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label677;
   }
@@ -14739,101 +14745,101 @@ 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, LOCATE_parser_prod___AAttrReassignExpr___visit_all, 7865};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7865, LOCATE_parser_prod___AAttrReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse, 7881};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7881, LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrReassignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_expr( self) /*AAttrFormExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
-  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*/) /*TAttrid::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrReassignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AAttrFormExpr____n_id( self) /*AAttrFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AAttrReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AAttrReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallExpr___n_expr__eq, 7898};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7898, LOCATE_parser_prod___ACallExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallExpr___n_id__eq, 7905};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7905, LOCATE_parser_prod___ACallExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallExpr___empty_init, 7913};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7913, LOCATE_parser_prod___ACallExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallExpr].i] = 1;
@@ -14841,7 +14847,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, LOCATE_parser_prod___ACallExpr___init_acallexpr, 7915};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7915, LOCATE_parser_prod___ACallExpr___init_acallexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14853,28 +14859,28 @@ 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;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*n_id*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TId::parent=*/;
+    ((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[PExpr]*/
-  ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/ = variable3;
-  variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
+  variable3 = NEW_list___List___init(); /*new List[E]*/
+  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*/
     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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___ACallExpr___init_acallexpr, 7931); nit_exit(1);}
-    variable5 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
-    ((abstract_collection___IndexedCollection___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  variable4 /*n*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PExpr::parent=*/;
+    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);}
+    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=*/;
     continue_684: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
@@ -14884,7 +14890,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, LOCATE_parser_prod___ACallExpr___replace_child, 7937};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7937, LOCATE_parser_prod___ACallExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -14893,58 +14899,58 @@ void parser_prod___ACallExpr___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ACallExpr___replace_child, 7939); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallExpr___replace_child, 7943); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label685;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_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*/) /*TId::==*/)))));
+  variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallExpr___replace_child, 7953); nit_exit(1);}
-      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label685;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
+  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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   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 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
+    variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ACallExpr___replace_child, 7963); nit_exit(1);}
-        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
+        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);}
+        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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
-        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
+        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
       goto return_label685;
@@ -14958,25 +14964,25 @@ 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, LOCATE_parser_prod___ACallExpr___visit_all, 7974};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7974, LOCATE_parser_prod___ACallExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
   while (true) { /*for*/
     variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
@@ -14991,31 +14997,31 @@ 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, LOCATE_parser_prod___ACallExpr___visit_all_reverse, 7987};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 7987, LOCATE_parser_prod___ACallExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
+  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*/;
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallExpr::_n_args*/;
+    variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable1 /*i*/) /*List::[]*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
@@ -15027,63 +15033,63 @@ 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, LOCATE_parser_prod___ACallAssignExpr___n_expr__eq, 8005};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8005, LOCATE_parser_prod___ACallAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallAssignExpr___n_id__eq, 8012};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8012, LOCATE_parser_prod___ACallAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallAssignExpr___n_assign__eq, 8019};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8019, LOCATE_parser_prod___ACallAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ =  variable0 /*n*/;
-  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*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallAssignExpr___n_value__eq, 8026};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8026, LOCATE_parser_prod___ACallAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallAssignExpr___empty_init, 8034};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8034, LOCATE_parser_prod___ACallAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i] = 1;
@@ -15091,7 +15097,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, LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr, 8036};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8036, LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15107,48 +15113,48 @@ 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;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*n_id*/;
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TId::parent=*/;
+    ((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[PExpr]*/
-  ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/ = variable5;
-  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
+  variable5 = NEW_list___List___init(); /*new List[E]*/
+  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*/
     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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr, 8054); nit_exit(1);}
-    variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
-    ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable6 /*n*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/,  self) /*PExpr::parent=*/;
+    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);}
+    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=*/;
     continue_697: while(0);
     ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
   }
   break_697: while(0);
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ =  variable3 /*n_assign*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign*/,  NIT_NULL /*null*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable3 /*n_assign*/;
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ =  variable4 /*n_value*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable4 /*n_value*/;
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallAssignExpr___replace_child, 8068};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8068, LOCATE_parser_prod___ACallAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15157,58 +15163,58 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ACallAssignExpr___replace_child, 8070); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallAssignExpr___replace_child, 8074); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label698;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_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*/) /*TId::==*/)))));
+  variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallAssignExpr___replace_child, 8084); nit_exit(1);}
-      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label698;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
+  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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   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 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
+    variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ACallAssignExpr___replace_child, 8094); nit_exit(1);}
-        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
+        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);}
+        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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
-        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
+        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
       goto return_label698;
@@ -15217,31 +15223,31 @@ void parser_prod___ACallAssignExpr___replace_child(val_t  self, val_t  param0, v
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_699: while(0);
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallAssignExpr___replace_child, 8106); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
     }
     goto return_label698;
   }
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallAssignExpr___replace_child, 8116); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label698;
   }
@@ -15250,25 +15256,25 @@ 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, LOCATE_parser_prod___ACallAssignExpr___visit_all, 8125};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8125, LOCATE_parser_prod___ACallAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
   while (true) { /*for*/
     variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
@@ -15279,47 +15285,47 @@ void parser_prod___ACallAssignExpr___visit_all(val_t  self, val_t  param0) {
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
   break_701: while(0);
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse, 8144};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8144, LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallAssignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallAssignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
+  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*/;
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallAssignExpr::_n_args*/;
+    variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable1 /*i*/) /*List::[]*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
@@ -15327,79 +15333,79 @@ void parser_prod___ACallAssignExpr___visit_all_reverse(val_t  self, val_t  param
     continue_703: while(0);
   }
   break_703: while(0);
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ACallAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ACallAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallReassignExpr___n_expr__eq, 8168};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8168, LOCATE_parser_prod___ACallReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallReassignExpr___n_id__eq, 8175};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8175, LOCATE_parser_prod___ACallReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq, 8182};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8182, LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/ =  variable0 /*n*/;
-  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*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallReassignExpr___n_value__eq, 8189};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8189, LOCATE_parser_prod___ACallReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallReassignExpr___empty_init, 8197};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8197, LOCATE_parser_prod___ACallReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i] = 1;
@@ -15407,7 +15413,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, LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr, 8199};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8199, LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15423,48 +15429,48 @@ 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;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ =  variable1 /*n_id*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*n_id*/;
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_id*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_id*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_id*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_id*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_id*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TId::parent=*/;
+    ((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[PExpr]*/
-  ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/ = variable5;
-  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*Array::iterator*/;
+  variable5 = NEW_list___List___init(); /*new List[E]*/
+  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*/
     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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr, 8217); nit_exit(1);}
-    variable7 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
-    ((abstract_collection___IndexedCollection___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable6 /*n*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable6 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable6 /*n*/,  self) /*PExpr::parent=*/;
+    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);}
+    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=*/;
     continue_710: while(0);
     ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
   }
   break_710: while(0);
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/ =  variable3 /*n_assign_op*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign_op*/,  NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable3 /*n_assign_op*/;
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_assign_op*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign_op*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_assign_op*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ =  variable4 /*n_value*/;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable4 /*n_value*/;
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable4 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable4 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACallReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallReassignExpr___replace_child, 8231};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8231, LOCATE_parser_prod___ACallReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15473,58 +15479,58 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ACallReassignExpr___replace_child, 8233); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallReassignExpr___replace_child, 8237); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label711;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_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*/) /*TId::==*/)))));
+  variable2 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallReassignExpr___replace_child, 8247); nit_exit(1);}
-      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label711;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
+  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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   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 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
+    variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ACallReassignExpr___replace_child, 8257); nit_exit(1);}
-        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
+        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);}
+        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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
-        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
+        variable4 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
       goto return_label711;
@@ -15533,31 +15539,31 @@ void parser_prod___ACallReassignExpr___replace_child(val_t  self, val_t  param0,
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_712: while(0);
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallReassignExpr___replace_child, 8269); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/ =  variable1 /*new_child*/;
+      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);}
+      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) /*ACallReassignExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
     }
     goto return_label711;
   }
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACallReassignExpr___replace_child, 8279); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label711;
   }
@@ -15566,25 +15572,25 @@ 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, LOCATE_parser_prod___ACallReassignExpr___visit_all, 8288};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8288, LOCATE_parser_prod___ACallReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
   while (true) { /*for*/
     variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
@@ -15595,47 +15601,47 @@ void parser_prod___ACallReassignExpr___visit_all(val_t  self, val_t  param0) {
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
   break_714: while(0);
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACallReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse, 8307};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8307, LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ACallReassignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallReassignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___ACallFormExpr____n_id( self) /*ACallFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
+  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*/;
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallReassignExpr::_n_args*/;
+    variable2 = ATTR_parser_nodes___ACallFormExpr____n_args( self) /*ACallFormExpr::_n_args*/;
     variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable1 /*i*/) /*List::[]*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
@@ -15643,51 +15649,51 @@ void parser_prod___ACallReassignExpr___visit_all_reverse(val_t  self, val_t  par
     continue_716: while(0);
   }
   break_716: while(0);
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ACallReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ACallReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperExpr___n_qualified__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASuperExpr___n_qualified__eq, 8331};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8331, LOCATE_parser_prod___ASuperExpr___n_qualified__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/ =  variable0 /*n*/;
-  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*/) /*PQualified::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PQualified::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperExpr___n_kwsuper__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq, 8338};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8338, LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  variable0 /*n*/;
-  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*/) /*TKwsuper::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwsuper::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASuperExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASuperExpr___empty_init, 8346};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8346, LOCATE_parser_prod___ASuperExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i] = 1;
@@ -15695,7 +15701,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, LOCATE_parser_prod___ASuperExpr___init_asuperexpr, 8348};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8348, LOCATE_parser_prod___ASuperExpr___init_asuperexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15708,27 +15714,27 @@ void parser_prod___ASuperExpr___init_asuperexpr(val_t  self, val_t  param0, val_
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperExpr].i]) return;
   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*/) /*PQualified::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_qualified*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_qualified*/,  self) /*PQualified::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_qualified*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_qualified*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/ =  variable1 /*n_kwsuper*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwsuper*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwsuper*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwsuper*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwsuper*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwsuper*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwsuper*/,  NIT_NULL /*null*/) /*TKwsuper::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwsuper*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwsuper*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwsuper*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwsuper*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwsuper*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwsuper*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TKwsuper::parent=*/;
+    ((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[PExpr]*/
+  variable3 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperExpr___init_asuperexpr, 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, 8364); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PExpr::parent=*/;
+    ((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=*/;
     continue_721: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
@@ -15738,7 +15744,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, LOCATE_parser_prod___ASuperExpr___replace_child, 8370};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8370, LOCATE_parser_prod___ASuperExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15747,16 +15753,16 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASuperExpr___replace_child, 8372); nit_exit(1);}
+  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);}
   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*/) /*PQualified::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperExpr___replace_child, 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, 8376); 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*/;
@@ -15764,13 +15770,13 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label722;
   }
   variable2 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
-  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*/) /*TKwsuper::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperExpr___replace_child, 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, 8386); 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*/;
@@ -15779,7 +15785,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -15788,15 +15794,15 @@ void parser_prod___ASuperExpr___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperExpr___replace_child, 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, 8396); 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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___ASuperExpr____n_args( self) /*ASuperExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -15812,20 +15818,20 @@ 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, LOCATE_parser_prod___ASuperExpr___visit_all, 8407};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8407, LOCATE_parser_prod___ASuperExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
-  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*/) /*PQualified::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
-  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*/) /*TKwsuper::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -15845,20 +15851,20 @@ 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, LOCATE_parser_prod___ASuperExpr___visit_all_reverse, 8420};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8420, LOCATE_parser_prod___ASuperExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
-  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*/) /*PQualified::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperExpr____n_qualified( self) /*ASuperExpr::_n_qualified*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
-  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*/) /*TKwsuper::==*/)))))));
+  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 = ATTR_parser_nodes___ASuperExpr____n_kwsuper( self) /*ASuperExpr::_n_kwsuper*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -15881,35 +15887,35 @@ 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, LOCATE_parser_prod___AInitExpr___n_expr__eq, 8438};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8438, LOCATE_parser_prod___AInitExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInitExpr___n_kwinit__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInitExpr___n_kwinit__eq, 8445};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8445, LOCATE_parser_prod___AInitExpr___n_kwinit__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  variable0 /*n*/;
-  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*/) /*TKwinit::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwinit::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AInitExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AInitExpr___empty_init, 8453};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8453, LOCATE_parser_prod___AInitExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -15918,7 +15924,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, LOCATE_parser_prod___AInitExpr___init_ainitexpr, 8455};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8455, LOCATE_parser_prod___AInitExpr___init_ainitexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15931,28 +15937,28 @@ void parser_prod___AInitExpr___init_ainitexpr(val_t  self, val_t  param0, val_t
   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*/;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/ =  variable1 /*n_kwinit*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwinit*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwinit*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwinit*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwinit*/,  NIT_NULL /*null*/) /*TKwinit::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwinit*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwinit*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwinit*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwinit*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwinit*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   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) /*TKwinit::parent=*/;
+    ((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[PExpr]*/
+  variable3 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*n_args*/) /*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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___AInitExpr___init_ainitexpr, 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, 8471); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable4 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable4 /*n*/,  self) /*PExpr::parent=*/;
+    ((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=*/;
     continue_732: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
@@ -15962,7 +15968,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, LOCATE_parser_prod___AInitExpr___replace_child, 8477};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8477, LOCATE_parser_prod___AInitExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15971,30 +15977,30 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AInitExpr___replace_child, 8479); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInitExpr___replace_child, 8483); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label733;
   }
   variable2 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
-  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*/) /*TKwinit::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AInitExpr___replace_child, 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, 8493); 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*/;
@@ -16003,7 +16009,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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -16012,15 +16018,15 @@ void parser_prod___AInitExpr___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AInitExpr___replace_child, 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, 8503); 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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AInitExpr____n_args( self) /*AInitExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -16036,20 +16042,20 @@ 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, LOCATE_parser_prod___AInitExpr___visit_all, 8514};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8514, LOCATE_parser_prod___AInitExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
-  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*/) /*TKwinit::==*/)))))));
+  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 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -16069,20 +16075,20 @@ 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, LOCATE_parser_prod___AInitExpr___visit_all_reverse, 8527};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8527, LOCATE_parser_prod___AInitExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*AInitExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
-  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*/) /*TKwinit::==*/)))))));
+  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 = ATTR_parser_nodes___AInitExpr____n_kwinit( self) /*AInitExpr::_n_kwinit*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -16105,21 +16111,21 @@ 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, LOCATE_parser_prod___ABraExpr___n_expr__eq, 8545};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8545, LOCATE_parser_prod___ABraExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraExpr___empty_init, 8553};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8553, LOCATE_parser_prod___ABraExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraExpr].i] = 1;
@@ -16127,7 +16133,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, LOCATE_parser_prod___ABraExpr___init_abraexpr, 8555};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8555, LOCATE_parser_prod___ABraExpr___init_abraexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16137,23 +16143,23 @@ 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;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((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[PExpr]*/
-  ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/ = variable2;
-  variable2 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*Array::iterator*/;
+  variable2 = NEW_list___List___init(); /*new List[E]*/
+  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*/
     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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___ABraExpr___init_abraexpr, 8566); nit_exit(1);}
-    variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
-    ((abstract_collection___IndexedCollection___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable3 /*n*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*PExpr::parent=*/;
+    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);}
+    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=*/;
     continue_742: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
@@ -16163,7 +16169,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, LOCATE_parser_prod___ABraExpr___replace_child, 8572};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8572, LOCATE_parser_prod___ABraExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16172,44 +16178,44 @@ void parser_prod___ABraExpr___replace_child(val_t  self, val_t  param0, val_t  p
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABraExpr___replace_child, 8574); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraExpr___replace_child, 8578); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label743;
   }
-  variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
+  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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   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 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
+    variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ABraExpr___replace_child, 8588); nit_exit(1);}
-        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
+        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);}
+        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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
-        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
+        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
       goto return_label743;
@@ -16223,19 +16229,19 @@ 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, LOCATE_parser_prod___ABraExpr___visit_all, 8599};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8599, LOCATE_parser_prod___ABraExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
+  variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
   while (true) { /*for*/
     variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
@@ -16250,25 +16256,25 @@ 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, LOCATE_parser_prod___ABraExpr___visit_all_reverse, 8609};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8609, LOCATE_parser_prod___ABraExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
+  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*/;
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraExpr::_n_args*/;
+    variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable1 /*i*/) /*List::[]*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
@@ -16280,49 +16286,49 @@ 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, LOCATE_parser_prod___ABraAssignExpr___n_expr__eq, 8624};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8624, LOCATE_parser_prod___ABraAssignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraAssignExpr___n_assign__eq, 8631};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8631, LOCATE_parser_prod___ABraAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ =  variable0 /*n*/;
-  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*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraAssignExpr___n_value__eq, 8638};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8638, LOCATE_parser_prod___ABraAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraAssignExpr___empty_init, 8646};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8646, LOCATE_parser_prod___ABraAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i] = 1;
@@ -16330,7 +16336,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, LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr, 8648};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8648, LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16344,43 +16350,43 @@ 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;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((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[PExpr]*/
-  ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/ = variable4;
-  variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*Array::iterator*/;
+  variable4 = NEW_list___List___init(); /*new List[E]*/
+  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*/
     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 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr, 8661); nit_exit(1);}
-    variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
-    ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable5 /*n*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/,  self) /*PExpr::parent=*/;
+    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);}
+    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=*/;
     continue_754: while(0);
     ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
   }
   break_754: while(0);
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ =  variable2 /*n_assign*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/,  NIT_NULL /*null*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable2 /*n_assign*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ =  variable3 /*n_value*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable3 /*n_value*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraAssignExpr___replace_child, 8675};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8675, LOCATE_parser_prod___ABraAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16389,44 +16395,44 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABraAssignExpr___replace_child, 8677); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraAssignExpr___replace_child, 8681); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label755;
   }
-  variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
+  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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   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 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
+    variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ABraAssignExpr___replace_child, 8691); nit_exit(1);}
-        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
+        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);}
+        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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
-        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
+        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
       goto return_label755;
@@ -16435,31 +16441,31 @@ void parser_prod___ABraAssignExpr___replace_child(val_t  self, val_t  param0, va
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_756: while(0);
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraAssignExpr___replace_child, 8703); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
     }
     goto return_label755;
   }
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraAssignExpr___replace_child, 8713); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label755;
   }
@@ -16468,19 +16474,19 @@ 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, LOCATE_parser_prod___ABraAssignExpr___visit_all, 8722};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8722, LOCATE_parser_prod___ABraAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
+  variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
   while (true) { /*for*/
     variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
@@ -16491,41 +16497,41 @@ void parser_prod___ABraAssignExpr___visit_all(val_t  self, val_t  param0) {
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
   break_758: while(0);
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse, 8738};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8738, LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraAssignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
+  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*/;
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraAssignExpr::_n_args*/;
+    variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable1 /*i*/) /*List::[]*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
@@ -16533,65 +16539,65 @@ void parser_prod___ABraAssignExpr___visit_all_reverse(val_t  self, val_t  param0
     continue_760: while(0);
   }
   break_760: while(0);
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*ABraAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*ABraAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraReassignExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraReassignExpr___n_expr__eq, 8759};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8759, LOCATE_parser_prod___ABraReassignExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq, 8766};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8766, LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/ =  variable0 /*n*/;
-  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*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraReassignExpr___n_value__eq, 8773};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8773, LOCATE_parser_prod___ABraReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraReassignExpr___empty_init, 8781};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8781, LOCATE_parser_prod___ABraReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i] = 1;
@@ -16599,7 +16605,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, LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr, 8783};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8783, LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16613,43 +16619,43 @@ 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;
-  ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((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[PExpr]*/
-  ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/ = variable4;
-  variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*n_args*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*n_args*/) /*Array::iterator*/;
+  variable4 = NEW_list___List___init(); /*new List[E]*/
+  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*/
     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 /*n*/==NIT_NULL) || VAL_ISA( variable5 /*n*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
-    if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr, 8796); nit_exit(1);}
-    variable6 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
-    ((abstract_collection___IndexedCollection___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable5 /*n*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable5 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable5 /*n*/,  self) /*PExpr::parent=*/;
+    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);}
+    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=*/;
     continue_766: while(0);
     ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
   }
   break_766: while(0);
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/ =  variable2 /*n_assign_op*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign_op*/,  NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable2 /*n_assign_op*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_assign_op*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_assign_op*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ =  variable3 /*n_value*/;
-  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable3 /*n_value*/;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable3 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable3 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable4)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ABraReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraReassignExpr___replace_child, 8810};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8810, LOCATE_parser_prod___ABraReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16658,44 +16664,44 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ABraReassignExpr___replace_child, 8812); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraReassignExpr___replace_child, 8816); nit_exit(1);}
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label767;
   }
-  variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
+  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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   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 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
+    variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ABraReassignExpr___replace_child, 8826); nit_exit(1);}
-        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
+        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);}
+        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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
-        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
+        variable4 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
       goto return_label767;
@@ -16704,31 +16710,31 @@ void parser_prod___ABraReassignExpr___replace_child(val_t  self, val_t  param0,
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_768: while(0);
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraReassignExpr___replace_child, 8838); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/ =  variable1 /*new_child*/;
+      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);}
+      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) /*ABraReassignExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
     }
     goto return_label767;
   }
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ABraReassignExpr___replace_child, 8848); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label767;
   }
@@ -16737,19 +16743,19 @@ 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, LOCATE_parser_prod___ABraReassignExpr___visit_all, 8857};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8857, LOCATE_parser_prod___ABraReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
+  variable1 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
   variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
   while (true) { /*for*/
     variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
@@ -16760,41 +16766,41 @@ void parser_prod___ABraReassignExpr___visit_all(val_t  self, val_t  param0) {
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
   break_770: while(0);
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ABraReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse, 8873};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8873, LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ABraReassignExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ASendExpr____n_expr( self) /*ASendExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
+  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*/;
   variable1 = variable2;
   while (true) { /*while*/
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>=UNTAG_Int( TAG_Int(0)));
     if (!UNTAG_Bool(variable2)) break; /* while*/
-    variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraReassignExpr::_n_args*/;
+    variable2 = ATTR_parser_nodes___ABraFormExpr____n_args( self) /*ABraFormExpr::_n_args*/;
     variable2 = ((list___List_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2,  variable1 /*i*/) /*List::[]*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
@@ -16802,37 +16808,37 @@ void parser_prod___ABraReassignExpr___visit_all_reverse(val_t  self, val_t  para
     continue_772: while(0);
   }
   break_772: while(0);
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*ABraReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*ABraReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarExpr___n_id__eq, 8894};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8894, LOCATE_parser_prod___AVarExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarExpr___empty_init, 8902};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8902, LOCATE_parser_prod___AVarExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i] = 1;
@@ -16840,42 +16846,42 @@ 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, LOCATE_parser_prod___AVarExpr___init_avarexpr, 8904};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8904, LOCATE_parser_prod___AVarExpr___init_avarexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i]) return;
-  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarExpr___replace_child, 8914};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8914, LOCATE_parser_prod___AVarExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AVarExpr___replace_child, 8916); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_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*/) /*TId::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVarExpr___replace_child, 8920); nit_exit(1);}
-      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label776;
   }
@@ -16884,79 +16890,79 @@ 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, LOCATE_parser_prod___AVarExpr___visit_all, 8929};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8929, LOCATE_parser_prod___AVarExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarExpr___visit_all_reverse, 8936};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8936, LOCATE_parser_prod___AVarExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarAssignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarAssignExpr___n_id__eq, 8944};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8944, LOCATE_parser_prod___AVarAssignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarAssignExpr___n_assign__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarAssignExpr___n_assign__eq, 8951};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8951, LOCATE_parser_prod___AVarAssignExpr___n_assign__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ =  variable0 /*n*/;
-  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*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarAssignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarAssignExpr___n_value__eq, 8958};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8958, LOCATE_parser_prod___AVarAssignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarAssignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarAssignExpr___empty_init, 8966};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8966, LOCATE_parser_prod___AVarAssignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i] = 1;
@@ -16964,7 +16970,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, LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr, 8968};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8968, LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -16974,74 +16980,74 @@ 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;
-  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ =  variable1 /*n_assign*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign*/,  NIT_NULL /*null*/) /*TAssign::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*n_assign*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_assign*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/,  self) /*TAssign::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ =  variable2 /*n_value*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable2 /*n_value*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarAssignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarAssignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarAssignExpr___replace_child, 8988};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 8988, LOCATE_parser_prod___AVarAssignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AVarAssignExpr___replace_child, 8990); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_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*/) /*TId::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVarAssignExpr___replace_child, 8994); nit_exit(1);}
-      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label784;
   }
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVarAssignExpr___replace_child, 9004); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/ =  NIT_NULL /*null*/;
     }
     goto return_label784;
   }
-  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVarAssignExpr___replace_child, 9014); nit_exit(1);}
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label784;
   }
@@ -17050,103 +17056,103 @@ 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, LOCATE_parser_prod___AVarAssignExpr___visit_all, 9023};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9023, LOCATE_parser_prod___AVarAssignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarAssignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse, 9036};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9036, LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarAssignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
-  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*/) /*TAssign::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AVarAssignExpr::_n_assign*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_assign( self) /*AAssignFormExpr::_n_assign*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AVarAssignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AAssignFormExpr____n_value( self) /*AAssignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarReassignExpr___n_id__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarReassignExpr___n_id__eq, 9050};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9050, LOCATE_parser_prod___AVarReassignExpr___n_id__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/ =  variable0 /*n*/;
-  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*/) /*TId::==*/)))))));
+  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq, 9057};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9057, LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/ =  variable0 /*n*/;
-  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*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarReassignExpr___n_value__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarReassignExpr___n_value__eq, 9064};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9064, LOCATE_parser_prod___AVarReassignExpr___n_value__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarReassignExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarReassignExpr___empty_init, 9072};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9072, LOCATE_parser_prod___AVarReassignExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i] = 1;
@@ -17154,7 +17160,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, LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr, 9074};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9074, LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17164,74 +17170,74 @@ 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;
-  ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_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*/) /*TId::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*TId::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_id*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_id*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/ =  variable1 /*n_assign_op*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign_op*/,  NIT_NULL /*null*/) /*PAssignOp::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  variable1 /*n_assign_op*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_assign_op*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_assign_op*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_assign_op*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_assign_op*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_assign_op*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign_op*/,  self) /*PAssignOp::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_assign_op*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_assign_op*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ =  variable2 /*n_value*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_value*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable2 /*n_value*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_value*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_value*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_value*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_value*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_value*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_value*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_value*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AVarReassignExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarReassignExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarReassignExpr___replace_child, 9094};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9094, LOCATE_parser_prod___AVarReassignExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AVarReassignExpr___replace_child, 9096); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_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*/) /*TId::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVarReassignExpr___replace_child, 9100); nit_exit(1);}
-      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/ =  NIT_NULL /*null*/;
     }
     goto return_label792;
   }
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVarReassignExpr___replace_child, 9110); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/ =  variable1 /*new_child*/;
+      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);}
+      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) /*AVarReassignExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/ =  NIT_NULL /*null*/;
     }
     goto return_label792;
   }
-  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AVarReassignExpr___replace_child, 9120); nit_exit(1);}
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/ =  NIT_NULL /*null*/;
     }
     goto return_label792;
   }
@@ -17240,89 +17246,89 @@ 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, LOCATE_parser_prod___AVarReassignExpr___visit_all, 9129};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9129, LOCATE_parser_prod___AVarReassignExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AVarReassignExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse, 9142};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9142, LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
-  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*/) /*TId::==*/)))))));
+  variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
+  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 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarReassignExpr::_n_id*/;
+    variable1 = ATTR_parser_nodes___AVarFormExpr____n_id( self) /*AVarFormExpr::_n_id*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
-  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*/) /*PAssignOp::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AVarReassignExpr::_n_assign_op*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_assign_op( self) /*AReassignFormExpr::_n_assign_op*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
+  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 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AVarReassignExpr::_n_value*/;
+    variable1 = ATTR_parser_nodes___AReassignFormExpr____n_value( self) /*AReassignFormExpr::_n_value*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ARangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ARangeExpr___n_expr__eq, 9156};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9156, LOCATE_parser_prod___ARangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ARangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ARangeExpr___n_expr2__eq, 9163};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9163, LOCATE_parser_prod___ARangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ARangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ARangeExpr___empty_init, 9171};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9171, LOCATE_parser_prod___ARangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i] = 1;
@@ -17330,7 +17336,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, LOCATE_parser_prod___ARangeExpr___init_arangeexpr, 9173};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9173, LOCATE_parser_prod___ARangeExpr___init_arangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17339,37 +17345,37 @@ void parser_prod___ARangeExpr___init_arangeexpr(val_t  self, val_t  param0, val_
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i]) return;
   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*/) /*PExpr::==*/)))))));
+  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) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ARangeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ARangeExpr___replace_child, 9188};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9188, LOCATE_parser_prod___ARangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ARangeExpr___replace_child, 9190); nit_exit(1);}
+  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);}
   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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ARangeExpr___replace_child, 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, 9194); 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*/;
@@ -17377,13 +17383,13 @@ void parser_prod___ARangeExpr___replace_child(val_t  self, val_t  param0, val_t
     goto return_label799;
   }
   variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ARangeExpr___replace_child, 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, 9204); 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*/;
@@ -17395,19 +17401,19 @@ 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, LOCATE_parser_prod___ARangeExpr___visit_all, 9213};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9213, LOCATE_parser_prod___ARangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -17416,19 +17422,19 @@ 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, LOCATE_parser_prod___ARangeExpr___visit_all_reverse, 9223};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9223, LOCATE_parser_prod___ARangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -17437,35 +17443,35 @@ 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, LOCATE_parser_prod___ACrangeExpr___n_expr__eq, 9234};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9234, LOCATE_parser_prod___ACrangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACrangeExpr___n_expr2__eq, 9241};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9241, LOCATE_parser_prod___ACrangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACrangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACrangeExpr___empty_init, 9249};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9249, LOCATE_parser_prod___ACrangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -17474,7 +17480,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, LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr, 9251};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9251, LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17483,55 +17489,55 @@ void parser_prod___ACrangeExpr___init_acrangeexpr(val_t  self, val_t  param0, va
   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*/;
-  ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACrangeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACrangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACrangeExpr___replace_child, 9266};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9266, LOCATE_parser_prod___ACrangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ACrangeExpr___replace_child, 9268); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACrangeExpr___replace_child, 9272); nit_exit(1);}
-      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label806;
   }
-  variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACrangeExpr___replace_child, 9282); nit_exit(1);}
-      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label806;
   }
@@ -17540,77 +17546,77 @@ 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, LOCATE_parser_prod___ACrangeExpr___visit_all, 9291};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9291, LOCATE_parser_prod___ACrangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACrangeExpr___visit_all_reverse, 9301};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9301, LOCATE_parser_prod___ACrangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ACrangeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ACrangeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrangeExpr___n_expr__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrangeExpr___n_expr__eq, 9312};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9312, LOCATE_parser_prod___AOrangeExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrangeExpr___n_expr2__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrangeExpr___n_expr2__eq, 9319};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9319, LOCATE_parser_prod___AOrangeExpr___n_expr2__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrangeExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrangeExpr___empty_init, 9327};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9327, LOCATE_parser_prod___AOrangeExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -17619,7 +17625,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, LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr, 9329};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9329, LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17628,55 +17634,55 @@ void parser_prod___AOrangeExpr___init_aorangeexpr(val_t  self, val_t  param0, va
   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*/;
-  ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
-  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*n_expr2*/;
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_expr2*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_expr2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_expr2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_expr2*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_expr2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_expr2*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_expr2*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AOrangeExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrangeExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrangeExpr___replace_child, 9344};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9344, LOCATE_parser_prod___AOrangeExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AOrangeExpr___replace_child, 9346); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AOrangeExpr___replace_child, 9350); nit_exit(1);}
-      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label813;
   }
-  variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))));
+  variable2 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AOrangeExpr___replace_child, 9360); nit_exit(1);}
-      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/ =  NIT_NULL /*null*/;
     }
     goto return_label813;
   }
@@ -17685,49 +17691,49 @@ 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, LOCATE_parser_prod___AOrangeExpr___visit_all, 9369};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9369, LOCATE_parser_prod___AOrangeExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AOrangeExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AOrangeExpr___visit_all_reverse, 9379};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9379, LOCATE_parser_prod___AOrangeExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*AOrangeExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr( self) /*ARangeExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
-  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
+  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 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*AOrangeExpr::_n_expr2*/;
+    variable1 = ATTR_parser_nodes___ARangeExpr____n_expr2( self) /*ARangeExpr::_n_expr2*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AArrayExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AArrayExpr___empty_init, 9391};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9391, LOCATE_parser_prod___AArrayExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i] = 1;
@@ -17735,7 +17741,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, LOCATE_parser_prod___AArrayExpr___init_aarrayexpr, 9393};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9393, LOCATE_parser_prod___AArrayExpr___init_aarrayexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -17743,18 +17749,18 @@ void parser_prod___AArrayExpr___init_aarrayexpr(val_t  self, val_t  param0, int*
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AArrayExpr].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[PExpr]*/
+  variable1 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___AArrayExpr___init_aarrayexpr, 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, 9399); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PExpr::parent=*/;
+    ((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=*/;
     continue_818: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -17764,7 +17770,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, LOCATE_parser_prod___AArrayExpr___replace_child, 9405};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9405, LOCATE_parser_prod___AArrayExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17773,11 +17779,11 @@ void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AArrayExpr___replace_child, 9407); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -17786,15 +17792,15 @@ void parser_prod___AArrayExpr___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AArrayExpr___replace_child, 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, 9411); 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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AArrayExpr____n_exprs( self) /*AArrayExpr::_n_exprs*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -17810,7 +17816,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, LOCATE_parser_prod___AArrayExpr___visit_all, 9422};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9422, LOCATE_parser_prod___AArrayExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -17831,7 +17837,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, LOCATE_parser_prod___AArrayExpr___visit_all_reverse, 9429};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9429, LOCATE_parser_prod___AArrayExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -17855,21 +17861,21 @@ 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, LOCATE_parser_prod___ASelfExpr___n_kwself__eq, 9441};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9441, LOCATE_parser_prod___ASelfExpr___n_kwself__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/ =  variable0 /*n*/;
-  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*/) /*TKwself::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwself::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASelfExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASelfExpr___empty_init, 9449};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9449, LOCATE_parser_prod___ASelfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i] = 1;
@@ -17877,39 +17883,39 @@ 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, LOCATE_parser_prod___ASelfExpr___init_aselfexpr, 9451};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9451, LOCATE_parser_prod___ASelfExpr___init_aselfexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i]) return;
   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*/) /*TKwself::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwself*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwself*/,  self) /*TKwself::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwself*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwself*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASelfExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ASelfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ASelfExpr___replace_child, 9461};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9461, LOCATE_parser_prod___ASelfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASelfExpr___replace_child, 9463); nit_exit(1);}
+  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);}
   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*/) /*TKwself::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ASelfExpr___replace_child, 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, 9467); 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*/;
@@ -17921,13 +17927,13 @@ 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, LOCATE_parser_prod___ASelfExpr___visit_all, 9476};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9476, LOCATE_parser_prod___ASelfExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
-  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*/) /*TKwself::==*/)))))));
+  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 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -17936,13 +17942,13 @@ 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, LOCATE_parser_prod___ASelfExpr___visit_all_reverse, 9483};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9483, LOCATE_parser_prod___ASelfExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
-  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*/) /*TKwself::==*/)))))));
+  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 = ATTR_parser_nodes___ASelfExpr____n_kwself( self) /*ASelfExpr::_n_kwself*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -17951,7 +17957,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, LOCATE_parser_prod___AImplicitSelfExpr___empty_init, 9492};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9492, LOCATE_parser_prod___AImplicitSelfExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -17960,7 +17966,7 @@ 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, LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr, 9494};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9494, LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr};
   trace.prev = tracehead; tracehead = &trace;
   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*/;
@@ -17969,20 +17975,20 @@ void parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(val_t  self, int*
   return;
 }
 void parser_prod___AImplicitSelfExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AImplicitSelfExpr___replace_child, 9498};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9498, LOCATE_parser_prod___AImplicitSelfExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AImplicitSelfExpr___replace_child, 9500); nit_exit(1);}
+  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);}
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AImplicitSelfExpr___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AImplicitSelfExpr___visit_all, 9503};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9503, LOCATE_parser_prod___AImplicitSelfExpr___visit_all};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -17990,7 +17996,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, LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse, 9507};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9507, LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -17998,21 +18004,21 @@ 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, LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq, 9512};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9512, LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/ =  variable0 /*n*/;
-  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*/) /*TKwtrue::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwtrue::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATrueExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATrueExpr___empty_init, 9520};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9520, LOCATE_parser_prod___ATrueExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i] = 1;
@@ -18020,39 +18026,39 @@ 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, LOCATE_parser_prod___ATrueExpr___init_atrueexpr, 9522};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9522, LOCATE_parser_prod___ATrueExpr___init_atrueexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i]) return;
   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*/) /*TKwtrue::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwtrue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwtrue*/,  self) /*TKwtrue::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwtrue*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwtrue*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ATrueExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ATrueExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ATrueExpr___replace_child, 9532};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9532, LOCATE_parser_prod___ATrueExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ATrueExpr___replace_child, 9534); nit_exit(1);}
+  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);}
   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*/) /*TKwtrue::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ATrueExpr___replace_child, 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, 9538); 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*/;
@@ -18064,13 +18070,13 @@ 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, LOCATE_parser_prod___ATrueExpr___visit_all, 9547};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9547, LOCATE_parser_prod___ATrueExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
-  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*/) /*TKwtrue::==*/)))))));
+  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 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18079,13 +18085,13 @@ 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, LOCATE_parser_prod___ATrueExpr___visit_all_reverse, 9554};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9554, LOCATE_parser_prod___ATrueExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
-  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*/) /*TKwtrue::==*/)))))));
+  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 = ATTR_parser_nodes___ATrueExpr____n_kwtrue( self) /*ATrueExpr::_n_kwtrue*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18094,21 +18100,21 @@ 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, LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq, 9562};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9562, LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/ =  variable0 /*n*/;
-  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*/) /*TKwfalse::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwfalse::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFalseExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AFalseExpr___empty_init, 9570};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9570, LOCATE_parser_prod___AFalseExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i] = 1;
@@ -18116,39 +18122,39 @@ 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, LOCATE_parser_prod___AFalseExpr___init_afalseexpr, 9572};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9572, LOCATE_parser_prod___AFalseExpr___init_afalseexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i]) return;
   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*/) /*TKwfalse::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfalse*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfalse*/,  self) /*TKwfalse::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwfalse*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwfalse*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFalseExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFalseExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AFalseExpr___replace_child, 9582};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9582, LOCATE_parser_prod___AFalseExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AFalseExpr___replace_child, 9584); nit_exit(1);}
+  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);}
   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*/) /*TKwfalse::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AFalseExpr___replace_child, 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, 9588); 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*/;
@@ -18160,13 +18166,13 @@ 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, LOCATE_parser_prod___AFalseExpr___visit_all, 9597};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9597, LOCATE_parser_prod___AFalseExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
-  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*/) /*TKwfalse::==*/)))))));
+  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 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18175,13 +18181,13 @@ 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, LOCATE_parser_prod___AFalseExpr___visit_all_reverse, 9604};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9604, LOCATE_parser_prod___AFalseExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
-  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*/) /*TKwfalse::==*/)))))));
+  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 = ATTR_parser_nodes___AFalseExpr____n_kwfalse( self) /*AFalseExpr::_n_kwfalse*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18190,21 +18196,21 @@ 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, LOCATE_parser_prod___ANullExpr___n_kwnull__eq, 9612};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9612, LOCATE_parser_prod___ANullExpr___n_kwnull__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/ =  variable0 /*n*/;
-  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*/) /*TKwnull::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TKwnull::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANullExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANullExpr___empty_init, 9620};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9620, LOCATE_parser_prod___ANullExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i] = 1;
@@ -18212,39 +18218,39 @@ 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, LOCATE_parser_prod___ANullExpr___init_anullexpr, 9622};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9622, LOCATE_parser_prod___ANullExpr___init_anullexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i]) return;
   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*/) /*TKwnull::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnull*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnull*/,  self) /*TKwnull::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_kwnull*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_kwnull*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ANullExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ANullExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ANullExpr___replace_child, 9632};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9632, LOCATE_parser_prod___ANullExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ANullExpr___replace_child, 9634); nit_exit(1);}
+  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);}
   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*/) /*TKwnull::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ANullExpr___replace_child, 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, 9638); 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*/;
@@ -18256,13 +18262,13 @@ 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, LOCATE_parser_prod___ANullExpr___visit_all, 9647};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9647, LOCATE_parser_prod___ANullExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
-  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*/) /*TKwnull::==*/)))))));
+  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 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18271,13 +18277,13 @@ 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, LOCATE_parser_prod___ANullExpr___visit_all_reverse, 9654};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9654, LOCATE_parser_prod___ANullExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
-  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*/) /*TKwnull::==*/)))))));
+  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 = ATTR_parser_nodes___ANullExpr____n_kwnull( self) /*ANullExpr::_n_kwnull*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18286,21 +18292,21 @@ 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, LOCATE_parser_prod___AIntExpr___n_number__eq, 9662};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9662, LOCATE_parser_prod___AIntExpr___n_number__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/ =  variable0 /*n*/;
-  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*/) /*TNumber::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TNumber::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIntExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIntExpr___empty_init, 9670};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9670, LOCATE_parser_prod___AIntExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i] = 1;
@@ -18308,39 +18314,39 @@ 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, LOCATE_parser_prod___AIntExpr___init_aintexpr, 9672};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9672, LOCATE_parser_prod___AIntExpr___init_aintexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i]) return;
   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*/) /*TNumber::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_number*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_number*/,  self) /*TNumber::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_number*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_number*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AIntExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AIntExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AIntExpr___replace_child, 9682};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9682, LOCATE_parser_prod___AIntExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AIntExpr___replace_child, 9684); nit_exit(1);}
+  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);}
   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*/) /*TNumber::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AIntExpr___replace_child, 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, 9688); 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*/;
@@ -18352,13 +18358,13 @@ 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, LOCATE_parser_prod___AIntExpr___visit_all, 9697};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9697, LOCATE_parser_prod___AIntExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
-  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*/) /*TNumber::==*/)))))));
+  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 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18367,13 +18373,13 @@ 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, LOCATE_parser_prod___AIntExpr___visit_all_reverse, 9704};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9704, LOCATE_parser_prod___AIntExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
-  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*/) /*TNumber::==*/)))))));
+  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 = ATTR_parser_nodes___AIntExpr____n_number( self) /*AIntExpr::_n_number*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18382,21 +18388,21 @@ 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, LOCATE_parser_prod___AFloatExpr___n_float__eq, 9712};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9712, LOCATE_parser_prod___AFloatExpr___n_float__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/ =  variable0 /*n*/;
-  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*/) /*TFloat::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TFloat::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFloatExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AFloatExpr___empty_init, 9720};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9720, LOCATE_parser_prod___AFloatExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i] = 1;
@@ -18404,39 +18410,39 @@ 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, LOCATE_parser_prod___AFloatExpr___init_afloatexpr, 9722};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9722, LOCATE_parser_prod___AFloatExpr___init_afloatexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i]) return;
   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*/) /*TFloat::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_float*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_float*/,  self) /*TFloat::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_float*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_float*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AFloatExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AFloatExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AFloatExpr___replace_child, 9732};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9732, LOCATE_parser_prod___AFloatExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AFloatExpr___replace_child, 9734); nit_exit(1);}
+  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);}
   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*/) /*TFloat::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AFloatExpr___replace_child, 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, 9738); 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*/;
@@ -18448,13 +18454,13 @@ 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, LOCATE_parser_prod___AFloatExpr___visit_all, 9747};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9747, LOCATE_parser_prod___AFloatExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
-  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*/) /*TFloat::==*/)))))));
+  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 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18463,13 +18469,13 @@ 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, LOCATE_parser_prod___AFloatExpr___visit_all_reverse, 9754};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9754, LOCATE_parser_prod___AFloatExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
-  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*/) /*TFloat::==*/)))))));
+  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 = ATTR_parser_nodes___AFloatExpr____n_float( self) /*AFloatExpr::_n_float*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18478,21 +18484,21 @@ 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, LOCATE_parser_prod___ACharExpr___n_char__eq, 9762};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9762, LOCATE_parser_prod___ACharExpr___n_char__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/ =  variable0 /*n*/;
-  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*/) /*TChar::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TChar::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACharExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACharExpr___empty_init, 9770};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9770, LOCATE_parser_prod___ACharExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i] = 1;
@@ -18500,39 +18506,39 @@ 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, LOCATE_parser_prod___ACharExpr___init_acharexpr, 9772};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9772, LOCATE_parser_prod___ACharExpr___init_acharexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i]) return;
   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*/) /*TChar::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_char*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_char*/,  self) /*TChar::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_char*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_char*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ACharExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ACharExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ACharExpr___replace_child, 9782};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9782, LOCATE_parser_prod___ACharExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ACharExpr___replace_child, 9784); nit_exit(1);}
+  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);}
   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*/) /*TChar::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___ACharExpr___replace_child, 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, 9788); 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*/;
@@ -18544,13 +18550,13 @@ 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, LOCATE_parser_prod___ACharExpr___visit_all, 9797};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9797, LOCATE_parser_prod___ACharExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
-  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*/) /*TChar::==*/)))))));
+  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 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18559,13 +18565,13 @@ 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, LOCATE_parser_prod___ACharExpr___visit_all_reverse, 9804};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9804, LOCATE_parser_prod___ACharExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
-  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*/) /*TChar::==*/)))))));
+  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 = ATTR_parser_nodes___ACharExpr____n_char( self) /*ACharExpr::_n_char*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18574,21 +18580,21 @@ 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, LOCATE_parser_prod___AStringExpr___n_string__eq, 9812};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9812, LOCATE_parser_prod___AStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/ =  variable0 /*n*/;
-  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*/) /*TString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStringExpr___empty_init, 9820};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9820, LOCATE_parser_prod___AStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i] = 1;
@@ -18596,39 +18602,39 @@ 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, LOCATE_parser_prod___AStringExpr___init_astringexpr, 9822};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9822, LOCATE_parser_prod___AStringExpr___init_astringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i]) return;
   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*/) /*TString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*TString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStringExpr___replace_child, 9832};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9832, LOCATE_parser_prod___AStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AStringExpr___replace_child, 9834); nit_exit(1);}
+  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);}
   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*/) /*TString::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStringExpr___replace_child, 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, 9838); 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*/;
@@ -18640,13 +18646,13 @@ 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, LOCATE_parser_prod___AStringExpr___visit_all, 9847};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9847, LOCATE_parser_prod___AStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
-  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*/) /*TString::==*/)))))));
+  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 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18655,13 +18661,13 @@ 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, LOCATE_parser_prod___AStringExpr___visit_all_reverse, 9854};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9854, LOCATE_parser_prod___AStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
-  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*/) /*TString::==*/)))))));
+  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 = ATTR_parser_nodes___AStringExpr____n_string( self) /*AStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18670,21 +18676,21 @@ 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, LOCATE_parser_prod___AStartStringExpr___n_string__eq, 9862};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9862, LOCATE_parser_prod___AStartStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/ =  variable0 /*n*/;
-  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*/) /*TStartString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TStartString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStartStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStartStringExpr___empty_init, 9870};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9870, LOCATE_parser_prod___AStartStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i] = 1;
@@ -18692,39 +18698,39 @@ 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, LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr, 9872};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9872, LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i]) return;
   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*/) /*TStartString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*TStartString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AStartStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AStartStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AStartStringExpr___replace_child, 9882};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9882, LOCATE_parser_prod___AStartStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AStartStringExpr___replace_child, 9884); nit_exit(1);}
+  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);}
   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*/) /*TStartString::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AStartStringExpr___replace_child, 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, 9888); 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*/;
@@ -18736,13 +18742,13 @@ 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, LOCATE_parser_prod___AStartStringExpr___visit_all, 9897};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9897, LOCATE_parser_prod___AStartStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
-  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*/) /*TStartString::==*/)))))));
+  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 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18751,13 +18757,13 @@ 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, LOCATE_parser_prod___AStartStringExpr___visit_all_reverse, 9904};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9904, LOCATE_parser_prod___AStartStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
-  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*/) /*TStartString::==*/)))))));
+  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 = ATTR_parser_nodes___AStartStringExpr____n_string( self) /*AStartStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18766,21 +18772,21 @@ 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, LOCATE_parser_prod___AMidStringExpr___n_string__eq, 9912};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9912, LOCATE_parser_prod___AMidStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/ =  variable0 /*n*/;
-  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*/) /*TMidString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TMidString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMidStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMidStringExpr___empty_init, 9920};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9920, LOCATE_parser_prod___AMidStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i] = 1;
@@ -18788,39 +18794,39 @@ 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, LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr, 9922};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9922, LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i]) return;
   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*/) /*TMidString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*TMidString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMidStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMidStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMidStringExpr___replace_child, 9932};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9932, LOCATE_parser_prod___AMidStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AMidStringExpr___replace_child, 9934); nit_exit(1);}
+  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);}
   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*/) /*TMidString::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMidStringExpr___replace_child, 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, 9938); 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*/;
@@ -18832,13 +18838,13 @@ 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, LOCATE_parser_prod___AMidStringExpr___visit_all, 9947};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9947, LOCATE_parser_prod___AMidStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
-  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*/) /*TMidString::==*/)))))));
+  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 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18847,13 +18853,13 @@ 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, LOCATE_parser_prod___AMidStringExpr___visit_all_reverse, 9954};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9954, LOCATE_parser_prod___AMidStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
-  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*/) /*TMidString::==*/)))))));
+  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 = ATTR_parser_nodes___AMidStringExpr____n_string( self) /*AMidStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18862,21 +18868,21 @@ 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, LOCATE_parser_prod___AEndStringExpr___n_string__eq, 9962};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9962, LOCATE_parser_prod___AEndStringExpr___n_string__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/ =  variable0 /*n*/;
-  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*/) /*TEndString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TEndString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEndStringExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEndStringExpr___empty_init, 9970};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9970, LOCATE_parser_prod___AEndStringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i] = 1;
@@ -18884,39 +18890,39 @@ 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, LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr, 9972};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9972, LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i]) return;
   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*/) /*TEndString::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*TEndString::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_string*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_string*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AEndStringExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AEndStringExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AEndStringExpr___replace_child, 9982};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9982, LOCATE_parser_prod___AEndStringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AEndStringExpr___replace_child, 9984); nit_exit(1);}
+  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);}
   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*/) /*TEndString::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AEndStringExpr___replace_child, 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, 9988); 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*/;
@@ -18928,13 +18934,13 @@ 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, LOCATE_parser_prod___AEndStringExpr___visit_all, 9997};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 9997, LOCATE_parser_prod___AEndStringExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
-  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*/) /*TEndString::==*/)))))));
+  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 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18943,13 +18949,13 @@ 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, LOCATE_parser_prod___AEndStringExpr___visit_all_reverse, 10004};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10004, LOCATE_parser_prod___AEndStringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
-  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*/) /*TEndString::==*/)))))));
+  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 = ATTR_parser_nodes___AEndStringExpr____n_string( self) /*AEndStringExpr::_n_string*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -18958,7 +18964,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, LOCATE_parser_prod___ASuperstringExpr___empty_init, 10013};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10013, LOCATE_parser_prod___ASuperstringExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i] = 1;
@@ -18966,7 +18972,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, LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr, 10015};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10015, LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -18974,18 +18980,18 @@ void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t  self, val_t
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ASuperstringExpr].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[PExpr]*/
+  variable1 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_exprs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_exprs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr, 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, 10021); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*PExpr::parent=*/;
+    ((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=*/;
     continue_898: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
@@ -18995,7 +19001,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, LOCATE_parser_prod___ASuperstringExpr___replace_child, 10027};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10027, LOCATE_parser_prod___ASuperstringExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19004,11 +19010,11 @@ void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0,
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ASuperstringExpr___replace_child, 10029); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -19017,15 +19023,15 @@ void parser_prod___ASuperstringExpr___replace_child(val_t  self, val_t  param0,
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*PExpr::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ASuperstringExpr___replace_child, 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, 10033); 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) /*PExpr::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___ASuperstringExpr____n_exprs( self) /*ASuperstringExpr::_n_exprs*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
@@ -19041,7 +19047,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, LOCATE_parser_prod___ASuperstringExpr___visit_all, 10044};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10044, LOCATE_parser_prod___ASuperstringExpr___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -19062,7 +19068,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, LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse, 10051};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10051, LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19086,21 +19092,21 @@ 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, LOCATE_parser_prod___AParExpr___n_expr__eq, 10063};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10063, LOCATE_parser_prod___AParExpr___n_expr__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/ =  variable0 /*n*/;
-  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*/) /*PExpr::==*/)))))));
+  ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParExpr___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AParExpr___empty_init, 10071};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10071, LOCATE_parser_prod___AParExpr___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i] = 1;
@@ -19108,42 +19114,42 @@ 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, LOCATE_parser_prod___AParExpr___init_aparexpr, 10073};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10073, LOCATE_parser_prod___AParExpr___init_aparexpr};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i]) return;
-  ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_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*/) /*PExpr::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PExpr::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AParExpr].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AParExpr___replace_child, 10083};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10083, LOCATE_parser_prod___AParExpr___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AParExpr___replace_child, 10085); nit_exit(1);}
-  variable2 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_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*/) /*PExpr::==*/)))));
+  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);}
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AParExpr___replace_child, 10089); nit_exit(1);}
-      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/ =  variable1 /*new_child*/;
+      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);}
+      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  variable1 /*new_child*/;
     } else { /*if*/
-      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/ =  NIT_NULL /*null*/;
+      ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/ =  NIT_NULL /*null*/;
     }
     goto return_label908;
   }
@@ -19152,51 +19158,241 @@ 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, LOCATE_parser_prod___AParExpr___visit_all, 10098};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10098, LOCATE_parser_prod___AParExpr___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AParExpr___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AParExpr___visit_all_reverse, 10105};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10105, LOCATE_parser_prod___AParExpr___visit_all_reverse};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AProxyExpr::_n_expr*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
+  }
+  tracehead = trace.prev;
+  return;
+}
+void parser_prod___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10113, LOCATE_parser_prod___AAsCastExpr___n_expr__eq};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/ =  variable0 /*n*/;
+  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*/
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
+  }
+  tracehead = trace.prev;
+  return;
+}
+void parser_prod___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10120, LOCATE_parser_prod___AAsCastExpr___n_kwas__eq};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  variable0 /*n*/;
+  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*/
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
+  }
+  tracehead = trace.prev;
+  return;
+}
+void parser_prod___AAsCastExpr___n_type__eq(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10127, LOCATE_parser_prod___AAsCastExpr___n_type__eq};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  variable0 /*n*/;
+  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*/
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
+  }
+  tracehead = trace.prev;
+  return;
+}
+void parser_prod___AAsCastExpr___empty_init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10135, LOCATE_parser_prod___AAsCastExpr___empty_init};
+  trace.prev = tracehead; tracehead = &trace;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i]) return;
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i] = 1;
+  tracehead = trace.prev;
+  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, LOCATE_parser_prod, 10137, LOCATE_parser_prod___AAsCastExpr___init_aascastexpr};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 =  param1;
+  variable2 =  param2;
+  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i]) return;
+  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*/
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_expr*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_expr*/,  self) /*PNode::parent=*/;
+  }
+  ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/ =  variable1 /*n_kwas*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_kwas*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_kwas*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwas*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_kwas*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_kwas*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_kwas*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable3)) { /*if*/
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_kwas*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_kwas*/,  self) /*PNode::parent=*/;
+  }
+  ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/ =  variable2 /*n_type*/;
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*n_type*/ ==  NIT_NULL /*null*/) || (( variable2 /*n_type*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*n_type*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*n_type*/,COLOR_kernel___Object_____eqeq))( variable2 /*n_type*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable3)) { /*if*/
+    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n_type*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n_type*/,  self) /*PNode::parent=*/;
+  }
+  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AAsCastExpr].i] = 1;
+  tracehead = trace.prev;
+  return;
+}
+void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t  param1) {
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10157, LOCATE_parser_prod___AAsCastExpr___replace_child};
   val_t variable0;
   val_t variable1;
+  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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);}
+  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*/
+    variable2 = 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(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);}
+      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*/;
+    }
+    goto return_label916;
+  }
+  variable2 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
+  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*/
+    variable2 = 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(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);}
+      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*/;
+    }
+    goto return_label916;
+  }
+  variable2 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
+  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*/
+    variable2 = 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(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);}
+      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*/;
+    }
+    goto return_label916;
+  }
+  return_label916: while(false);
+  tracehead = trace.prev;
+  return;
+}
+void parser_prod___AAsCastExpr___visit_all(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10192, LOCATE_parser_prod___AAsCastExpr___visit_all};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
+  }
+  variable1 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
+  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 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
+  }
+  variable1 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_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 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
+  }
+  tracehead = trace.prev;
+  return;
+}
+void parser_prod___AAsCastExpr___visit_all_reverse(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10205, LOCATE_parser_prod___AAsCastExpr___visit_all_reverse};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
+  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 = ATTR_parser_nodes___AAsCastExpr____n_expr( self) /*AAsCastExpr::_n_expr*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
+  }
+  variable1 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
+  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 = ATTR_parser_nodes___AAsCastExpr____n_kwas( self) /*AAsCastExpr::_n_kwas*/;
+    ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
+  }
+  variable1 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_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 = ATTR_parser_nodes___AProxyExpr____n_expr( self) /*AParExpr::_n_expr*/;
+    variable1 = ATTR_parser_nodes___AAsCastExpr____n_type( self) /*AAsCastExpr::_n_type*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq, 10113};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10219, LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/ =  variable0 /*n*/;
-  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*/) /*TPluseq::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TPluseq::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusAssignOp___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusAssignOp___empty_init, 10121};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10227, LOCATE_parser_prod___APlusAssignOp___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i] = 1;
@@ -19204,57 +19400,57 @@ 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, LOCATE_parser_prod___APlusAssignOp___init_aplusassignop, 10123};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10229, LOCATE_parser_prod___APlusAssignOp___init_aplusassignop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i]) return;
   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*/) /*TPluseq::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_pluseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_pluseq*/,  self) /*TPluseq::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_pluseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_pluseq*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_APlusAssignOp].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusAssignOp___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusAssignOp___replace_child, 10133};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10239, LOCATE_parser_prod___APlusAssignOp___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___APlusAssignOp___replace_child, 10135); nit_exit(1);}
+  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);}
   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*/) /*TPluseq::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___APlusAssignOp___replace_child, 10139); 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, 10245); 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*/;
     }
-    goto return_label914;
+    goto return_label922;
   }
-  return_label914: while(false);
+  return_label922: while(false);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___APlusAssignOp___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___APlusAssignOp___visit_all, 10148};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10254, LOCATE_parser_prod___APlusAssignOp___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
-  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*/) /*TPluseq::==*/)))))));
+  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 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -19263,13 +19459,13 @@ 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, LOCATE_parser_prod___APlusAssignOp___visit_all_reverse, 10155};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10261, LOCATE_parser_prod___APlusAssignOp___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
-  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*/) /*TPluseq::==*/)))))));
+  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 = ATTR_parser_nodes___APlusAssignOp____n_pluseq( self) /*APlusAssignOp::_n_pluseq*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -19278,21 +19474,21 @@ 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, LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq, 10163};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10269, LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/ =  variable0 /*n*/;
-  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*/) /*TMinuseq::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TMinuseq::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusAssignOp___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusAssignOp___empty_init, 10171};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10277, LOCATE_parser_prod___AMinusAssignOp___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i] = 1;
@@ -19300,57 +19496,57 @@ 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, LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop, 10173};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10279, LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i]) return;
   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*/) /*TMinuseq::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minuseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minuseq*/,  self) /*TMinuseq::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n_minuseq*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n_minuseq*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AMinusAssignOp].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusAssignOp___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusAssignOp___replace_child, 10183};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10289, LOCATE_parser_prod___AMinusAssignOp___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AMinusAssignOp___replace_child, 10185); nit_exit(1);}
+  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);}
   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*/) /*TMinuseq::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AMinusAssignOp___replace_child, 10189); 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, 10295); 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*/;
     }
-    goto return_label920;
+    goto return_label928;
   }
-  return_label920: while(false);
+  return_label928: while(false);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AMinusAssignOp___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AMinusAssignOp___visit_all, 10198};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10304, LOCATE_parser_prod___AMinusAssignOp___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
-  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*/) /*TMinuseq::==*/)))))));
+  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 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -19359,13 +19555,13 @@ 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, LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse, 10205};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10311, LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
-  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*/) /*TMinuseq::==*/)))))));
+  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 = ATTR_parser_nodes___AMinusAssignOp____n_minuseq( self) /*AMinusAssignOp::_n_minuseq*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -19374,21 +19570,21 @@ 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, LOCATE_parser_prod___AQualified___n_classid__eq, 10213};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10319, LOCATE_parser_prod___AQualified___n_classid__eq};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  variable0 /*n*/;
-  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*/) /*TClassid::==*/)))))));
+  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*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable0 /*n*/,  self) /*PNode::parent=*/;
   }
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AQualified___empty_init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AQualified___empty_init, 10221};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10327, LOCATE_parser_prod___AQualified___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i] = 1;
@@ -19396,7 +19592,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, LOCATE_parser_prod___AQualified___init_aqualified, 10223};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10329, LOCATE_parser_prod___AQualified___init_aqualified};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19406,33 +19602,33 @@ 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[TId]*/
+  variable2 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_id*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_id*/) /*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 = 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 (%s: %d)\n", "", LOCATE_parser_prod___AQualified___init_aqualified, 10230); 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, 10336); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable3 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable3 /*n*/,  self) /*TId::parent=*/;
-    continue_926: while(0);
+    ((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=*/;
+    continue_934: while(0);
     ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
   }
-  break_926: while(0);
+  break_934: while(0);
   ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/ =  variable1 /*n_classid*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_classid*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_classid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_classid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_classid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_classid*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_classid*/,  NIT_NULL /*null*/) /*TClassid::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*n_classid*/ ==  NIT_NULL /*null*/) || (( variable1 /*n_classid*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*n_classid*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*n_classid*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*n_classid*/,COLOR_kernel___Object_____eqeq))( variable1 /*n_classid*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
-    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_classid*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_classid*/,  self) /*TClassid::parent=*/;
+    ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*n_classid*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*n_classid*/,  self) /*PNode::parent=*/;
   }
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AQualified].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AQualified___replace_child, 10240};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10346, LOCATE_parser_prod___AQualified___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19441,11 +19637,11 @@ void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___AQualified___replace_child, 10242); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -19454,45 +19650,45 @@ void parser_prod___AQualified___replace_child(val_t  self, val_t  param0, val_t
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*TId::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___AQualified___replace_child, 10246); 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, 10352); 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) /*TId::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___AQualified____n_id( self) /*AQualified::_n_id*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
-      goto return_label927;
+      goto return_label935;
     }
-    continue_928: while(0);
+    continue_936: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
-  break_928: while(0);
+  break_936: while(0);
   variable2 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
-  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*/) /*TClassid::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))))));
+    variable2 = 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(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 (%s: %d)\n", "", LOCATE_parser_prod___AQualified___replace_child, 10258); 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, 10364); 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*/;
     }
-    goto return_label927;
+    goto return_label935;
   }
-  return_label927: while(false);
+  return_label935: while(false);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___AQualified___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___AQualified___visit_all, 10267};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10373, LOCATE_parser_prod___AQualified___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -19505,12 +19701,12 @@ void parser_prod___AQualified___visit_all(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*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/,  variable2 /*n*/) /*Visitor::visit*/;
-    continue_930: while(0);
+    continue_938: while(0);
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
-  break_930: while(0);
+  break_938: while(0);
   variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -19519,7 +19715,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, LOCATE_parser_prod___AQualified___visit_all_reverse, 10277};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10383, LOCATE_parser_prod___AQualified___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19536,11 +19732,11 @@ void parser_prod___AQualified___visit_all_reverse(val_t  self, val_t  param0) {
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
     variable1 = variable2 /*i=*/;
-    continue_932: while(0);
+    continue_940: while(0);
   }
-  break_932: while(0);
+  break_940: while(0);
   variable1 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
-  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*/) /*TClassid::==*/)))))));
+  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 = ATTR_parser_nodes___AQualified____n_classid( self) /*AQualified::_n_classid*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -19549,7 +19745,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, LOCATE_parser_prod___ADoc___empty_init, 10293};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10399, LOCATE_parser_prod___ADoc___empty_init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i] = 1;
@@ -19557,7 +19753,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, LOCATE_parser_prod___ADoc___init_adoc, 10295};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10401, LOCATE_parser_prod___ADoc___init_adoc};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -19565,28 +19761,28 @@ void parser_prod___ADoc___init_adoc(val_t  self, val_t  param0, int* init_table)
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i]) return;
-  variable1 = NEW_list___List___init(); /*new List[TComment]*/
+  variable1 = NEW_list___List___init(); /*new List[E]*/
   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*/) /*Array::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( variable0 /*n_comment*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*n_comment*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     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 (%s: %d)\n", "", LOCATE_parser_prod___ADoc___init_adoc, 10301); 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, 10407); 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*/) /*List::add*/;
-    ((parser_prod___PNode___parent__eq_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___parent__eq))( variable2 /*n*/,  self) /*TComment::parent=*/;
-    continue_935: while(0);
+    ((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=*/;
+    continue_943: while(0);
     ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
   }
-  break_935: while(0);
+  break_943: while(0);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ADoc].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADoc___replace_child, 10307};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10413, LOCATE_parser_prod___ADoc___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19595,11 +19791,11 @@ void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___ADoc___replace_child, 10309); nit_exit(1);}
+  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);}
   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[Int]*/
+  variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[E]*/
   variable2 = variable3;
   variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
   while (true) { /*for*/
@@ -19608,31 +19804,31 @@ void parser_prod___ADoc___replace_child(val_t  self, val_t  param0, val_t  param
     variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
     variable4 = ((list___List_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4,  variable3 /*i*/) /*List::[]*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*TComment::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*old_child*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*old_child*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*old_child*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
-      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*/) /*PNode::==*/)))))));
+      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 (%s: %d)\n", "", LOCATE_parser_prod___ADoc___replace_child, 10313); 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, 10419); 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) /*TComment::parent=*/;
+        ((parser_prod___PNode___parent__eq_t)CALL( variable1 /*new_child*/,COLOR_parser_prod___PNode___parent__eq))( variable1 /*new_child*/,  self) /*PNode::parent=*/;
       } else { /*if*/
         variable4 = ATTR_parser_nodes___ADoc____n_comment( self) /*ADoc::_n_comment*/;
         ((list___List___remove_at_t)CALL(variable4,COLOR_abstract_collection___Map___remove_at))(variable4,  variable3 /*i*/) /*List::remove_at*/;
       }
-      goto return_label936;
+      goto return_label944;
     }
-    continue_937: while(0);
+    continue_945: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
-  break_937: while(0);
-  return_label936: while(false);
+  break_945: while(0);
+  return_label944: while(false);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoc___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADoc___visit_all, 10324};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10430, LOCATE_parser_prod___ADoc___visit_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -19645,15 +19841,15 @@ void parser_prod___ADoc___visit_all(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*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/,  variable2 /*n*/) /*Visitor::visit*/;
-    continue_939: while(0);
+    continue_947: while(0);
     ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
   }
-  break_939: while(0);
+  break_947: while(0);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___ADoc___visit_all_reverse(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___ADoc___visit_all_reverse, 10331};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10437, LOCATE_parser_prod___ADoc___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -19670,14 +19866,14 @@ void parser_prod___ADoc___visit_all_reverse(val_t  self, val_t  param0) {
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*Visitor::visit*/;
     variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)-UNTAG_Int( TAG_Int(1)));
     variable1 = variable2 /*i=*/;
-    continue_941: while(0);
+    continue_949: while(0);
   }
-  break_941: while(0);
+  break_949: while(0);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___Start___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Start___init, 10344};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10450, LOCATE_parser_prod___Start___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -19691,41 +19887,41 @@ 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, LOCATE_parser_prod___Start___replace_child, 10352};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10458, LOCATE_parser_prod___Start___replace_child};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_parser_prod___Start___replace_child, 10354); nit_exit(1);}
+  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);}
   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*/) /*PModule::==*/)))));
+  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*/
-    variable2 = 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*/) /*PNode::==*/)))));
+    variable2 = 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(variable2)) { /*if*/
     } 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 (%s: %d)\n", "", LOCATE_parser_prod___Start___replace_child, 10359); 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, 10465); 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=*/;
-    goto return_label943;
+    goto return_label951;
   }
-  return_label943: while(false);
+  return_label951: while(false);
   tracehead = trace.prev;
   return;
 }
 void parser_prod___Start___visit_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_parser_prod___Start___visit_all, 10367};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10473, LOCATE_parser_prod___Start___visit_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
-  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*/) /*PModule::==*/)))))));
+  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 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
@@ -19734,13 +19930,13 @@ 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, LOCATE_parser_prod___Start___visit_all_reverse, 10374};
+  struct trace_t trace = {NULL, LOCATE_parser_prod, 10480, LOCATE_parser_prod___Start___visit_all_reverse};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
-  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*/) /*PModule::==*/)))))));
+  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 = ATTR_parser_nodes___Start____n_base( self) /*Start::_n_base*/;
     ((parser_prod___Visitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable1) /*Visitor::visit*/;
index bada2c8..e9e8e5e 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires parser_prod. */
-#ifndef parser_prod_3_sep
-#define parser_prod_3_sep
+#ifndef parser_prod_2_sep
+#define parser_prod_2_sep
 #include "lexer._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Visitor[];
-#define LOCATE_parser_prod "parser_prod"
+#define LOCATE_parser_prod "./parser//parser_prod.nit"
 extern const int SFT_parser_prod[];
 #define COLOR_parser_prod___PNode____parent SFT_parser_prod[0]
 #define COLOR_parser_prod___PNode___parent SFT_parser_prod[1]
@@ -257,15 +257,17 @@ extern const int SFT_parser_prod[];
 #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___APlusAssignOp___empty_init SFT_parser_prod[250]
-#define COLOR_parser_prod___APlusAssignOp___init_aplusassignop SFT_parser_prod[251]
-#define COLOR_parser_prod___AMinusAssignOp___empty_init SFT_parser_prod[252]
-#define COLOR_parser_prod___AMinusAssignOp___init_aminusassignop SFT_parser_prod[253]
-#define COLOR_parser_prod___AQualified___empty_init SFT_parser_prod[254]
-#define COLOR_parser_prod___AQualified___init_aqualified SFT_parser_prod[255]
-#define COLOR_parser_prod___ADoc___empty_init SFT_parser_prod[256]
-#define COLOR_parser_prod___ADoc___init_adoc SFT_parser_prod[257]
-#define COLOR_parser_prod___Start___init SFT_parser_prod[258]
+#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 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);
@@ -3014,6 +3016,32 @@ void parser_prod___AParExpr___visit_all(val_t  self, val_t  param0);
 typedef void (* parser_prod___AParExpr___visit_all_reverse_t)(val_t  self, val_t  param0);
 void parser_prod___AParExpr___visit_all_reverse(val_t  self, val_t  param0);
 #define LOCATE_parser_prod___AParExpr___visit_all_reverse "parser_prod::AParExpr::(parser_prod::PNode::visit_all_reverse)"
+typedef void (* parser_prod___AAsCastExpr___n_expr__eq_t)(val_t  self, val_t  param0);
+void parser_prod___AAsCastExpr___n_expr__eq(val_t  self, val_t  param0);
+#define LOCATE_parser_prod___AAsCastExpr___n_expr__eq "parser_prod::AAsCastExpr::(parser_nodes::AAsCastExpr::n_expr=)"
+typedef void (* parser_prod___AAsCastExpr___n_kwas__eq_t)(val_t  self, val_t  param0);
+void parser_prod___AAsCastExpr___n_kwas__eq(val_t  self, val_t  param0);
+#define LOCATE_parser_prod___AAsCastExpr___n_kwas__eq "parser_prod::AAsCastExpr::(parser_nodes::AAsCastExpr::n_kwas=)"
+typedef void (* parser_prod___AAsCastExpr___n_type__eq_t)(val_t  self, val_t  param0);
+void parser_prod___AAsCastExpr___n_type__eq(val_t  self, val_t  param0);
+#define LOCATE_parser_prod___AAsCastExpr___n_type__eq "parser_prod::AAsCastExpr::(parser_nodes::AAsCastExpr::n_type=)"
+typedef void (* parser_prod___AAsCastExpr___empty_init_t)(val_t  self, int* init_table);
+void parser_prod___AAsCastExpr___empty_init(val_t  self, int* init_table);
+val_t NEW_parser_prod___AAsCastExpr___empty_init();
+#define LOCATE_parser_prod___AAsCastExpr___empty_init "parser_prod::AAsCastExpr::empty_init"
+typedef void (* parser_prod___AAsCastExpr___init_aascastexpr_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+void parser_prod___AAsCastExpr___init_aascastexpr(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
+val_t NEW_parser_prod___AAsCastExpr___init_aascastexpr(val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_parser_prod___AAsCastExpr___init_aascastexpr "parser_prod::AAsCastExpr::init_aascastexpr"
+typedef void (* parser_prod___AAsCastExpr___replace_child_t)(val_t  self, val_t  param0, val_t  param1);
+void parser_prod___AAsCastExpr___replace_child(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_parser_prod___AAsCastExpr___replace_child "parser_prod::AAsCastExpr::(parser_prod::PNode::replace_child)"
+typedef void (* parser_prod___AAsCastExpr___visit_all_t)(val_t  self, val_t  param0);
+void parser_prod___AAsCastExpr___visit_all(val_t  self, val_t  param0);
+#define LOCATE_parser_prod___AAsCastExpr___visit_all "parser_prod::AAsCastExpr::(parser_prod::PNode::visit_all)"
+typedef void (* parser_prod___AAsCastExpr___visit_all_reverse_t)(val_t  self, val_t  param0);
+void parser_prod___AAsCastExpr___visit_all_reverse(val_t  self, val_t  param0);
+#define LOCATE_parser_prod___AAsCastExpr___visit_all_reverse "parser_prod::AAsCastExpr::(parser_prod::PNode::visit_all_reverse)"
 typedef void (* parser_prod___APlusAssignOp___n_pluseq__eq_t)(val_t  self, val_t  param0);
 void parser_prod___APlusAssignOp___n_pluseq__eq(val_t  self, val_t  param0);
 #define LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq "parser_prod::APlusAssignOp::(parser_nodes::APlusAssignOp::n_pluseq=)"
index bdcd051..864ae13 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module parser_tables. */
 #include "parser_tables._sep.h"
-void parser_tables___Parser___build_action_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___build_action_table, 8};
+void parser_tables___ParserTable___build_action_table(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8, LOCATE_parser_tables___ParserTable___build_action_table};
   val_t variable0;
   static val_t once_value_variable0_1; static int once_bool_variable0_1;
     val_t variable1;
@@ -1148,35068 +1148,35542 @@ void parser_tables___Parser___build_action_table(val_t  self) {
     val_t variable1142;
     val_t variable1143;
     val_t variable1144;
+    val_t variable1145;
+    val_t variable1146;
+    val_t variable1147;
+    val_t variable1148;
+    val_t variable1149;
+    val_t variable1150;
+    val_t variable1151;
+    val_t variable1152;
+    val_t variable1153;
+    val_t variable1154;
+    val_t variable1155;
+    val_t variable1156;
+    val_t variable1157;
+    val_t variable1158;
+    val_t variable1159;
+    val_t variable1160;
+    val_t variable1161;
+    val_t variable1162;
+    val_t variable1163;
+    val_t variable1164;
+    val_t variable1165;
   trace.prev = tracehead; tracehead = &trace;
   if (once_bool_variable0_1) variable0 = once_value_variable0_1;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1144)); /*new Array[Array[Int]]*/
-    variable1 = ((parser_tables___Parser___action_table_row1_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1))( self) /*Parser::action_table_row1*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-    variable2 = ((parser_tables___Parser___action_table_row2_t)CALL( self,COLOR_parser_tables___Parser___action_table_row2))( self) /*Parser::action_table_row2*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/;
-    variable3 = ((parser_tables___Parser___action_table_row3_t)CALL( self,COLOR_parser_tables___Parser___action_table_row3))( self) /*Parser::action_table_row3*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*Array::add*/;
-    variable4 = ((parser_tables___Parser___action_table_row4_t)CALL( self,COLOR_parser_tables___Parser___action_table_row4))( self) /*Parser::action_table_row4*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*Array::add*/;
-    variable5 = ((parser_tables___Parser___action_table_row5_t)CALL( self,COLOR_parser_tables___Parser___action_table_row5))( self) /*Parser::action_table_row5*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*Array::add*/;
-    variable6 = ((parser_tables___Parser___action_table_row6_t)CALL( self,COLOR_parser_tables___Parser___action_table_row6))( self) /*Parser::action_table_row6*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*Array::add*/;
-    variable7 = ((parser_tables___Parser___action_table_row7_t)CALL( self,COLOR_parser_tables___Parser___action_table_row7))( self) /*Parser::action_table_row7*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*Array::add*/;
-    variable8 = ((parser_tables___Parser___action_table_row8_t)CALL( self,COLOR_parser_tables___Parser___action_table_row8))( self) /*Parser::action_table_row8*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*Array::add*/;
-    variable9 = ((parser_tables___Parser___action_table_row9_t)CALL( self,COLOR_parser_tables___Parser___action_table_row9))( self) /*Parser::action_table_row9*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*Array::add*/;
-    variable10 = ((parser_tables___Parser___action_table_row10_t)CALL( self,COLOR_parser_tables___Parser___action_table_row10))( self) /*Parser::action_table_row10*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*Array::add*/;
-    variable11 = ((parser_tables___Parser___action_table_row11_t)CALL( self,COLOR_parser_tables___Parser___action_table_row11))( self) /*Parser::action_table_row11*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*Array::add*/;
-    variable12 = ((parser_tables___Parser___action_table_row12_t)CALL( self,COLOR_parser_tables___Parser___action_table_row12))( self) /*Parser::action_table_row12*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*Array::add*/;
-    variable13 = ((parser_tables___Parser___action_table_row13_t)CALL( self,COLOR_parser_tables___Parser___action_table_row13))( self) /*Parser::action_table_row13*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*Array::add*/;
-    variable14 = ((parser_tables___Parser___action_table_row14_t)CALL( self,COLOR_parser_tables___Parser___action_table_row14))( self) /*Parser::action_table_row14*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*Array::add*/;
-    variable15 = ((parser_tables___Parser___action_table_row15_t)CALL( self,COLOR_parser_tables___Parser___action_table_row15))( self) /*Parser::action_table_row15*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*Array::add*/;
-    variable16 = ((parser_tables___Parser___action_table_row16_t)CALL( self,COLOR_parser_tables___Parser___action_table_row16))( self) /*Parser::action_table_row16*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*Array::add*/;
-    variable17 = ((parser_tables___Parser___action_table_row17_t)CALL( self,COLOR_parser_tables___Parser___action_table_row17))( self) /*Parser::action_table_row17*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*Array::add*/;
-    variable18 = ((parser_tables___Parser___action_table_row18_t)CALL( self,COLOR_parser_tables___Parser___action_table_row18))( self) /*Parser::action_table_row18*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*Array::add*/;
-    variable19 = ((parser_tables___Parser___action_table_row19_t)CALL( self,COLOR_parser_tables___Parser___action_table_row19))( self) /*Parser::action_table_row19*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*Array::add*/;
-    variable20 = ((parser_tables___Parser___action_table_row20_t)CALL( self,COLOR_parser_tables___Parser___action_table_row20))( self) /*Parser::action_table_row20*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*Array::add*/;
-    variable21 = ((parser_tables___Parser___action_table_row21_t)CALL( self,COLOR_parser_tables___Parser___action_table_row21))( self) /*Parser::action_table_row21*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*Array::add*/;
-    variable22 = ((parser_tables___Parser___action_table_row22_t)CALL( self,COLOR_parser_tables___Parser___action_table_row22))( self) /*Parser::action_table_row22*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*Array::add*/;
-    variable23 = ((parser_tables___Parser___action_table_row23_t)CALL( self,COLOR_parser_tables___Parser___action_table_row23))( self) /*Parser::action_table_row23*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*Array::add*/;
-    variable24 = ((parser_tables___Parser___action_table_row24_t)CALL( self,COLOR_parser_tables___Parser___action_table_row24))( self) /*Parser::action_table_row24*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*Array::add*/;
-    variable25 = ((parser_tables___Parser___action_table_row25_t)CALL( self,COLOR_parser_tables___Parser___action_table_row25))( self) /*Parser::action_table_row25*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*Array::add*/;
-    variable26 = ((parser_tables___Parser___action_table_row26_t)CALL( self,COLOR_parser_tables___Parser___action_table_row26))( self) /*Parser::action_table_row26*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*Array::add*/;
-    variable27 = ((parser_tables___Parser___action_table_row27_t)CALL( self,COLOR_parser_tables___Parser___action_table_row27))( self) /*Parser::action_table_row27*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*Array::add*/;
-    variable28 = ((parser_tables___Parser___action_table_row28_t)CALL( self,COLOR_parser_tables___Parser___action_table_row28))( self) /*Parser::action_table_row28*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*Array::add*/;
-    variable29 = ((parser_tables___Parser___action_table_row29_t)CALL( self,COLOR_parser_tables___Parser___action_table_row29))( self) /*Parser::action_table_row29*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*Array::add*/;
-    variable30 = ((parser_tables___Parser___action_table_row30_t)CALL( self,COLOR_parser_tables___Parser___action_table_row30))( self) /*Parser::action_table_row30*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*Array::add*/;
-    variable31 = ((parser_tables___Parser___action_table_row31_t)CALL( self,COLOR_parser_tables___Parser___action_table_row31))( self) /*Parser::action_table_row31*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*Array::add*/;
-    variable32 = ((parser_tables___Parser___action_table_row32_t)CALL( self,COLOR_parser_tables___Parser___action_table_row32))( self) /*Parser::action_table_row32*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*Array::add*/;
-    variable33 = ((parser_tables___Parser___action_table_row33_t)CALL( self,COLOR_parser_tables___Parser___action_table_row33))( self) /*Parser::action_table_row33*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*Array::add*/;
-    variable34 = ((parser_tables___Parser___action_table_row34_t)CALL( self,COLOR_parser_tables___Parser___action_table_row34))( self) /*Parser::action_table_row34*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*Array::add*/;
-    variable35 = ((parser_tables___Parser___action_table_row35_t)CALL( self,COLOR_parser_tables___Parser___action_table_row35))( self) /*Parser::action_table_row35*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*Array::add*/;
-    variable36 = ((parser_tables___Parser___action_table_row36_t)CALL( self,COLOR_parser_tables___Parser___action_table_row36))( self) /*Parser::action_table_row36*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*Array::add*/;
-    variable37 = ((parser_tables___Parser___action_table_row37_t)CALL( self,COLOR_parser_tables___Parser___action_table_row37))( self) /*Parser::action_table_row37*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*Array::add*/;
-    variable38 = ((parser_tables___Parser___action_table_row38_t)CALL( self,COLOR_parser_tables___Parser___action_table_row38))( self) /*Parser::action_table_row38*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*Array::add*/;
-    variable39 = ((parser_tables___Parser___action_table_row39_t)CALL( self,COLOR_parser_tables___Parser___action_table_row39))( self) /*Parser::action_table_row39*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*Array::add*/;
-    variable40 = ((parser_tables___Parser___action_table_row40_t)CALL( self,COLOR_parser_tables___Parser___action_table_row40))( self) /*Parser::action_table_row40*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*Array::add*/;
-    variable41 = ((parser_tables___Parser___action_table_row41_t)CALL( self,COLOR_parser_tables___Parser___action_table_row41))( self) /*Parser::action_table_row41*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*Array::add*/;
-    variable42 = ((parser_tables___Parser___action_table_row42_t)CALL( self,COLOR_parser_tables___Parser___action_table_row42))( self) /*Parser::action_table_row42*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*Array::add*/;
-    variable43 = ((parser_tables___Parser___action_table_row43_t)CALL( self,COLOR_parser_tables___Parser___action_table_row43))( self) /*Parser::action_table_row43*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*Array::add*/;
-    variable44 = ((parser_tables___Parser___action_table_row44_t)CALL( self,COLOR_parser_tables___Parser___action_table_row44))( self) /*Parser::action_table_row44*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*Array::add*/;
-    variable45 = ((parser_tables___Parser___action_table_row45_t)CALL( self,COLOR_parser_tables___Parser___action_table_row45))( self) /*Parser::action_table_row45*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*Array::add*/;
-    variable46 = ((parser_tables___Parser___action_table_row46_t)CALL( self,COLOR_parser_tables___Parser___action_table_row46))( self) /*Parser::action_table_row46*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*Array::add*/;
-    variable47 = ((parser_tables___Parser___action_table_row47_t)CALL( self,COLOR_parser_tables___Parser___action_table_row47))( self) /*Parser::action_table_row47*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*Array::add*/;
-    variable48 = ((parser_tables___Parser___action_table_row48_t)CALL( self,COLOR_parser_tables___Parser___action_table_row48))( self) /*Parser::action_table_row48*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*Array::add*/;
-    variable49 = ((parser_tables___Parser___action_table_row49_t)CALL( self,COLOR_parser_tables___Parser___action_table_row49))( self) /*Parser::action_table_row49*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*Array::add*/;
-    variable50 = ((parser_tables___Parser___action_table_row50_t)CALL( self,COLOR_parser_tables___Parser___action_table_row50))( self) /*Parser::action_table_row50*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*Array::add*/;
-    variable51 = ((parser_tables___Parser___action_table_row51_t)CALL( self,COLOR_parser_tables___Parser___action_table_row51))( self) /*Parser::action_table_row51*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*Array::add*/;
-    variable52 = ((parser_tables___Parser___action_table_row52_t)CALL( self,COLOR_parser_tables___Parser___action_table_row52))( self) /*Parser::action_table_row52*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*Array::add*/;
-    variable53 = ((parser_tables___Parser___action_table_row53_t)CALL( self,COLOR_parser_tables___Parser___action_table_row53))( self) /*Parser::action_table_row53*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*Array::add*/;
-    variable54 = ((parser_tables___Parser___action_table_row54_t)CALL( self,COLOR_parser_tables___Parser___action_table_row54))( self) /*Parser::action_table_row54*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*Array::add*/;
-    variable55 = ((parser_tables___Parser___action_table_row55_t)CALL( self,COLOR_parser_tables___Parser___action_table_row55))( self) /*Parser::action_table_row55*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*Array::add*/;
-    variable56 = ((parser_tables___Parser___action_table_row56_t)CALL( self,COLOR_parser_tables___Parser___action_table_row56))( self) /*Parser::action_table_row56*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*Array::add*/;
-    variable57 = ((parser_tables___Parser___action_table_row57_t)CALL( self,COLOR_parser_tables___Parser___action_table_row57))( self) /*Parser::action_table_row57*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*Array::add*/;
-    variable58 = ((parser_tables___Parser___action_table_row58_t)CALL( self,COLOR_parser_tables___Parser___action_table_row58))( self) /*Parser::action_table_row58*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*Array::add*/;
-    variable59 = ((parser_tables___Parser___action_table_row59_t)CALL( self,COLOR_parser_tables___Parser___action_table_row59))( self) /*Parser::action_table_row59*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*Array::add*/;
-    variable60 = ((parser_tables___Parser___action_table_row60_t)CALL( self,COLOR_parser_tables___Parser___action_table_row60))( self) /*Parser::action_table_row60*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*Array::add*/;
-    variable61 = ((parser_tables___Parser___action_table_row61_t)CALL( self,COLOR_parser_tables___Parser___action_table_row61))( self) /*Parser::action_table_row61*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*Array::add*/;
-    variable62 = ((parser_tables___Parser___action_table_row62_t)CALL( self,COLOR_parser_tables___Parser___action_table_row62))( self) /*Parser::action_table_row62*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*Array::add*/;
-    variable63 = ((parser_tables___Parser___action_table_row63_t)CALL( self,COLOR_parser_tables___Parser___action_table_row63))( self) /*Parser::action_table_row63*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*Array::add*/;
-    variable64 = ((parser_tables___Parser___action_table_row64_t)CALL( self,COLOR_parser_tables___Parser___action_table_row64))( self) /*Parser::action_table_row64*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*Array::add*/;
-    variable65 = ((parser_tables___Parser___action_table_row65_t)CALL( self,COLOR_parser_tables___Parser___action_table_row65))( self) /*Parser::action_table_row65*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*Array::add*/;
-    variable66 = ((parser_tables___Parser___action_table_row66_t)CALL( self,COLOR_parser_tables___Parser___action_table_row66))( self) /*Parser::action_table_row66*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*Array::add*/;
-    variable67 = ((parser_tables___Parser___action_table_row67_t)CALL( self,COLOR_parser_tables___Parser___action_table_row67))( self) /*Parser::action_table_row67*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*Array::add*/;
-    variable68 = ((parser_tables___Parser___action_table_row68_t)CALL( self,COLOR_parser_tables___Parser___action_table_row68))( self) /*Parser::action_table_row68*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*Array::add*/;
-    variable69 = ((parser_tables___Parser___action_table_row69_t)CALL( self,COLOR_parser_tables___Parser___action_table_row69))( self) /*Parser::action_table_row69*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*Array::add*/;
-    variable70 = ((parser_tables___Parser___action_table_row70_t)CALL( self,COLOR_parser_tables___Parser___action_table_row70))( self) /*Parser::action_table_row70*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*Array::add*/;
-    variable71 = ((parser_tables___Parser___action_table_row71_t)CALL( self,COLOR_parser_tables___Parser___action_table_row71))( self) /*Parser::action_table_row71*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*Array::add*/;
-    variable72 = ((parser_tables___Parser___action_table_row72_t)CALL( self,COLOR_parser_tables___Parser___action_table_row72))( self) /*Parser::action_table_row72*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*Array::add*/;
-    variable73 = ((parser_tables___Parser___action_table_row73_t)CALL( self,COLOR_parser_tables___Parser___action_table_row73))( self) /*Parser::action_table_row73*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*Array::add*/;
-    variable74 = ((parser_tables___Parser___action_table_row74_t)CALL( self,COLOR_parser_tables___Parser___action_table_row74))( self) /*Parser::action_table_row74*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*Array::add*/;
-    variable75 = ((parser_tables___Parser___action_table_row75_t)CALL( self,COLOR_parser_tables___Parser___action_table_row75))( self) /*Parser::action_table_row75*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*Array::add*/;
-    variable76 = ((parser_tables___Parser___action_table_row76_t)CALL( self,COLOR_parser_tables___Parser___action_table_row76))( self) /*Parser::action_table_row76*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*Array::add*/;
-    variable77 = ((parser_tables___Parser___action_table_row77_t)CALL( self,COLOR_parser_tables___Parser___action_table_row77))( self) /*Parser::action_table_row77*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*Array::add*/;
-    variable78 = ((parser_tables___Parser___action_table_row78_t)CALL( self,COLOR_parser_tables___Parser___action_table_row78))( self) /*Parser::action_table_row78*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*Array::add*/;
-    variable79 = ((parser_tables___Parser___action_table_row79_t)CALL( self,COLOR_parser_tables___Parser___action_table_row79))( self) /*Parser::action_table_row79*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*Array::add*/;
-    variable80 = ((parser_tables___Parser___action_table_row80_t)CALL( self,COLOR_parser_tables___Parser___action_table_row80))( self) /*Parser::action_table_row80*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*Array::add*/;
-    variable81 = ((parser_tables___Parser___action_table_row81_t)CALL( self,COLOR_parser_tables___Parser___action_table_row81))( self) /*Parser::action_table_row81*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*Array::add*/;
-    variable82 = ((parser_tables___Parser___action_table_row82_t)CALL( self,COLOR_parser_tables___Parser___action_table_row82))( self) /*Parser::action_table_row82*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*Array::add*/;
-    variable83 = ((parser_tables___Parser___action_table_row83_t)CALL( self,COLOR_parser_tables___Parser___action_table_row83))( self) /*Parser::action_table_row83*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*Array::add*/;
-    variable84 = ((parser_tables___Parser___action_table_row84_t)CALL( self,COLOR_parser_tables___Parser___action_table_row84))( self) /*Parser::action_table_row84*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*Array::add*/;
-    variable85 = ((parser_tables___Parser___action_table_row85_t)CALL( self,COLOR_parser_tables___Parser___action_table_row85))( self) /*Parser::action_table_row85*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*Array::add*/;
-    variable86 = ((parser_tables___Parser___action_table_row86_t)CALL( self,COLOR_parser_tables___Parser___action_table_row86))( self) /*Parser::action_table_row86*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*Array::add*/;
-    variable87 = ((parser_tables___Parser___action_table_row87_t)CALL( self,COLOR_parser_tables___Parser___action_table_row87))( self) /*Parser::action_table_row87*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*Array::add*/;
-    variable88 = ((parser_tables___Parser___action_table_row88_t)CALL( self,COLOR_parser_tables___Parser___action_table_row88))( self) /*Parser::action_table_row88*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*Array::add*/;
-    variable89 = ((parser_tables___Parser___action_table_row89_t)CALL( self,COLOR_parser_tables___Parser___action_table_row89))( self) /*Parser::action_table_row89*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*Array::add*/;
-    variable90 = ((parser_tables___Parser___action_table_row90_t)CALL( self,COLOR_parser_tables___Parser___action_table_row90))( self) /*Parser::action_table_row90*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*Array::add*/;
-    variable91 = ((parser_tables___Parser___action_table_row91_t)CALL( self,COLOR_parser_tables___Parser___action_table_row91))( self) /*Parser::action_table_row91*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*Array::add*/;
-    variable92 = ((parser_tables___Parser___action_table_row92_t)CALL( self,COLOR_parser_tables___Parser___action_table_row92))( self) /*Parser::action_table_row92*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*Array::add*/;
-    variable93 = ((parser_tables___Parser___action_table_row93_t)CALL( self,COLOR_parser_tables___Parser___action_table_row93))( self) /*Parser::action_table_row93*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*Array::add*/;
-    variable94 = ((parser_tables___Parser___action_table_row94_t)CALL( self,COLOR_parser_tables___Parser___action_table_row94))( self) /*Parser::action_table_row94*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*Array::add*/;
-    variable95 = ((parser_tables___Parser___action_table_row95_t)CALL( self,COLOR_parser_tables___Parser___action_table_row95))( self) /*Parser::action_table_row95*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*Array::add*/;
-    variable96 = ((parser_tables___Parser___action_table_row96_t)CALL( self,COLOR_parser_tables___Parser___action_table_row96))( self) /*Parser::action_table_row96*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*Array::add*/;
-    variable97 = ((parser_tables___Parser___action_table_row97_t)CALL( self,COLOR_parser_tables___Parser___action_table_row97))( self) /*Parser::action_table_row97*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*Array::add*/;
-    variable98 = ((parser_tables___Parser___action_table_row98_t)CALL( self,COLOR_parser_tables___Parser___action_table_row98))( self) /*Parser::action_table_row98*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*Array::add*/;
-    variable99 = ((parser_tables___Parser___action_table_row99_t)CALL( self,COLOR_parser_tables___Parser___action_table_row99))( self) /*Parser::action_table_row99*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*Array::add*/;
-    variable100 = ((parser_tables___Parser___action_table_row100_t)CALL( self,COLOR_parser_tables___Parser___action_table_row100))( self) /*Parser::action_table_row100*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*Array::add*/;
-    variable101 = ((parser_tables___Parser___action_table_row101_t)CALL( self,COLOR_parser_tables___Parser___action_table_row101))( self) /*Parser::action_table_row101*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*Array::add*/;
-    variable102 = ((parser_tables___Parser___action_table_row102_t)CALL( self,COLOR_parser_tables___Parser___action_table_row102))( self) /*Parser::action_table_row102*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*Array::add*/;
-    variable103 = ((parser_tables___Parser___action_table_row103_t)CALL( self,COLOR_parser_tables___Parser___action_table_row103))( self) /*Parser::action_table_row103*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*Array::add*/;
-    variable104 = ((parser_tables___Parser___action_table_row104_t)CALL( self,COLOR_parser_tables___Parser___action_table_row104))( self) /*Parser::action_table_row104*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*Array::add*/;
-    variable105 = ((parser_tables___Parser___action_table_row105_t)CALL( self,COLOR_parser_tables___Parser___action_table_row105))( self) /*Parser::action_table_row105*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*Array::add*/;
-    variable106 = ((parser_tables___Parser___action_table_row106_t)CALL( self,COLOR_parser_tables___Parser___action_table_row106))( self) /*Parser::action_table_row106*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*Array::add*/;
-    variable107 = ((parser_tables___Parser___action_table_row107_t)CALL( self,COLOR_parser_tables___Parser___action_table_row107))( self) /*Parser::action_table_row107*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*Array::add*/;
-    variable108 = ((parser_tables___Parser___action_table_row108_t)CALL( self,COLOR_parser_tables___Parser___action_table_row108))( self) /*Parser::action_table_row108*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*Array::add*/;
-    variable109 = ((parser_tables___Parser___action_table_row109_t)CALL( self,COLOR_parser_tables___Parser___action_table_row109))( self) /*Parser::action_table_row109*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*Array::add*/;
-    variable110 = ((parser_tables___Parser___action_table_row110_t)CALL( self,COLOR_parser_tables___Parser___action_table_row110))( self) /*Parser::action_table_row110*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*Array::add*/;
-    variable111 = ((parser_tables___Parser___action_table_row111_t)CALL( self,COLOR_parser_tables___Parser___action_table_row111))( self) /*Parser::action_table_row111*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*Array::add*/;
-    variable112 = ((parser_tables___Parser___action_table_row112_t)CALL( self,COLOR_parser_tables___Parser___action_table_row112))( self) /*Parser::action_table_row112*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*Array::add*/;
-    variable113 = ((parser_tables___Parser___action_table_row113_t)CALL( self,COLOR_parser_tables___Parser___action_table_row113))( self) /*Parser::action_table_row113*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*Array::add*/;
-    variable114 = ((parser_tables___Parser___action_table_row114_t)CALL( self,COLOR_parser_tables___Parser___action_table_row114))( self) /*Parser::action_table_row114*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*Array::add*/;
-    variable115 = ((parser_tables___Parser___action_table_row115_t)CALL( self,COLOR_parser_tables___Parser___action_table_row115))( self) /*Parser::action_table_row115*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*Array::add*/;
-    variable116 = ((parser_tables___Parser___action_table_row116_t)CALL( self,COLOR_parser_tables___Parser___action_table_row116))( self) /*Parser::action_table_row116*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*Array::add*/;
-    variable117 = ((parser_tables___Parser___action_table_row117_t)CALL( self,COLOR_parser_tables___Parser___action_table_row117))( self) /*Parser::action_table_row117*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*Array::add*/;
-    variable118 = ((parser_tables___Parser___action_table_row118_t)CALL( self,COLOR_parser_tables___Parser___action_table_row118))( self) /*Parser::action_table_row118*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*Array::add*/;
-    variable119 = ((parser_tables___Parser___action_table_row119_t)CALL( self,COLOR_parser_tables___Parser___action_table_row119))( self) /*Parser::action_table_row119*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*Array::add*/;
-    variable120 = ((parser_tables___Parser___action_table_row120_t)CALL( self,COLOR_parser_tables___Parser___action_table_row120))( self) /*Parser::action_table_row120*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*Array::add*/;
-    variable121 = ((parser_tables___Parser___action_table_row121_t)CALL( self,COLOR_parser_tables___Parser___action_table_row121))( self) /*Parser::action_table_row121*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*Array::add*/;
-    variable122 = ((parser_tables___Parser___action_table_row122_t)CALL( self,COLOR_parser_tables___Parser___action_table_row122))( self) /*Parser::action_table_row122*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*Array::add*/;
-    variable123 = ((parser_tables___Parser___action_table_row123_t)CALL( self,COLOR_parser_tables___Parser___action_table_row123))( self) /*Parser::action_table_row123*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*Array::add*/;
-    variable124 = ((parser_tables___Parser___action_table_row124_t)CALL( self,COLOR_parser_tables___Parser___action_table_row124))( self) /*Parser::action_table_row124*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*Array::add*/;
-    variable125 = ((parser_tables___Parser___action_table_row125_t)CALL( self,COLOR_parser_tables___Parser___action_table_row125))( self) /*Parser::action_table_row125*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*Array::add*/;
-    variable126 = ((parser_tables___Parser___action_table_row126_t)CALL( self,COLOR_parser_tables___Parser___action_table_row126))( self) /*Parser::action_table_row126*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*Array::add*/;
-    variable127 = ((parser_tables___Parser___action_table_row127_t)CALL( self,COLOR_parser_tables___Parser___action_table_row127))( self) /*Parser::action_table_row127*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*Array::add*/;
-    variable128 = ((parser_tables___Parser___action_table_row128_t)CALL( self,COLOR_parser_tables___Parser___action_table_row128))( self) /*Parser::action_table_row128*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*Array::add*/;
-    variable129 = ((parser_tables___Parser___action_table_row129_t)CALL( self,COLOR_parser_tables___Parser___action_table_row129))( self) /*Parser::action_table_row129*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*Array::add*/;
-    variable130 = ((parser_tables___Parser___action_table_row130_t)CALL( self,COLOR_parser_tables___Parser___action_table_row130))( self) /*Parser::action_table_row130*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*Array::add*/;
-    variable131 = ((parser_tables___Parser___action_table_row131_t)CALL( self,COLOR_parser_tables___Parser___action_table_row131))( self) /*Parser::action_table_row131*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*Array::add*/;
-    variable132 = ((parser_tables___Parser___action_table_row132_t)CALL( self,COLOR_parser_tables___Parser___action_table_row132))( self) /*Parser::action_table_row132*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*Array::add*/;
-    variable133 = ((parser_tables___Parser___action_table_row133_t)CALL( self,COLOR_parser_tables___Parser___action_table_row133))( self) /*Parser::action_table_row133*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*Array::add*/;
-    variable134 = ((parser_tables___Parser___action_table_row134_t)CALL( self,COLOR_parser_tables___Parser___action_table_row134))( self) /*Parser::action_table_row134*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*Array::add*/;
-    variable135 = ((parser_tables___Parser___action_table_row135_t)CALL( self,COLOR_parser_tables___Parser___action_table_row135))( self) /*Parser::action_table_row135*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*Array::add*/;
-    variable136 = ((parser_tables___Parser___action_table_row136_t)CALL( self,COLOR_parser_tables___Parser___action_table_row136))( self) /*Parser::action_table_row136*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*Array::add*/;
-    variable137 = ((parser_tables___Parser___action_table_row137_t)CALL( self,COLOR_parser_tables___Parser___action_table_row137))( self) /*Parser::action_table_row137*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*Array::add*/;
-    variable138 = ((parser_tables___Parser___action_table_row138_t)CALL( self,COLOR_parser_tables___Parser___action_table_row138))( self) /*Parser::action_table_row138*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*Array::add*/;
-    variable139 = ((parser_tables___Parser___action_table_row139_t)CALL( self,COLOR_parser_tables___Parser___action_table_row139))( self) /*Parser::action_table_row139*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*Array::add*/;
-    variable140 = ((parser_tables___Parser___action_table_row140_t)CALL( self,COLOR_parser_tables___Parser___action_table_row140))( self) /*Parser::action_table_row140*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*Array::add*/;
-    variable141 = ((parser_tables___Parser___action_table_row141_t)CALL( self,COLOR_parser_tables___Parser___action_table_row141))( self) /*Parser::action_table_row141*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*Array::add*/;
-    variable142 = ((parser_tables___Parser___action_table_row142_t)CALL( self,COLOR_parser_tables___Parser___action_table_row142))( self) /*Parser::action_table_row142*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*Array::add*/;
-    variable143 = ((parser_tables___Parser___action_table_row143_t)CALL( self,COLOR_parser_tables___Parser___action_table_row143))( self) /*Parser::action_table_row143*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*Array::add*/;
-    variable144 = ((parser_tables___Parser___action_table_row144_t)CALL( self,COLOR_parser_tables___Parser___action_table_row144))( self) /*Parser::action_table_row144*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*Array::add*/;
-    variable145 = ((parser_tables___Parser___action_table_row145_t)CALL( self,COLOR_parser_tables___Parser___action_table_row145))( self) /*Parser::action_table_row145*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*Array::add*/;
-    variable146 = ((parser_tables___Parser___action_table_row146_t)CALL( self,COLOR_parser_tables___Parser___action_table_row146))( self) /*Parser::action_table_row146*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*Array::add*/;
-    variable147 = ((parser_tables___Parser___action_table_row147_t)CALL( self,COLOR_parser_tables___Parser___action_table_row147))( self) /*Parser::action_table_row147*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*Array::add*/;
-    variable148 = ((parser_tables___Parser___action_table_row148_t)CALL( self,COLOR_parser_tables___Parser___action_table_row148))( self) /*Parser::action_table_row148*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*Array::add*/;
-    variable149 = ((parser_tables___Parser___action_table_row149_t)CALL( self,COLOR_parser_tables___Parser___action_table_row149))( self) /*Parser::action_table_row149*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*Array::add*/;
-    variable150 = ((parser_tables___Parser___action_table_row150_t)CALL( self,COLOR_parser_tables___Parser___action_table_row150))( self) /*Parser::action_table_row150*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*Array::add*/;
-    variable151 = ((parser_tables___Parser___action_table_row151_t)CALL( self,COLOR_parser_tables___Parser___action_table_row151))( self) /*Parser::action_table_row151*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*Array::add*/;
-    variable152 = ((parser_tables___Parser___action_table_row152_t)CALL( self,COLOR_parser_tables___Parser___action_table_row152))( self) /*Parser::action_table_row152*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*Array::add*/;
-    variable153 = ((parser_tables___Parser___action_table_row153_t)CALL( self,COLOR_parser_tables___Parser___action_table_row153))( self) /*Parser::action_table_row153*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*Array::add*/;
-    variable154 = ((parser_tables___Parser___action_table_row154_t)CALL( self,COLOR_parser_tables___Parser___action_table_row154))( self) /*Parser::action_table_row154*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*Array::add*/;
-    variable155 = ((parser_tables___Parser___action_table_row155_t)CALL( self,COLOR_parser_tables___Parser___action_table_row155))( self) /*Parser::action_table_row155*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*Array::add*/;
-    variable156 = ((parser_tables___Parser___action_table_row156_t)CALL( self,COLOR_parser_tables___Parser___action_table_row156))( self) /*Parser::action_table_row156*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*Array::add*/;
-    variable157 = ((parser_tables___Parser___action_table_row157_t)CALL( self,COLOR_parser_tables___Parser___action_table_row157))( self) /*Parser::action_table_row157*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*Array::add*/;
-    variable158 = ((parser_tables___Parser___action_table_row158_t)CALL( self,COLOR_parser_tables___Parser___action_table_row158))( self) /*Parser::action_table_row158*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*Array::add*/;
-    variable159 = ((parser_tables___Parser___action_table_row159_t)CALL( self,COLOR_parser_tables___Parser___action_table_row159))( self) /*Parser::action_table_row159*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*Array::add*/;
-    variable160 = ((parser_tables___Parser___action_table_row160_t)CALL( self,COLOR_parser_tables___Parser___action_table_row160))( self) /*Parser::action_table_row160*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*Array::add*/;
-    variable161 = ((parser_tables___Parser___action_table_row161_t)CALL( self,COLOR_parser_tables___Parser___action_table_row161))( self) /*Parser::action_table_row161*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*Array::add*/;
-    variable162 = ((parser_tables___Parser___action_table_row162_t)CALL( self,COLOR_parser_tables___Parser___action_table_row162))( self) /*Parser::action_table_row162*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*Array::add*/;
-    variable163 = ((parser_tables___Parser___action_table_row163_t)CALL( self,COLOR_parser_tables___Parser___action_table_row163))( self) /*Parser::action_table_row163*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*Array::add*/;
-    variable164 = ((parser_tables___Parser___action_table_row164_t)CALL( self,COLOR_parser_tables___Parser___action_table_row164))( self) /*Parser::action_table_row164*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*Array::add*/;
-    variable165 = ((parser_tables___Parser___action_table_row165_t)CALL( self,COLOR_parser_tables___Parser___action_table_row165))( self) /*Parser::action_table_row165*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*Array::add*/;
-    variable166 = ((parser_tables___Parser___action_table_row166_t)CALL( self,COLOR_parser_tables___Parser___action_table_row166))( self) /*Parser::action_table_row166*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable166) /*Array::add*/;
-    variable167 = ((parser_tables___Parser___action_table_row167_t)CALL( self,COLOR_parser_tables___Parser___action_table_row167))( self) /*Parser::action_table_row167*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable167) /*Array::add*/;
-    variable168 = ((parser_tables___Parser___action_table_row168_t)CALL( self,COLOR_parser_tables___Parser___action_table_row168))( self) /*Parser::action_table_row168*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable168) /*Array::add*/;
-    variable169 = ((parser_tables___Parser___action_table_row169_t)CALL( self,COLOR_parser_tables___Parser___action_table_row169))( self) /*Parser::action_table_row169*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable169) /*Array::add*/;
-    variable170 = ((parser_tables___Parser___action_table_row170_t)CALL( self,COLOR_parser_tables___Parser___action_table_row170))( self) /*Parser::action_table_row170*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable170) /*Array::add*/;
-    variable171 = ((parser_tables___Parser___action_table_row171_t)CALL( self,COLOR_parser_tables___Parser___action_table_row171))( self) /*Parser::action_table_row171*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable171) /*Array::add*/;
-    variable172 = ((parser_tables___Parser___action_table_row172_t)CALL( self,COLOR_parser_tables___Parser___action_table_row172))( self) /*Parser::action_table_row172*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable172) /*Array::add*/;
-    variable173 = ((parser_tables___Parser___action_table_row173_t)CALL( self,COLOR_parser_tables___Parser___action_table_row173))( self) /*Parser::action_table_row173*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable173) /*Array::add*/;
-    variable174 = ((parser_tables___Parser___action_table_row174_t)CALL( self,COLOR_parser_tables___Parser___action_table_row174))( self) /*Parser::action_table_row174*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable174) /*Array::add*/;
-    variable175 = ((parser_tables___Parser___action_table_row175_t)CALL( self,COLOR_parser_tables___Parser___action_table_row175))( self) /*Parser::action_table_row175*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable175) /*Array::add*/;
-    variable176 = ((parser_tables___Parser___action_table_row176_t)CALL( self,COLOR_parser_tables___Parser___action_table_row176))( self) /*Parser::action_table_row176*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable176) /*Array::add*/;
-    variable177 = ((parser_tables___Parser___action_table_row177_t)CALL( self,COLOR_parser_tables___Parser___action_table_row177))( self) /*Parser::action_table_row177*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable177) /*Array::add*/;
-    variable178 = ((parser_tables___Parser___action_table_row178_t)CALL( self,COLOR_parser_tables___Parser___action_table_row178))( self) /*Parser::action_table_row178*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable178) /*Array::add*/;
-    variable179 = ((parser_tables___Parser___action_table_row179_t)CALL( self,COLOR_parser_tables___Parser___action_table_row179))( self) /*Parser::action_table_row179*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable179) /*Array::add*/;
-    variable180 = ((parser_tables___Parser___action_table_row180_t)CALL( self,COLOR_parser_tables___Parser___action_table_row180))( self) /*Parser::action_table_row180*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable180) /*Array::add*/;
-    variable181 = ((parser_tables___Parser___action_table_row181_t)CALL( self,COLOR_parser_tables___Parser___action_table_row181))( self) /*Parser::action_table_row181*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable181) /*Array::add*/;
-    variable182 = ((parser_tables___Parser___action_table_row182_t)CALL( self,COLOR_parser_tables___Parser___action_table_row182))( self) /*Parser::action_table_row182*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable182) /*Array::add*/;
-    variable183 = ((parser_tables___Parser___action_table_row183_t)CALL( self,COLOR_parser_tables___Parser___action_table_row183))( self) /*Parser::action_table_row183*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable183) /*Array::add*/;
-    variable184 = ((parser_tables___Parser___action_table_row184_t)CALL( self,COLOR_parser_tables___Parser___action_table_row184))( self) /*Parser::action_table_row184*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable184) /*Array::add*/;
-    variable185 = ((parser_tables___Parser___action_table_row185_t)CALL( self,COLOR_parser_tables___Parser___action_table_row185))( self) /*Parser::action_table_row185*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable185) /*Array::add*/;
-    variable186 = ((parser_tables___Parser___action_table_row186_t)CALL( self,COLOR_parser_tables___Parser___action_table_row186))( self) /*Parser::action_table_row186*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable186) /*Array::add*/;
-    variable187 = ((parser_tables___Parser___action_table_row187_t)CALL( self,COLOR_parser_tables___Parser___action_table_row187))( self) /*Parser::action_table_row187*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable187) /*Array::add*/;
-    variable188 = ((parser_tables___Parser___action_table_row188_t)CALL( self,COLOR_parser_tables___Parser___action_table_row188))( self) /*Parser::action_table_row188*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable188) /*Array::add*/;
-    variable189 = ((parser_tables___Parser___action_table_row189_t)CALL( self,COLOR_parser_tables___Parser___action_table_row189))( self) /*Parser::action_table_row189*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable189) /*Array::add*/;
-    variable190 = ((parser_tables___Parser___action_table_row190_t)CALL( self,COLOR_parser_tables___Parser___action_table_row190))( self) /*Parser::action_table_row190*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable190) /*Array::add*/;
-    variable191 = ((parser_tables___Parser___action_table_row191_t)CALL( self,COLOR_parser_tables___Parser___action_table_row191))( self) /*Parser::action_table_row191*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable191) /*Array::add*/;
-    variable192 = ((parser_tables___Parser___action_table_row192_t)CALL( self,COLOR_parser_tables___Parser___action_table_row192))( self) /*Parser::action_table_row192*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable192) /*Array::add*/;
-    variable193 = ((parser_tables___Parser___action_table_row193_t)CALL( self,COLOR_parser_tables___Parser___action_table_row193))( self) /*Parser::action_table_row193*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable193) /*Array::add*/;
-    variable194 = ((parser_tables___Parser___action_table_row194_t)CALL( self,COLOR_parser_tables___Parser___action_table_row194))( self) /*Parser::action_table_row194*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable194) /*Array::add*/;
-    variable195 = ((parser_tables___Parser___action_table_row195_t)CALL( self,COLOR_parser_tables___Parser___action_table_row195))( self) /*Parser::action_table_row195*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable195) /*Array::add*/;
-    variable196 = ((parser_tables___Parser___action_table_row196_t)CALL( self,COLOR_parser_tables___Parser___action_table_row196))( self) /*Parser::action_table_row196*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable196) /*Array::add*/;
-    variable197 = ((parser_tables___Parser___action_table_row197_t)CALL( self,COLOR_parser_tables___Parser___action_table_row197))( self) /*Parser::action_table_row197*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable197) /*Array::add*/;
-    variable198 = ((parser_tables___Parser___action_table_row198_t)CALL( self,COLOR_parser_tables___Parser___action_table_row198))( self) /*Parser::action_table_row198*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable198) /*Array::add*/;
-    variable199 = ((parser_tables___Parser___action_table_row199_t)CALL( self,COLOR_parser_tables___Parser___action_table_row199))( self) /*Parser::action_table_row199*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable199) /*Array::add*/;
-    variable200 = ((parser_tables___Parser___action_table_row200_t)CALL( self,COLOR_parser_tables___Parser___action_table_row200))( self) /*Parser::action_table_row200*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable200) /*Array::add*/;
-    variable201 = ((parser_tables___Parser___action_table_row201_t)CALL( self,COLOR_parser_tables___Parser___action_table_row201))( self) /*Parser::action_table_row201*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable201) /*Array::add*/;
-    variable202 = ((parser_tables___Parser___action_table_row202_t)CALL( self,COLOR_parser_tables___Parser___action_table_row202))( self) /*Parser::action_table_row202*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable202) /*Array::add*/;
-    variable203 = ((parser_tables___Parser___action_table_row203_t)CALL( self,COLOR_parser_tables___Parser___action_table_row203))( self) /*Parser::action_table_row203*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable203) /*Array::add*/;
-    variable204 = ((parser_tables___Parser___action_table_row204_t)CALL( self,COLOR_parser_tables___Parser___action_table_row204))( self) /*Parser::action_table_row204*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable204) /*Array::add*/;
-    variable205 = ((parser_tables___Parser___action_table_row205_t)CALL( self,COLOR_parser_tables___Parser___action_table_row205))( self) /*Parser::action_table_row205*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable205) /*Array::add*/;
-    variable206 = ((parser_tables___Parser___action_table_row206_t)CALL( self,COLOR_parser_tables___Parser___action_table_row206))( self) /*Parser::action_table_row206*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable206) /*Array::add*/;
-    variable207 = ((parser_tables___Parser___action_table_row207_t)CALL( self,COLOR_parser_tables___Parser___action_table_row207))( self) /*Parser::action_table_row207*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable207) /*Array::add*/;
-    variable208 = ((parser_tables___Parser___action_table_row208_t)CALL( self,COLOR_parser_tables___Parser___action_table_row208))( self) /*Parser::action_table_row208*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable208) /*Array::add*/;
-    variable209 = ((parser_tables___Parser___action_table_row209_t)CALL( self,COLOR_parser_tables___Parser___action_table_row209))( self) /*Parser::action_table_row209*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable209) /*Array::add*/;
-    variable210 = ((parser_tables___Parser___action_table_row210_t)CALL( self,COLOR_parser_tables___Parser___action_table_row210))( self) /*Parser::action_table_row210*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable210) /*Array::add*/;
-    variable211 = ((parser_tables___Parser___action_table_row211_t)CALL( self,COLOR_parser_tables___Parser___action_table_row211))( self) /*Parser::action_table_row211*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable211) /*Array::add*/;
-    variable212 = ((parser_tables___Parser___action_table_row212_t)CALL( self,COLOR_parser_tables___Parser___action_table_row212))( self) /*Parser::action_table_row212*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable212) /*Array::add*/;
-    variable213 = ((parser_tables___Parser___action_table_row213_t)CALL( self,COLOR_parser_tables___Parser___action_table_row213))( self) /*Parser::action_table_row213*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable213) /*Array::add*/;
-    variable214 = ((parser_tables___Parser___action_table_row214_t)CALL( self,COLOR_parser_tables___Parser___action_table_row214))( self) /*Parser::action_table_row214*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable214) /*Array::add*/;
-    variable215 = ((parser_tables___Parser___action_table_row215_t)CALL( self,COLOR_parser_tables___Parser___action_table_row215))( self) /*Parser::action_table_row215*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable215) /*Array::add*/;
-    variable216 = ((parser_tables___Parser___action_table_row216_t)CALL( self,COLOR_parser_tables___Parser___action_table_row216))( self) /*Parser::action_table_row216*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable216) /*Array::add*/;
-    variable217 = ((parser_tables___Parser___action_table_row217_t)CALL( self,COLOR_parser_tables___Parser___action_table_row217))( self) /*Parser::action_table_row217*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable217) /*Array::add*/;
-    variable218 = ((parser_tables___Parser___action_table_row218_t)CALL( self,COLOR_parser_tables___Parser___action_table_row218))( self) /*Parser::action_table_row218*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable218) /*Array::add*/;
-    variable219 = ((parser_tables___Parser___action_table_row219_t)CALL( self,COLOR_parser_tables___Parser___action_table_row219))( self) /*Parser::action_table_row219*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable219) /*Array::add*/;
-    variable220 = ((parser_tables___Parser___action_table_row220_t)CALL( self,COLOR_parser_tables___Parser___action_table_row220))( self) /*Parser::action_table_row220*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable220) /*Array::add*/;
-    variable221 = ((parser_tables___Parser___action_table_row221_t)CALL( self,COLOR_parser_tables___Parser___action_table_row221))( self) /*Parser::action_table_row221*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable221) /*Array::add*/;
-    variable222 = ((parser_tables___Parser___action_table_row222_t)CALL( self,COLOR_parser_tables___Parser___action_table_row222))( self) /*Parser::action_table_row222*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable222) /*Array::add*/;
-    variable223 = ((parser_tables___Parser___action_table_row223_t)CALL( self,COLOR_parser_tables___Parser___action_table_row223))( self) /*Parser::action_table_row223*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable223) /*Array::add*/;
-    variable224 = ((parser_tables___Parser___action_table_row224_t)CALL( self,COLOR_parser_tables___Parser___action_table_row224))( self) /*Parser::action_table_row224*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable224) /*Array::add*/;
-    variable225 = ((parser_tables___Parser___action_table_row225_t)CALL( self,COLOR_parser_tables___Parser___action_table_row225))( self) /*Parser::action_table_row225*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable225) /*Array::add*/;
-    variable226 = ((parser_tables___Parser___action_table_row226_t)CALL( self,COLOR_parser_tables___Parser___action_table_row226))( self) /*Parser::action_table_row226*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable226) /*Array::add*/;
-    variable227 = ((parser_tables___Parser___action_table_row227_t)CALL( self,COLOR_parser_tables___Parser___action_table_row227))( self) /*Parser::action_table_row227*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable227) /*Array::add*/;
-    variable228 = ((parser_tables___Parser___action_table_row228_t)CALL( self,COLOR_parser_tables___Parser___action_table_row228))( self) /*Parser::action_table_row228*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable228) /*Array::add*/;
-    variable229 = ((parser_tables___Parser___action_table_row229_t)CALL( self,COLOR_parser_tables___Parser___action_table_row229))( self) /*Parser::action_table_row229*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable229) /*Array::add*/;
-    variable230 = ((parser_tables___Parser___action_table_row230_t)CALL( self,COLOR_parser_tables___Parser___action_table_row230))( self) /*Parser::action_table_row230*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable230) /*Array::add*/;
-    variable231 = ((parser_tables___Parser___action_table_row231_t)CALL( self,COLOR_parser_tables___Parser___action_table_row231))( self) /*Parser::action_table_row231*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable231) /*Array::add*/;
-    variable232 = ((parser_tables___Parser___action_table_row232_t)CALL( self,COLOR_parser_tables___Parser___action_table_row232))( self) /*Parser::action_table_row232*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable232) /*Array::add*/;
-    variable233 = ((parser_tables___Parser___action_table_row233_t)CALL( self,COLOR_parser_tables___Parser___action_table_row233))( self) /*Parser::action_table_row233*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable233) /*Array::add*/;
-    variable234 = ((parser_tables___Parser___action_table_row234_t)CALL( self,COLOR_parser_tables___Parser___action_table_row234))( self) /*Parser::action_table_row234*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable234) /*Array::add*/;
-    variable235 = ((parser_tables___Parser___action_table_row235_t)CALL( self,COLOR_parser_tables___Parser___action_table_row235))( self) /*Parser::action_table_row235*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable235) /*Array::add*/;
-    variable236 = ((parser_tables___Parser___action_table_row236_t)CALL( self,COLOR_parser_tables___Parser___action_table_row236))( self) /*Parser::action_table_row236*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable236) /*Array::add*/;
-    variable237 = ((parser_tables___Parser___action_table_row237_t)CALL( self,COLOR_parser_tables___Parser___action_table_row237))( self) /*Parser::action_table_row237*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable237) /*Array::add*/;
-    variable238 = ((parser_tables___Parser___action_table_row238_t)CALL( self,COLOR_parser_tables___Parser___action_table_row238))( self) /*Parser::action_table_row238*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable238) /*Array::add*/;
-    variable239 = ((parser_tables___Parser___action_table_row239_t)CALL( self,COLOR_parser_tables___Parser___action_table_row239))( self) /*Parser::action_table_row239*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable239) /*Array::add*/;
-    variable240 = ((parser_tables___Parser___action_table_row240_t)CALL( self,COLOR_parser_tables___Parser___action_table_row240))( self) /*Parser::action_table_row240*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable240) /*Array::add*/;
-    variable241 = ((parser_tables___Parser___action_table_row241_t)CALL( self,COLOR_parser_tables___Parser___action_table_row241))( self) /*Parser::action_table_row241*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable241) /*Array::add*/;
-    variable242 = ((parser_tables___Parser___action_table_row242_t)CALL( self,COLOR_parser_tables___Parser___action_table_row242))( self) /*Parser::action_table_row242*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable242) /*Array::add*/;
-    variable243 = ((parser_tables___Parser___action_table_row243_t)CALL( self,COLOR_parser_tables___Parser___action_table_row243))( self) /*Parser::action_table_row243*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable243) /*Array::add*/;
-    variable244 = ((parser_tables___Parser___action_table_row244_t)CALL( self,COLOR_parser_tables___Parser___action_table_row244))( self) /*Parser::action_table_row244*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable244) /*Array::add*/;
-    variable245 = ((parser_tables___Parser___action_table_row245_t)CALL( self,COLOR_parser_tables___Parser___action_table_row245))( self) /*Parser::action_table_row245*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable245) /*Array::add*/;
-    variable246 = ((parser_tables___Parser___action_table_row246_t)CALL( self,COLOR_parser_tables___Parser___action_table_row246))( self) /*Parser::action_table_row246*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable246) /*Array::add*/;
-    variable247 = ((parser_tables___Parser___action_table_row247_t)CALL( self,COLOR_parser_tables___Parser___action_table_row247))( self) /*Parser::action_table_row247*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable247) /*Array::add*/;
-    variable248 = ((parser_tables___Parser___action_table_row248_t)CALL( self,COLOR_parser_tables___Parser___action_table_row248))( self) /*Parser::action_table_row248*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable248) /*Array::add*/;
-    variable249 = ((parser_tables___Parser___action_table_row249_t)CALL( self,COLOR_parser_tables___Parser___action_table_row249))( self) /*Parser::action_table_row249*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable249) /*Array::add*/;
-    variable250 = ((parser_tables___Parser___action_table_row250_t)CALL( self,COLOR_parser_tables___Parser___action_table_row250))( self) /*Parser::action_table_row250*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable250) /*Array::add*/;
-    variable251 = ((parser_tables___Parser___action_table_row251_t)CALL( self,COLOR_parser_tables___Parser___action_table_row251))( self) /*Parser::action_table_row251*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable251) /*Array::add*/;
-    variable252 = ((parser_tables___Parser___action_table_row252_t)CALL( self,COLOR_parser_tables___Parser___action_table_row252))( self) /*Parser::action_table_row252*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable252) /*Array::add*/;
-    variable253 = ((parser_tables___Parser___action_table_row253_t)CALL( self,COLOR_parser_tables___Parser___action_table_row253))( self) /*Parser::action_table_row253*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable253) /*Array::add*/;
-    variable254 = ((parser_tables___Parser___action_table_row254_t)CALL( self,COLOR_parser_tables___Parser___action_table_row254))( self) /*Parser::action_table_row254*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable254) /*Array::add*/;
-    variable255 = ((parser_tables___Parser___action_table_row255_t)CALL( self,COLOR_parser_tables___Parser___action_table_row255))( self) /*Parser::action_table_row255*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable255) /*Array::add*/;
-    variable256 = ((parser_tables___Parser___action_table_row256_t)CALL( self,COLOR_parser_tables___Parser___action_table_row256))( self) /*Parser::action_table_row256*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable256) /*Array::add*/;
-    variable257 = ((parser_tables___Parser___action_table_row257_t)CALL( self,COLOR_parser_tables___Parser___action_table_row257))( self) /*Parser::action_table_row257*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable257) /*Array::add*/;
-    variable258 = ((parser_tables___Parser___action_table_row258_t)CALL( self,COLOR_parser_tables___Parser___action_table_row258))( self) /*Parser::action_table_row258*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable258) /*Array::add*/;
-    variable259 = ((parser_tables___Parser___action_table_row259_t)CALL( self,COLOR_parser_tables___Parser___action_table_row259))( self) /*Parser::action_table_row259*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable259) /*Array::add*/;
-    variable260 = ((parser_tables___Parser___action_table_row260_t)CALL( self,COLOR_parser_tables___Parser___action_table_row260))( self) /*Parser::action_table_row260*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable260) /*Array::add*/;
-    variable261 = ((parser_tables___Parser___action_table_row261_t)CALL( self,COLOR_parser_tables___Parser___action_table_row261))( self) /*Parser::action_table_row261*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable261) /*Array::add*/;
-    variable262 = ((parser_tables___Parser___action_table_row262_t)CALL( self,COLOR_parser_tables___Parser___action_table_row262))( self) /*Parser::action_table_row262*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable262) /*Array::add*/;
-    variable263 = ((parser_tables___Parser___action_table_row263_t)CALL( self,COLOR_parser_tables___Parser___action_table_row263))( self) /*Parser::action_table_row263*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable263) /*Array::add*/;
-    variable264 = ((parser_tables___Parser___action_table_row264_t)CALL( self,COLOR_parser_tables___Parser___action_table_row264))( self) /*Parser::action_table_row264*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable264) /*Array::add*/;
-    variable265 = ((parser_tables___Parser___action_table_row265_t)CALL( self,COLOR_parser_tables___Parser___action_table_row265))( self) /*Parser::action_table_row265*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable265) /*Array::add*/;
-    variable266 = ((parser_tables___Parser___action_table_row266_t)CALL( self,COLOR_parser_tables___Parser___action_table_row266))( self) /*Parser::action_table_row266*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable266) /*Array::add*/;
-    variable267 = ((parser_tables___Parser___action_table_row267_t)CALL( self,COLOR_parser_tables___Parser___action_table_row267))( self) /*Parser::action_table_row267*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable267) /*Array::add*/;
-    variable268 = ((parser_tables___Parser___action_table_row268_t)CALL( self,COLOR_parser_tables___Parser___action_table_row268))( self) /*Parser::action_table_row268*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable268) /*Array::add*/;
-    variable269 = ((parser_tables___Parser___action_table_row269_t)CALL( self,COLOR_parser_tables___Parser___action_table_row269))( self) /*Parser::action_table_row269*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable269) /*Array::add*/;
-    variable270 = ((parser_tables___Parser___action_table_row270_t)CALL( self,COLOR_parser_tables___Parser___action_table_row270))( self) /*Parser::action_table_row270*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable270) /*Array::add*/;
-    variable271 = ((parser_tables___Parser___action_table_row271_t)CALL( self,COLOR_parser_tables___Parser___action_table_row271))( self) /*Parser::action_table_row271*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable271) /*Array::add*/;
-    variable272 = ((parser_tables___Parser___action_table_row272_t)CALL( self,COLOR_parser_tables___Parser___action_table_row272))( self) /*Parser::action_table_row272*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable272) /*Array::add*/;
-    variable273 = ((parser_tables___Parser___action_table_row273_t)CALL( self,COLOR_parser_tables___Parser___action_table_row273))( self) /*Parser::action_table_row273*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable273) /*Array::add*/;
-    variable274 = ((parser_tables___Parser___action_table_row274_t)CALL( self,COLOR_parser_tables___Parser___action_table_row274))( self) /*Parser::action_table_row274*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable274) /*Array::add*/;
-    variable275 = ((parser_tables___Parser___action_table_row275_t)CALL( self,COLOR_parser_tables___Parser___action_table_row275))( self) /*Parser::action_table_row275*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable275) /*Array::add*/;
-    variable276 = ((parser_tables___Parser___action_table_row276_t)CALL( self,COLOR_parser_tables___Parser___action_table_row276))( self) /*Parser::action_table_row276*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable276) /*Array::add*/;
-    variable277 = ((parser_tables___Parser___action_table_row277_t)CALL( self,COLOR_parser_tables___Parser___action_table_row277))( self) /*Parser::action_table_row277*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable277) /*Array::add*/;
-    variable278 = ((parser_tables___Parser___action_table_row278_t)CALL( self,COLOR_parser_tables___Parser___action_table_row278))( self) /*Parser::action_table_row278*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable278) /*Array::add*/;
-    variable279 = ((parser_tables___Parser___action_table_row279_t)CALL( self,COLOR_parser_tables___Parser___action_table_row279))( self) /*Parser::action_table_row279*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable279) /*Array::add*/;
-    variable280 = ((parser_tables___Parser___action_table_row280_t)CALL( self,COLOR_parser_tables___Parser___action_table_row280))( self) /*Parser::action_table_row280*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable280) /*Array::add*/;
-    variable281 = ((parser_tables___Parser___action_table_row281_t)CALL( self,COLOR_parser_tables___Parser___action_table_row281))( self) /*Parser::action_table_row281*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable281) /*Array::add*/;
-    variable282 = ((parser_tables___Parser___action_table_row282_t)CALL( self,COLOR_parser_tables___Parser___action_table_row282))( self) /*Parser::action_table_row282*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable282) /*Array::add*/;
-    variable283 = ((parser_tables___Parser___action_table_row283_t)CALL( self,COLOR_parser_tables___Parser___action_table_row283))( self) /*Parser::action_table_row283*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable283) /*Array::add*/;
-    variable284 = ((parser_tables___Parser___action_table_row284_t)CALL( self,COLOR_parser_tables___Parser___action_table_row284))( self) /*Parser::action_table_row284*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable284) /*Array::add*/;
-    variable285 = ((parser_tables___Parser___action_table_row285_t)CALL( self,COLOR_parser_tables___Parser___action_table_row285))( self) /*Parser::action_table_row285*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable285) /*Array::add*/;
-    variable286 = ((parser_tables___Parser___action_table_row286_t)CALL( self,COLOR_parser_tables___Parser___action_table_row286))( self) /*Parser::action_table_row286*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable286) /*Array::add*/;
-    variable287 = ((parser_tables___Parser___action_table_row287_t)CALL( self,COLOR_parser_tables___Parser___action_table_row287))( self) /*Parser::action_table_row287*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable287) /*Array::add*/;
-    variable288 = ((parser_tables___Parser___action_table_row288_t)CALL( self,COLOR_parser_tables___Parser___action_table_row288))( self) /*Parser::action_table_row288*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable288) /*Array::add*/;
-    variable289 = ((parser_tables___Parser___action_table_row289_t)CALL( self,COLOR_parser_tables___Parser___action_table_row289))( self) /*Parser::action_table_row289*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable289) /*Array::add*/;
-    variable290 = ((parser_tables___Parser___action_table_row290_t)CALL( self,COLOR_parser_tables___Parser___action_table_row290))( self) /*Parser::action_table_row290*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable290) /*Array::add*/;
-    variable291 = ((parser_tables___Parser___action_table_row291_t)CALL( self,COLOR_parser_tables___Parser___action_table_row291))( self) /*Parser::action_table_row291*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable291) /*Array::add*/;
-    variable292 = ((parser_tables___Parser___action_table_row292_t)CALL( self,COLOR_parser_tables___Parser___action_table_row292))( self) /*Parser::action_table_row292*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable292) /*Array::add*/;
-    variable293 = ((parser_tables___Parser___action_table_row293_t)CALL( self,COLOR_parser_tables___Parser___action_table_row293))( self) /*Parser::action_table_row293*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable293) /*Array::add*/;
-    variable294 = ((parser_tables___Parser___action_table_row294_t)CALL( self,COLOR_parser_tables___Parser___action_table_row294))( self) /*Parser::action_table_row294*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable294) /*Array::add*/;
-    variable295 = ((parser_tables___Parser___action_table_row295_t)CALL( self,COLOR_parser_tables___Parser___action_table_row295))( self) /*Parser::action_table_row295*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable295) /*Array::add*/;
-    variable296 = ((parser_tables___Parser___action_table_row296_t)CALL( self,COLOR_parser_tables___Parser___action_table_row296))( self) /*Parser::action_table_row296*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable296) /*Array::add*/;
-    variable297 = ((parser_tables___Parser___action_table_row297_t)CALL( self,COLOR_parser_tables___Parser___action_table_row297))( self) /*Parser::action_table_row297*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable297) /*Array::add*/;
-    variable298 = ((parser_tables___Parser___action_table_row298_t)CALL( self,COLOR_parser_tables___Parser___action_table_row298))( self) /*Parser::action_table_row298*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable298) /*Array::add*/;
-    variable299 = ((parser_tables___Parser___action_table_row299_t)CALL( self,COLOR_parser_tables___Parser___action_table_row299))( self) /*Parser::action_table_row299*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable299) /*Array::add*/;
-    variable300 = ((parser_tables___Parser___action_table_row300_t)CALL( self,COLOR_parser_tables___Parser___action_table_row300))( self) /*Parser::action_table_row300*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable300) /*Array::add*/;
-    variable301 = ((parser_tables___Parser___action_table_row301_t)CALL( self,COLOR_parser_tables___Parser___action_table_row301))( self) /*Parser::action_table_row301*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable301) /*Array::add*/;
-    variable302 = ((parser_tables___Parser___action_table_row302_t)CALL( self,COLOR_parser_tables___Parser___action_table_row302))( self) /*Parser::action_table_row302*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable302) /*Array::add*/;
-    variable303 = ((parser_tables___Parser___action_table_row303_t)CALL( self,COLOR_parser_tables___Parser___action_table_row303))( self) /*Parser::action_table_row303*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable303) /*Array::add*/;
-    variable304 = ((parser_tables___Parser___action_table_row304_t)CALL( self,COLOR_parser_tables___Parser___action_table_row304))( self) /*Parser::action_table_row304*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable304) /*Array::add*/;
-    variable305 = ((parser_tables___Parser___action_table_row305_t)CALL( self,COLOR_parser_tables___Parser___action_table_row305))( self) /*Parser::action_table_row305*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable305) /*Array::add*/;
-    variable306 = ((parser_tables___Parser___action_table_row306_t)CALL( self,COLOR_parser_tables___Parser___action_table_row306))( self) /*Parser::action_table_row306*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable306) /*Array::add*/;
-    variable307 = ((parser_tables___Parser___action_table_row307_t)CALL( self,COLOR_parser_tables___Parser___action_table_row307))( self) /*Parser::action_table_row307*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable307) /*Array::add*/;
-    variable308 = ((parser_tables___Parser___action_table_row308_t)CALL( self,COLOR_parser_tables___Parser___action_table_row308))( self) /*Parser::action_table_row308*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable308) /*Array::add*/;
-    variable309 = ((parser_tables___Parser___action_table_row309_t)CALL( self,COLOR_parser_tables___Parser___action_table_row309))( self) /*Parser::action_table_row309*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable309) /*Array::add*/;
-    variable310 = ((parser_tables___Parser___action_table_row310_t)CALL( self,COLOR_parser_tables___Parser___action_table_row310))( self) /*Parser::action_table_row310*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable310) /*Array::add*/;
-    variable311 = ((parser_tables___Parser___action_table_row311_t)CALL( self,COLOR_parser_tables___Parser___action_table_row311))( self) /*Parser::action_table_row311*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable311) /*Array::add*/;
-    variable312 = ((parser_tables___Parser___action_table_row312_t)CALL( self,COLOR_parser_tables___Parser___action_table_row312))( self) /*Parser::action_table_row312*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable312) /*Array::add*/;
-    variable313 = ((parser_tables___Parser___action_table_row313_t)CALL( self,COLOR_parser_tables___Parser___action_table_row313))( self) /*Parser::action_table_row313*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable313) /*Array::add*/;
-    variable314 = ((parser_tables___Parser___action_table_row314_t)CALL( self,COLOR_parser_tables___Parser___action_table_row314))( self) /*Parser::action_table_row314*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable314) /*Array::add*/;
-    variable315 = ((parser_tables___Parser___action_table_row315_t)CALL( self,COLOR_parser_tables___Parser___action_table_row315))( self) /*Parser::action_table_row315*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable315) /*Array::add*/;
-    variable316 = ((parser_tables___Parser___action_table_row316_t)CALL( self,COLOR_parser_tables___Parser___action_table_row316))( self) /*Parser::action_table_row316*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable316) /*Array::add*/;
-    variable317 = ((parser_tables___Parser___action_table_row317_t)CALL( self,COLOR_parser_tables___Parser___action_table_row317))( self) /*Parser::action_table_row317*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable317) /*Array::add*/;
-    variable318 = ((parser_tables___Parser___action_table_row318_t)CALL( self,COLOR_parser_tables___Parser___action_table_row318))( self) /*Parser::action_table_row318*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable318) /*Array::add*/;
-    variable319 = ((parser_tables___Parser___action_table_row319_t)CALL( self,COLOR_parser_tables___Parser___action_table_row319))( self) /*Parser::action_table_row319*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable319) /*Array::add*/;
-    variable320 = ((parser_tables___Parser___action_table_row320_t)CALL( self,COLOR_parser_tables___Parser___action_table_row320))( self) /*Parser::action_table_row320*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable320) /*Array::add*/;
-    variable321 = ((parser_tables___Parser___action_table_row321_t)CALL( self,COLOR_parser_tables___Parser___action_table_row321))( self) /*Parser::action_table_row321*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable321) /*Array::add*/;
-    variable322 = ((parser_tables___Parser___action_table_row322_t)CALL( self,COLOR_parser_tables___Parser___action_table_row322))( self) /*Parser::action_table_row322*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable322) /*Array::add*/;
-    variable323 = ((parser_tables___Parser___action_table_row323_t)CALL( self,COLOR_parser_tables___Parser___action_table_row323))( self) /*Parser::action_table_row323*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable323) /*Array::add*/;
-    variable324 = ((parser_tables___Parser___action_table_row324_t)CALL( self,COLOR_parser_tables___Parser___action_table_row324))( self) /*Parser::action_table_row324*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable324) /*Array::add*/;
-    variable325 = ((parser_tables___Parser___action_table_row325_t)CALL( self,COLOR_parser_tables___Parser___action_table_row325))( self) /*Parser::action_table_row325*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable325) /*Array::add*/;
-    variable326 = ((parser_tables___Parser___action_table_row326_t)CALL( self,COLOR_parser_tables___Parser___action_table_row326))( self) /*Parser::action_table_row326*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable326) /*Array::add*/;
-    variable327 = ((parser_tables___Parser___action_table_row327_t)CALL( self,COLOR_parser_tables___Parser___action_table_row327))( self) /*Parser::action_table_row327*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable327) /*Array::add*/;
-    variable328 = ((parser_tables___Parser___action_table_row328_t)CALL( self,COLOR_parser_tables___Parser___action_table_row328))( self) /*Parser::action_table_row328*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable328) /*Array::add*/;
-    variable329 = ((parser_tables___Parser___action_table_row329_t)CALL( self,COLOR_parser_tables___Parser___action_table_row329))( self) /*Parser::action_table_row329*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable329) /*Array::add*/;
-    variable330 = ((parser_tables___Parser___action_table_row330_t)CALL( self,COLOR_parser_tables___Parser___action_table_row330))( self) /*Parser::action_table_row330*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable330) /*Array::add*/;
-    variable331 = ((parser_tables___Parser___action_table_row331_t)CALL( self,COLOR_parser_tables___Parser___action_table_row331))( self) /*Parser::action_table_row331*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable331) /*Array::add*/;
-    variable332 = ((parser_tables___Parser___action_table_row332_t)CALL( self,COLOR_parser_tables___Parser___action_table_row332))( self) /*Parser::action_table_row332*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable332) /*Array::add*/;
-    variable333 = ((parser_tables___Parser___action_table_row333_t)CALL( self,COLOR_parser_tables___Parser___action_table_row333))( self) /*Parser::action_table_row333*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable333) /*Array::add*/;
-    variable334 = ((parser_tables___Parser___action_table_row334_t)CALL( self,COLOR_parser_tables___Parser___action_table_row334))( self) /*Parser::action_table_row334*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable334) /*Array::add*/;
-    variable335 = ((parser_tables___Parser___action_table_row335_t)CALL( self,COLOR_parser_tables___Parser___action_table_row335))( self) /*Parser::action_table_row335*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable335) /*Array::add*/;
-    variable336 = ((parser_tables___Parser___action_table_row336_t)CALL( self,COLOR_parser_tables___Parser___action_table_row336))( self) /*Parser::action_table_row336*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable336) /*Array::add*/;
-    variable337 = ((parser_tables___Parser___action_table_row337_t)CALL( self,COLOR_parser_tables___Parser___action_table_row337))( self) /*Parser::action_table_row337*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable337) /*Array::add*/;
-    variable338 = ((parser_tables___Parser___action_table_row338_t)CALL( self,COLOR_parser_tables___Parser___action_table_row338))( self) /*Parser::action_table_row338*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable338) /*Array::add*/;
-    variable339 = ((parser_tables___Parser___action_table_row339_t)CALL( self,COLOR_parser_tables___Parser___action_table_row339))( self) /*Parser::action_table_row339*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable339) /*Array::add*/;
-    variable340 = ((parser_tables___Parser___action_table_row340_t)CALL( self,COLOR_parser_tables___Parser___action_table_row340))( self) /*Parser::action_table_row340*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable340) /*Array::add*/;
-    variable341 = ((parser_tables___Parser___action_table_row341_t)CALL( self,COLOR_parser_tables___Parser___action_table_row341))( self) /*Parser::action_table_row341*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable341) /*Array::add*/;
-    variable342 = ((parser_tables___Parser___action_table_row342_t)CALL( self,COLOR_parser_tables___Parser___action_table_row342))( self) /*Parser::action_table_row342*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable342) /*Array::add*/;
-    variable343 = ((parser_tables___Parser___action_table_row343_t)CALL( self,COLOR_parser_tables___Parser___action_table_row343))( self) /*Parser::action_table_row343*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable343) /*Array::add*/;
-    variable344 = ((parser_tables___Parser___action_table_row344_t)CALL( self,COLOR_parser_tables___Parser___action_table_row344))( self) /*Parser::action_table_row344*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable344) /*Array::add*/;
-    variable345 = ((parser_tables___Parser___action_table_row345_t)CALL( self,COLOR_parser_tables___Parser___action_table_row345))( self) /*Parser::action_table_row345*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable345) /*Array::add*/;
-    variable346 = ((parser_tables___Parser___action_table_row346_t)CALL( self,COLOR_parser_tables___Parser___action_table_row346))( self) /*Parser::action_table_row346*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable346) /*Array::add*/;
-    variable347 = ((parser_tables___Parser___action_table_row347_t)CALL( self,COLOR_parser_tables___Parser___action_table_row347))( self) /*Parser::action_table_row347*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable347) /*Array::add*/;
-    variable348 = ((parser_tables___Parser___action_table_row348_t)CALL( self,COLOR_parser_tables___Parser___action_table_row348))( self) /*Parser::action_table_row348*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable348) /*Array::add*/;
-    variable349 = ((parser_tables___Parser___action_table_row349_t)CALL( self,COLOR_parser_tables___Parser___action_table_row349))( self) /*Parser::action_table_row349*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable349) /*Array::add*/;
-    variable350 = ((parser_tables___Parser___action_table_row350_t)CALL( self,COLOR_parser_tables___Parser___action_table_row350))( self) /*Parser::action_table_row350*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable350) /*Array::add*/;
-    variable351 = ((parser_tables___Parser___action_table_row351_t)CALL( self,COLOR_parser_tables___Parser___action_table_row351))( self) /*Parser::action_table_row351*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable351) /*Array::add*/;
-    variable352 = ((parser_tables___Parser___action_table_row352_t)CALL( self,COLOR_parser_tables___Parser___action_table_row352))( self) /*Parser::action_table_row352*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable352) /*Array::add*/;
-    variable353 = ((parser_tables___Parser___action_table_row353_t)CALL( self,COLOR_parser_tables___Parser___action_table_row353))( self) /*Parser::action_table_row353*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable353) /*Array::add*/;
-    variable354 = ((parser_tables___Parser___action_table_row354_t)CALL( self,COLOR_parser_tables___Parser___action_table_row354))( self) /*Parser::action_table_row354*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable354) /*Array::add*/;
-    variable355 = ((parser_tables___Parser___action_table_row355_t)CALL( self,COLOR_parser_tables___Parser___action_table_row355))( self) /*Parser::action_table_row355*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable355) /*Array::add*/;
-    variable356 = ((parser_tables___Parser___action_table_row356_t)CALL( self,COLOR_parser_tables___Parser___action_table_row356))( self) /*Parser::action_table_row356*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable356) /*Array::add*/;
-    variable357 = ((parser_tables___Parser___action_table_row357_t)CALL( self,COLOR_parser_tables___Parser___action_table_row357))( self) /*Parser::action_table_row357*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable357) /*Array::add*/;
-    variable358 = ((parser_tables___Parser___action_table_row358_t)CALL( self,COLOR_parser_tables___Parser___action_table_row358))( self) /*Parser::action_table_row358*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable358) /*Array::add*/;
-    variable359 = ((parser_tables___Parser___action_table_row359_t)CALL( self,COLOR_parser_tables___Parser___action_table_row359))( self) /*Parser::action_table_row359*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable359) /*Array::add*/;
-    variable360 = ((parser_tables___Parser___action_table_row360_t)CALL( self,COLOR_parser_tables___Parser___action_table_row360))( self) /*Parser::action_table_row360*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable360) /*Array::add*/;
-    variable361 = ((parser_tables___Parser___action_table_row361_t)CALL( self,COLOR_parser_tables___Parser___action_table_row361))( self) /*Parser::action_table_row361*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable361) /*Array::add*/;
-    variable362 = ((parser_tables___Parser___action_table_row362_t)CALL( self,COLOR_parser_tables___Parser___action_table_row362))( self) /*Parser::action_table_row362*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable362) /*Array::add*/;
-    variable363 = ((parser_tables___Parser___action_table_row363_t)CALL( self,COLOR_parser_tables___Parser___action_table_row363))( self) /*Parser::action_table_row363*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable363) /*Array::add*/;
-    variable364 = ((parser_tables___Parser___action_table_row364_t)CALL( self,COLOR_parser_tables___Parser___action_table_row364))( self) /*Parser::action_table_row364*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable364) /*Array::add*/;
-    variable365 = ((parser_tables___Parser___action_table_row365_t)CALL( self,COLOR_parser_tables___Parser___action_table_row365))( self) /*Parser::action_table_row365*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable365) /*Array::add*/;
-    variable366 = ((parser_tables___Parser___action_table_row366_t)CALL( self,COLOR_parser_tables___Parser___action_table_row366))( self) /*Parser::action_table_row366*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable366) /*Array::add*/;
-    variable367 = ((parser_tables___Parser___action_table_row367_t)CALL( self,COLOR_parser_tables___Parser___action_table_row367))( self) /*Parser::action_table_row367*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable367) /*Array::add*/;
-    variable368 = ((parser_tables___Parser___action_table_row368_t)CALL( self,COLOR_parser_tables___Parser___action_table_row368))( self) /*Parser::action_table_row368*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable368) /*Array::add*/;
-    variable369 = ((parser_tables___Parser___action_table_row369_t)CALL( self,COLOR_parser_tables___Parser___action_table_row369))( self) /*Parser::action_table_row369*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable369) /*Array::add*/;
-    variable370 = ((parser_tables___Parser___action_table_row370_t)CALL( self,COLOR_parser_tables___Parser___action_table_row370))( self) /*Parser::action_table_row370*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable370) /*Array::add*/;
-    variable371 = ((parser_tables___Parser___action_table_row371_t)CALL( self,COLOR_parser_tables___Parser___action_table_row371))( self) /*Parser::action_table_row371*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable371) /*Array::add*/;
-    variable372 = ((parser_tables___Parser___action_table_row372_t)CALL( self,COLOR_parser_tables___Parser___action_table_row372))( self) /*Parser::action_table_row372*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable372) /*Array::add*/;
-    variable373 = ((parser_tables___Parser___action_table_row373_t)CALL( self,COLOR_parser_tables___Parser___action_table_row373))( self) /*Parser::action_table_row373*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable373) /*Array::add*/;
-    variable374 = ((parser_tables___Parser___action_table_row374_t)CALL( self,COLOR_parser_tables___Parser___action_table_row374))( self) /*Parser::action_table_row374*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable374) /*Array::add*/;
-    variable375 = ((parser_tables___Parser___action_table_row375_t)CALL( self,COLOR_parser_tables___Parser___action_table_row375))( self) /*Parser::action_table_row375*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable375) /*Array::add*/;
-    variable376 = ((parser_tables___Parser___action_table_row376_t)CALL( self,COLOR_parser_tables___Parser___action_table_row376))( self) /*Parser::action_table_row376*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable376) /*Array::add*/;
-    variable377 = ((parser_tables___Parser___action_table_row377_t)CALL( self,COLOR_parser_tables___Parser___action_table_row377))( self) /*Parser::action_table_row377*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable377) /*Array::add*/;
-    variable378 = ((parser_tables___Parser___action_table_row378_t)CALL( self,COLOR_parser_tables___Parser___action_table_row378))( self) /*Parser::action_table_row378*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable378) /*Array::add*/;
-    variable379 = ((parser_tables___Parser___action_table_row379_t)CALL( self,COLOR_parser_tables___Parser___action_table_row379))( self) /*Parser::action_table_row379*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable379) /*Array::add*/;
-    variable380 = ((parser_tables___Parser___action_table_row380_t)CALL( self,COLOR_parser_tables___Parser___action_table_row380))( self) /*Parser::action_table_row380*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable380) /*Array::add*/;
-    variable381 = ((parser_tables___Parser___action_table_row381_t)CALL( self,COLOR_parser_tables___Parser___action_table_row381))( self) /*Parser::action_table_row381*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable381) /*Array::add*/;
-    variable382 = ((parser_tables___Parser___action_table_row382_t)CALL( self,COLOR_parser_tables___Parser___action_table_row382))( self) /*Parser::action_table_row382*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable382) /*Array::add*/;
-    variable383 = ((parser_tables___Parser___action_table_row383_t)CALL( self,COLOR_parser_tables___Parser___action_table_row383))( self) /*Parser::action_table_row383*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable383) /*Array::add*/;
-    variable384 = ((parser_tables___Parser___action_table_row384_t)CALL( self,COLOR_parser_tables___Parser___action_table_row384))( self) /*Parser::action_table_row384*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable384) /*Array::add*/;
-    variable385 = ((parser_tables___Parser___action_table_row385_t)CALL( self,COLOR_parser_tables___Parser___action_table_row385))( self) /*Parser::action_table_row385*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable385) /*Array::add*/;
-    variable386 = ((parser_tables___Parser___action_table_row386_t)CALL( self,COLOR_parser_tables___Parser___action_table_row386))( self) /*Parser::action_table_row386*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable386) /*Array::add*/;
-    variable387 = ((parser_tables___Parser___action_table_row387_t)CALL( self,COLOR_parser_tables___Parser___action_table_row387))( self) /*Parser::action_table_row387*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable387) /*Array::add*/;
-    variable388 = ((parser_tables___Parser___action_table_row388_t)CALL( self,COLOR_parser_tables___Parser___action_table_row388))( self) /*Parser::action_table_row388*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable388) /*Array::add*/;
-    variable389 = ((parser_tables___Parser___action_table_row389_t)CALL( self,COLOR_parser_tables___Parser___action_table_row389))( self) /*Parser::action_table_row389*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable389) /*Array::add*/;
-    variable390 = ((parser_tables___Parser___action_table_row390_t)CALL( self,COLOR_parser_tables___Parser___action_table_row390))( self) /*Parser::action_table_row390*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable390) /*Array::add*/;
-    variable391 = ((parser_tables___Parser___action_table_row391_t)CALL( self,COLOR_parser_tables___Parser___action_table_row391))( self) /*Parser::action_table_row391*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable391) /*Array::add*/;
-    variable392 = ((parser_tables___Parser___action_table_row392_t)CALL( self,COLOR_parser_tables___Parser___action_table_row392))( self) /*Parser::action_table_row392*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable392) /*Array::add*/;
-    variable393 = ((parser_tables___Parser___action_table_row393_t)CALL( self,COLOR_parser_tables___Parser___action_table_row393))( self) /*Parser::action_table_row393*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable393) /*Array::add*/;
-    variable394 = ((parser_tables___Parser___action_table_row394_t)CALL( self,COLOR_parser_tables___Parser___action_table_row394))( self) /*Parser::action_table_row394*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable394) /*Array::add*/;
-    variable395 = ((parser_tables___Parser___action_table_row395_t)CALL( self,COLOR_parser_tables___Parser___action_table_row395))( self) /*Parser::action_table_row395*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable395) /*Array::add*/;
-    variable396 = ((parser_tables___Parser___action_table_row396_t)CALL( self,COLOR_parser_tables___Parser___action_table_row396))( self) /*Parser::action_table_row396*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable396) /*Array::add*/;
-    variable397 = ((parser_tables___Parser___action_table_row397_t)CALL( self,COLOR_parser_tables___Parser___action_table_row397))( self) /*Parser::action_table_row397*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable397) /*Array::add*/;
-    variable398 = ((parser_tables___Parser___action_table_row398_t)CALL( self,COLOR_parser_tables___Parser___action_table_row398))( self) /*Parser::action_table_row398*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable398) /*Array::add*/;
-    variable399 = ((parser_tables___Parser___action_table_row399_t)CALL( self,COLOR_parser_tables___Parser___action_table_row399))( self) /*Parser::action_table_row399*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable399) /*Array::add*/;
-    variable400 = ((parser_tables___Parser___action_table_row400_t)CALL( self,COLOR_parser_tables___Parser___action_table_row400))( self) /*Parser::action_table_row400*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable400) /*Array::add*/;
-    variable401 = ((parser_tables___Parser___action_table_row401_t)CALL( self,COLOR_parser_tables___Parser___action_table_row401))( self) /*Parser::action_table_row401*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable401) /*Array::add*/;
-    variable402 = ((parser_tables___Parser___action_table_row402_t)CALL( self,COLOR_parser_tables___Parser___action_table_row402))( self) /*Parser::action_table_row402*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable402) /*Array::add*/;
-    variable403 = ((parser_tables___Parser___action_table_row403_t)CALL( self,COLOR_parser_tables___Parser___action_table_row403))( self) /*Parser::action_table_row403*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable403) /*Array::add*/;
-    variable404 = ((parser_tables___Parser___action_table_row404_t)CALL( self,COLOR_parser_tables___Parser___action_table_row404))( self) /*Parser::action_table_row404*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable404) /*Array::add*/;
-    variable405 = ((parser_tables___Parser___action_table_row405_t)CALL( self,COLOR_parser_tables___Parser___action_table_row405))( self) /*Parser::action_table_row405*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable405) /*Array::add*/;
-    variable406 = ((parser_tables___Parser___action_table_row406_t)CALL( self,COLOR_parser_tables___Parser___action_table_row406))( self) /*Parser::action_table_row406*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable406) /*Array::add*/;
-    variable407 = ((parser_tables___Parser___action_table_row407_t)CALL( self,COLOR_parser_tables___Parser___action_table_row407))( self) /*Parser::action_table_row407*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable407) /*Array::add*/;
-    variable408 = ((parser_tables___Parser___action_table_row408_t)CALL( self,COLOR_parser_tables___Parser___action_table_row408))( self) /*Parser::action_table_row408*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable408) /*Array::add*/;
-    variable409 = ((parser_tables___Parser___action_table_row409_t)CALL( self,COLOR_parser_tables___Parser___action_table_row409))( self) /*Parser::action_table_row409*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable409) /*Array::add*/;
-    variable410 = ((parser_tables___Parser___action_table_row410_t)CALL( self,COLOR_parser_tables___Parser___action_table_row410))( self) /*Parser::action_table_row410*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable410) /*Array::add*/;
-    variable411 = ((parser_tables___Parser___action_table_row411_t)CALL( self,COLOR_parser_tables___Parser___action_table_row411))( self) /*Parser::action_table_row411*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable411) /*Array::add*/;
-    variable412 = ((parser_tables___Parser___action_table_row412_t)CALL( self,COLOR_parser_tables___Parser___action_table_row412))( self) /*Parser::action_table_row412*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable412) /*Array::add*/;
-    variable413 = ((parser_tables___Parser___action_table_row413_t)CALL( self,COLOR_parser_tables___Parser___action_table_row413))( self) /*Parser::action_table_row413*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable413) /*Array::add*/;
-    variable414 = ((parser_tables___Parser___action_table_row414_t)CALL( self,COLOR_parser_tables___Parser___action_table_row414))( self) /*Parser::action_table_row414*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable414) /*Array::add*/;
-    variable415 = ((parser_tables___Parser___action_table_row415_t)CALL( self,COLOR_parser_tables___Parser___action_table_row415))( self) /*Parser::action_table_row415*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable415) /*Array::add*/;
-    variable416 = ((parser_tables___Parser___action_table_row416_t)CALL( self,COLOR_parser_tables___Parser___action_table_row416))( self) /*Parser::action_table_row416*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable416) /*Array::add*/;
-    variable417 = ((parser_tables___Parser___action_table_row417_t)CALL( self,COLOR_parser_tables___Parser___action_table_row417))( self) /*Parser::action_table_row417*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable417) /*Array::add*/;
-    variable418 = ((parser_tables___Parser___action_table_row418_t)CALL( self,COLOR_parser_tables___Parser___action_table_row418))( self) /*Parser::action_table_row418*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable418) /*Array::add*/;
-    variable419 = ((parser_tables___Parser___action_table_row419_t)CALL( self,COLOR_parser_tables___Parser___action_table_row419))( self) /*Parser::action_table_row419*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable419) /*Array::add*/;
-    variable420 = ((parser_tables___Parser___action_table_row420_t)CALL( self,COLOR_parser_tables___Parser___action_table_row420))( self) /*Parser::action_table_row420*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable420) /*Array::add*/;
-    variable421 = ((parser_tables___Parser___action_table_row421_t)CALL( self,COLOR_parser_tables___Parser___action_table_row421))( self) /*Parser::action_table_row421*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable421) /*Array::add*/;
-    variable422 = ((parser_tables___Parser___action_table_row422_t)CALL( self,COLOR_parser_tables___Parser___action_table_row422))( self) /*Parser::action_table_row422*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable422) /*Array::add*/;
-    variable423 = ((parser_tables___Parser___action_table_row423_t)CALL( self,COLOR_parser_tables___Parser___action_table_row423))( self) /*Parser::action_table_row423*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable423) /*Array::add*/;
-    variable424 = ((parser_tables___Parser___action_table_row424_t)CALL( self,COLOR_parser_tables___Parser___action_table_row424))( self) /*Parser::action_table_row424*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable424) /*Array::add*/;
-    variable425 = ((parser_tables___Parser___action_table_row425_t)CALL( self,COLOR_parser_tables___Parser___action_table_row425))( self) /*Parser::action_table_row425*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable425) /*Array::add*/;
-    variable426 = ((parser_tables___Parser___action_table_row426_t)CALL( self,COLOR_parser_tables___Parser___action_table_row426))( self) /*Parser::action_table_row426*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable426) /*Array::add*/;
-    variable427 = ((parser_tables___Parser___action_table_row427_t)CALL( self,COLOR_parser_tables___Parser___action_table_row427))( self) /*Parser::action_table_row427*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable427) /*Array::add*/;
-    variable428 = ((parser_tables___Parser___action_table_row428_t)CALL( self,COLOR_parser_tables___Parser___action_table_row428))( self) /*Parser::action_table_row428*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable428) /*Array::add*/;
-    variable429 = ((parser_tables___Parser___action_table_row429_t)CALL( self,COLOR_parser_tables___Parser___action_table_row429))( self) /*Parser::action_table_row429*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable429) /*Array::add*/;
-    variable430 = ((parser_tables___Parser___action_table_row430_t)CALL( self,COLOR_parser_tables___Parser___action_table_row430))( self) /*Parser::action_table_row430*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable430) /*Array::add*/;
-    variable431 = ((parser_tables___Parser___action_table_row431_t)CALL( self,COLOR_parser_tables___Parser___action_table_row431))( self) /*Parser::action_table_row431*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable431) /*Array::add*/;
-    variable432 = ((parser_tables___Parser___action_table_row432_t)CALL( self,COLOR_parser_tables___Parser___action_table_row432))( self) /*Parser::action_table_row432*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable432) /*Array::add*/;
-    variable433 = ((parser_tables___Parser___action_table_row433_t)CALL( self,COLOR_parser_tables___Parser___action_table_row433))( self) /*Parser::action_table_row433*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable433) /*Array::add*/;
-    variable434 = ((parser_tables___Parser___action_table_row434_t)CALL( self,COLOR_parser_tables___Parser___action_table_row434))( self) /*Parser::action_table_row434*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable434) /*Array::add*/;
-    variable435 = ((parser_tables___Parser___action_table_row435_t)CALL( self,COLOR_parser_tables___Parser___action_table_row435))( self) /*Parser::action_table_row435*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable435) /*Array::add*/;
-    variable436 = ((parser_tables___Parser___action_table_row436_t)CALL( self,COLOR_parser_tables___Parser___action_table_row436))( self) /*Parser::action_table_row436*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable436) /*Array::add*/;
-    variable437 = ((parser_tables___Parser___action_table_row437_t)CALL( self,COLOR_parser_tables___Parser___action_table_row437))( self) /*Parser::action_table_row437*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable437) /*Array::add*/;
-    variable438 = ((parser_tables___Parser___action_table_row438_t)CALL( self,COLOR_parser_tables___Parser___action_table_row438))( self) /*Parser::action_table_row438*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable438) /*Array::add*/;
-    variable439 = ((parser_tables___Parser___action_table_row439_t)CALL( self,COLOR_parser_tables___Parser___action_table_row439))( self) /*Parser::action_table_row439*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable439) /*Array::add*/;
-    variable440 = ((parser_tables___Parser___action_table_row440_t)CALL( self,COLOR_parser_tables___Parser___action_table_row440))( self) /*Parser::action_table_row440*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable440) /*Array::add*/;
-    variable441 = ((parser_tables___Parser___action_table_row441_t)CALL( self,COLOR_parser_tables___Parser___action_table_row441))( self) /*Parser::action_table_row441*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable441) /*Array::add*/;
-    variable442 = ((parser_tables___Parser___action_table_row442_t)CALL( self,COLOR_parser_tables___Parser___action_table_row442))( self) /*Parser::action_table_row442*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable442) /*Array::add*/;
-    variable443 = ((parser_tables___Parser___action_table_row443_t)CALL( self,COLOR_parser_tables___Parser___action_table_row443))( self) /*Parser::action_table_row443*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable443) /*Array::add*/;
-    variable444 = ((parser_tables___Parser___action_table_row444_t)CALL( self,COLOR_parser_tables___Parser___action_table_row444))( self) /*Parser::action_table_row444*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable444) /*Array::add*/;
-    variable445 = ((parser_tables___Parser___action_table_row445_t)CALL( self,COLOR_parser_tables___Parser___action_table_row445))( self) /*Parser::action_table_row445*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable445) /*Array::add*/;
-    variable446 = ((parser_tables___Parser___action_table_row446_t)CALL( self,COLOR_parser_tables___Parser___action_table_row446))( self) /*Parser::action_table_row446*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable446) /*Array::add*/;
-    variable447 = ((parser_tables___Parser___action_table_row447_t)CALL( self,COLOR_parser_tables___Parser___action_table_row447))( self) /*Parser::action_table_row447*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable447) /*Array::add*/;
-    variable448 = ((parser_tables___Parser___action_table_row448_t)CALL( self,COLOR_parser_tables___Parser___action_table_row448))( self) /*Parser::action_table_row448*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable448) /*Array::add*/;
-    variable449 = ((parser_tables___Parser___action_table_row449_t)CALL( self,COLOR_parser_tables___Parser___action_table_row449))( self) /*Parser::action_table_row449*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable449) /*Array::add*/;
-    variable450 = ((parser_tables___Parser___action_table_row450_t)CALL( self,COLOR_parser_tables___Parser___action_table_row450))( self) /*Parser::action_table_row450*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable450) /*Array::add*/;
-    variable451 = ((parser_tables___Parser___action_table_row451_t)CALL( self,COLOR_parser_tables___Parser___action_table_row451))( self) /*Parser::action_table_row451*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable451) /*Array::add*/;
-    variable452 = ((parser_tables___Parser___action_table_row452_t)CALL( self,COLOR_parser_tables___Parser___action_table_row452))( self) /*Parser::action_table_row452*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable452) /*Array::add*/;
-    variable453 = ((parser_tables___Parser___action_table_row453_t)CALL( self,COLOR_parser_tables___Parser___action_table_row453))( self) /*Parser::action_table_row453*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable453) /*Array::add*/;
-    variable454 = ((parser_tables___Parser___action_table_row454_t)CALL( self,COLOR_parser_tables___Parser___action_table_row454))( self) /*Parser::action_table_row454*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable454) /*Array::add*/;
-    variable455 = ((parser_tables___Parser___action_table_row455_t)CALL( self,COLOR_parser_tables___Parser___action_table_row455))( self) /*Parser::action_table_row455*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable455) /*Array::add*/;
-    variable456 = ((parser_tables___Parser___action_table_row456_t)CALL( self,COLOR_parser_tables___Parser___action_table_row456))( self) /*Parser::action_table_row456*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable456) /*Array::add*/;
-    variable457 = ((parser_tables___Parser___action_table_row457_t)CALL( self,COLOR_parser_tables___Parser___action_table_row457))( self) /*Parser::action_table_row457*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable457) /*Array::add*/;
-    variable458 = ((parser_tables___Parser___action_table_row458_t)CALL( self,COLOR_parser_tables___Parser___action_table_row458))( self) /*Parser::action_table_row458*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable458) /*Array::add*/;
-    variable459 = ((parser_tables___Parser___action_table_row459_t)CALL( self,COLOR_parser_tables___Parser___action_table_row459))( self) /*Parser::action_table_row459*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable459) /*Array::add*/;
-    variable460 = ((parser_tables___Parser___action_table_row460_t)CALL( self,COLOR_parser_tables___Parser___action_table_row460))( self) /*Parser::action_table_row460*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable460) /*Array::add*/;
-    variable461 = ((parser_tables___Parser___action_table_row461_t)CALL( self,COLOR_parser_tables___Parser___action_table_row461))( self) /*Parser::action_table_row461*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable461) /*Array::add*/;
-    variable462 = ((parser_tables___Parser___action_table_row462_t)CALL( self,COLOR_parser_tables___Parser___action_table_row462))( self) /*Parser::action_table_row462*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable462) /*Array::add*/;
-    variable463 = ((parser_tables___Parser___action_table_row463_t)CALL( self,COLOR_parser_tables___Parser___action_table_row463))( self) /*Parser::action_table_row463*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable463) /*Array::add*/;
-    variable464 = ((parser_tables___Parser___action_table_row464_t)CALL( self,COLOR_parser_tables___Parser___action_table_row464))( self) /*Parser::action_table_row464*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable464) /*Array::add*/;
-    variable465 = ((parser_tables___Parser___action_table_row465_t)CALL( self,COLOR_parser_tables___Parser___action_table_row465))( self) /*Parser::action_table_row465*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable465) /*Array::add*/;
-    variable466 = ((parser_tables___Parser___action_table_row466_t)CALL( self,COLOR_parser_tables___Parser___action_table_row466))( self) /*Parser::action_table_row466*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable466) /*Array::add*/;
-    variable467 = ((parser_tables___Parser___action_table_row467_t)CALL( self,COLOR_parser_tables___Parser___action_table_row467))( self) /*Parser::action_table_row467*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable467) /*Array::add*/;
-    variable468 = ((parser_tables___Parser___action_table_row468_t)CALL( self,COLOR_parser_tables___Parser___action_table_row468))( self) /*Parser::action_table_row468*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable468) /*Array::add*/;
-    variable469 = ((parser_tables___Parser___action_table_row469_t)CALL( self,COLOR_parser_tables___Parser___action_table_row469))( self) /*Parser::action_table_row469*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable469) /*Array::add*/;
-    variable470 = ((parser_tables___Parser___action_table_row470_t)CALL( self,COLOR_parser_tables___Parser___action_table_row470))( self) /*Parser::action_table_row470*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable470) /*Array::add*/;
-    variable471 = ((parser_tables___Parser___action_table_row471_t)CALL( self,COLOR_parser_tables___Parser___action_table_row471))( self) /*Parser::action_table_row471*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable471) /*Array::add*/;
-    variable472 = ((parser_tables___Parser___action_table_row472_t)CALL( self,COLOR_parser_tables___Parser___action_table_row472))( self) /*Parser::action_table_row472*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable472) /*Array::add*/;
-    variable473 = ((parser_tables___Parser___action_table_row473_t)CALL( self,COLOR_parser_tables___Parser___action_table_row473))( self) /*Parser::action_table_row473*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable473) /*Array::add*/;
-    variable474 = ((parser_tables___Parser___action_table_row474_t)CALL( self,COLOR_parser_tables___Parser___action_table_row474))( self) /*Parser::action_table_row474*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable474) /*Array::add*/;
-    variable475 = ((parser_tables___Parser___action_table_row475_t)CALL( self,COLOR_parser_tables___Parser___action_table_row475))( self) /*Parser::action_table_row475*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable475) /*Array::add*/;
-    variable476 = ((parser_tables___Parser___action_table_row476_t)CALL( self,COLOR_parser_tables___Parser___action_table_row476))( self) /*Parser::action_table_row476*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable476) /*Array::add*/;
-    variable477 = ((parser_tables___Parser___action_table_row477_t)CALL( self,COLOR_parser_tables___Parser___action_table_row477))( self) /*Parser::action_table_row477*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable477) /*Array::add*/;
-    variable478 = ((parser_tables___Parser___action_table_row478_t)CALL( self,COLOR_parser_tables___Parser___action_table_row478))( self) /*Parser::action_table_row478*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable478) /*Array::add*/;
-    variable479 = ((parser_tables___Parser___action_table_row479_t)CALL( self,COLOR_parser_tables___Parser___action_table_row479))( self) /*Parser::action_table_row479*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable479) /*Array::add*/;
-    variable480 = ((parser_tables___Parser___action_table_row480_t)CALL( self,COLOR_parser_tables___Parser___action_table_row480))( self) /*Parser::action_table_row480*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable480) /*Array::add*/;
-    variable481 = ((parser_tables___Parser___action_table_row481_t)CALL( self,COLOR_parser_tables___Parser___action_table_row481))( self) /*Parser::action_table_row481*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable481) /*Array::add*/;
-    variable482 = ((parser_tables___Parser___action_table_row482_t)CALL( self,COLOR_parser_tables___Parser___action_table_row482))( self) /*Parser::action_table_row482*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable482) /*Array::add*/;
-    variable483 = ((parser_tables___Parser___action_table_row483_t)CALL( self,COLOR_parser_tables___Parser___action_table_row483))( self) /*Parser::action_table_row483*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable483) /*Array::add*/;
-    variable484 = ((parser_tables___Parser___action_table_row484_t)CALL( self,COLOR_parser_tables___Parser___action_table_row484))( self) /*Parser::action_table_row484*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable484) /*Array::add*/;
-    variable485 = ((parser_tables___Parser___action_table_row485_t)CALL( self,COLOR_parser_tables___Parser___action_table_row485))( self) /*Parser::action_table_row485*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable485) /*Array::add*/;
-    variable486 = ((parser_tables___Parser___action_table_row486_t)CALL( self,COLOR_parser_tables___Parser___action_table_row486))( self) /*Parser::action_table_row486*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable486) /*Array::add*/;
-    variable487 = ((parser_tables___Parser___action_table_row487_t)CALL( self,COLOR_parser_tables___Parser___action_table_row487))( self) /*Parser::action_table_row487*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable487) /*Array::add*/;
-    variable488 = ((parser_tables___Parser___action_table_row488_t)CALL( self,COLOR_parser_tables___Parser___action_table_row488))( self) /*Parser::action_table_row488*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable488) /*Array::add*/;
-    variable489 = ((parser_tables___Parser___action_table_row489_t)CALL( self,COLOR_parser_tables___Parser___action_table_row489))( self) /*Parser::action_table_row489*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable489) /*Array::add*/;
-    variable490 = ((parser_tables___Parser___action_table_row490_t)CALL( self,COLOR_parser_tables___Parser___action_table_row490))( self) /*Parser::action_table_row490*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable490) /*Array::add*/;
-    variable491 = ((parser_tables___Parser___action_table_row491_t)CALL( self,COLOR_parser_tables___Parser___action_table_row491))( self) /*Parser::action_table_row491*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable491) /*Array::add*/;
-    variable492 = ((parser_tables___Parser___action_table_row492_t)CALL( self,COLOR_parser_tables___Parser___action_table_row492))( self) /*Parser::action_table_row492*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable492) /*Array::add*/;
-    variable493 = ((parser_tables___Parser___action_table_row493_t)CALL( self,COLOR_parser_tables___Parser___action_table_row493))( self) /*Parser::action_table_row493*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable493) /*Array::add*/;
-    variable494 = ((parser_tables___Parser___action_table_row494_t)CALL( self,COLOR_parser_tables___Parser___action_table_row494))( self) /*Parser::action_table_row494*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable494) /*Array::add*/;
-    variable495 = ((parser_tables___Parser___action_table_row495_t)CALL( self,COLOR_parser_tables___Parser___action_table_row495))( self) /*Parser::action_table_row495*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable495) /*Array::add*/;
-    variable496 = ((parser_tables___Parser___action_table_row496_t)CALL( self,COLOR_parser_tables___Parser___action_table_row496))( self) /*Parser::action_table_row496*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable496) /*Array::add*/;
-    variable497 = ((parser_tables___Parser___action_table_row497_t)CALL( self,COLOR_parser_tables___Parser___action_table_row497))( self) /*Parser::action_table_row497*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable497) /*Array::add*/;
-    variable498 = ((parser_tables___Parser___action_table_row498_t)CALL( self,COLOR_parser_tables___Parser___action_table_row498))( self) /*Parser::action_table_row498*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable498) /*Array::add*/;
-    variable499 = ((parser_tables___Parser___action_table_row499_t)CALL( self,COLOR_parser_tables___Parser___action_table_row499))( self) /*Parser::action_table_row499*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable499) /*Array::add*/;
-    variable500 = ((parser_tables___Parser___action_table_row500_t)CALL( self,COLOR_parser_tables___Parser___action_table_row500))( self) /*Parser::action_table_row500*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable500) /*Array::add*/;
-    variable501 = ((parser_tables___Parser___action_table_row501_t)CALL( self,COLOR_parser_tables___Parser___action_table_row501))( self) /*Parser::action_table_row501*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable501) /*Array::add*/;
-    variable502 = ((parser_tables___Parser___action_table_row502_t)CALL( self,COLOR_parser_tables___Parser___action_table_row502))( self) /*Parser::action_table_row502*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable502) /*Array::add*/;
-    variable503 = ((parser_tables___Parser___action_table_row503_t)CALL( self,COLOR_parser_tables___Parser___action_table_row503))( self) /*Parser::action_table_row503*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable503) /*Array::add*/;
-    variable504 = ((parser_tables___Parser___action_table_row504_t)CALL( self,COLOR_parser_tables___Parser___action_table_row504))( self) /*Parser::action_table_row504*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable504) /*Array::add*/;
-    variable505 = ((parser_tables___Parser___action_table_row505_t)CALL( self,COLOR_parser_tables___Parser___action_table_row505))( self) /*Parser::action_table_row505*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable505) /*Array::add*/;
-    variable506 = ((parser_tables___Parser___action_table_row506_t)CALL( self,COLOR_parser_tables___Parser___action_table_row506))( self) /*Parser::action_table_row506*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable506) /*Array::add*/;
-    variable507 = ((parser_tables___Parser___action_table_row507_t)CALL( self,COLOR_parser_tables___Parser___action_table_row507))( self) /*Parser::action_table_row507*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable507) /*Array::add*/;
-    variable508 = ((parser_tables___Parser___action_table_row508_t)CALL( self,COLOR_parser_tables___Parser___action_table_row508))( self) /*Parser::action_table_row508*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable508) /*Array::add*/;
-    variable509 = ((parser_tables___Parser___action_table_row509_t)CALL( self,COLOR_parser_tables___Parser___action_table_row509))( self) /*Parser::action_table_row509*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable509) /*Array::add*/;
-    variable510 = ((parser_tables___Parser___action_table_row510_t)CALL( self,COLOR_parser_tables___Parser___action_table_row510))( self) /*Parser::action_table_row510*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable510) /*Array::add*/;
-    variable511 = ((parser_tables___Parser___action_table_row511_t)CALL( self,COLOR_parser_tables___Parser___action_table_row511))( self) /*Parser::action_table_row511*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable511) /*Array::add*/;
-    variable512 = ((parser_tables___Parser___action_table_row512_t)CALL( self,COLOR_parser_tables___Parser___action_table_row512))( self) /*Parser::action_table_row512*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable512) /*Array::add*/;
-    variable513 = ((parser_tables___Parser___action_table_row513_t)CALL( self,COLOR_parser_tables___Parser___action_table_row513))( self) /*Parser::action_table_row513*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable513) /*Array::add*/;
-    variable514 = ((parser_tables___Parser___action_table_row514_t)CALL( self,COLOR_parser_tables___Parser___action_table_row514))( self) /*Parser::action_table_row514*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable514) /*Array::add*/;
-    variable515 = ((parser_tables___Parser___action_table_row515_t)CALL( self,COLOR_parser_tables___Parser___action_table_row515))( self) /*Parser::action_table_row515*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable515) /*Array::add*/;
-    variable516 = ((parser_tables___Parser___action_table_row516_t)CALL( self,COLOR_parser_tables___Parser___action_table_row516))( self) /*Parser::action_table_row516*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable516) /*Array::add*/;
-    variable517 = ((parser_tables___Parser___action_table_row517_t)CALL( self,COLOR_parser_tables___Parser___action_table_row517))( self) /*Parser::action_table_row517*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable517) /*Array::add*/;
-    variable518 = ((parser_tables___Parser___action_table_row518_t)CALL( self,COLOR_parser_tables___Parser___action_table_row518))( self) /*Parser::action_table_row518*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable518) /*Array::add*/;
-    variable519 = ((parser_tables___Parser___action_table_row519_t)CALL( self,COLOR_parser_tables___Parser___action_table_row519))( self) /*Parser::action_table_row519*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable519) /*Array::add*/;
-    variable520 = ((parser_tables___Parser___action_table_row520_t)CALL( self,COLOR_parser_tables___Parser___action_table_row520))( self) /*Parser::action_table_row520*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable520) /*Array::add*/;
-    variable521 = ((parser_tables___Parser___action_table_row521_t)CALL( self,COLOR_parser_tables___Parser___action_table_row521))( self) /*Parser::action_table_row521*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable521) /*Array::add*/;
-    variable522 = ((parser_tables___Parser___action_table_row522_t)CALL( self,COLOR_parser_tables___Parser___action_table_row522))( self) /*Parser::action_table_row522*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable522) /*Array::add*/;
-    variable523 = ((parser_tables___Parser___action_table_row523_t)CALL( self,COLOR_parser_tables___Parser___action_table_row523))( self) /*Parser::action_table_row523*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable523) /*Array::add*/;
-    variable524 = ((parser_tables___Parser___action_table_row524_t)CALL( self,COLOR_parser_tables___Parser___action_table_row524))( self) /*Parser::action_table_row524*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable524) /*Array::add*/;
-    variable525 = ((parser_tables___Parser___action_table_row525_t)CALL( self,COLOR_parser_tables___Parser___action_table_row525))( self) /*Parser::action_table_row525*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable525) /*Array::add*/;
-    variable526 = ((parser_tables___Parser___action_table_row526_t)CALL( self,COLOR_parser_tables___Parser___action_table_row526))( self) /*Parser::action_table_row526*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable526) /*Array::add*/;
-    variable527 = ((parser_tables___Parser___action_table_row527_t)CALL( self,COLOR_parser_tables___Parser___action_table_row527))( self) /*Parser::action_table_row527*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable527) /*Array::add*/;
-    variable528 = ((parser_tables___Parser___action_table_row528_t)CALL( self,COLOR_parser_tables___Parser___action_table_row528))( self) /*Parser::action_table_row528*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable528) /*Array::add*/;
-    variable529 = ((parser_tables___Parser___action_table_row529_t)CALL( self,COLOR_parser_tables___Parser___action_table_row529))( self) /*Parser::action_table_row529*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable529) /*Array::add*/;
-    variable530 = ((parser_tables___Parser___action_table_row530_t)CALL( self,COLOR_parser_tables___Parser___action_table_row530))( self) /*Parser::action_table_row530*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable530) /*Array::add*/;
-    variable531 = ((parser_tables___Parser___action_table_row531_t)CALL( self,COLOR_parser_tables___Parser___action_table_row531))( self) /*Parser::action_table_row531*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable531) /*Array::add*/;
-    variable532 = ((parser_tables___Parser___action_table_row532_t)CALL( self,COLOR_parser_tables___Parser___action_table_row532))( self) /*Parser::action_table_row532*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable532) /*Array::add*/;
-    variable533 = ((parser_tables___Parser___action_table_row533_t)CALL( self,COLOR_parser_tables___Parser___action_table_row533))( self) /*Parser::action_table_row533*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable533) /*Array::add*/;
-    variable534 = ((parser_tables___Parser___action_table_row534_t)CALL( self,COLOR_parser_tables___Parser___action_table_row534))( self) /*Parser::action_table_row534*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable534) /*Array::add*/;
-    variable535 = ((parser_tables___Parser___action_table_row535_t)CALL( self,COLOR_parser_tables___Parser___action_table_row535))( self) /*Parser::action_table_row535*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable535) /*Array::add*/;
-    variable536 = ((parser_tables___Parser___action_table_row536_t)CALL( self,COLOR_parser_tables___Parser___action_table_row536))( self) /*Parser::action_table_row536*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable536) /*Array::add*/;
-    variable537 = ((parser_tables___Parser___action_table_row537_t)CALL( self,COLOR_parser_tables___Parser___action_table_row537))( self) /*Parser::action_table_row537*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable537) /*Array::add*/;
-    variable538 = ((parser_tables___Parser___action_table_row538_t)CALL( self,COLOR_parser_tables___Parser___action_table_row538))( self) /*Parser::action_table_row538*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable538) /*Array::add*/;
-    variable539 = ((parser_tables___Parser___action_table_row539_t)CALL( self,COLOR_parser_tables___Parser___action_table_row539))( self) /*Parser::action_table_row539*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable539) /*Array::add*/;
-    variable540 = ((parser_tables___Parser___action_table_row540_t)CALL( self,COLOR_parser_tables___Parser___action_table_row540))( self) /*Parser::action_table_row540*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable540) /*Array::add*/;
-    variable541 = ((parser_tables___Parser___action_table_row541_t)CALL( self,COLOR_parser_tables___Parser___action_table_row541))( self) /*Parser::action_table_row541*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable541) /*Array::add*/;
-    variable542 = ((parser_tables___Parser___action_table_row542_t)CALL( self,COLOR_parser_tables___Parser___action_table_row542))( self) /*Parser::action_table_row542*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable542) /*Array::add*/;
-    variable543 = ((parser_tables___Parser___action_table_row543_t)CALL( self,COLOR_parser_tables___Parser___action_table_row543))( self) /*Parser::action_table_row543*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable543) /*Array::add*/;
-    variable544 = ((parser_tables___Parser___action_table_row544_t)CALL( self,COLOR_parser_tables___Parser___action_table_row544))( self) /*Parser::action_table_row544*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable544) /*Array::add*/;
-    variable545 = ((parser_tables___Parser___action_table_row545_t)CALL( self,COLOR_parser_tables___Parser___action_table_row545))( self) /*Parser::action_table_row545*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable545) /*Array::add*/;
-    variable546 = ((parser_tables___Parser___action_table_row546_t)CALL( self,COLOR_parser_tables___Parser___action_table_row546))( self) /*Parser::action_table_row546*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable546) /*Array::add*/;
-    variable547 = ((parser_tables___Parser___action_table_row547_t)CALL( self,COLOR_parser_tables___Parser___action_table_row547))( self) /*Parser::action_table_row547*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable547) /*Array::add*/;
-    variable548 = ((parser_tables___Parser___action_table_row548_t)CALL( self,COLOR_parser_tables___Parser___action_table_row548))( self) /*Parser::action_table_row548*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable548) /*Array::add*/;
-    variable549 = ((parser_tables___Parser___action_table_row549_t)CALL( self,COLOR_parser_tables___Parser___action_table_row549))( self) /*Parser::action_table_row549*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable549) /*Array::add*/;
-    variable550 = ((parser_tables___Parser___action_table_row550_t)CALL( self,COLOR_parser_tables___Parser___action_table_row550))( self) /*Parser::action_table_row550*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable550) /*Array::add*/;
-    variable551 = ((parser_tables___Parser___action_table_row551_t)CALL( self,COLOR_parser_tables___Parser___action_table_row551))( self) /*Parser::action_table_row551*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable551) /*Array::add*/;
-    variable552 = ((parser_tables___Parser___action_table_row552_t)CALL( self,COLOR_parser_tables___Parser___action_table_row552))( self) /*Parser::action_table_row552*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable552) /*Array::add*/;
-    variable553 = ((parser_tables___Parser___action_table_row553_t)CALL( self,COLOR_parser_tables___Parser___action_table_row553))( self) /*Parser::action_table_row553*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable553) /*Array::add*/;
-    variable554 = ((parser_tables___Parser___action_table_row554_t)CALL( self,COLOR_parser_tables___Parser___action_table_row554))( self) /*Parser::action_table_row554*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable554) /*Array::add*/;
-    variable555 = ((parser_tables___Parser___action_table_row555_t)CALL( self,COLOR_parser_tables___Parser___action_table_row555))( self) /*Parser::action_table_row555*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable555) /*Array::add*/;
-    variable556 = ((parser_tables___Parser___action_table_row556_t)CALL( self,COLOR_parser_tables___Parser___action_table_row556))( self) /*Parser::action_table_row556*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable556) /*Array::add*/;
-    variable557 = ((parser_tables___Parser___action_table_row557_t)CALL( self,COLOR_parser_tables___Parser___action_table_row557))( self) /*Parser::action_table_row557*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable557) /*Array::add*/;
-    variable558 = ((parser_tables___Parser___action_table_row558_t)CALL( self,COLOR_parser_tables___Parser___action_table_row558))( self) /*Parser::action_table_row558*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable558) /*Array::add*/;
-    variable559 = ((parser_tables___Parser___action_table_row559_t)CALL( self,COLOR_parser_tables___Parser___action_table_row559))( self) /*Parser::action_table_row559*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable559) /*Array::add*/;
-    variable560 = ((parser_tables___Parser___action_table_row560_t)CALL( self,COLOR_parser_tables___Parser___action_table_row560))( self) /*Parser::action_table_row560*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable560) /*Array::add*/;
-    variable561 = ((parser_tables___Parser___action_table_row561_t)CALL( self,COLOR_parser_tables___Parser___action_table_row561))( self) /*Parser::action_table_row561*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable561) /*Array::add*/;
-    variable562 = ((parser_tables___Parser___action_table_row562_t)CALL( self,COLOR_parser_tables___Parser___action_table_row562))( self) /*Parser::action_table_row562*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable562) /*Array::add*/;
-    variable563 = ((parser_tables___Parser___action_table_row563_t)CALL( self,COLOR_parser_tables___Parser___action_table_row563))( self) /*Parser::action_table_row563*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable563) /*Array::add*/;
-    variable564 = ((parser_tables___Parser___action_table_row564_t)CALL( self,COLOR_parser_tables___Parser___action_table_row564))( self) /*Parser::action_table_row564*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable564) /*Array::add*/;
-    variable565 = ((parser_tables___Parser___action_table_row565_t)CALL( self,COLOR_parser_tables___Parser___action_table_row565))( self) /*Parser::action_table_row565*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable565) /*Array::add*/;
-    variable566 = ((parser_tables___Parser___action_table_row566_t)CALL( self,COLOR_parser_tables___Parser___action_table_row566))( self) /*Parser::action_table_row566*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable566) /*Array::add*/;
-    variable567 = ((parser_tables___Parser___action_table_row567_t)CALL( self,COLOR_parser_tables___Parser___action_table_row567))( self) /*Parser::action_table_row567*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable567) /*Array::add*/;
-    variable568 = ((parser_tables___Parser___action_table_row568_t)CALL( self,COLOR_parser_tables___Parser___action_table_row568))( self) /*Parser::action_table_row568*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable568) /*Array::add*/;
-    variable569 = ((parser_tables___Parser___action_table_row569_t)CALL( self,COLOR_parser_tables___Parser___action_table_row569))( self) /*Parser::action_table_row569*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable569) /*Array::add*/;
-    variable570 = ((parser_tables___Parser___action_table_row570_t)CALL( self,COLOR_parser_tables___Parser___action_table_row570))( self) /*Parser::action_table_row570*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable570) /*Array::add*/;
-    variable571 = ((parser_tables___Parser___action_table_row571_t)CALL( self,COLOR_parser_tables___Parser___action_table_row571))( self) /*Parser::action_table_row571*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable571) /*Array::add*/;
-    variable572 = ((parser_tables___Parser___action_table_row572_t)CALL( self,COLOR_parser_tables___Parser___action_table_row572))( self) /*Parser::action_table_row572*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable572) /*Array::add*/;
-    variable573 = ((parser_tables___Parser___action_table_row573_t)CALL( self,COLOR_parser_tables___Parser___action_table_row573))( self) /*Parser::action_table_row573*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable573) /*Array::add*/;
-    variable574 = ((parser_tables___Parser___action_table_row574_t)CALL( self,COLOR_parser_tables___Parser___action_table_row574))( self) /*Parser::action_table_row574*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable574) /*Array::add*/;
-    variable575 = ((parser_tables___Parser___action_table_row575_t)CALL( self,COLOR_parser_tables___Parser___action_table_row575))( self) /*Parser::action_table_row575*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable575) /*Array::add*/;
-    variable576 = ((parser_tables___Parser___action_table_row576_t)CALL( self,COLOR_parser_tables___Parser___action_table_row576))( self) /*Parser::action_table_row576*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable576) /*Array::add*/;
-    variable577 = ((parser_tables___Parser___action_table_row577_t)CALL( self,COLOR_parser_tables___Parser___action_table_row577))( self) /*Parser::action_table_row577*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable577) /*Array::add*/;
-    variable578 = ((parser_tables___Parser___action_table_row578_t)CALL( self,COLOR_parser_tables___Parser___action_table_row578))( self) /*Parser::action_table_row578*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable578) /*Array::add*/;
-    variable579 = ((parser_tables___Parser___action_table_row579_t)CALL( self,COLOR_parser_tables___Parser___action_table_row579))( self) /*Parser::action_table_row579*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable579) /*Array::add*/;
-    variable580 = ((parser_tables___Parser___action_table_row580_t)CALL( self,COLOR_parser_tables___Parser___action_table_row580))( self) /*Parser::action_table_row580*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable580) /*Array::add*/;
-    variable581 = ((parser_tables___Parser___action_table_row581_t)CALL( self,COLOR_parser_tables___Parser___action_table_row581))( self) /*Parser::action_table_row581*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable581) /*Array::add*/;
-    variable582 = ((parser_tables___Parser___action_table_row582_t)CALL( self,COLOR_parser_tables___Parser___action_table_row582))( self) /*Parser::action_table_row582*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable582) /*Array::add*/;
-    variable583 = ((parser_tables___Parser___action_table_row583_t)CALL( self,COLOR_parser_tables___Parser___action_table_row583))( self) /*Parser::action_table_row583*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable583) /*Array::add*/;
-    variable584 = ((parser_tables___Parser___action_table_row584_t)CALL( self,COLOR_parser_tables___Parser___action_table_row584))( self) /*Parser::action_table_row584*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable584) /*Array::add*/;
-    variable585 = ((parser_tables___Parser___action_table_row585_t)CALL( self,COLOR_parser_tables___Parser___action_table_row585))( self) /*Parser::action_table_row585*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable585) /*Array::add*/;
-    variable586 = ((parser_tables___Parser___action_table_row586_t)CALL( self,COLOR_parser_tables___Parser___action_table_row586))( self) /*Parser::action_table_row586*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable586) /*Array::add*/;
-    variable587 = ((parser_tables___Parser___action_table_row587_t)CALL( self,COLOR_parser_tables___Parser___action_table_row587))( self) /*Parser::action_table_row587*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable587) /*Array::add*/;
-    variable588 = ((parser_tables___Parser___action_table_row588_t)CALL( self,COLOR_parser_tables___Parser___action_table_row588))( self) /*Parser::action_table_row588*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable588) /*Array::add*/;
-    variable589 = ((parser_tables___Parser___action_table_row589_t)CALL( self,COLOR_parser_tables___Parser___action_table_row589))( self) /*Parser::action_table_row589*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable589) /*Array::add*/;
-    variable590 = ((parser_tables___Parser___action_table_row590_t)CALL( self,COLOR_parser_tables___Parser___action_table_row590))( self) /*Parser::action_table_row590*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable590) /*Array::add*/;
-    variable591 = ((parser_tables___Parser___action_table_row591_t)CALL( self,COLOR_parser_tables___Parser___action_table_row591))( self) /*Parser::action_table_row591*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable591) /*Array::add*/;
-    variable592 = ((parser_tables___Parser___action_table_row592_t)CALL( self,COLOR_parser_tables___Parser___action_table_row592))( self) /*Parser::action_table_row592*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable592) /*Array::add*/;
-    variable593 = ((parser_tables___Parser___action_table_row593_t)CALL( self,COLOR_parser_tables___Parser___action_table_row593))( self) /*Parser::action_table_row593*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable593) /*Array::add*/;
-    variable594 = ((parser_tables___Parser___action_table_row594_t)CALL( self,COLOR_parser_tables___Parser___action_table_row594))( self) /*Parser::action_table_row594*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable594) /*Array::add*/;
-    variable595 = ((parser_tables___Parser___action_table_row595_t)CALL( self,COLOR_parser_tables___Parser___action_table_row595))( self) /*Parser::action_table_row595*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable595) /*Array::add*/;
-    variable596 = ((parser_tables___Parser___action_table_row596_t)CALL( self,COLOR_parser_tables___Parser___action_table_row596))( self) /*Parser::action_table_row596*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable596) /*Array::add*/;
-    variable597 = ((parser_tables___Parser___action_table_row597_t)CALL( self,COLOR_parser_tables___Parser___action_table_row597))( self) /*Parser::action_table_row597*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable597) /*Array::add*/;
-    variable598 = ((parser_tables___Parser___action_table_row598_t)CALL( self,COLOR_parser_tables___Parser___action_table_row598))( self) /*Parser::action_table_row598*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable598) /*Array::add*/;
-    variable599 = ((parser_tables___Parser___action_table_row599_t)CALL( self,COLOR_parser_tables___Parser___action_table_row599))( self) /*Parser::action_table_row599*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable599) /*Array::add*/;
-    variable600 = ((parser_tables___Parser___action_table_row600_t)CALL( self,COLOR_parser_tables___Parser___action_table_row600))( self) /*Parser::action_table_row600*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable600) /*Array::add*/;
-    variable601 = ((parser_tables___Parser___action_table_row601_t)CALL( self,COLOR_parser_tables___Parser___action_table_row601))( self) /*Parser::action_table_row601*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable601) /*Array::add*/;
-    variable602 = ((parser_tables___Parser___action_table_row602_t)CALL( self,COLOR_parser_tables___Parser___action_table_row602))( self) /*Parser::action_table_row602*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable602) /*Array::add*/;
-    variable603 = ((parser_tables___Parser___action_table_row603_t)CALL( self,COLOR_parser_tables___Parser___action_table_row603))( self) /*Parser::action_table_row603*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable603) /*Array::add*/;
-    variable604 = ((parser_tables___Parser___action_table_row604_t)CALL( self,COLOR_parser_tables___Parser___action_table_row604))( self) /*Parser::action_table_row604*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable604) /*Array::add*/;
-    variable605 = ((parser_tables___Parser___action_table_row605_t)CALL( self,COLOR_parser_tables___Parser___action_table_row605))( self) /*Parser::action_table_row605*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable605) /*Array::add*/;
-    variable606 = ((parser_tables___Parser___action_table_row606_t)CALL( self,COLOR_parser_tables___Parser___action_table_row606))( self) /*Parser::action_table_row606*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable606) /*Array::add*/;
-    variable607 = ((parser_tables___Parser___action_table_row607_t)CALL( self,COLOR_parser_tables___Parser___action_table_row607))( self) /*Parser::action_table_row607*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable607) /*Array::add*/;
-    variable608 = ((parser_tables___Parser___action_table_row608_t)CALL( self,COLOR_parser_tables___Parser___action_table_row608))( self) /*Parser::action_table_row608*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable608) /*Array::add*/;
-    variable609 = ((parser_tables___Parser___action_table_row609_t)CALL( self,COLOR_parser_tables___Parser___action_table_row609))( self) /*Parser::action_table_row609*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable609) /*Array::add*/;
-    variable610 = ((parser_tables___Parser___action_table_row610_t)CALL( self,COLOR_parser_tables___Parser___action_table_row610))( self) /*Parser::action_table_row610*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable610) /*Array::add*/;
-    variable611 = ((parser_tables___Parser___action_table_row611_t)CALL( self,COLOR_parser_tables___Parser___action_table_row611))( self) /*Parser::action_table_row611*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable611) /*Array::add*/;
-    variable612 = ((parser_tables___Parser___action_table_row612_t)CALL( self,COLOR_parser_tables___Parser___action_table_row612))( self) /*Parser::action_table_row612*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable612) /*Array::add*/;
-    variable613 = ((parser_tables___Parser___action_table_row613_t)CALL( self,COLOR_parser_tables___Parser___action_table_row613))( self) /*Parser::action_table_row613*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable613) /*Array::add*/;
-    variable614 = ((parser_tables___Parser___action_table_row614_t)CALL( self,COLOR_parser_tables___Parser___action_table_row614))( self) /*Parser::action_table_row614*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable614) /*Array::add*/;
-    variable615 = ((parser_tables___Parser___action_table_row615_t)CALL( self,COLOR_parser_tables___Parser___action_table_row615))( self) /*Parser::action_table_row615*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable615) /*Array::add*/;
-    variable616 = ((parser_tables___Parser___action_table_row616_t)CALL( self,COLOR_parser_tables___Parser___action_table_row616))( self) /*Parser::action_table_row616*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable616) /*Array::add*/;
-    variable617 = ((parser_tables___Parser___action_table_row617_t)CALL( self,COLOR_parser_tables___Parser___action_table_row617))( self) /*Parser::action_table_row617*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable617) /*Array::add*/;
-    variable618 = ((parser_tables___Parser___action_table_row618_t)CALL( self,COLOR_parser_tables___Parser___action_table_row618))( self) /*Parser::action_table_row618*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable618) /*Array::add*/;
-    variable619 = ((parser_tables___Parser___action_table_row619_t)CALL( self,COLOR_parser_tables___Parser___action_table_row619))( self) /*Parser::action_table_row619*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable619) /*Array::add*/;
-    variable620 = ((parser_tables___Parser___action_table_row620_t)CALL( self,COLOR_parser_tables___Parser___action_table_row620))( self) /*Parser::action_table_row620*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable620) /*Array::add*/;
-    variable621 = ((parser_tables___Parser___action_table_row621_t)CALL( self,COLOR_parser_tables___Parser___action_table_row621))( self) /*Parser::action_table_row621*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable621) /*Array::add*/;
-    variable622 = ((parser_tables___Parser___action_table_row622_t)CALL( self,COLOR_parser_tables___Parser___action_table_row622))( self) /*Parser::action_table_row622*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable622) /*Array::add*/;
-    variable623 = ((parser_tables___Parser___action_table_row623_t)CALL( self,COLOR_parser_tables___Parser___action_table_row623))( self) /*Parser::action_table_row623*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable623) /*Array::add*/;
-    variable624 = ((parser_tables___Parser___action_table_row624_t)CALL( self,COLOR_parser_tables___Parser___action_table_row624))( self) /*Parser::action_table_row624*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable624) /*Array::add*/;
-    variable625 = ((parser_tables___Parser___action_table_row625_t)CALL( self,COLOR_parser_tables___Parser___action_table_row625))( self) /*Parser::action_table_row625*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable625) /*Array::add*/;
-    variable626 = ((parser_tables___Parser___action_table_row626_t)CALL( self,COLOR_parser_tables___Parser___action_table_row626))( self) /*Parser::action_table_row626*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable626) /*Array::add*/;
-    variable627 = ((parser_tables___Parser___action_table_row627_t)CALL( self,COLOR_parser_tables___Parser___action_table_row627))( self) /*Parser::action_table_row627*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable627) /*Array::add*/;
-    variable628 = ((parser_tables___Parser___action_table_row628_t)CALL( self,COLOR_parser_tables___Parser___action_table_row628))( self) /*Parser::action_table_row628*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable628) /*Array::add*/;
-    variable629 = ((parser_tables___Parser___action_table_row629_t)CALL( self,COLOR_parser_tables___Parser___action_table_row629))( self) /*Parser::action_table_row629*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable629) /*Array::add*/;
-    variable630 = ((parser_tables___Parser___action_table_row630_t)CALL( self,COLOR_parser_tables___Parser___action_table_row630))( self) /*Parser::action_table_row630*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable630) /*Array::add*/;
-    variable631 = ((parser_tables___Parser___action_table_row631_t)CALL( self,COLOR_parser_tables___Parser___action_table_row631))( self) /*Parser::action_table_row631*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable631) /*Array::add*/;
-    variable632 = ((parser_tables___Parser___action_table_row632_t)CALL( self,COLOR_parser_tables___Parser___action_table_row632))( self) /*Parser::action_table_row632*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable632) /*Array::add*/;
-    variable633 = ((parser_tables___Parser___action_table_row633_t)CALL( self,COLOR_parser_tables___Parser___action_table_row633))( self) /*Parser::action_table_row633*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable633) /*Array::add*/;
-    variable634 = ((parser_tables___Parser___action_table_row634_t)CALL( self,COLOR_parser_tables___Parser___action_table_row634))( self) /*Parser::action_table_row634*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable634) /*Array::add*/;
-    variable635 = ((parser_tables___Parser___action_table_row635_t)CALL( self,COLOR_parser_tables___Parser___action_table_row635))( self) /*Parser::action_table_row635*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable635) /*Array::add*/;
-    variable636 = ((parser_tables___Parser___action_table_row636_t)CALL( self,COLOR_parser_tables___Parser___action_table_row636))( self) /*Parser::action_table_row636*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable636) /*Array::add*/;
-    variable637 = ((parser_tables___Parser___action_table_row637_t)CALL( self,COLOR_parser_tables___Parser___action_table_row637))( self) /*Parser::action_table_row637*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable637) /*Array::add*/;
-    variable638 = ((parser_tables___Parser___action_table_row638_t)CALL( self,COLOR_parser_tables___Parser___action_table_row638))( self) /*Parser::action_table_row638*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable638) /*Array::add*/;
-    variable639 = ((parser_tables___Parser___action_table_row639_t)CALL( self,COLOR_parser_tables___Parser___action_table_row639))( self) /*Parser::action_table_row639*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable639) /*Array::add*/;
-    variable640 = ((parser_tables___Parser___action_table_row640_t)CALL( self,COLOR_parser_tables___Parser___action_table_row640))( self) /*Parser::action_table_row640*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable640) /*Array::add*/;
-    variable641 = ((parser_tables___Parser___action_table_row641_t)CALL( self,COLOR_parser_tables___Parser___action_table_row641))( self) /*Parser::action_table_row641*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable641) /*Array::add*/;
-    variable642 = ((parser_tables___Parser___action_table_row642_t)CALL( self,COLOR_parser_tables___Parser___action_table_row642))( self) /*Parser::action_table_row642*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable642) /*Array::add*/;
-    variable643 = ((parser_tables___Parser___action_table_row643_t)CALL( self,COLOR_parser_tables___Parser___action_table_row643))( self) /*Parser::action_table_row643*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable643) /*Array::add*/;
-    variable644 = ((parser_tables___Parser___action_table_row644_t)CALL( self,COLOR_parser_tables___Parser___action_table_row644))( self) /*Parser::action_table_row644*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable644) /*Array::add*/;
-    variable645 = ((parser_tables___Parser___action_table_row645_t)CALL( self,COLOR_parser_tables___Parser___action_table_row645))( self) /*Parser::action_table_row645*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable645) /*Array::add*/;
-    variable646 = ((parser_tables___Parser___action_table_row646_t)CALL( self,COLOR_parser_tables___Parser___action_table_row646))( self) /*Parser::action_table_row646*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable646) /*Array::add*/;
-    variable647 = ((parser_tables___Parser___action_table_row647_t)CALL( self,COLOR_parser_tables___Parser___action_table_row647))( self) /*Parser::action_table_row647*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable647) /*Array::add*/;
-    variable648 = ((parser_tables___Parser___action_table_row648_t)CALL( self,COLOR_parser_tables___Parser___action_table_row648))( self) /*Parser::action_table_row648*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable648) /*Array::add*/;
-    variable649 = ((parser_tables___Parser___action_table_row649_t)CALL( self,COLOR_parser_tables___Parser___action_table_row649))( self) /*Parser::action_table_row649*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable649) /*Array::add*/;
-    variable650 = ((parser_tables___Parser___action_table_row650_t)CALL( self,COLOR_parser_tables___Parser___action_table_row650))( self) /*Parser::action_table_row650*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable650) /*Array::add*/;
-    variable651 = ((parser_tables___Parser___action_table_row651_t)CALL( self,COLOR_parser_tables___Parser___action_table_row651))( self) /*Parser::action_table_row651*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable651) /*Array::add*/;
-    variable652 = ((parser_tables___Parser___action_table_row652_t)CALL( self,COLOR_parser_tables___Parser___action_table_row652))( self) /*Parser::action_table_row652*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable652) /*Array::add*/;
-    variable653 = ((parser_tables___Parser___action_table_row653_t)CALL( self,COLOR_parser_tables___Parser___action_table_row653))( self) /*Parser::action_table_row653*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable653) /*Array::add*/;
-    variable654 = ((parser_tables___Parser___action_table_row654_t)CALL( self,COLOR_parser_tables___Parser___action_table_row654))( self) /*Parser::action_table_row654*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable654) /*Array::add*/;
-    variable655 = ((parser_tables___Parser___action_table_row655_t)CALL( self,COLOR_parser_tables___Parser___action_table_row655))( self) /*Parser::action_table_row655*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable655) /*Array::add*/;
-    variable656 = ((parser_tables___Parser___action_table_row656_t)CALL( self,COLOR_parser_tables___Parser___action_table_row656))( self) /*Parser::action_table_row656*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable656) /*Array::add*/;
-    variable657 = ((parser_tables___Parser___action_table_row657_t)CALL( self,COLOR_parser_tables___Parser___action_table_row657))( self) /*Parser::action_table_row657*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable657) /*Array::add*/;
-    variable658 = ((parser_tables___Parser___action_table_row658_t)CALL( self,COLOR_parser_tables___Parser___action_table_row658))( self) /*Parser::action_table_row658*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable658) /*Array::add*/;
-    variable659 = ((parser_tables___Parser___action_table_row659_t)CALL( self,COLOR_parser_tables___Parser___action_table_row659))( self) /*Parser::action_table_row659*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable659) /*Array::add*/;
-    variable660 = ((parser_tables___Parser___action_table_row660_t)CALL( self,COLOR_parser_tables___Parser___action_table_row660))( self) /*Parser::action_table_row660*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable660) /*Array::add*/;
-    variable661 = ((parser_tables___Parser___action_table_row661_t)CALL( self,COLOR_parser_tables___Parser___action_table_row661))( self) /*Parser::action_table_row661*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable661) /*Array::add*/;
-    variable662 = ((parser_tables___Parser___action_table_row662_t)CALL( self,COLOR_parser_tables___Parser___action_table_row662))( self) /*Parser::action_table_row662*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable662) /*Array::add*/;
-    variable663 = ((parser_tables___Parser___action_table_row663_t)CALL( self,COLOR_parser_tables___Parser___action_table_row663))( self) /*Parser::action_table_row663*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable663) /*Array::add*/;
-    variable664 = ((parser_tables___Parser___action_table_row664_t)CALL( self,COLOR_parser_tables___Parser___action_table_row664))( self) /*Parser::action_table_row664*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable664) /*Array::add*/;
-    variable665 = ((parser_tables___Parser___action_table_row665_t)CALL( self,COLOR_parser_tables___Parser___action_table_row665))( self) /*Parser::action_table_row665*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable665) /*Array::add*/;
-    variable666 = ((parser_tables___Parser___action_table_row666_t)CALL( self,COLOR_parser_tables___Parser___action_table_row666))( self) /*Parser::action_table_row666*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable666) /*Array::add*/;
-    variable667 = ((parser_tables___Parser___action_table_row667_t)CALL( self,COLOR_parser_tables___Parser___action_table_row667))( self) /*Parser::action_table_row667*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable667) /*Array::add*/;
-    variable668 = ((parser_tables___Parser___action_table_row668_t)CALL( self,COLOR_parser_tables___Parser___action_table_row668))( self) /*Parser::action_table_row668*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable668) /*Array::add*/;
-    variable669 = ((parser_tables___Parser___action_table_row669_t)CALL( self,COLOR_parser_tables___Parser___action_table_row669))( self) /*Parser::action_table_row669*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable669) /*Array::add*/;
-    variable670 = ((parser_tables___Parser___action_table_row670_t)CALL( self,COLOR_parser_tables___Parser___action_table_row670))( self) /*Parser::action_table_row670*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable670) /*Array::add*/;
-    variable671 = ((parser_tables___Parser___action_table_row671_t)CALL( self,COLOR_parser_tables___Parser___action_table_row671))( self) /*Parser::action_table_row671*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable671) /*Array::add*/;
-    variable672 = ((parser_tables___Parser___action_table_row672_t)CALL( self,COLOR_parser_tables___Parser___action_table_row672))( self) /*Parser::action_table_row672*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable672) /*Array::add*/;
-    variable673 = ((parser_tables___Parser___action_table_row673_t)CALL( self,COLOR_parser_tables___Parser___action_table_row673))( self) /*Parser::action_table_row673*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable673) /*Array::add*/;
-    variable674 = ((parser_tables___Parser___action_table_row674_t)CALL( self,COLOR_parser_tables___Parser___action_table_row674))( self) /*Parser::action_table_row674*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable674) /*Array::add*/;
-    variable675 = ((parser_tables___Parser___action_table_row675_t)CALL( self,COLOR_parser_tables___Parser___action_table_row675))( self) /*Parser::action_table_row675*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable675) /*Array::add*/;
-    variable676 = ((parser_tables___Parser___action_table_row676_t)CALL( self,COLOR_parser_tables___Parser___action_table_row676))( self) /*Parser::action_table_row676*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable676) /*Array::add*/;
-    variable677 = ((parser_tables___Parser___action_table_row677_t)CALL( self,COLOR_parser_tables___Parser___action_table_row677))( self) /*Parser::action_table_row677*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable677) /*Array::add*/;
-    variable678 = ((parser_tables___Parser___action_table_row678_t)CALL( self,COLOR_parser_tables___Parser___action_table_row678))( self) /*Parser::action_table_row678*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable678) /*Array::add*/;
-    variable679 = ((parser_tables___Parser___action_table_row679_t)CALL( self,COLOR_parser_tables___Parser___action_table_row679))( self) /*Parser::action_table_row679*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable679) /*Array::add*/;
-    variable680 = ((parser_tables___Parser___action_table_row680_t)CALL( self,COLOR_parser_tables___Parser___action_table_row680))( self) /*Parser::action_table_row680*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable680) /*Array::add*/;
-    variable681 = ((parser_tables___Parser___action_table_row681_t)CALL( self,COLOR_parser_tables___Parser___action_table_row681))( self) /*Parser::action_table_row681*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable681) /*Array::add*/;
-    variable682 = ((parser_tables___Parser___action_table_row682_t)CALL( self,COLOR_parser_tables___Parser___action_table_row682))( self) /*Parser::action_table_row682*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable682) /*Array::add*/;
-    variable683 = ((parser_tables___Parser___action_table_row683_t)CALL( self,COLOR_parser_tables___Parser___action_table_row683))( self) /*Parser::action_table_row683*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable683) /*Array::add*/;
-    variable684 = ((parser_tables___Parser___action_table_row684_t)CALL( self,COLOR_parser_tables___Parser___action_table_row684))( self) /*Parser::action_table_row684*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable684) /*Array::add*/;
-    variable685 = ((parser_tables___Parser___action_table_row685_t)CALL( self,COLOR_parser_tables___Parser___action_table_row685))( self) /*Parser::action_table_row685*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable685) /*Array::add*/;
-    variable686 = ((parser_tables___Parser___action_table_row686_t)CALL( self,COLOR_parser_tables___Parser___action_table_row686))( self) /*Parser::action_table_row686*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable686) /*Array::add*/;
-    variable687 = ((parser_tables___Parser___action_table_row687_t)CALL( self,COLOR_parser_tables___Parser___action_table_row687))( self) /*Parser::action_table_row687*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable687) /*Array::add*/;
-    variable688 = ((parser_tables___Parser___action_table_row688_t)CALL( self,COLOR_parser_tables___Parser___action_table_row688))( self) /*Parser::action_table_row688*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable688) /*Array::add*/;
-    variable689 = ((parser_tables___Parser___action_table_row689_t)CALL( self,COLOR_parser_tables___Parser___action_table_row689))( self) /*Parser::action_table_row689*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable689) /*Array::add*/;
-    variable690 = ((parser_tables___Parser___action_table_row690_t)CALL( self,COLOR_parser_tables___Parser___action_table_row690))( self) /*Parser::action_table_row690*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable690) /*Array::add*/;
-    variable691 = ((parser_tables___Parser___action_table_row691_t)CALL( self,COLOR_parser_tables___Parser___action_table_row691))( self) /*Parser::action_table_row691*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable691) /*Array::add*/;
-    variable692 = ((parser_tables___Parser___action_table_row692_t)CALL( self,COLOR_parser_tables___Parser___action_table_row692))( self) /*Parser::action_table_row692*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable692) /*Array::add*/;
-    variable693 = ((parser_tables___Parser___action_table_row693_t)CALL( self,COLOR_parser_tables___Parser___action_table_row693))( self) /*Parser::action_table_row693*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable693) /*Array::add*/;
-    variable694 = ((parser_tables___Parser___action_table_row694_t)CALL( self,COLOR_parser_tables___Parser___action_table_row694))( self) /*Parser::action_table_row694*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable694) /*Array::add*/;
-    variable695 = ((parser_tables___Parser___action_table_row695_t)CALL( self,COLOR_parser_tables___Parser___action_table_row695))( self) /*Parser::action_table_row695*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable695) /*Array::add*/;
-    variable696 = ((parser_tables___Parser___action_table_row696_t)CALL( self,COLOR_parser_tables___Parser___action_table_row696))( self) /*Parser::action_table_row696*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable696) /*Array::add*/;
-    variable697 = ((parser_tables___Parser___action_table_row697_t)CALL( self,COLOR_parser_tables___Parser___action_table_row697))( self) /*Parser::action_table_row697*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable697) /*Array::add*/;
-    variable698 = ((parser_tables___Parser___action_table_row698_t)CALL( self,COLOR_parser_tables___Parser___action_table_row698))( self) /*Parser::action_table_row698*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable698) /*Array::add*/;
-    variable699 = ((parser_tables___Parser___action_table_row699_t)CALL( self,COLOR_parser_tables___Parser___action_table_row699))( self) /*Parser::action_table_row699*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable699) /*Array::add*/;
-    variable700 = ((parser_tables___Parser___action_table_row700_t)CALL( self,COLOR_parser_tables___Parser___action_table_row700))( self) /*Parser::action_table_row700*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable700) /*Array::add*/;
-    variable701 = ((parser_tables___Parser___action_table_row701_t)CALL( self,COLOR_parser_tables___Parser___action_table_row701))( self) /*Parser::action_table_row701*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable701) /*Array::add*/;
-    variable702 = ((parser_tables___Parser___action_table_row702_t)CALL( self,COLOR_parser_tables___Parser___action_table_row702))( self) /*Parser::action_table_row702*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable702) /*Array::add*/;
-    variable703 = ((parser_tables___Parser___action_table_row703_t)CALL( self,COLOR_parser_tables___Parser___action_table_row703))( self) /*Parser::action_table_row703*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable703) /*Array::add*/;
-    variable704 = ((parser_tables___Parser___action_table_row704_t)CALL( self,COLOR_parser_tables___Parser___action_table_row704))( self) /*Parser::action_table_row704*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable704) /*Array::add*/;
-    variable705 = ((parser_tables___Parser___action_table_row705_t)CALL( self,COLOR_parser_tables___Parser___action_table_row705))( self) /*Parser::action_table_row705*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable705) /*Array::add*/;
-    variable706 = ((parser_tables___Parser___action_table_row706_t)CALL( self,COLOR_parser_tables___Parser___action_table_row706))( self) /*Parser::action_table_row706*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable706) /*Array::add*/;
-    variable707 = ((parser_tables___Parser___action_table_row707_t)CALL( self,COLOR_parser_tables___Parser___action_table_row707))( self) /*Parser::action_table_row707*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable707) /*Array::add*/;
-    variable708 = ((parser_tables___Parser___action_table_row708_t)CALL( self,COLOR_parser_tables___Parser___action_table_row708))( self) /*Parser::action_table_row708*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable708) /*Array::add*/;
-    variable709 = ((parser_tables___Parser___action_table_row709_t)CALL( self,COLOR_parser_tables___Parser___action_table_row709))( self) /*Parser::action_table_row709*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable709) /*Array::add*/;
-    variable710 = ((parser_tables___Parser___action_table_row710_t)CALL( self,COLOR_parser_tables___Parser___action_table_row710))( self) /*Parser::action_table_row710*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable710) /*Array::add*/;
-    variable711 = ((parser_tables___Parser___action_table_row711_t)CALL( self,COLOR_parser_tables___Parser___action_table_row711))( self) /*Parser::action_table_row711*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable711) /*Array::add*/;
-    variable712 = ((parser_tables___Parser___action_table_row712_t)CALL( self,COLOR_parser_tables___Parser___action_table_row712))( self) /*Parser::action_table_row712*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable712) /*Array::add*/;
-    variable713 = ((parser_tables___Parser___action_table_row713_t)CALL( self,COLOR_parser_tables___Parser___action_table_row713))( self) /*Parser::action_table_row713*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable713) /*Array::add*/;
-    variable714 = ((parser_tables___Parser___action_table_row714_t)CALL( self,COLOR_parser_tables___Parser___action_table_row714))( self) /*Parser::action_table_row714*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable714) /*Array::add*/;
-    variable715 = ((parser_tables___Parser___action_table_row715_t)CALL( self,COLOR_parser_tables___Parser___action_table_row715))( self) /*Parser::action_table_row715*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable715) /*Array::add*/;
-    variable716 = ((parser_tables___Parser___action_table_row716_t)CALL( self,COLOR_parser_tables___Parser___action_table_row716))( self) /*Parser::action_table_row716*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable716) /*Array::add*/;
-    variable717 = ((parser_tables___Parser___action_table_row717_t)CALL( self,COLOR_parser_tables___Parser___action_table_row717))( self) /*Parser::action_table_row717*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable717) /*Array::add*/;
-    variable718 = ((parser_tables___Parser___action_table_row718_t)CALL( self,COLOR_parser_tables___Parser___action_table_row718))( self) /*Parser::action_table_row718*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable718) /*Array::add*/;
-    variable719 = ((parser_tables___Parser___action_table_row719_t)CALL( self,COLOR_parser_tables___Parser___action_table_row719))( self) /*Parser::action_table_row719*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable719) /*Array::add*/;
-    variable720 = ((parser_tables___Parser___action_table_row720_t)CALL( self,COLOR_parser_tables___Parser___action_table_row720))( self) /*Parser::action_table_row720*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable720) /*Array::add*/;
-    variable721 = ((parser_tables___Parser___action_table_row721_t)CALL( self,COLOR_parser_tables___Parser___action_table_row721))( self) /*Parser::action_table_row721*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable721) /*Array::add*/;
-    variable722 = ((parser_tables___Parser___action_table_row722_t)CALL( self,COLOR_parser_tables___Parser___action_table_row722))( self) /*Parser::action_table_row722*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable722) /*Array::add*/;
-    variable723 = ((parser_tables___Parser___action_table_row723_t)CALL( self,COLOR_parser_tables___Parser___action_table_row723))( self) /*Parser::action_table_row723*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable723) /*Array::add*/;
-    variable724 = ((parser_tables___Parser___action_table_row724_t)CALL( self,COLOR_parser_tables___Parser___action_table_row724))( self) /*Parser::action_table_row724*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable724) /*Array::add*/;
-    variable725 = ((parser_tables___Parser___action_table_row725_t)CALL( self,COLOR_parser_tables___Parser___action_table_row725))( self) /*Parser::action_table_row725*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable725) /*Array::add*/;
-    variable726 = ((parser_tables___Parser___action_table_row726_t)CALL( self,COLOR_parser_tables___Parser___action_table_row726))( self) /*Parser::action_table_row726*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable726) /*Array::add*/;
-    variable727 = ((parser_tables___Parser___action_table_row727_t)CALL( self,COLOR_parser_tables___Parser___action_table_row727))( self) /*Parser::action_table_row727*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable727) /*Array::add*/;
-    variable728 = ((parser_tables___Parser___action_table_row728_t)CALL( self,COLOR_parser_tables___Parser___action_table_row728))( self) /*Parser::action_table_row728*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable728) /*Array::add*/;
-    variable729 = ((parser_tables___Parser___action_table_row729_t)CALL( self,COLOR_parser_tables___Parser___action_table_row729))( self) /*Parser::action_table_row729*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable729) /*Array::add*/;
-    variable730 = ((parser_tables___Parser___action_table_row730_t)CALL( self,COLOR_parser_tables___Parser___action_table_row730))( self) /*Parser::action_table_row730*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable730) /*Array::add*/;
-    variable731 = ((parser_tables___Parser___action_table_row731_t)CALL( self,COLOR_parser_tables___Parser___action_table_row731))( self) /*Parser::action_table_row731*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable731) /*Array::add*/;
-    variable732 = ((parser_tables___Parser___action_table_row732_t)CALL( self,COLOR_parser_tables___Parser___action_table_row732))( self) /*Parser::action_table_row732*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable732) /*Array::add*/;
-    variable733 = ((parser_tables___Parser___action_table_row733_t)CALL( self,COLOR_parser_tables___Parser___action_table_row733))( self) /*Parser::action_table_row733*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable733) /*Array::add*/;
-    variable734 = ((parser_tables___Parser___action_table_row734_t)CALL( self,COLOR_parser_tables___Parser___action_table_row734))( self) /*Parser::action_table_row734*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable734) /*Array::add*/;
-    variable735 = ((parser_tables___Parser___action_table_row735_t)CALL( self,COLOR_parser_tables___Parser___action_table_row735))( self) /*Parser::action_table_row735*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable735) /*Array::add*/;
-    variable736 = ((parser_tables___Parser___action_table_row736_t)CALL( self,COLOR_parser_tables___Parser___action_table_row736))( self) /*Parser::action_table_row736*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable736) /*Array::add*/;
-    variable737 = ((parser_tables___Parser___action_table_row737_t)CALL( self,COLOR_parser_tables___Parser___action_table_row737))( self) /*Parser::action_table_row737*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable737) /*Array::add*/;
-    variable738 = ((parser_tables___Parser___action_table_row738_t)CALL( self,COLOR_parser_tables___Parser___action_table_row738))( self) /*Parser::action_table_row738*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable738) /*Array::add*/;
-    variable739 = ((parser_tables___Parser___action_table_row739_t)CALL( self,COLOR_parser_tables___Parser___action_table_row739))( self) /*Parser::action_table_row739*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable739) /*Array::add*/;
-    variable740 = ((parser_tables___Parser___action_table_row740_t)CALL( self,COLOR_parser_tables___Parser___action_table_row740))( self) /*Parser::action_table_row740*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable740) /*Array::add*/;
-    variable741 = ((parser_tables___Parser___action_table_row741_t)CALL( self,COLOR_parser_tables___Parser___action_table_row741))( self) /*Parser::action_table_row741*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable741) /*Array::add*/;
-    variable742 = ((parser_tables___Parser___action_table_row742_t)CALL( self,COLOR_parser_tables___Parser___action_table_row742))( self) /*Parser::action_table_row742*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable742) /*Array::add*/;
-    variable743 = ((parser_tables___Parser___action_table_row743_t)CALL( self,COLOR_parser_tables___Parser___action_table_row743))( self) /*Parser::action_table_row743*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable743) /*Array::add*/;
-    variable744 = ((parser_tables___Parser___action_table_row744_t)CALL( self,COLOR_parser_tables___Parser___action_table_row744))( self) /*Parser::action_table_row744*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable744) /*Array::add*/;
-    variable745 = ((parser_tables___Parser___action_table_row745_t)CALL( self,COLOR_parser_tables___Parser___action_table_row745))( self) /*Parser::action_table_row745*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable745) /*Array::add*/;
-    variable746 = ((parser_tables___Parser___action_table_row746_t)CALL( self,COLOR_parser_tables___Parser___action_table_row746))( self) /*Parser::action_table_row746*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable746) /*Array::add*/;
-    variable747 = ((parser_tables___Parser___action_table_row747_t)CALL( self,COLOR_parser_tables___Parser___action_table_row747))( self) /*Parser::action_table_row747*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable747) /*Array::add*/;
-    variable748 = ((parser_tables___Parser___action_table_row748_t)CALL( self,COLOR_parser_tables___Parser___action_table_row748))( self) /*Parser::action_table_row748*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable748) /*Array::add*/;
-    variable749 = ((parser_tables___Parser___action_table_row749_t)CALL( self,COLOR_parser_tables___Parser___action_table_row749))( self) /*Parser::action_table_row749*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable749) /*Array::add*/;
-    variable750 = ((parser_tables___Parser___action_table_row750_t)CALL( self,COLOR_parser_tables___Parser___action_table_row750))( self) /*Parser::action_table_row750*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable750) /*Array::add*/;
-    variable751 = ((parser_tables___Parser___action_table_row751_t)CALL( self,COLOR_parser_tables___Parser___action_table_row751))( self) /*Parser::action_table_row751*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable751) /*Array::add*/;
-    variable752 = ((parser_tables___Parser___action_table_row752_t)CALL( self,COLOR_parser_tables___Parser___action_table_row752))( self) /*Parser::action_table_row752*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable752) /*Array::add*/;
-    variable753 = ((parser_tables___Parser___action_table_row753_t)CALL( self,COLOR_parser_tables___Parser___action_table_row753))( self) /*Parser::action_table_row753*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable753) /*Array::add*/;
-    variable754 = ((parser_tables___Parser___action_table_row754_t)CALL( self,COLOR_parser_tables___Parser___action_table_row754))( self) /*Parser::action_table_row754*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable754) /*Array::add*/;
-    variable755 = ((parser_tables___Parser___action_table_row755_t)CALL( self,COLOR_parser_tables___Parser___action_table_row755))( self) /*Parser::action_table_row755*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable755) /*Array::add*/;
-    variable756 = ((parser_tables___Parser___action_table_row756_t)CALL( self,COLOR_parser_tables___Parser___action_table_row756))( self) /*Parser::action_table_row756*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable756) /*Array::add*/;
-    variable757 = ((parser_tables___Parser___action_table_row757_t)CALL( self,COLOR_parser_tables___Parser___action_table_row757))( self) /*Parser::action_table_row757*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable757) /*Array::add*/;
-    variable758 = ((parser_tables___Parser___action_table_row758_t)CALL( self,COLOR_parser_tables___Parser___action_table_row758))( self) /*Parser::action_table_row758*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable758) /*Array::add*/;
-    variable759 = ((parser_tables___Parser___action_table_row759_t)CALL( self,COLOR_parser_tables___Parser___action_table_row759))( self) /*Parser::action_table_row759*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable759) /*Array::add*/;
-    variable760 = ((parser_tables___Parser___action_table_row760_t)CALL( self,COLOR_parser_tables___Parser___action_table_row760))( self) /*Parser::action_table_row760*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable760) /*Array::add*/;
-    variable761 = ((parser_tables___Parser___action_table_row761_t)CALL( self,COLOR_parser_tables___Parser___action_table_row761))( self) /*Parser::action_table_row761*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable761) /*Array::add*/;
-    variable762 = ((parser_tables___Parser___action_table_row762_t)CALL( self,COLOR_parser_tables___Parser___action_table_row762))( self) /*Parser::action_table_row762*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable762) /*Array::add*/;
-    variable763 = ((parser_tables___Parser___action_table_row763_t)CALL( self,COLOR_parser_tables___Parser___action_table_row763))( self) /*Parser::action_table_row763*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable763) /*Array::add*/;
-    variable764 = ((parser_tables___Parser___action_table_row764_t)CALL( self,COLOR_parser_tables___Parser___action_table_row764))( self) /*Parser::action_table_row764*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable764) /*Array::add*/;
-    variable765 = ((parser_tables___Parser___action_table_row765_t)CALL( self,COLOR_parser_tables___Parser___action_table_row765))( self) /*Parser::action_table_row765*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable765) /*Array::add*/;
-    variable766 = ((parser_tables___Parser___action_table_row766_t)CALL( self,COLOR_parser_tables___Parser___action_table_row766))( self) /*Parser::action_table_row766*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable766) /*Array::add*/;
-    variable767 = ((parser_tables___Parser___action_table_row767_t)CALL( self,COLOR_parser_tables___Parser___action_table_row767))( self) /*Parser::action_table_row767*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable767) /*Array::add*/;
-    variable768 = ((parser_tables___Parser___action_table_row768_t)CALL( self,COLOR_parser_tables___Parser___action_table_row768))( self) /*Parser::action_table_row768*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable768) /*Array::add*/;
-    variable769 = ((parser_tables___Parser___action_table_row769_t)CALL( self,COLOR_parser_tables___Parser___action_table_row769))( self) /*Parser::action_table_row769*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable769) /*Array::add*/;
-    variable770 = ((parser_tables___Parser___action_table_row770_t)CALL( self,COLOR_parser_tables___Parser___action_table_row770))( self) /*Parser::action_table_row770*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable770) /*Array::add*/;
-    variable771 = ((parser_tables___Parser___action_table_row771_t)CALL( self,COLOR_parser_tables___Parser___action_table_row771))( self) /*Parser::action_table_row771*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable771) /*Array::add*/;
-    variable772 = ((parser_tables___Parser___action_table_row772_t)CALL( self,COLOR_parser_tables___Parser___action_table_row772))( self) /*Parser::action_table_row772*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable772) /*Array::add*/;
-    variable773 = ((parser_tables___Parser___action_table_row773_t)CALL( self,COLOR_parser_tables___Parser___action_table_row773))( self) /*Parser::action_table_row773*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable773) /*Array::add*/;
-    variable774 = ((parser_tables___Parser___action_table_row774_t)CALL( self,COLOR_parser_tables___Parser___action_table_row774))( self) /*Parser::action_table_row774*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable774) /*Array::add*/;
-    variable775 = ((parser_tables___Parser___action_table_row775_t)CALL( self,COLOR_parser_tables___Parser___action_table_row775))( self) /*Parser::action_table_row775*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable775) /*Array::add*/;
-    variable776 = ((parser_tables___Parser___action_table_row776_t)CALL( self,COLOR_parser_tables___Parser___action_table_row776))( self) /*Parser::action_table_row776*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable776) /*Array::add*/;
-    variable777 = ((parser_tables___Parser___action_table_row777_t)CALL( self,COLOR_parser_tables___Parser___action_table_row777))( self) /*Parser::action_table_row777*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable777) /*Array::add*/;
-    variable778 = ((parser_tables___Parser___action_table_row778_t)CALL( self,COLOR_parser_tables___Parser___action_table_row778))( self) /*Parser::action_table_row778*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable778) /*Array::add*/;
-    variable779 = ((parser_tables___Parser___action_table_row779_t)CALL( self,COLOR_parser_tables___Parser___action_table_row779))( self) /*Parser::action_table_row779*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable779) /*Array::add*/;
-    variable780 = ((parser_tables___Parser___action_table_row780_t)CALL( self,COLOR_parser_tables___Parser___action_table_row780))( self) /*Parser::action_table_row780*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable780) /*Array::add*/;
-    variable781 = ((parser_tables___Parser___action_table_row781_t)CALL( self,COLOR_parser_tables___Parser___action_table_row781))( self) /*Parser::action_table_row781*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable781) /*Array::add*/;
-    variable782 = ((parser_tables___Parser___action_table_row782_t)CALL( self,COLOR_parser_tables___Parser___action_table_row782))( self) /*Parser::action_table_row782*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable782) /*Array::add*/;
-    variable783 = ((parser_tables___Parser___action_table_row783_t)CALL( self,COLOR_parser_tables___Parser___action_table_row783))( self) /*Parser::action_table_row783*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable783) /*Array::add*/;
-    variable784 = ((parser_tables___Parser___action_table_row784_t)CALL( self,COLOR_parser_tables___Parser___action_table_row784))( self) /*Parser::action_table_row784*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable784) /*Array::add*/;
-    variable785 = ((parser_tables___Parser___action_table_row785_t)CALL( self,COLOR_parser_tables___Parser___action_table_row785))( self) /*Parser::action_table_row785*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable785) /*Array::add*/;
-    variable786 = ((parser_tables___Parser___action_table_row786_t)CALL( self,COLOR_parser_tables___Parser___action_table_row786))( self) /*Parser::action_table_row786*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable786) /*Array::add*/;
-    variable787 = ((parser_tables___Parser___action_table_row787_t)CALL( self,COLOR_parser_tables___Parser___action_table_row787))( self) /*Parser::action_table_row787*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable787) /*Array::add*/;
-    variable788 = ((parser_tables___Parser___action_table_row788_t)CALL( self,COLOR_parser_tables___Parser___action_table_row788))( self) /*Parser::action_table_row788*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable788) /*Array::add*/;
-    variable789 = ((parser_tables___Parser___action_table_row789_t)CALL( self,COLOR_parser_tables___Parser___action_table_row789))( self) /*Parser::action_table_row789*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable789) /*Array::add*/;
-    variable790 = ((parser_tables___Parser___action_table_row790_t)CALL( self,COLOR_parser_tables___Parser___action_table_row790))( self) /*Parser::action_table_row790*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable790) /*Array::add*/;
-    variable791 = ((parser_tables___Parser___action_table_row791_t)CALL( self,COLOR_parser_tables___Parser___action_table_row791))( self) /*Parser::action_table_row791*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable791) /*Array::add*/;
-    variable792 = ((parser_tables___Parser___action_table_row792_t)CALL( self,COLOR_parser_tables___Parser___action_table_row792))( self) /*Parser::action_table_row792*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable792) /*Array::add*/;
-    variable793 = ((parser_tables___Parser___action_table_row793_t)CALL( self,COLOR_parser_tables___Parser___action_table_row793))( self) /*Parser::action_table_row793*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable793) /*Array::add*/;
-    variable794 = ((parser_tables___Parser___action_table_row794_t)CALL( self,COLOR_parser_tables___Parser___action_table_row794))( self) /*Parser::action_table_row794*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable794) /*Array::add*/;
-    variable795 = ((parser_tables___Parser___action_table_row795_t)CALL( self,COLOR_parser_tables___Parser___action_table_row795))( self) /*Parser::action_table_row795*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable795) /*Array::add*/;
-    variable796 = ((parser_tables___Parser___action_table_row796_t)CALL( self,COLOR_parser_tables___Parser___action_table_row796))( self) /*Parser::action_table_row796*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable796) /*Array::add*/;
-    variable797 = ((parser_tables___Parser___action_table_row797_t)CALL( self,COLOR_parser_tables___Parser___action_table_row797))( self) /*Parser::action_table_row797*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable797) /*Array::add*/;
-    variable798 = ((parser_tables___Parser___action_table_row798_t)CALL( self,COLOR_parser_tables___Parser___action_table_row798))( self) /*Parser::action_table_row798*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable798) /*Array::add*/;
-    variable799 = ((parser_tables___Parser___action_table_row799_t)CALL( self,COLOR_parser_tables___Parser___action_table_row799))( self) /*Parser::action_table_row799*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable799) /*Array::add*/;
-    variable800 = ((parser_tables___Parser___action_table_row800_t)CALL( self,COLOR_parser_tables___Parser___action_table_row800))( self) /*Parser::action_table_row800*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable800) /*Array::add*/;
-    variable801 = ((parser_tables___Parser___action_table_row801_t)CALL( self,COLOR_parser_tables___Parser___action_table_row801))( self) /*Parser::action_table_row801*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable801) /*Array::add*/;
-    variable802 = ((parser_tables___Parser___action_table_row802_t)CALL( self,COLOR_parser_tables___Parser___action_table_row802))( self) /*Parser::action_table_row802*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable802) /*Array::add*/;
-    variable803 = ((parser_tables___Parser___action_table_row803_t)CALL( self,COLOR_parser_tables___Parser___action_table_row803))( self) /*Parser::action_table_row803*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable803) /*Array::add*/;
-    variable804 = ((parser_tables___Parser___action_table_row804_t)CALL( self,COLOR_parser_tables___Parser___action_table_row804))( self) /*Parser::action_table_row804*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable804) /*Array::add*/;
-    variable805 = ((parser_tables___Parser___action_table_row805_t)CALL( self,COLOR_parser_tables___Parser___action_table_row805))( self) /*Parser::action_table_row805*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable805) /*Array::add*/;
-    variable806 = ((parser_tables___Parser___action_table_row806_t)CALL( self,COLOR_parser_tables___Parser___action_table_row806))( self) /*Parser::action_table_row806*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable806) /*Array::add*/;
-    variable807 = ((parser_tables___Parser___action_table_row807_t)CALL( self,COLOR_parser_tables___Parser___action_table_row807))( self) /*Parser::action_table_row807*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable807) /*Array::add*/;
-    variable808 = ((parser_tables___Parser___action_table_row808_t)CALL( self,COLOR_parser_tables___Parser___action_table_row808))( self) /*Parser::action_table_row808*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable808) /*Array::add*/;
-    variable809 = ((parser_tables___Parser___action_table_row809_t)CALL( self,COLOR_parser_tables___Parser___action_table_row809))( self) /*Parser::action_table_row809*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable809) /*Array::add*/;
-    variable810 = ((parser_tables___Parser___action_table_row810_t)CALL( self,COLOR_parser_tables___Parser___action_table_row810))( self) /*Parser::action_table_row810*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable810) /*Array::add*/;
-    variable811 = ((parser_tables___Parser___action_table_row811_t)CALL( self,COLOR_parser_tables___Parser___action_table_row811))( self) /*Parser::action_table_row811*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable811) /*Array::add*/;
-    variable812 = ((parser_tables___Parser___action_table_row812_t)CALL( self,COLOR_parser_tables___Parser___action_table_row812))( self) /*Parser::action_table_row812*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable812) /*Array::add*/;
-    variable813 = ((parser_tables___Parser___action_table_row813_t)CALL( self,COLOR_parser_tables___Parser___action_table_row813))( self) /*Parser::action_table_row813*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable813) /*Array::add*/;
-    variable814 = ((parser_tables___Parser___action_table_row814_t)CALL( self,COLOR_parser_tables___Parser___action_table_row814))( self) /*Parser::action_table_row814*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable814) /*Array::add*/;
-    variable815 = ((parser_tables___Parser___action_table_row815_t)CALL( self,COLOR_parser_tables___Parser___action_table_row815))( self) /*Parser::action_table_row815*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable815) /*Array::add*/;
-    variable816 = ((parser_tables___Parser___action_table_row816_t)CALL( self,COLOR_parser_tables___Parser___action_table_row816))( self) /*Parser::action_table_row816*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable816) /*Array::add*/;
-    variable817 = ((parser_tables___Parser___action_table_row817_t)CALL( self,COLOR_parser_tables___Parser___action_table_row817))( self) /*Parser::action_table_row817*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable817) /*Array::add*/;
-    variable818 = ((parser_tables___Parser___action_table_row818_t)CALL( self,COLOR_parser_tables___Parser___action_table_row818))( self) /*Parser::action_table_row818*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable818) /*Array::add*/;
-    variable819 = ((parser_tables___Parser___action_table_row819_t)CALL( self,COLOR_parser_tables___Parser___action_table_row819))( self) /*Parser::action_table_row819*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable819) /*Array::add*/;
-    variable820 = ((parser_tables___Parser___action_table_row820_t)CALL( self,COLOR_parser_tables___Parser___action_table_row820))( self) /*Parser::action_table_row820*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable820) /*Array::add*/;
-    variable821 = ((parser_tables___Parser___action_table_row821_t)CALL( self,COLOR_parser_tables___Parser___action_table_row821))( self) /*Parser::action_table_row821*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable821) /*Array::add*/;
-    variable822 = ((parser_tables___Parser___action_table_row822_t)CALL( self,COLOR_parser_tables___Parser___action_table_row822))( self) /*Parser::action_table_row822*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable822) /*Array::add*/;
-    variable823 = ((parser_tables___Parser___action_table_row823_t)CALL( self,COLOR_parser_tables___Parser___action_table_row823))( self) /*Parser::action_table_row823*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable823) /*Array::add*/;
-    variable824 = ((parser_tables___Parser___action_table_row824_t)CALL( self,COLOR_parser_tables___Parser___action_table_row824))( self) /*Parser::action_table_row824*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable824) /*Array::add*/;
-    variable825 = ((parser_tables___Parser___action_table_row825_t)CALL( self,COLOR_parser_tables___Parser___action_table_row825))( self) /*Parser::action_table_row825*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable825) /*Array::add*/;
-    variable826 = ((parser_tables___Parser___action_table_row826_t)CALL( self,COLOR_parser_tables___Parser___action_table_row826))( self) /*Parser::action_table_row826*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable826) /*Array::add*/;
-    variable827 = ((parser_tables___Parser___action_table_row827_t)CALL( self,COLOR_parser_tables___Parser___action_table_row827))( self) /*Parser::action_table_row827*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable827) /*Array::add*/;
-    variable828 = ((parser_tables___Parser___action_table_row828_t)CALL( self,COLOR_parser_tables___Parser___action_table_row828))( self) /*Parser::action_table_row828*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable828) /*Array::add*/;
-    variable829 = ((parser_tables___Parser___action_table_row829_t)CALL( self,COLOR_parser_tables___Parser___action_table_row829))( self) /*Parser::action_table_row829*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable829) /*Array::add*/;
-    variable830 = ((parser_tables___Parser___action_table_row830_t)CALL( self,COLOR_parser_tables___Parser___action_table_row830))( self) /*Parser::action_table_row830*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable830) /*Array::add*/;
-    variable831 = ((parser_tables___Parser___action_table_row831_t)CALL( self,COLOR_parser_tables___Parser___action_table_row831))( self) /*Parser::action_table_row831*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable831) /*Array::add*/;
-    variable832 = ((parser_tables___Parser___action_table_row832_t)CALL( self,COLOR_parser_tables___Parser___action_table_row832))( self) /*Parser::action_table_row832*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable832) /*Array::add*/;
-    variable833 = ((parser_tables___Parser___action_table_row833_t)CALL( self,COLOR_parser_tables___Parser___action_table_row833))( self) /*Parser::action_table_row833*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable833) /*Array::add*/;
-    variable834 = ((parser_tables___Parser___action_table_row834_t)CALL( self,COLOR_parser_tables___Parser___action_table_row834))( self) /*Parser::action_table_row834*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable834) /*Array::add*/;
-    variable835 = ((parser_tables___Parser___action_table_row835_t)CALL( self,COLOR_parser_tables___Parser___action_table_row835))( self) /*Parser::action_table_row835*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable835) /*Array::add*/;
-    variable836 = ((parser_tables___Parser___action_table_row836_t)CALL( self,COLOR_parser_tables___Parser___action_table_row836))( self) /*Parser::action_table_row836*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable836) /*Array::add*/;
-    variable837 = ((parser_tables___Parser___action_table_row837_t)CALL( self,COLOR_parser_tables___Parser___action_table_row837))( self) /*Parser::action_table_row837*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable837) /*Array::add*/;
-    variable838 = ((parser_tables___Parser___action_table_row838_t)CALL( self,COLOR_parser_tables___Parser___action_table_row838))( self) /*Parser::action_table_row838*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable838) /*Array::add*/;
-    variable839 = ((parser_tables___Parser___action_table_row839_t)CALL( self,COLOR_parser_tables___Parser___action_table_row839))( self) /*Parser::action_table_row839*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable839) /*Array::add*/;
-    variable840 = ((parser_tables___Parser___action_table_row840_t)CALL( self,COLOR_parser_tables___Parser___action_table_row840))( self) /*Parser::action_table_row840*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable840) /*Array::add*/;
-    variable841 = ((parser_tables___Parser___action_table_row841_t)CALL( self,COLOR_parser_tables___Parser___action_table_row841))( self) /*Parser::action_table_row841*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable841) /*Array::add*/;
-    variable842 = ((parser_tables___Parser___action_table_row842_t)CALL( self,COLOR_parser_tables___Parser___action_table_row842))( self) /*Parser::action_table_row842*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable842) /*Array::add*/;
-    variable843 = ((parser_tables___Parser___action_table_row843_t)CALL( self,COLOR_parser_tables___Parser___action_table_row843))( self) /*Parser::action_table_row843*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable843) /*Array::add*/;
-    variable844 = ((parser_tables___Parser___action_table_row844_t)CALL( self,COLOR_parser_tables___Parser___action_table_row844))( self) /*Parser::action_table_row844*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable844) /*Array::add*/;
-    variable845 = ((parser_tables___Parser___action_table_row845_t)CALL( self,COLOR_parser_tables___Parser___action_table_row845))( self) /*Parser::action_table_row845*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable845) /*Array::add*/;
-    variable846 = ((parser_tables___Parser___action_table_row846_t)CALL( self,COLOR_parser_tables___Parser___action_table_row846))( self) /*Parser::action_table_row846*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable846) /*Array::add*/;
-    variable847 = ((parser_tables___Parser___action_table_row847_t)CALL( self,COLOR_parser_tables___Parser___action_table_row847))( self) /*Parser::action_table_row847*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable847) /*Array::add*/;
-    variable848 = ((parser_tables___Parser___action_table_row848_t)CALL( self,COLOR_parser_tables___Parser___action_table_row848))( self) /*Parser::action_table_row848*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable848) /*Array::add*/;
-    variable849 = ((parser_tables___Parser___action_table_row849_t)CALL( self,COLOR_parser_tables___Parser___action_table_row849))( self) /*Parser::action_table_row849*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable849) /*Array::add*/;
-    variable850 = ((parser_tables___Parser___action_table_row850_t)CALL( self,COLOR_parser_tables___Parser___action_table_row850))( self) /*Parser::action_table_row850*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable850) /*Array::add*/;
-    variable851 = ((parser_tables___Parser___action_table_row851_t)CALL( self,COLOR_parser_tables___Parser___action_table_row851))( self) /*Parser::action_table_row851*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable851) /*Array::add*/;
-    variable852 = ((parser_tables___Parser___action_table_row852_t)CALL( self,COLOR_parser_tables___Parser___action_table_row852))( self) /*Parser::action_table_row852*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable852) /*Array::add*/;
-    variable853 = ((parser_tables___Parser___action_table_row853_t)CALL( self,COLOR_parser_tables___Parser___action_table_row853))( self) /*Parser::action_table_row853*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable853) /*Array::add*/;
-    variable854 = ((parser_tables___Parser___action_table_row854_t)CALL( self,COLOR_parser_tables___Parser___action_table_row854))( self) /*Parser::action_table_row854*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable854) /*Array::add*/;
-    variable855 = ((parser_tables___Parser___action_table_row855_t)CALL( self,COLOR_parser_tables___Parser___action_table_row855))( self) /*Parser::action_table_row855*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable855) /*Array::add*/;
-    variable856 = ((parser_tables___Parser___action_table_row856_t)CALL( self,COLOR_parser_tables___Parser___action_table_row856))( self) /*Parser::action_table_row856*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable856) /*Array::add*/;
-    variable857 = ((parser_tables___Parser___action_table_row857_t)CALL( self,COLOR_parser_tables___Parser___action_table_row857))( self) /*Parser::action_table_row857*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable857) /*Array::add*/;
-    variable858 = ((parser_tables___Parser___action_table_row858_t)CALL( self,COLOR_parser_tables___Parser___action_table_row858))( self) /*Parser::action_table_row858*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable858) /*Array::add*/;
-    variable859 = ((parser_tables___Parser___action_table_row859_t)CALL( self,COLOR_parser_tables___Parser___action_table_row859))( self) /*Parser::action_table_row859*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable859) /*Array::add*/;
-    variable860 = ((parser_tables___Parser___action_table_row860_t)CALL( self,COLOR_parser_tables___Parser___action_table_row860))( self) /*Parser::action_table_row860*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable860) /*Array::add*/;
-    variable861 = ((parser_tables___Parser___action_table_row861_t)CALL( self,COLOR_parser_tables___Parser___action_table_row861))( self) /*Parser::action_table_row861*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable861) /*Array::add*/;
-    variable862 = ((parser_tables___Parser___action_table_row862_t)CALL( self,COLOR_parser_tables___Parser___action_table_row862))( self) /*Parser::action_table_row862*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable862) /*Array::add*/;
-    variable863 = ((parser_tables___Parser___action_table_row863_t)CALL( self,COLOR_parser_tables___Parser___action_table_row863))( self) /*Parser::action_table_row863*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable863) /*Array::add*/;
-    variable864 = ((parser_tables___Parser___action_table_row864_t)CALL( self,COLOR_parser_tables___Parser___action_table_row864))( self) /*Parser::action_table_row864*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable864) /*Array::add*/;
-    variable865 = ((parser_tables___Parser___action_table_row865_t)CALL( self,COLOR_parser_tables___Parser___action_table_row865))( self) /*Parser::action_table_row865*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable865) /*Array::add*/;
-    variable866 = ((parser_tables___Parser___action_table_row866_t)CALL( self,COLOR_parser_tables___Parser___action_table_row866))( self) /*Parser::action_table_row866*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable866) /*Array::add*/;
-    variable867 = ((parser_tables___Parser___action_table_row867_t)CALL( self,COLOR_parser_tables___Parser___action_table_row867))( self) /*Parser::action_table_row867*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable867) /*Array::add*/;
-    variable868 = ((parser_tables___Parser___action_table_row868_t)CALL( self,COLOR_parser_tables___Parser___action_table_row868))( self) /*Parser::action_table_row868*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable868) /*Array::add*/;
-    variable869 = ((parser_tables___Parser___action_table_row869_t)CALL( self,COLOR_parser_tables___Parser___action_table_row869))( self) /*Parser::action_table_row869*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable869) /*Array::add*/;
-    variable870 = ((parser_tables___Parser___action_table_row870_t)CALL( self,COLOR_parser_tables___Parser___action_table_row870))( self) /*Parser::action_table_row870*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable870) /*Array::add*/;
-    variable871 = ((parser_tables___Parser___action_table_row871_t)CALL( self,COLOR_parser_tables___Parser___action_table_row871))( self) /*Parser::action_table_row871*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable871) /*Array::add*/;
-    variable872 = ((parser_tables___Parser___action_table_row872_t)CALL( self,COLOR_parser_tables___Parser___action_table_row872))( self) /*Parser::action_table_row872*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable872) /*Array::add*/;
-    variable873 = ((parser_tables___Parser___action_table_row873_t)CALL( self,COLOR_parser_tables___Parser___action_table_row873))( self) /*Parser::action_table_row873*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable873) /*Array::add*/;
-    variable874 = ((parser_tables___Parser___action_table_row874_t)CALL( self,COLOR_parser_tables___Parser___action_table_row874))( self) /*Parser::action_table_row874*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable874) /*Array::add*/;
-    variable875 = ((parser_tables___Parser___action_table_row875_t)CALL( self,COLOR_parser_tables___Parser___action_table_row875))( self) /*Parser::action_table_row875*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable875) /*Array::add*/;
-    variable876 = ((parser_tables___Parser___action_table_row876_t)CALL( self,COLOR_parser_tables___Parser___action_table_row876))( self) /*Parser::action_table_row876*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable876) /*Array::add*/;
-    variable877 = ((parser_tables___Parser___action_table_row877_t)CALL( self,COLOR_parser_tables___Parser___action_table_row877))( self) /*Parser::action_table_row877*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable877) /*Array::add*/;
-    variable878 = ((parser_tables___Parser___action_table_row878_t)CALL( self,COLOR_parser_tables___Parser___action_table_row878))( self) /*Parser::action_table_row878*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable878) /*Array::add*/;
-    variable879 = ((parser_tables___Parser___action_table_row879_t)CALL( self,COLOR_parser_tables___Parser___action_table_row879))( self) /*Parser::action_table_row879*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable879) /*Array::add*/;
-    variable880 = ((parser_tables___Parser___action_table_row880_t)CALL( self,COLOR_parser_tables___Parser___action_table_row880))( self) /*Parser::action_table_row880*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable880) /*Array::add*/;
-    variable881 = ((parser_tables___Parser___action_table_row881_t)CALL( self,COLOR_parser_tables___Parser___action_table_row881))( self) /*Parser::action_table_row881*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable881) /*Array::add*/;
-    variable882 = ((parser_tables___Parser___action_table_row882_t)CALL( self,COLOR_parser_tables___Parser___action_table_row882))( self) /*Parser::action_table_row882*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable882) /*Array::add*/;
-    variable883 = ((parser_tables___Parser___action_table_row883_t)CALL( self,COLOR_parser_tables___Parser___action_table_row883))( self) /*Parser::action_table_row883*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable883) /*Array::add*/;
-    variable884 = ((parser_tables___Parser___action_table_row884_t)CALL( self,COLOR_parser_tables___Parser___action_table_row884))( self) /*Parser::action_table_row884*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable884) /*Array::add*/;
-    variable885 = ((parser_tables___Parser___action_table_row885_t)CALL( self,COLOR_parser_tables___Parser___action_table_row885))( self) /*Parser::action_table_row885*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable885) /*Array::add*/;
-    variable886 = ((parser_tables___Parser___action_table_row886_t)CALL( self,COLOR_parser_tables___Parser___action_table_row886))( self) /*Parser::action_table_row886*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable886) /*Array::add*/;
-    variable887 = ((parser_tables___Parser___action_table_row887_t)CALL( self,COLOR_parser_tables___Parser___action_table_row887))( self) /*Parser::action_table_row887*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable887) /*Array::add*/;
-    variable888 = ((parser_tables___Parser___action_table_row888_t)CALL( self,COLOR_parser_tables___Parser___action_table_row888))( self) /*Parser::action_table_row888*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable888) /*Array::add*/;
-    variable889 = ((parser_tables___Parser___action_table_row889_t)CALL( self,COLOR_parser_tables___Parser___action_table_row889))( self) /*Parser::action_table_row889*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable889) /*Array::add*/;
-    variable890 = ((parser_tables___Parser___action_table_row890_t)CALL( self,COLOR_parser_tables___Parser___action_table_row890))( self) /*Parser::action_table_row890*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable890) /*Array::add*/;
-    variable891 = ((parser_tables___Parser___action_table_row891_t)CALL( self,COLOR_parser_tables___Parser___action_table_row891))( self) /*Parser::action_table_row891*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable891) /*Array::add*/;
-    variable892 = ((parser_tables___Parser___action_table_row892_t)CALL( self,COLOR_parser_tables___Parser___action_table_row892))( self) /*Parser::action_table_row892*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable892) /*Array::add*/;
-    variable893 = ((parser_tables___Parser___action_table_row893_t)CALL( self,COLOR_parser_tables___Parser___action_table_row893))( self) /*Parser::action_table_row893*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable893) /*Array::add*/;
-    variable894 = ((parser_tables___Parser___action_table_row894_t)CALL( self,COLOR_parser_tables___Parser___action_table_row894))( self) /*Parser::action_table_row894*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable894) /*Array::add*/;
-    variable895 = ((parser_tables___Parser___action_table_row895_t)CALL( self,COLOR_parser_tables___Parser___action_table_row895))( self) /*Parser::action_table_row895*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable895) /*Array::add*/;
-    variable896 = ((parser_tables___Parser___action_table_row896_t)CALL( self,COLOR_parser_tables___Parser___action_table_row896))( self) /*Parser::action_table_row896*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable896) /*Array::add*/;
-    variable897 = ((parser_tables___Parser___action_table_row897_t)CALL( self,COLOR_parser_tables___Parser___action_table_row897))( self) /*Parser::action_table_row897*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable897) /*Array::add*/;
-    variable898 = ((parser_tables___Parser___action_table_row898_t)CALL( self,COLOR_parser_tables___Parser___action_table_row898))( self) /*Parser::action_table_row898*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable898) /*Array::add*/;
-    variable899 = ((parser_tables___Parser___action_table_row899_t)CALL( self,COLOR_parser_tables___Parser___action_table_row899))( self) /*Parser::action_table_row899*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable899) /*Array::add*/;
-    variable900 = ((parser_tables___Parser___action_table_row900_t)CALL( self,COLOR_parser_tables___Parser___action_table_row900))( self) /*Parser::action_table_row900*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable900) /*Array::add*/;
-    variable901 = ((parser_tables___Parser___action_table_row901_t)CALL( self,COLOR_parser_tables___Parser___action_table_row901))( self) /*Parser::action_table_row901*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable901) /*Array::add*/;
-    variable902 = ((parser_tables___Parser___action_table_row902_t)CALL( self,COLOR_parser_tables___Parser___action_table_row902))( self) /*Parser::action_table_row902*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable902) /*Array::add*/;
-    variable903 = ((parser_tables___Parser___action_table_row903_t)CALL( self,COLOR_parser_tables___Parser___action_table_row903))( self) /*Parser::action_table_row903*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable903) /*Array::add*/;
-    variable904 = ((parser_tables___Parser___action_table_row904_t)CALL( self,COLOR_parser_tables___Parser___action_table_row904))( self) /*Parser::action_table_row904*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable904) /*Array::add*/;
-    variable905 = ((parser_tables___Parser___action_table_row905_t)CALL( self,COLOR_parser_tables___Parser___action_table_row905))( self) /*Parser::action_table_row905*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable905) /*Array::add*/;
-    variable906 = ((parser_tables___Parser___action_table_row906_t)CALL( self,COLOR_parser_tables___Parser___action_table_row906))( self) /*Parser::action_table_row906*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable906) /*Array::add*/;
-    variable907 = ((parser_tables___Parser___action_table_row907_t)CALL( self,COLOR_parser_tables___Parser___action_table_row907))( self) /*Parser::action_table_row907*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable907) /*Array::add*/;
-    variable908 = ((parser_tables___Parser___action_table_row908_t)CALL( self,COLOR_parser_tables___Parser___action_table_row908))( self) /*Parser::action_table_row908*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable908) /*Array::add*/;
-    variable909 = ((parser_tables___Parser___action_table_row909_t)CALL( self,COLOR_parser_tables___Parser___action_table_row909))( self) /*Parser::action_table_row909*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable909) /*Array::add*/;
-    variable910 = ((parser_tables___Parser___action_table_row910_t)CALL( self,COLOR_parser_tables___Parser___action_table_row910))( self) /*Parser::action_table_row910*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable910) /*Array::add*/;
-    variable911 = ((parser_tables___Parser___action_table_row911_t)CALL( self,COLOR_parser_tables___Parser___action_table_row911))( self) /*Parser::action_table_row911*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable911) /*Array::add*/;
-    variable912 = ((parser_tables___Parser___action_table_row912_t)CALL( self,COLOR_parser_tables___Parser___action_table_row912))( self) /*Parser::action_table_row912*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable912) /*Array::add*/;
-    variable913 = ((parser_tables___Parser___action_table_row913_t)CALL( self,COLOR_parser_tables___Parser___action_table_row913))( self) /*Parser::action_table_row913*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable913) /*Array::add*/;
-    variable914 = ((parser_tables___Parser___action_table_row914_t)CALL( self,COLOR_parser_tables___Parser___action_table_row914))( self) /*Parser::action_table_row914*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable914) /*Array::add*/;
-    variable915 = ((parser_tables___Parser___action_table_row915_t)CALL( self,COLOR_parser_tables___Parser___action_table_row915))( self) /*Parser::action_table_row915*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable915) /*Array::add*/;
-    variable916 = ((parser_tables___Parser___action_table_row916_t)CALL( self,COLOR_parser_tables___Parser___action_table_row916))( self) /*Parser::action_table_row916*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable916) /*Array::add*/;
-    variable917 = ((parser_tables___Parser___action_table_row917_t)CALL( self,COLOR_parser_tables___Parser___action_table_row917))( self) /*Parser::action_table_row917*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable917) /*Array::add*/;
-    variable918 = ((parser_tables___Parser___action_table_row918_t)CALL( self,COLOR_parser_tables___Parser___action_table_row918))( self) /*Parser::action_table_row918*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable918) /*Array::add*/;
-    variable919 = ((parser_tables___Parser___action_table_row919_t)CALL( self,COLOR_parser_tables___Parser___action_table_row919))( self) /*Parser::action_table_row919*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable919) /*Array::add*/;
-    variable920 = ((parser_tables___Parser___action_table_row920_t)CALL( self,COLOR_parser_tables___Parser___action_table_row920))( self) /*Parser::action_table_row920*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable920) /*Array::add*/;
-    variable921 = ((parser_tables___Parser___action_table_row921_t)CALL( self,COLOR_parser_tables___Parser___action_table_row921))( self) /*Parser::action_table_row921*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable921) /*Array::add*/;
-    variable922 = ((parser_tables___Parser___action_table_row922_t)CALL( self,COLOR_parser_tables___Parser___action_table_row922))( self) /*Parser::action_table_row922*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable922) /*Array::add*/;
-    variable923 = ((parser_tables___Parser___action_table_row923_t)CALL( self,COLOR_parser_tables___Parser___action_table_row923))( self) /*Parser::action_table_row923*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable923) /*Array::add*/;
-    variable924 = ((parser_tables___Parser___action_table_row924_t)CALL( self,COLOR_parser_tables___Parser___action_table_row924))( self) /*Parser::action_table_row924*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable924) /*Array::add*/;
-    variable925 = ((parser_tables___Parser___action_table_row925_t)CALL( self,COLOR_parser_tables___Parser___action_table_row925))( self) /*Parser::action_table_row925*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable925) /*Array::add*/;
-    variable926 = ((parser_tables___Parser___action_table_row926_t)CALL( self,COLOR_parser_tables___Parser___action_table_row926))( self) /*Parser::action_table_row926*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable926) /*Array::add*/;
-    variable927 = ((parser_tables___Parser___action_table_row927_t)CALL( self,COLOR_parser_tables___Parser___action_table_row927))( self) /*Parser::action_table_row927*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable927) /*Array::add*/;
-    variable928 = ((parser_tables___Parser___action_table_row928_t)CALL( self,COLOR_parser_tables___Parser___action_table_row928))( self) /*Parser::action_table_row928*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable928) /*Array::add*/;
-    variable929 = ((parser_tables___Parser___action_table_row929_t)CALL( self,COLOR_parser_tables___Parser___action_table_row929))( self) /*Parser::action_table_row929*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable929) /*Array::add*/;
-    variable930 = ((parser_tables___Parser___action_table_row930_t)CALL( self,COLOR_parser_tables___Parser___action_table_row930))( self) /*Parser::action_table_row930*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable930) /*Array::add*/;
-    variable931 = ((parser_tables___Parser___action_table_row931_t)CALL( self,COLOR_parser_tables___Parser___action_table_row931))( self) /*Parser::action_table_row931*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable931) /*Array::add*/;
-    variable932 = ((parser_tables___Parser___action_table_row932_t)CALL( self,COLOR_parser_tables___Parser___action_table_row932))( self) /*Parser::action_table_row932*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable932) /*Array::add*/;
-    variable933 = ((parser_tables___Parser___action_table_row933_t)CALL( self,COLOR_parser_tables___Parser___action_table_row933))( self) /*Parser::action_table_row933*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable933) /*Array::add*/;
-    variable934 = ((parser_tables___Parser___action_table_row934_t)CALL( self,COLOR_parser_tables___Parser___action_table_row934))( self) /*Parser::action_table_row934*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable934) /*Array::add*/;
-    variable935 = ((parser_tables___Parser___action_table_row935_t)CALL( self,COLOR_parser_tables___Parser___action_table_row935))( self) /*Parser::action_table_row935*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable935) /*Array::add*/;
-    variable936 = ((parser_tables___Parser___action_table_row936_t)CALL( self,COLOR_parser_tables___Parser___action_table_row936))( self) /*Parser::action_table_row936*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable936) /*Array::add*/;
-    variable937 = ((parser_tables___Parser___action_table_row937_t)CALL( self,COLOR_parser_tables___Parser___action_table_row937))( self) /*Parser::action_table_row937*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable937) /*Array::add*/;
-    variable938 = ((parser_tables___Parser___action_table_row938_t)CALL( self,COLOR_parser_tables___Parser___action_table_row938))( self) /*Parser::action_table_row938*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable938) /*Array::add*/;
-    variable939 = ((parser_tables___Parser___action_table_row939_t)CALL( self,COLOR_parser_tables___Parser___action_table_row939))( self) /*Parser::action_table_row939*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable939) /*Array::add*/;
-    variable940 = ((parser_tables___Parser___action_table_row940_t)CALL( self,COLOR_parser_tables___Parser___action_table_row940))( self) /*Parser::action_table_row940*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable940) /*Array::add*/;
-    variable941 = ((parser_tables___Parser___action_table_row941_t)CALL( self,COLOR_parser_tables___Parser___action_table_row941))( self) /*Parser::action_table_row941*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable941) /*Array::add*/;
-    variable942 = ((parser_tables___Parser___action_table_row942_t)CALL( self,COLOR_parser_tables___Parser___action_table_row942))( self) /*Parser::action_table_row942*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable942) /*Array::add*/;
-    variable943 = ((parser_tables___Parser___action_table_row943_t)CALL( self,COLOR_parser_tables___Parser___action_table_row943))( self) /*Parser::action_table_row943*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable943) /*Array::add*/;
-    variable944 = ((parser_tables___Parser___action_table_row944_t)CALL( self,COLOR_parser_tables___Parser___action_table_row944))( self) /*Parser::action_table_row944*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable944) /*Array::add*/;
-    variable945 = ((parser_tables___Parser___action_table_row945_t)CALL( self,COLOR_parser_tables___Parser___action_table_row945))( self) /*Parser::action_table_row945*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable945) /*Array::add*/;
-    variable946 = ((parser_tables___Parser___action_table_row946_t)CALL( self,COLOR_parser_tables___Parser___action_table_row946))( self) /*Parser::action_table_row946*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable946) /*Array::add*/;
-    variable947 = ((parser_tables___Parser___action_table_row947_t)CALL( self,COLOR_parser_tables___Parser___action_table_row947))( self) /*Parser::action_table_row947*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable947) /*Array::add*/;
-    variable948 = ((parser_tables___Parser___action_table_row948_t)CALL( self,COLOR_parser_tables___Parser___action_table_row948))( self) /*Parser::action_table_row948*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable948) /*Array::add*/;
-    variable949 = ((parser_tables___Parser___action_table_row949_t)CALL( self,COLOR_parser_tables___Parser___action_table_row949))( self) /*Parser::action_table_row949*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable949) /*Array::add*/;
-    variable950 = ((parser_tables___Parser___action_table_row950_t)CALL( self,COLOR_parser_tables___Parser___action_table_row950))( self) /*Parser::action_table_row950*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable950) /*Array::add*/;
-    variable951 = ((parser_tables___Parser___action_table_row951_t)CALL( self,COLOR_parser_tables___Parser___action_table_row951))( self) /*Parser::action_table_row951*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable951) /*Array::add*/;
-    variable952 = ((parser_tables___Parser___action_table_row952_t)CALL( self,COLOR_parser_tables___Parser___action_table_row952))( self) /*Parser::action_table_row952*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable952) /*Array::add*/;
-    variable953 = ((parser_tables___Parser___action_table_row953_t)CALL( self,COLOR_parser_tables___Parser___action_table_row953))( self) /*Parser::action_table_row953*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable953) /*Array::add*/;
-    variable954 = ((parser_tables___Parser___action_table_row954_t)CALL( self,COLOR_parser_tables___Parser___action_table_row954))( self) /*Parser::action_table_row954*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable954) /*Array::add*/;
-    variable955 = ((parser_tables___Parser___action_table_row955_t)CALL( self,COLOR_parser_tables___Parser___action_table_row955))( self) /*Parser::action_table_row955*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable955) /*Array::add*/;
-    variable956 = ((parser_tables___Parser___action_table_row956_t)CALL( self,COLOR_parser_tables___Parser___action_table_row956))( self) /*Parser::action_table_row956*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable956) /*Array::add*/;
-    variable957 = ((parser_tables___Parser___action_table_row957_t)CALL( self,COLOR_parser_tables___Parser___action_table_row957))( self) /*Parser::action_table_row957*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable957) /*Array::add*/;
-    variable958 = ((parser_tables___Parser___action_table_row958_t)CALL( self,COLOR_parser_tables___Parser___action_table_row958))( self) /*Parser::action_table_row958*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable958) /*Array::add*/;
-    variable959 = ((parser_tables___Parser___action_table_row959_t)CALL( self,COLOR_parser_tables___Parser___action_table_row959))( self) /*Parser::action_table_row959*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable959) /*Array::add*/;
-    variable960 = ((parser_tables___Parser___action_table_row960_t)CALL( self,COLOR_parser_tables___Parser___action_table_row960))( self) /*Parser::action_table_row960*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable960) /*Array::add*/;
-    variable961 = ((parser_tables___Parser___action_table_row961_t)CALL( self,COLOR_parser_tables___Parser___action_table_row961))( self) /*Parser::action_table_row961*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable961) /*Array::add*/;
-    variable962 = ((parser_tables___Parser___action_table_row962_t)CALL( self,COLOR_parser_tables___Parser___action_table_row962))( self) /*Parser::action_table_row962*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable962) /*Array::add*/;
-    variable963 = ((parser_tables___Parser___action_table_row963_t)CALL( self,COLOR_parser_tables___Parser___action_table_row963))( self) /*Parser::action_table_row963*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable963) /*Array::add*/;
-    variable964 = ((parser_tables___Parser___action_table_row964_t)CALL( self,COLOR_parser_tables___Parser___action_table_row964))( self) /*Parser::action_table_row964*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable964) /*Array::add*/;
-    variable965 = ((parser_tables___Parser___action_table_row965_t)CALL( self,COLOR_parser_tables___Parser___action_table_row965))( self) /*Parser::action_table_row965*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable965) /*Array::add*/;
-    variable966 = ((parser_tables___Parser___action_table_row966_t)CALL( self,COLOR_parser_tables___Parser___action_table_row966))( self) /*Parser::action_table_row966*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable966) /*Array::add*/;
-    variable967 = ((parser_tables___Parser___action_table_row967_t)CALL( self,COLOR_parser_tables___Parser___action_table_row967))( self) /*Parser::action_table_row967*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable967) /*Array::add*/;
-    variable968 = ((parser_tables___Parser___action_table_row968_t)CALL( self,COLOR_parser_tables___Parser___action_table_row968))( self) /*Parser::action_table_row968*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable968) /*Array::add*/;
-    variable969 = ((parser_tables___Parser___action_table_row969_t)CALL( self,COLOR_parser_tables___Parser___action_table_row969))( self) /*Parser::action_table_row969*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable969) /*Array::add*/;
-    variable970 = ((parser_tables___Parser___action_table_row970_t)CALL( self,COLOR_parser_tables___Parser___action_table_row970))( self) /*Parser::action_table_row970*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable970) /*Array::add*/;
-    variable971 = ((parser_tables___Parser___action_table_row971_t)CALL( self,COLOR_parser_tables___Parser___action_table_row971))( self) /*Parser::action_table_row971*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable971) /*Array::add*/;
-    variable972 = ((parser_tables___Parser___action_table_row972_t)CALL( self,COLOR_parser_tables___Parser___action_table_row972))( self) /*Parser::action_table_row972*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable972) /*Array::add*/;
-    variable973 = ((parser_tables___Parser___action_table_row973_t)CALL( self,COLOR_parser_tables___Parser___action_table_row973))( self) /*Parser::action_table_row973*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable973) /*Array::add*/;
-    variable974 = ((parser_tables___Parser___action_table_row974_t)CALL( self,COLOR_parser_tables___Parser___action_table_row974))( self) /*Parser::action_table_row974*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable974) /*Array::add*/;
-    variable975 = ((parser_tables___Parser___action_table_row975_t)CALL( self,COLOR_parser_tables___Parser___action_table_row975))( self) /*Parser::action_table_row975*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable975) /*Array::add*/;
-    variable976 = ((parser_tables___Parser___action_table_row976_t)CALL( self,COLOR_parser_tables___Parser___action_table_row976))( self) /*Parser::action_table_row976*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable976) /*Array::add*/;
-    variable977 = ((parser_tables___Parser___action_table_row977_t)CALL( self,COLOR_parser_tables___Parser___action_table_row977))( self) /*Parser::action_table_row977*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable977) /*Array::add*/;
-    variable978 = ((parser_tables___Parser___action_table_row978_t)CALL( self,COLOR_parser_tables___Parser___action_table_row978))( self) /*Parser::action_table_row978*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable978) /*Array::add*/;
-    variable979 = ((parser_tables___Parser___action_table_row979_t)CALL( self,COLOR_parser_tables___Parser___action_table_row979))( self) /*Parser::action_table_row979*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable979) /*Array::add*/;
-    variable980 = ((parser_tables___Parser___action_table_row980_t)CALL( self,COLOR_parser_tables___Parser___action_table_row980))( self) /*Parser::action_table_row980*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable980) /*Array::add*/;
-    variable981 = ((parser_tables___Parser___action_table_row981_t)CALL( self,COLOR_parser_tables___Parser___action_table_row981))( self) /*Parser::action_table_row981*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable981) /*Array::add*/;
-    variable982 = ((parser_tables___Parser___action_table_row982_t)CALL( self,COLOR_parser_tables___Parser___action_table_row982))( self) /*Parser::action_table_row982*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable982) /*Array::add*/;
-    variable983 = ((parser_tables___Parser___action_table_row983_t)CALL( self,COLOR_parser_tables___Parser___action_table_row983))( self) /*Parser::action_table_row983*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable983) /*Array::add*/;
-    variable984 = ((parser_tables___Parser___action_table_row984_t)CALL( self,COLOR_parser_tables___Parser___action_table_row984))( self) /*Parser::action_table_row984*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable984) /*Array::add*/;
-    variable985 = ((parser_tables___Parser___action_table_row985_t)CALL( self,COLOR_parser_tables___Parser___action_table_row985))( self) /*Parser::action_table_row985*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable985) /*Array::add*/;
-    variable986 = ((parser_tables___Parser___action_table_row986_t)CALL( self,COLOR_parser_tables___Parser___action_table_row986))( self) /*Parser::action_table_row986*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable986) /*Array::add*/;
-    variable987 = ((parser_tables___Parser___action_table_row987_t)CALL( self,COLOR_parser_tables___Parser___action_table_row987))( self) /*Parser::action_table_row987*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable987) /*Array::add*/;
-    variable988 = ((parser_tables___Parser___action_table_row988_t)CALL( self,COLOR_parser_tables___Parser___action_table_row988))( self) /*Parser::action_table_row988*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable988) /*Array::add*/;
-    variable989 = ((parser_tables___Parser___action_table_row989_t)CALL( self,COLOR_parser_tables___Parser___action_table_row989))( self) /*Parser::action_table_row989*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable989) /*Array::add*/;
-    variable990 = ((parser_tables___Parser___action_table_row990_t)CALL( self,COLOR_parser_tables___Parser___action_table_row990))( self) /*Parser::action_table_row990*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable990) /*Array::add*/;
-    variable991 = ((parser_tables___Parser___action_table_row991_t)CALL( self,COLOR_parser_tables___Parser___action_table_row991))( self) /*Parser::action_table_row991*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable991) /*Array::add*/;
-    variable992 = ((parser_tables___Parser___action_table_row992_t)CALL( self,COLOR_parser_tables___Parser___action_table_row992))( self) /*Parser::action_table_row992*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable992) /*Array::add*/;
-    variable993 = ((parser_tables___Parser___action_table_row993_t)CALL( self,COLOR_parser_tables___Parser___action_table_row993))( self) /*Parser::action_table_row993*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable993) /*Array::add*/;
-    variable994 = ((parser_tables___Parser___action_table_row994_t)CALL( self,COLOR_parser_tables___Parser___action_table_row994))( self) /*Parser::action_table_row994*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable994) /*Array::add*/;
-    variable995 = ((parser_tables___Parser___action_table_row995_t)CALL( self,COLOR_parser_tables___Parser___action_table_row995))( self) /*Parser::action_table_row995*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable995) /*Array::add*/;
-    variable996 = ((parser_tables___Parser___action_table_row996_t)CALL( self,COLOR_parser_tables___Parser___action_table_row996))( self) /*Parser::action_table_row996*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable996) /*Array::add*/;
-    variable997 = ((parser_tables___Parser___action_table_row997_t)CALL( self,COLOR_parser_tables___Parser___action_table_row997))( self) /*Parser::action_table_row997*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable997) /*Array::add*/;
-    variable998 = ((parser_tables___Parser___action_table_row998_t)CALL( self,COLOR_parser_tables___Parser___action_table_row998))( self) /*Parser::action_table_row998*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable998) /*Array::add*/;
-    variable999 = ((parser_tables___Parser___action_table_row999_t)CALL( self,COLOR_parser_tables___Parser___action_table_row999))( self) /*Parser::action_table_row999*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable999) /*Array::add*/;
-    variable1000 = ((parser_tables___Parser___action_table_row1000_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1000))( self) /*Parser::action_table_row1000*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1000) /*Array::add*/;
-    variable1001 = ((parser_tables___Parser___action_table_row1001_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1001))( self) /*Parser::action_table_row1001*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1001) /*Array::add*/;
-    variable1002 = ((parser_tables___Parser___action_table_row1002_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1002))( self) /*Parser::action_table_row1002*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1002) /*Array::add*/;
-    variable1003 = ((parser_tables___Parser___action_table_row1003_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1003))( self) /*Parser::action_table_row1003*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1003) /*Array::add*/;
-    variable1004 = ((parser_tables___Parser___action_table_row1004_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1004))( self) /*Parser::action_table_row1004*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1004) /*Array::add*/;
-    variable1005 = ((parser_tables___Parser___action_table_row1005_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1005))( self) /*Parser::action_table_row1005*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1005) /*Array::add*/;
-    variable1006 = ((parser_tables___Parser___action_table_row1006_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1006))( self) /*Parser::action_table_row1006*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1006) /*Array::add*/;
-    variable1007 = ((parser_tables___Parser___action_table_row1007_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1007))( self) /*Parser::action_table_row1007*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1007) /*Array::add*/;
-    variable1008 = ((parser_tables___Parser___action_table_row1008_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1008))( self) /*Parser::action_table_row1008*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1008) /*Array::add*/;
-    variable1009 = ((parser_tables___Parser___action_table_row1009_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1009))( self) /*Parser::action_table_row1009*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1009) /*Array::add*/;
-    variable1010 = ((parser_tables___Parser___action_table_row1010_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1010))( self) /*Parser::action_table_row1010*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1010) /*Array::add*/;
-    variable1011 = ((parser_tables___Parser___action_table_row1011_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1011))( self) /*Parser::action_table_row1011*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1011) /*Array::add*/;
-    variable1012 = ((parser_tables___Parser___action_table_row1012_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1012))( self) /*Parser::action_table_row1012*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1012) /*Array::add*/;
-    variable1013 = ((parser_tables___Parser___action_table_row1013_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1013))( self) /*Parser::action_table_row1013*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1013) /*Array::add*/;
-    variable1014 = ((parser_tables___Parser___action_table_row1014_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1014))( self) /*Parser::action_table_row1014*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1014) /*Array::add*/;
-    variable1015 = ((parser_tables___Parser___action_table_row1015_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1015))( self) /*Parser::action_table_row1015*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1015) /*Array::add*/;
-    variable1016 = ((parser_tables___Parser___action_table_row1016_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1016))( self) /*Parser::action_table_row1016*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1016) /*Array::add*/;
-    variable1017 = ((parser_tables___Parser___action_table_row1017_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1017))( self) /*Parser::action_table_row1017*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1017) /*Array::add*/;
-    variable1018 = ((parser_tables___Parser___action_table_row1018_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1018))( self) /*Parser::action_table_row1018*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1018) /*Array::add*/;
-    variable1019 = ((parser_tables___Parser___action_table_row1019_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1019))( self) /*Parser::action_table_row1019*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1019) /*Array::add*/;
-    variable1020 = ((parser_tables___Parser___action_table_row1020_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1020))( self) /*Parser::action_table_row1020*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1020) /*Array::add*/;
-    variable1021 = ((parser_tables___Parser___action_table_row1021_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1021))( self) /*Parser::action_table_row1021*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1021) /*Array::add*/;
-    variable1022 = ((parser_tables___Parser___action_table_row1022_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1022))( self) /*Parser::action_table_row1022*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1022) /*Array::add*/;
-    variable1023 = ((parser_tables___Parser___action_table_row1023_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1023))( self) /*Parser::action_table_row1023*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1023) /*Array::add*/;
-    variable1024 = ((parser_tables___Parser___action_table_row1024_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1024))( self) /*Parser::action_table_row1024*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1024) /*Array::add*/;
-    variable1025 = ((parser_tables___Parser___action_table_row1025_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1025))( self) /*Parser::action_table_row1025*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1025) /*Array::add*/;
-    variable1026 = ((parser_tables___Parser___action_table_row1026_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1026))( self) /*Parser::action_table_row1026*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1026) /*Array::add*/;
-    variable1027 = ((parser_tables___Parser___action_table_row1027_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1027))( self) /*Parser::action_table_row1027*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1027) /*Array::add*/;
-    variable1028 = ((parser_tables___Parser___action_table_row1028_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1028))( self) /*Parser::action_table_row1028*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1028) /*Array::add*/;
-    variable1029 = ((parser_tables___Parser___action_table_row1029_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1029))( self) /*Parser::action_table_row1029*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1029) /*Array::add*/;
-    variable1030 = ((parser_tables___Parser___action_table_row1030_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1030))( self) /*Parser::action_table_row1030*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1030) /*Array::add*/;
-    variable1031 = ((parser_tables___Parser___action_table_row1031_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1031))( self) /*Parser::action_table_row1031*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1031) /*Array::add*/;
-    variable1032 = ((parser_tables___Parser___action_table_row1032_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1032))( self) /*Parser::action_table_row1032*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1032) /*Array::add*/;
-    variable1033 = ((parser_tables___Parser___action_table_row1033_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1033))( self) /*Parser::action_table_row1033*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1033) /*Array::add*/;
-    variable1034 = ((parser_tables___Parser___action_table_row1034_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1034))( self) /*Parser::action_table_row1034*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1034) /*Array::add*/;
-    variable1035 = ((parser_tables___Parser___action_table_row1035_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1035))( self) /*Parser::action_table_row1035*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1035) /*Array::add*/;
-    variable1036 = ((parser_tables___Parser___action_table_row1036_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1036))( self) /*Parser::action_table_row1036*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1036) /*Array::add*/;
-    variable1037 = ((parser_tables___Parser___action_table_row1037_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1037))( self) /*Parser::action_table_row1037*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1037) /*Array::add*/;
-    variable1038 = ((parser_tables___Parser___action_table_row1038_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1038))( self) /*Parser::action_table_row1038*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1038) /*Array::add*/;
-    variable1039 = ((parser_tables___Parser___action_table_row1039_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1039))( self) /*Parser::action_table_row1039*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1039) /*Array::add*/;
-    variable1040 = ((parser_tables___Parser___action_table_row1040_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1040))( self) /*Parser::action_table_row1040*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1040) /*Array::add*/;
-    variable1041 = ((parser_tables___Parser___action_table_row1041_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1041))( self) /*Parser::action_table_row1041*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1041) /*Array::add*/;
-    variable1042 = ((parser_tables___Parser___action_table_row1042_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1042))( self) /*Parser::action_table_row1042*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1042) /*Array::add*/;
-    variable1043 = ((parser_tables___Parser___action_table_row1043_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1043))( self) /*Parser::action_table_row1043*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1043) /*Array::add*/;
-    variable1044 = ((parser_tables___Parser___action_table_row1044_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1044))( self) /*Parser::action_table_row1044*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1044) /*Array::add*/;
-    variable1045 = ((parser_tables___Parser___action_table_row1045_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1045))( self) /*Parser::action_table_row1045*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1045) /*Array::add*/;
-    variable1046 = ((parser_tables___Parser___action_table_row1046_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1046))( self) /*Parser::action_table_row1046*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1046) /*Array::add*/;
-    variable1047 = ((parser_tables___Parser___action_table_row1047_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1047))( self) /*Parser::action_table_row1047*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1047) /*Array::add*/;
-    variable1048 = ((parser_tables___Parser___action_table_row1048_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1048))( self) /*Parser::action_table_row1048*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1048) /*Array::add*/;
-    variable1049 = ((parser_tables___Parser___action_table_row1049_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1049))( self) /*Parser::action_table_row1049*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1049) /*Array::add*/;
-    variable1050 = ((parser_tables___Parser___action_table_row1050_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1050))( self) /*Parser::action_table_row1050*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1050) /*Array::add*/;
-    variable1051 = ((parser_tables___Parser___action_table_row1051_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1051))( self) /*Parser::action_table_row1051*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1051) /*Array::add*/;
-    variable1052 = ((parser_tables___Parser___action_table_row1052_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1052))( self) /*Parser::action_table_row1052*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1052) /*Array::add*/;
-    variable1053 = ((parser_tables___Parser___action_table_row1053_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1053))( self) /*Parser::action_table_row1053*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1053) /*Array::add*/;
-    variable1054 = ((parser_tables___Parser___action_table_row1054_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1054))( self) /*Parser::action_table_row1054*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1054) /*Array::add*/;
-    variable1055 = ((parser_tables___Parser___action_table_row1055_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1055))( self) /*Parser::action_table_row1055*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1055) /*Array::add*/;
-    variable1056 = ((parser_tables___Parser___action_table_row1056_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1056))( self) /*Parser::action_table_row1056*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1056) /*Array::add*/;
-    variable1057 = ((parser_tables___Parser___action_table_row1057_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1057))( self) /*Parser::action_table_row1057*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1057) /*Array::add*/;
-    variable1058 = ((parser_tables___Parser___action_table_row1058_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1058))( self) /*Parser::action_table_row1058*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1058) /*Array::add*/;
-    variable1059 = ((parser_tables___Parser___action_table_row1059_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1059))( self) /*Parser::action_table_row1059*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1059) /*Array::add*/;
-    variable1060 = ((parser_tables___Parser___action_table_row1060_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1060))( self) /*Parser::action_table_row1060*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1060) /*Array::add*/;
-    variable1061 = ((parser_tables___Parser___action_table_row1061_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1061))( self) /*Parser::action_table_row1061*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1061) /*Array::add*/;
-    variable1062 = ((parser_tables___Parser___action_table_row1062_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1062))( self) /*Parser::action_table_row1062*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1062) /*Array::add*/;
-    variable1063 = ((parser_tables___Parser___action_table_row1063_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1063))( self) /*Parser::action_table_row1063*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1063) /*Array::add*/;
-    variable1064 = ((parser_tables___Parser___action_table_row1064_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1064))( self) /*Parser::action_table_row1064*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1064) /*Array::add*/;
-    variable1065 = ((parser_tables___Parser___action_table_row1065_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1065))( self) /*Parser::action_table_row1065*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1065) /*Array::add*/;
-    variable1066 = ((parser_tables___Parser___action_table_row1066_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1066))( self) /*Parser::action_table_row1066*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1066) /*Array::add*/;
-    variable1067 = ((parser_tables___Parser___action_table_row1067_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1067))( self) /*Parser::action_table_row1067*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1067) /*Array::add*/;
-    variable1068 = ((parser_tables___Parser___action_table_row1068_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1068))( self) /*Parser::action_table_row1068*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1068) /*Array::add*/;
-    variable1069 = ((parser_tables___Parser___action_table_row1069_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1069))( self) /*Parser::action_table_row1069*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1069) /*Array::add*/;
-    variable1070 = ((parser_tables___Parser___action_table_row1070_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1070))( self) /*Parser::action_table_row1070*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1070) /*Array::add*/;
-    variable1071 = ((parser_tables___Parser___action_table_row1071_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1071))( self) /*Parser::action_table_row1071*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1071) /*Array::add*/;
-    variable1072 = ((parser_tables___Parser___action_table_row1072_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1072))( self) /*Parser::action_table_row1072*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1072) /*Array::add*/;
-    variable1073 = ((parser_tables___Parser___action_table_row1073_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1073))( self) /*Parser::action_table_row1073*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1073) /*Array::add*/;
-    variable1074 = ((parser_tables___Parser___action_table_row1074_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1074))( self) /*Parser::action_table_row1074*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1074) /*Array::add*/;
-    variable1075 = ((parser_tables___Parser___action_table_row1075_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1075))( self) /*Parser::action_table_row1075*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1075) /*Array::add*/;
-    variable1076 = ((parser_tables___Parser___action_table_row1076_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1076))( self) /*Parser::action_table_row1076*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1076) /*Array::add*/;
-    variable1077 = ((parser_tables___Parser___action_table_row1077_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1077))( self) /*Parser::action_table_row1077*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1077) /*Array::add*/;
-    variable1078 = ((parser_tables___Parser___action_table_row1078_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1078))( self) /*Parser::action_table_row1078*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1078) /*Array::add*/;
-    variable1079 = ((parser_tables___Parser___action_table_row1079_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1079))( self) /*Parser::action_table_row1079*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1079) /*Array::add*/;
-    variable1080 = ((parser_tables___Parser___action_table_row1080_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1080))( self) /*Parser::action_table_row1080*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1080) /*Array::add*/;
-    variable1081 = ((parser_tables___Parser___action_table_row1081_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1081))( self) /*Parser::action_table_row1081*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1081) /*Array::add*/;
-    variable1082 = ((parser_tables___Parser___action_table_row1082_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1082))( self) /*Parser::action_table_row1082*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1082) /*Array::add*/;
-    variable1083 = ((parser_tables___Parser___action_table_row1083_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1083))( self) /*Parser::action_table_row1083*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1083) /*Array::add*/;
-    variable1084 = ((parser_tables___Parser___action_table_row1084_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1084))( self) /*Parser::action_table_row1084*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1084) /*Array::add*/;
-    variable1085 = ((parser_tables___Parser___action_table_row1085_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1085))( self) /*Parser::action_table_row1085*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1085) /*Array::add*/;
-    variable1086 = ((parser_tables___Parser___action_table_row1086_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1086))( self) /*Parser::action_table_row1086*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1086) /*Array::add*/;
-    variable1087 = ((parser_tables___Parser___action_table_row1087_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1087))( self) /*Parser::action_table_row1087*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1087) /*Array::add*/;
-    variable1088 = ((parser_tables___Parser___action_table_row1088_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1088))( self) /*Parser::action_table_row1088*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1088) /*Array::add*/;
-    variable1089 = ((parser_tables___Parser___action_table_row1089_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1089))( self) /*Parser::action_table_row1089*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1089) /*Array::add*/;
-    variable1090 = ((parser_tables___Parser___action_table_row1090_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1090))( self) /*Parser::action_table_row1090*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1090) /*Array::add*/;
-    variable1091 = ((parser_tables___Parser___action_table_row1091_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1091))( self) /*Parser::action_table_row1091*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1091) /*Array::add*/;
-    variable1092 = ((parser_tables___Parser___action_table_row1092_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1092))( self) /*Parser::action_table_row1092*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1092) /*Array::add*/;
-    variable1093 = ((parser_tables___Parser___action_table_row1093_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1093))( self) /*Parser::action_table_row1093*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1093) /*Array::add*/;
-    variable1094 = ((parser_tables___Parser___action_table_row1094_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1094))( self) /*Parser::action_table_row1094*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1094) /*Array::add*/;
-    variable1095 = ((parser_tables___Parser___action_table_row1095_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1095))( self) /*Parser::action_table_row1095*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1095) /*Array::add*/;
-    variable1096 = ((parser_tables___Parser___action_table_row1096_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1096))( self) /*Parser::action_table_row1096*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1096) /*Array::add*/;
-    variable1097 = ((parser_tables___Parser___action_table_row1097_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1097))( self) /*Parser::action_table_row1097*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1097) /*Array::add*/;
-    variable1098 = ((parser_tables___Parser___action_table_row1098_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1098))( self) /*Parser::action_table_row1098*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1098) /*Array::add*/;
-    variable1099 = ((parser_tables___Parser___action_table_row1099_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1099))( self) /*Parser::action_table_row1099*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1099) /*Array::add*/;
-    variable1100 = ((parser_tables___Parser___action_table_row1100_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1100))( self) /*Parser::action_table_row1100*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1100) /*Array::add*/;
-    variable1101 = ((parser_tables___Parser___action_table_row1101_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1101))( self) /*Parser::action_table_row1101*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1101) /*Array::add*/;
-    variable1102 = ((parser_tables___Parser___action_table_row1102_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1102))( self) /*Parser::action_table_row1102*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1102) /*Array::add*/;
-    variable1103 = ((parser_tables___Parser___action_table_row1103_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1103))( self) /*Parser::action_table_row1103*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1103) /*Array::add*/;
-    variable1104 = ((parser_tables___Parser___action_table_row1104_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1104))( self) /*Parser::action_table_row1104*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1104) /*Array::add*/;
-    variable1105 = ((parser_tables___Parser___action_table_row1105_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1105))( self) /*Parser::action_table_row1105*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1105) /*Array::add*/;
-    variable1106 = ((parser_tables___Parser___action_table_row1106_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1106))( self) /*Parser::action_table_row1106*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1106) /*Array::add*/;
-    variable1107 = ((parser_tables___Parser___action_table_row1107_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1107))( self) /*Parser::action_table_row1107*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1107) /*Array::add*/;
-    variable1108 = ((parser_tables___Parser___action_table_row1108_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1108))( self) /*Parser::action_table_row1108*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1108) /*Array::add*/;
-    variable1109 = ((parser_tables___Parser___action_table_row1109_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1109))( self) /*Parser::action_table_row1109*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1109) /*Array::add*/;
-    variable1110 = ((parser_tables___Parser___action_table_row1110_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1110))( self) /*Parser::action_table_row1110*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1110) /*Array::add*/;
-    variable1111 = ((parser_tables___Parser___action_table_row1111_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1111))( self) /*Parser::action_table_row1111*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1111) /*Array::add*/;
-    variable1112 = ((parser_tables___Parser___action_table_row1112_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1112))( self) /*Parser::action_table_row1112*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1112) /*Array::add*/;
-    variable1113 = ((parser_tables___Parser___action_table_row1113_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1113))( self) /*Parser::action_table_row1113*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1113) /*Array::add*/;
-    variable1114 = ((parser_tables___Parser___action_table_row1114_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1114))( self) /*Parser::action_table_row1114*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1114) /*Array::add*/;
-    variable1115 = ((parser_tables___Parser___action_table_row1115_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1115))( self) /*Parser::action_table_row1115*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1115) /*Array::add*/;
-    variable1116 = ((parser_tables___Parser___action_table_row1116_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1116))( self) /*Parser::action_table_row1116*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1116) /*Array::add*/;
-    variable1117 = ((parser_tables___Parser___action_table_row1117_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1117))( self) /*Parser::action_table_row1117*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1117) /*Array::add*/;
-    variable1118 = ((parser_tables___Parser___action_table_row1118_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1118))( self) /*Parser::action_table_row1118*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1118) /*Array::add*/;
-    variable1119 = ((parser_tables___Parser___action_table_row1119_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1119))( self) /*Parser::action_table_row1119*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1119) /*Array::add*/;
-    variable1120 = ((parser_tables___Parser___action_table_row1120_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1120))( self) /*Parser::action_table_row1120*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1120) /*Array::add*/;
-    variable1121 = ((parser_tables___Parser___action_table_row1121_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1121))( self) /*Parser::action_table_row1121*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1121) /*Array::add*/;
-    variable1122 = ((parser_tables___Parser___action_table_row1122_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1122))( self) /*Parser::action_table_row1122*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1122) /*Array::add*/;
-    variable1123 = ((parser_tables___Parser___action_table_row1123_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1123))( self) /*Parser::action_table_row1123*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1123) /*Array::add*/;
-    variable1124 = ((parser_tables___Parser___action_table_row1124_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1124))( self) /*Parser::action_table_row1124*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1124) /*Array::add*/;
-    variable1125 = ((parser_tables___Parser___action_table_row1125_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1125))( self) /*Parser::action_table_row1125*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1125) /*Array::add*/;
-    variable1126 = ((parser_tables___Parser___action_table_row1126_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1126))( self) /*Parser::action_table_row1126*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1126) /*Array::add*/;
-    variable1127 = ((parser_tables___Parser___action_table_row1127_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1127))( self) /*Parser::action_table_row1127*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1127) /*Array::add*/;
-    variable1128 = ((parser_tables___Parser___action_table_row1128_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1128))( self) /*Parser::action_table_row1128*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1128) /*Array::add*/;
-    variable1129 = ((parser_tables___Parser___action_table_row1129_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1129))( self) /*Parser::action_table_row1129*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1129) /*Array::add*/;
-    variable1130 = ((parser_tables___Parser___action_table_row1130_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1130))( self) /*Parser::action_table_row1130*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1130) /*Array::add*/;
-    variable1131 = ((parser_tables___Parser___action_table_row1131_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1131))( self) /*Parser::action_table_row1131*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1131) /*Array::add*/;
-    variable1132 = ((parser_tables___Parser___action_table_row1132_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1132))( self) /*Parser::action_table_row1132*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1132) /*Array::add*/;
-    variable1133 = ((parser_tables___Parser___action_table_row1133_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1133))( self) /*Parser::action_table_row1133*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1133) /*Array::add*/;
-    variable1134 = ((parser_tables___Parser___action_table_row1134_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1134))( self) /*Parser::action_table_row1134*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1134) /*Array::add*/;
-    variable1135 = ((parser_tables___Parser___action_table_row1135_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1135))( self) /*Parser::action_table_row1135*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1135) /*Array::add*/;
-    variable1136 = ((parser_tables___Parser___action_table_row1136_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1136))( self) /*Parser::action_table_row1136*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1136) /*Array::add*/;
-    variable1137 = ((parser_tables___Parser___action_table_row1137_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1137))( self) /*Parser::action_table_row1137*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1137) /*Array::add*/;
-    variable1138 = ((parser_tables___Parser___action_table_row1138_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1138))( self) /*Parser::action_table_row1138*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1138) /*Array::add*/;
-    variable1139 = ((parser_tables___Parser___action_table_row1139_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1139))( self) /*Parser::action_table_row1139*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1139) /*Array::add*/;
-    variable1140 = ((parser_tables___Parser___action_table_row1140_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1140))( self) /*Parser::action_table_row1140*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1140) /*Array::add*/;
-    variable1141 = ((parser_tables___Parser___action_table_row1141_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1141))( self) /*Parser::action_table_row1141*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1141) /*Array::add*/;
-    variable1142 = ((parser_tables___Parser___action_table_row1142_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1142))( self) /*Parser::action_table_row1142*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1142) /*Array::add*/;
-    variable1143 = ((parser_tables___Parser___action_table_row1143_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1143))( self) /*Parser::action_table_row1143*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1143) /*Array::add*/;
-    variable1144 = ((parser_tables___Parser___action_table_row1144_t)CALL( self,COLOR_parser_tables___Parser___action_table_row1144))( self) /*Parser::action_table_row1144*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1144) /*Array::add*/;
+    variable0 = NEW_array___Array___with_capacity(TAG_Int(1165)); /*new Array[E]*/
+    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*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*AbstractArray::add*/;
+    variable3 = ((parser_tables___ParserTable___action_table_row3_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row3))( self) /*ParserTable::action_table_row3*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*AbstractArray::add*/;
+    variable4 = ((parser_tables___ParserTable___action_table_row4_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row4))( self) /*ParserTable::action_table_row4*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*AbstractArray::add*/;
+    variable5 = ((parser_tables___ParserTable___action_table_row5_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row5))( self) /*ParserTable::action_table_row5*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*AbstractArray::add*/;
+    variable6 = ((parser_tables___ParserTable___action_table_row6_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row6))( self) /*ParserTable::action_table_row6*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*AbstractArray::add*/;
+    variable7 = ((parser_tables___ParserTable___action_table_row7_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row7))( self) /*ParserTable::action_table_row7*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*AbstractArray::add*/;
+    variable8 = ((parser_tables___ParserTable___action_table_row8_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row8))( self) /*ParserTable::action_table_row8*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*AbstractArray::add*/;
+    variable9 = ((parser_tables___ParserTable___action_table_row9_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row9))( self) /*ParserTable::action_table_row9*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*AbstractArray::add*/;
+    variable10 = ((parser_tables___ParserTable___action_table_row10_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row10))( self) /*ParserTable::action_table_row10*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*AbstractArray::add*/;
+    variable11 = ((parser_tables___ParserTable___action_table_row11_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row11))( self) /*ParserTable::action_table_row11*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*AbstractArray::add*/;
+    variable12 = ((parser_tables___ParserTable___action_table_row12_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row12))( self) /*ParserTable::action_table_row12*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*AbstractArray::add*/;
+    variable13 = ((parser_tables___ParserTable___action_table_row13_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row13))( self) /*ParserTable::action_table_row13*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*AbstractArray::add*/;
+    variable14 = ((parser_tables___ParserTable___action_table_row14_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row14))( self) /*ParserTable::action_table_row14*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*AbstractArray::add*/;
+    variable15 = ((parser_tables___ParserTable___action_table_row15_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row15))( self) /*ParserTable::action_table_row15*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*AbstractArray::add*/;
+    variable16 = ((parser_tables___ParserTable___action_table_row16_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row16))( self) /*ParserTable::action_table_row16*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*AbstractArray::add*/;
+    variable17 = ((parser_tables___ParserTable___action_table_row17_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row17))( self) /*ParserTable::action_table_row17*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*AbstractArray::add*/;
+    variable18 = ((parser_tables___ParserTable___action_table_row18_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row18))( self) /*ParserTable::action_table_row18*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*AbstractArray::add*/;
+    variable19 = ((parser_tables___ParserTable___action_table_row19_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row19))( self) /*ParserTable::action_table_row19*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*AbstractArray::add*/;
+    variable20 = ((parser_tables___ParserTable___action_table_row20_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row20))( self) /*ParserTable::action_table_row20*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*AbstractArray::add*/;
+    variable21 = ((parser_tables___ParserTable___action_table_row21_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row21))( self) /*ParserTable::action_table_row21*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*AbstractArray::add*/;
+    variable22 = ((parser_tables___ParserTable___action_table_row22_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row22))( self) /*ParserTable::action_table_row22*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*AbstractArray::add*/;
+    variable23 = ((parser_tables___ParserTable___action_table_row23_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row23))( self) /*ParserTable::action_table_row23*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*AbstractArray::add*/;
+    variable24 = ((parser_tables___ParserTable___action_table_row24_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row24))( self) /*ParserTable::action_table_row24*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*AbstractArray::add*/;
+    variable25 = ((parser_tables___ParserTable___action_table_row25_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row25))( self) /*ParserTable::action_table_row25*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*AbstractArray::add*/;
+    variable26 = ((parser_tables___ParserTable___action_table_row26_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row26))( self) /*ParserTable::action_table_row26*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*AbstractArray::add*/;
+    variable27 = ((parser_tables___ParserTable___action_table_row27_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row27))( self) /*ParserTable::action_table_row27*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*AbstractArray::add*/;
+    variable28 = ((parser_tables___ParserTable___action_table_row28_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row28))( self) /*ParserTable::action_table_row28*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*AbstractArray::add*/;
+    variable29 = ((parser_tables___ParserTable___action_table_row29_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row29))( self) /*ParserTable::action_table_row29*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*AbstractArray::add*/;
+    variable30 = ((parser_tables___ParserTable___action_table_row30_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row30))( self) /*ParserTable::action_table_row30*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*AbstractArray::add*/;
+    variable31 = ((parser_tables___ParserTable___action_table_row31_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row31))( self) /*ParserTable::action_table_row31*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*AbstractArray::add*/;
+    variable32 = ((parser_tables___ParserTable___action_table_row32_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row32))( self) /*ParserTable::action_table_row32*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*AbstractArray::add*/;
+    variable33 = ((parser_tables___ParserTable___action_table_row33_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row33))( self) /*ParserTable::action_table_row33*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*AbstractArray::add*/;
+    variable34 = ((parser_tables___ParserTable___action_table_row34_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row34))( self) /*ParserTable::action_table_row34*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*AbstractArray::add*/;
+    variable35 = ((parser_tables___ParserTable___action_table_row35_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row35))( self) /*ParserTable::action_table_row35*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*AbstractArray::add*/;
+    variable36 = ((parser_tables___ParserTable___action_table_row36_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row36))( self) /*ParserTable::action_table_row36*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*AbstractArray::add*/;
+    variable37 = ((parser_tables___ParserTable___action_table_row37_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row37))( self) /*ParserTable::action_table_row37*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*AbstractArray::add*/;
+    variable38 = ((parser_tables___ParserTable___action_table_row38_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row38))( self) /*ParserTable::action_table_row38*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*AbstractArray::add*/;
+    variable39 = ((parser_tables___ParserTable___action_table_row39_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row39))( self) /*ParserTable::action_table_row39*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*AbstractArray::add*/;
+    variable40 = ((parser_tables___ParserTable___action_table_row40_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row40))( self) /*ParserTable::action_table_row40*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*AbstractArray::add*/;
+    variable41 = ((parser_tables___ParserTable___action_table_row41_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row41))( self) /*ParserTable::action_table_row41*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*AbstractArray::add*/;
+    variable42 = ((parser_tables___ParserTable___action_table_row42_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row42))( self) /*ParserTable::action_table_row42*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*AbstractArray::add*/;
+    variable43 = ((parser_tables___ParserTable___action_table_row43_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row43))( self) /*ParserTable::action_table_row43*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*AbstractArray::add*/;
+    variable44 = ((parser_tables___ParserTable___action_table_row44_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row44))( self) /*ParserTable::action_table_row44*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*AbstractArray::add*/;
+    variable45 = ((parser_tables___ParserTable___action_table_row45_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row45))( self) /*ParserTable::action_table_row45*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*AbstractArray::add*/;
+    variable46 = ((parser_tables___ParserTable___action_table_row46_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row46))( self) /*ParserTable::action_table_row46*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*AbstractArray::add*/;
+    variable47 = ((parser_tables___ParserTable___action_table_row47_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row47))( self) /*ParserTable::action_table_row47*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*AbstractArray::add*/;
+    variable48 = ((parser_tables___ParserTable___action_table_row48_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row48))( self) /*ParserTable::action_table_row48*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*AbstractArray::add*/;
+    variable49 = ((parser_tables___ParserTable___action_table_row49_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row49))( self) /*ParserTable::action_table_row49*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*AbstractArray::add*/;
+    variable50 = ((parser_tables___ParserTable___action_table_row50_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row50))( self) /*ParserTable::action_table_row50*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*AbstractArray::add*/;
+    variable51 = ((parser_tables___ParserTable___action_table_row51_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row51))( self) /*ParserTable::action_table_row51*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*AbstractArray::add*/;
+    variable52 = ((parser_tables___ParserTable___action_table_row52_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row52))( self) /*ParserTable::action_table_row52*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*AbstractArray::add*/;
+    variable53 = ((parser_tables___ParserTable___action_table_row53_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row53))( self) /*ParserTable::action_table_row53*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*AbstractArray::add*/;
+    variable54 = ((parser_tables___ParserTable___action_table_row54_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row54))( self) /*ParserTable::action_table_row54*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*AbstractArray::add*/;
+    variable55 = ((parser_tables___ParserTable___action_table_row55_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row55))( self) /*ParserTable::action_table_row55*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*AbstractArray::add*/;
+    variable56 = ((parser_tables___ParserTable___action_table_row56_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row56))( self) /*ParserTable::action_table_row56*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*AbstractArray::add*/;
+    variable57 = ((parser_tables___ParserTable___action_table_row57_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row57))( self) /*ParserTable::action_table_row57*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*AbstractArray::add*/;
+    variable58 = ((parser_tables___ParserTable___action_table_row58_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row58))( self) /*ParserTable::action_table_row58*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*AbstractArray::add*/;
+    variable59 = ((parser_tables___ParserTable___action_table_row59_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row59))( self) /*ParserTable::action_table_row59*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*AbstractArray::add*/;
+    variable60 = ((parser_tables___ParserTable___action_table_row60_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row60))( self) /*ParserTable::action_table_row60*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*AbstractArray::add*/;
+    variable61 = ((parser_tables___ParserTable___action_table_row61_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row61))( self) /*ParserTable::action_table_row61*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*AbstractArray::add*/;
+    variable62 = ((parser_tables___ParserTable___action_table_row62_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row62))( self) /*ParserTable::action_table_row62*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*AbstractArray::add*/;
+    variable63 = ((parser_tables___ParserTable___action_table_row63_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row63))( self) /*ParserTable::action_table_row63*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*AbstractArray::add*/;
+    variable64 = ((parser_tables___ParserTable___action_table_row64_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row64))( self) /*ParserTable::action_table_row64*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*AbstractArray::add*/;
+    variable65 = ((parser_tables___ParserTable___action_table_row65_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row65))( self) /*ParserTable::action_table_row65*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*AbstractArray::add*/;
+    variable66 = ((parser_tables___ParserTable___action_table_row66_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row66))( self) /*ParserTable::action_table_row66*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*AbstractArray::add*/;
+    variable67 = ((parser_tables___ParserTable___action_table_row67_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row67))( self) /*ParserTable::action_table_row67*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*AbstractArray::add*/;
+    variable68 = ((parser_tables___ParserTable___action_table_row68_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row68))( self) /*ParserTable::action_table_row68*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*AbstractArray::add*/;
+    variable69 = ((parser_tables___ParserTable___action_table_row69_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row69))( self) /*ParserTable::action_table_row69*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*AbstractArray::add*/;
+    variable70 = ((parser_tables___ParserTable___action_table_row70_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row70))( self) /*ParserTable::action_table_row70*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*AbstractArray::add*/;
+    variable71 = ((parser_tables___ParserTable___action_table_row71_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row71))( self) /*ParserTable::action_table_row71*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*AbstractArray::add*/;
+    variable72 = ((parser_tables___ParserTable___action_table_row72_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row72))( self) /*ParserTable::action_table_row72*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*AbstractArray::add*/;
+    variable73 = ((parser_tables___ParserTable___action_table_row73_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row73))( self) /*ParserTable::action_table_row73*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*AbstractArray::add*/;
+    variable74 = ((parser_tables___ParserTable___action_table_row74_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row74))( self) /*ParserTable::action_table_row74*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*AbstractArray::add*/;
+    variable75 = ((parser_tables___ParserTable___action_table_row75_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row75))( self) /*ParserTable::action_table_row75*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*AbstractArray::add*/;
+    variable76 = ((parser_tables___ParserTable___action_table_row76_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row76))( self) /*ParserTable::action_table_row76*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*AbstractArray::add*/;
+    variable77 = ((parser_tables___ParserTable___action_table_row77_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row77))( self) /*ParserTable::action_table_row77*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*AbstractArray::add*/;
+    variable78 = ((parser_tables___ParserTable___action_table_row78_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row78))( self) /*ParserTable::action_table_row78*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*AbstractArray::add*/;
+    variable79 = ((parser_tables___ParserTable___action_table_row79_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row79))( self) /*ParserTable::action_table_row79*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*AbstractArray::add*/;
+    variable80 = ((parser_tables___ParserTable___action_table_row80_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row80))( self) /*ParserTable::action_table_row80*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*AbstractArray::add*/;
+    variable81 = ((parser_tables___ParserTable___action_table_row81_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row81))( self) /*ParserTable::action_table_row81*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*AbstractArray::add*/;
+    variable82 = ((parser_tables___ParserTable___action_table_row82_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row82))( self) /*ParserTable::action_table_row82*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*AbstractArray::add*/;
+    variable83 = ((parser_tables___ParserTable___action_table_row83_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row83))( self) /*ParserTable::action_table_row83*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*AbstractArray::add*/;
+    variable84 = ((parser_tables___ParserTable___action_table_row84_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row84))( self) /*ParserTable::action_table_row84*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*AbstractArray::add*/;
+    variable85 = ((parser_tables___ParserTable___action_table_row85_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row85))( self) /*ParserTable::action_table_row85*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*AbstractArray::add*/;
+    variable86 = ((parser_tables___ParserTable___action_table_row86_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row86))( self) /*ParserTable::action_table_row86*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*AbstractArray::add*/;
+    variable87 = ((parser_tables___ParserTable___action_table_row87_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row87))( self) /*ParserTable::action_table_row87*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*AbstractArray::add*/;
+    variable88 = ((parser_tables___ParserTable___action_table_row88_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row88))( self) /*ParserTable::action_table_row88*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*AbstractArray::add*/;
+    variable89 = ((parser_tables___ParserTable___action_table_row89_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row89))( self) /*ParserTable::action_table_row89*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*AbstractArray::add*/;
+    variable90 = ((parser_tables___ParserTable___action_table_row90_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row90))( self) /*ParserTable::action_table_row90*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*AbstractArray::add*/;
+    variable91 = ((parser_tables___ParserTable___action_table_row91_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row91))( self) /*ParserTable::action_table_row91*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*AbstractArray::add*/;
+    variable92 = ((parser_tables___ParserTable___action_table_row92_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row92))( self) /*ParserTable::action_table_row92*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*AbstractArray::add*/;
+    variable93 = ((parser_tables___ParserTable___action_table_row93_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row93))( self) /*ParserTable::action_table_row93*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*AbstractArray::add*/;
+    variable94 = ((parser_tables___ParserTable___action_table_row94_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row94))( self) /*ParserTable::action_table_row94*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*AbstractArray::add*/;
+    variable95 = ((parser_tables___ParserTable___action_table_row95_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row95))( self) /*ParserTable::action_table_row95*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*AbstractArray::add*/;
+    variable96 = ((parser_tables___ParserTable___action_table_row96_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row96))( self) /*ParserTable::action_table_row96*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*AbstractArray::add*/;
+    variable97 = ((parser_tables___ParserTable___action_table_row97_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row97))( self) /*ParserTable::action_table_row97*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*AbstractArray::add*/;
+    variable98 = ((parser_tables___ParserTable___action_table_row98_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row98))( self) /*ParserTable::action_table_row98*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*AbstractArray::add*/;
+    variable99 = ((parser_tables___ParserTable___action_table_row99_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row99))( self) /*ParserTable::action_table_row99*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*AbstractArray::add*/;
+    variable100 = ((parser_tables___ParserTable___action_table_row100_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row100))( self) /*ParserTable::action_table_row100*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*AbstractArray::add*/;
+    variable101 = ((parser_tables___ParserTable___action_table_row101_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row101))( self) /*ParserTable::action_table_row101*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*AbstractArray::add*/;
+    variable102 = ((parser_tables___ParserTable___action_table_row102_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row102))( self) /*ParserTable::action_table_row102*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*AbstractArray::add*/;
+    variable103 = ((parser_tables___ParserTable___action_table_row103_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row103))( self) /*ParserTable::action_table_row103*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*AbstractArray::add*/;
+    variable104 = ((parser_tables___ParserTable___action_table_row104_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row104))( self) /*ParserTable::action_table_row104*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*AbstractArray::add*/;
+    variable105 = ((parser_tables___ParserTable___action_table_row105_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row105))( self) /*ParserTable::action_table_row105*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*AbstractArray::add*/;
+    variable106 = ((parser_tables___ParserTable___action_table_row106_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row106))( self) /*ParserTable::action_table_row106*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*AbstractArray::add*/;
+    variable107 = ((parser_tables___ParserTable___action_table_row107_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row107))( self) /*ParserTable::action_table_row107*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*AbstractArray::add*/;
+    variable108 = ((parser_tables___ParserTable___action_table_row108_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row108))( self) /*ParserTable::action_table_row108*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*AbstractArray::add*/;
+    variable109 = ((parser_tables___ParserTable___action_table_row109_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row109))( self) /*ParserTable::action_table_row109*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*AbstractArray::add*/;
+    variable110 = ((parser_tables___ParserTable___action_table_row110_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row110))( self) /*ParserTable::action_table_row110*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*AbstractArray::add*/;
+    variable111 = ((parser_tables___ParserTable___action_table_row111_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row111))( self) /*ParserTable::action_table_row111*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*AbstractArray::add*/;
+    variable112 = ((parser_tables___ParserTable___action_table_row112_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row112))( self) /*ParserTable::action_table_row112*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*AbstractArray::add*/;
+    variable113 = ((parser_tables___ParserTable___action_table_row113_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row113))( self) /*ParserTable::action_table_row113*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*AbstractArray::add*/;
+    variable114 = ((parser_tables___ParserTable___action_table_row114_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row114))( self) /*ParserTable::action_table_row114*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*AbstractArray::add*/;
+    variable115 = ((parser_tables___ParserTable___action_table_row115_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row115))( self) /*ParserTable::action_table_row115*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*AbstractArray::add*/;
+    variable116 = ((parser_tables___ParserTable___action_table_row116_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row116))( self) /*ParserTable::action_table_row116*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*AbstractArray::add*/;
+    variable117 = ((parser_tables___ParserTable___action_table_row117_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row117))( self) /*ParserTable::action_table_row117*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*AbstractArray::add*/;
+    variable118 = ((parser_tables___ParserTable___action_table_row118_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row118))( self) /*ParserTable::action_table_row118*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*AbstractArray::add*/;
+    variable119 = ((parser_tables___ParserTable___action_table_row119_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row119))( self) /*ParserTable::action_table_row119*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*AbstractArray::add*/;
+    variable120 = ((parser_tables___ParserTable___action_table_row120_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row120))( self) /*ParserTable::action_table_row120*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*AbstractArray::add*/;
+    variable121 = ((parser_tables___ParserTable___action_table_row121_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row121))( self) /*ParserTable::action_table_row121*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*AbstractArray::add*/;
+    variable122 = ((parser_tables___ParserTable___action_table_row122_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row122))( self) /*ParserTable::action_table_row122*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*AbstractArray::add*/;
+    variable123 = ((parser_tables___ParserTable___action_table_row123_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row123))( self) /*ParserTable::action_table_row123*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*AbstractArray::add*/;
+    variable124 = ((parser_tables___ParserTable___action_table_row124_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row124))( self) /*ParserTable::action_table_row124*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*AbstractArray::add*/;
+    variable125 = ((parser_tables___ParserTable___action_table_row125_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row125))( self) /*ParserTable::action_table_row125*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*AbstractArray::add*/;
+    variable126 = ((parser_tables___ParserTable___action_table_row126_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row126))( self) /*ParserTable::action_table_row126*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*AbstractArray::add*/;
+    variable127 = ((parser_tables___ParserTable___action_table_row127_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row127))( self) /*ParserTable::action_table_row127*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*AbstractArray::add*/;
+    variable128 = ((parser_tables___ParserTable___action_table_row128_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row128))( self) /*ParserTable::action_table_row128*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*AbstractArray::add*/;
+    variable129 = ((parser_tables___ParserTable___action_table_row129_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row129))( self) /*ParserTable::action_table_row129*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*AbstractArray::add*/;
+    variable130 = ((parser_tables___ParserTable___action_table_row130_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row130))( self) /*ParserTable::action_table_row130*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*AbstractArray::add*/;
+    variable131 = ((parser_tables___ParserTable___action_table_row131_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row131))( self) /*ParserTable::action_table_row131*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*AbstractArray::add*/;
+    variable132 = ((parser_tables___ParserTable___action_table_row132_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row132))( self) /*ParserTable::action_table_row132*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*AbstractArray::add*/;
+    variable133 = ((parser_tables___ParserTable___action_table_row133_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row133))( self) /*ParserTable::action_table_row133*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*AbstractArray::add*/;
+    variable134 = ((parser_tables___ParserTable___action_table_row134_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row134))( self) /*ParserTable::action_table_row134*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*AbstractArray::add*/;
+    variable135 = ((parser_tables___ParserTable___action_table_row135_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row135))( self) /*ParserTable::action_table_row135*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*AbstractArray::add*/;
+    variable136 = ((parser_tables___ParserTable___action_table_row136_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row136))( self) /*ParserTable::action_table_row136*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*AbstractArray::add*/;
+    variable137 = ((parser_tables___ParserTable___action_table_row137_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row137))( self) /*ParserTable::action_table_row137*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*AbstractArray::add*/;
+    variable138 = ((parser_tables___ParserTable___action_table_row138_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row138))( self) /*ParserTable::action_table_row138*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*AbstractArray::add*/;
+    variable139 = ((parser_tables___ParserTable___action_table_row139_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row139))( self) /*ParserTable::action_table_row139*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*AbstractArray::add*/;
+    variable140 = ((parser_tables___ParserTable___action_table_row140_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row140))( self) /*ParserTable::action_table_row140*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*AbstractArray::add*/;
+    variable141 = ((parser_tables___ParserTable___action_table_row141_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row141))( self) /*ParserTable::action_table_row141*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*AbstractArray::add*/;
+    variable142 = ((parser_tables___ParserTable___action_table_row142_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row142))( self) /*ParserTable::action_table_row142*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*AbstractArray::add*/;
+    variable143 = ((parser_tables___ParserTable___action_table_row143_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row143))( self) /*ParserTable::action_table_row143*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*AbstractArray::add*/;
+    variable144 = ((parser_tables___ParserTable___action_table_row144_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row144))( self) /*ParserTable::action_table_row144*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*AbstractArray::add*/;
+    variable145 = ((parser_tables___ParserTable___action_table_row145_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row145))( self) /*ParserTable::action_table_row145*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*AbstractArray::add*/;
+    variable146 = ((parser_tables___ParserTable___action_table_row146_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row146))( self) /*ParserTable::action_table_row146*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*AbstractArray::add*/;
+    variable147 = ((parser_tables___ParserTable___action_table_row147_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row147))( self) /*ParserTable::action_table_row147*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*AbstractArray::add*/;
+    variable148 = ((parser_tables___ParserTable___action_table_row148_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row148))( self) /*ParserTable::action_table_row148*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*AbstractArray::add*/;
+    variable149 = ((parser_tables___ParserTable___action_table_row149_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row149))( self) /*ParserTable::action_table_row149*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*AbstractArray::add*/;
+    variable150 = ((parser_tables___ParserTable___action_table_row150_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row150))( self) /*ParserTable::action_table_row150*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*AbstractArray::add*/;
+    variable151 = ((parser_tables___ParserTable___action_table_row151_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row151))( self) /*ParserTable::action_table_row151*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*AbstractArray::add*/;
+    variable152 = ((parser_tables___ParserTable___action_table_row152_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row152))( self) /*ParserTable::action_table_row152*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*AbstractArray::add*/;
+    variable153 = ((parser_tables___ParserTable___action_table_row153_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row153))( self) /*ParserTable::action_table_row153*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*AbstractArray::add*/;
+    variable154 = ((parser_tables___ParserTable___action_table_row154_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row154))( self) /*ParserTable::action_table_row154*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*AbstractArray::add*/;
+    variable155 = ((parser_tables___ParserTable___action_table_row155_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row155))( self) /*ParserTable::action_table_row155*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*AbstractArray::add*/;
+    variable156 = ((parser_tables___ParserTable___action_table_row156_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row156))( self) /*ParserTable::action_table_row156*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*AbstractArray::add*/;
+    variable157 = ((parser_tables___ParserTable___action_table_row157_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row157))( self) /*ParserTable::action_table_row157*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*AbstractArray::add*/;
+    variable158 = ((parser_tables___ParserTable___action_table_row158_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row158))( self) /*ParserTable::action_table_row158*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*AbstractArray::add*/;
+    variable159 = ((parser_tables___ParserTable___action_table_row159_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row159))( self) /*ParserTable::action_table_row159*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*AbstractArray::add*/;
+    variable160 = ((parser_tables___ParserTable___action_table_row160_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row160))( self) /*ParserTable::action_table_row160*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*AbstractArray::add*/;
+    variable161 = ((parser_tables___ParserTable___action_table_row161_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row161))( self) /*ParserTable::action_table_row161*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*AbstractArray::add*/;
+    variable162 = ((parser_tables___ParserTable___action_table_row162_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row162))( self) /*ParserTable::action_table_row162*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*AbstractArray::add*/;
+    variable163 = ((parser_tables___ParserTable___action_table_row163_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row163))( self) /*ParserTable::action_table_row163*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*AbstractArray::add*/;
+    variable164 = ((parser_tables___ParserTable___action_table_row164_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row164))( self) /*ParserTable::action_table_row164*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*AbstractArray::add*/;
+    variable165 = ((parser_tables___ParserTable___action_table_row165_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row165))( self) /*ParserTable::action_table_row165*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*AbstractArray::add*/;
+    variable166 = ((parser_tables___ParserTable___action_table_row166_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row166))( self) /*ParserTable::action_table_row166*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable166) /*AbstractArray::add*/;
+    variable167 = ((parser_tables___ParserTable___action_table_row167_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row167))( self) /*ParserTable::action_table_row167*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable167) /*AbstractArray::add*/;
+    variable168 = ((parser_tables___ParserTable___action_table_row168_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row168))( self) /*ParserTable::action_table_row168*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable168) /*AbstractArray::add*/;
+    variable169 = ((parser_tables___ParserTable___action_table_row169_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row169))( self) /*ParserTable::action_table_row169*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable169) /*AbstractArray::add*/;
+    variable170 = ((parser_tables___ParserTable___action_table_row170_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row170))( self) /*ParserTable::action_table_row170*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable170) /*AbstractArray::add*/;
+    variable171 = ((parser_tables___ParserTable___action_table_row171_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row171))( self) /*ParserTable::action_table_row171*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable171) /*AbstractArray::add*/;
+    variable172 = ((parser_tables___ParserTable___action_table_row172_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row172))( self) /*ParserTable::action_table_row172*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable172) /*AbstractArray::add*/;
+    variable173 = ((parser_tables___ParserTable___action_table_row173_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row173))( self) /*ParserTable::action_table_row173*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable173) /*AbstractArray::add*/;
+    variable174 = ((parser_tables___ParserTable___action_table_row174_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row174))( self) /*ParserTable::action_table_row174*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable174) /*AbstractArray::add*/;
+    variable175 = ((parser_tables___ParserTable___action_table_row175_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row175))( self) /*ParserTable::action_table_row175*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable175) /*AbstractArray::add*/;
+    variable176 = ((parser_tables___ParserTable___action_table_row176_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row176))( self) /*ParserTable::action_table_row176*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable176) /*AbstractArray::add*/;
+    variable177 = ((parser_tables___ParserTable___action_table_row177_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row177))( self) /*ParserTable::action_table_row177*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable177) /*AbstractArray::add*/;
+    variable178 = ((parser_tables___ParserTable___action_table_row178_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row178))( self) /*ParserTable::action_table_row178*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable178) /*AbstractArray::add*/;
+    variable179 = ((parser_tables___ParserTable___action_table_row179_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row179))( self) /*ParserTable::action_table_row179*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable179) /*AbstractArray::add*/;
+    variable180 = ((parser_tables___ParserTable___action_table_row180_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row180))( self) /*ParserTable::action_table_row180*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable180) /*AbstractArray::add*/;
+    variable181 = ((parser_tables___ParserTable___action_table_row181_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row181))( self) /*ParserTable::action_table_row181*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable181) /*AbstractArray::add*/;
+    variable182 = ((parser_tables___ParserTable___action_table_row182_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row182))( self) /*ParserTable::action_table_row182*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable182) /*AbstractArray::add*/;
+    variable183 = ((parser_tables___ParserTable___action_table_row183_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row183))( self) /*ParserTable::action_table_row183*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable183) /*AbstractArray::add*/;
+    variable184 = ((parser_tables___ParserTable___action_table_row184_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row184))( self) /*ParserTable::action_table_row184*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable184) /*AbstractArray::add*/;
+    variable185 = ((parser_tables___ParserTable___action_table_row185_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row185))( self) /*ParserTable::action_table_row185*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable185) /*AbstractArray::add*/;
+    variable186 = ((parser_tables___ParserTable___action_table_row186_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row186))( self) /*ParserTable::action_table_row186*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable186) /*AbstractArray::add*/;
+    variable187 = ((parser_tables___ParserTable___action_table_row187_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row187))( self) /*ParserTable::action_table_row187*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable187) /*AbstractArray::add*/;
+    variable188 = ((parser_tables___ParserTable___action_table_row188_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row188))( self) /*ParserTable::action_table_row188*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable188) /*AbstractArray::add*/;
+    variable189 = ((parser_tables___ParserTable___action_table_row189_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row189))( self) /*ParserTable::action_table_row189*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable189) /*AbstractArray::add*/;
+    variable190 = ((parser_tables___ParserTable___action_table_row190_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row190))( self) /*ParserTable::action_table_row190*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable190) /*AbstractArray::add*/;
+    variable191 = ((parser_tables___ParserTable___action_table_row191_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row191))( self) /*ParserTable::action_table_row191*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable191) /*AbstractArray::add*/;
+    variable192 = ((parser_tables___ParserTable___action_table_row192_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row192))( self) /*ParserTable::action_table_row192*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable192) /*AbstractArray::add*/;
+    variable193 = ((parser_tables___ParserTable___action_table_row193_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row193))( self) /*ParserTable::action_table_row193*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable193) /*AbstractArray::add*/;
+    variable194 = ((parser_tables___ParserTable___action_table_row194_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row194))( self) /*ParserTable::action_table_row194*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable194) /*AbstractArray::add*/;
+    variable195 = ((parser_tables___ParserTable___action_table_row195_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row195))( self) /*ParserTable::action_table_row195*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable195) /*AbstractArray::add*/;
+    variable196 = ((parser_tables___ParserTable___action_table_row196_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row196))( self) /*ParserTable::action_table_row196*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable196) /*AbstractArray::add*/;
+    variable197 = ((parser_tables___ParserTable___action_table_row197_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row197))( self) /*ParserTable::action_table_row197*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable197) /*AbstractArray::add*/;
+    variable198 = ((parser_tables___ParserTable___action_table_row198_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row198))( self) /*ParserTable::action_table_row198*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable198) /*AbstractArray::add*/;
+    variable199 = ((parser_tables___ParserTable___action_table_row199_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row199))( self) /*ParserTable::action_table_row199*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable199) /*AbstractArray::add*/;
+    variable200 = ((parser_tables___ParserTable___action_table_row200_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row200))( self) /*ParserTable::action_table_row200*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable200) /*AbstractArray::add*/;
+    variable201 = ((parser_tables___ParserTable___action_table_row201_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row201))( self) /*ParserTable::action_table_row201*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable201) /*AbstractArray::add*/;
+    variable202 = ((parser_tables___ParserTable___action_table_row202_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row202))( self) /*ParserTable::action_table_row202*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable202) /*AbstractArray::add*/;
+    variable203 = ((parser_tables___ParserTable___action_table_row203_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row203))( self) /*ParserTable::action_table_row203*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable203) /*AbstractArray::add*/;
+    variable204 = ((parser_tables___ParserTable___action_table_row204_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row204))( self) /*ParserTable::action_table_row204*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable204) /*AbstractArray::add*/;
+    variable205 = ((parser_tables___ParserTable___action_table_row205_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row205))( self) /*ParserTable::action_table_row205*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable205) /*AbstractArray::add*/;
+    variable206 = ((parser_tables___ParserTable___action_table_row206_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row206))( self) /*ParserTable::action_table_row206*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable206) /*AbstractArray::add*/;
+    variable207 = ((parser_tables___ParserTable___action_table_row207_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row207))( self) /*ParserTable::action_table_row207*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable207) /*AbstractArray::add*/;
+    variable208 = ((parser_tables___ParserTable___action_table_row208_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row208))( self) /*ParserTable::action_table_row208*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable208) /*AbstractArray::add*/;
+    variable209 = ((parser_tables___ParserTable___action_table_row209_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row209))( self) /*ParserTable::action_table_row209*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable209) /*AbstractArray::add*/;
+    variable210 = ((parser_tables___ParserTable___action_table_row210_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row210))( self) /*ParserTable::action_table_row210*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable210) /*AbstractArray::add*/;
+    variable211 = ((parser_tables___ParserTable___action_table_row211_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row211))( self) /*ParserTable::action_table_row211*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable211) /*AbstractArray::add*/;
+    variable212 = ((parser_tables___ParserTable___action_table_row212_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row212))( self) /*ParserTable::action_table_row212*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable212) /*AbstractArray::add*/;
+    variable213 = ((parser_tables___ParserTable___action_table_row213_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row213))( self) /*ParserTable::action_table_row213*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable213) /*AbstractArray::add*/;
+    variable214 = ((parser_tables___ParserTable___action_table_row214_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row214))( self) /*ParserTable::action_table_row214*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable214) /*AbstractArray::add*/;
+    variable215 = ((parser_tables___ParserTable___action_table_row215_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row215))( self) /*ParserTable::action_table_row215*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable215) /*AbstractArray::add*/;
+    variable216 = ((parser_tables___ParserTable___action_table_row216_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row216))( self) /*ParserTable::action_table_row216*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable216) /*AbstractArray::add*/;
+    variable217 = ((parser_tables___ParserTable___action_table_row217_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row217))( self) /*ParserTable::action_table_row217*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable217) /*AbstractArray::add*/;
+    variable218 = ((parser_tables___ParserTable___action_table_row218_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row218))( self) /*ParserTable::action_table_row218*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable218) /*AbstractArray::add*/;
+    variable219 = ((parser_tables___ParserTable___action_table_row219_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row219))( self) /*ParserTable::action_table_row219*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable219) /*AbstractArray::add*/;
+    variable220 = ((parser_tables___ParserTable___action_table_row220_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row220))( self) /*ParserTable::action_table_row220*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable220) /*AbstractArray::add*/;
+    variable221 = ((parser_tables___ParserTable___action_table_row221_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row221))( self) /*ParserTable::action_table_row221*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable221) /*AbstractArray::add*/;
+    variable222 = ((parser_tables___ParserTable___action_table_row222_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row222))( self) /*ParserTable::action_table_row222*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable222) /*AbstractArray::add*/;
+    variable223 = ((parser_tables___ParserTable___action_table_row223_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row223))( self) /*ParserTable::action_table_row223*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable223) /*AbstractArray::add*/;
+    variable224 = ((parser_tables___ParserTable___action_table_row224_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row224))( self) /*ParserTable::action_table_row224*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable224) /*AbstractArray::add*/;
+    variable225 = ((parser_tables___ParserTable___action_table_row225_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row225))( self) /*ParserTable::action_table_row225*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable225) /*AbstractArray::add*/;
+    variable226 = ((parser_tables___ParserTable___action_table_row226_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row226))( self) /*ParserTable::action_table_row226*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable226) /*AbstractArray::add*/;
+    variable227 = ((parser_tables___ParserTable___action_table_row227_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row227))( self) /*ParserTable::action_table_row227*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable227) /*AbstractArray::add*/;
+    variable228 = ((parser_tables___ParserTable___action_table_row228_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row228))( self) /*ParserTable::action_table_row228*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable228) /*AbstractArray::add*/;
+    variable229 = ((parser_tables___ParserTable___action_table_row229_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row229))( self) /*ParserTable::action_table_row229*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable229) /*AbstractArray::add*/;
+    variable230 = ((parser_tables___ParserTable___action_table_row230_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row230))( self) /*ParserTable::action_table_row230*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable230) /*AbstractArray::add*/;
+    variable231 = ((parser_tables___ParserTable___action_table_row231_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row231))( self) /*ParserTable::action_table_row231*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable231) /*AbstractArray::add*/;
+    variable232 = ((parser_tables___ParserTable___action_table_row232_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row232))( self) /*ParserTable::action_table_row232*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable232) /*AbstractArray::add*/;
+    variable233 = ((parser_tables___ParserTable___action_table_row233_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row233))( self) /*ParserTable::action_table_row233*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable233) /*AbstractArray::add*/;
+    variable234 = ((parser_tables___ParserTable___action_table_row234_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row234))( self) /*ParserTable::action_table_row234*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable234) /*AbstractArray::add*/;
+    variable235 = ((parser_tables___ParserTable___action_table_row235_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row235))( self) /*ParserTable::action_table_row235*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable235) /*AbstractArray::add*/;
+    variable236 = ((parser_tables___ParserTable___action_table_row236_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row236))( self) /*ParserTable::action_table_row236*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable236) /*AbstractArray::add*/;
+    variable237 = ((parser_tables___ParserTable___action_table_row237_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row237))( self) /*ParserTable::action_table_row237*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable237) /*AbstractArray::add*/;
+    variable238 = ((parser_tables___ParserTable___action_table_row238_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row238))( self) /*ParserTable::action_table_row238*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable238) /*AbstractArray::add*/;
+    variable239 = ((parser_tables___ParserTable___action_table_row239_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row239))( self) /*ParserTable::action_table_row239*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable239) /*AbstractArray::add*/;
+    variable240 = ((parser_tables___ParserTable___action_table_row240_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row240))( self) /*ParserTable::action_table_row240*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable240) /*AbstractArray::add*/;
+    variable241 = ((parser_tables___ParserTable___action_table_row241_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row241))( self) /*ParserTable::action_table_row241*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable241) /*AbstractArray::add*/;
+    variable242 = ((parser_tables___ParserTable___action_table_row242_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row242))( self) /*ParserTable::action_table_row242*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable242) /*AbstractArray::add*/;
+    variable243 = ((parser_tables___ParserTable___action_table_row243_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row243))( self) /*ParserTable::action_table_row243*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable243) /*AbstractArray::add*/;
+    variable244 = ((parser_tables___ParserTable___action_table_row244_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row244))( self) /*ParserTable::action_table_row244*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable244) /*AbstractArray::add*/;
+    variable245 = ((parser_tables___ParserTable___action_table_row245_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row245))( self) /*ParserTable::action_table_row245*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable245) /*AbstractArray::add*/;
+    variable246 = ((parser_tables___ParserTable___action_table_row246_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row246))( self) /*ParserTable::action_table_row246*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable246) /*AbstractArray::add*/;
+    variable247 = ((parser_tables___ParserTable___action_table_row247_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row247))( self) /*ParserTable::action_table_row247*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable247) /*AbstractArray::add*/;
+    variable248 = ((parser_tables___ParserTable___action_table_row248_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row248))( self) /*ParserTable::action_table_row248*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable248) /*AbstractArray::add*/;
+    variable249 = ((parser_tables___ParserTable___action_table_row249_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row249))( self) /*ParserTable::action_table_row249*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable249) /*AbstractArray::add*/;
+    variable250 = ((parser_tables___ParserTable___action_table_row250_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row250))( self) /*ParserTable::action_table_row250*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable250) /*AbstractArray::add*/;
+    variable251 = ((parser_tables___ParserTable___action_table_row251_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row251))( self) /*ParserTable::action_table_row251*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable251) /*AbstractArray::add*/;
+    variable252 = ((parser_tables___ParserTable___action_table_row252_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row252))( self) /*ParserTable::action_table_row252*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable252) /*AbstractArray::add*/;
+    variable253 = ((parser_tables___ParserTable___action_table_row253_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row253))( self) /*ParserTable::action_table_row253*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable253) /*AbstractArray::add*/;
+    variable254 = ((parser_tables___ParserTable___action_table_row254_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row254))( self) /*ParserTable::action_table_row254*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable254) /*AbstractArray::add*/;
+    variable255 = ((parser_tables___ParserTable___action_table_row255_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row255))( self) /*ParserTable::action_table_row255*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable255) /*AbstractArray::add*/;
+    variable256 = ((parser_tables___ParserTable___action_table_row256_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row256))( self) /*ParserTable::action_table_row256*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable256) /*AbstractArray::add*/;
+    variable257 = ((parser_tables___ParserTable___action_table_row257_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row257))( self) /*ParserTable::action_table_row257*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable257) /*AbstractArray::add*/;
+    variable258 = ((parser_tables___ParserTable___action_table_row258_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row258))( self) /*ParserTable::action_table_row258*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable258) /*AbstractArray::add*/;
+    variable259 = ((parser_tables___ParserTable___action_table_row259_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row259))( self) /*ParserTable::action_table_row259*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable259) /*AbstractArray::add*/;
+    variable260 = ((parser_tables___ParserTable___action_table_row260_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row260))( self) /*ParserTable::action_table_row260*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable260) /*AbstractArray::add*/;
+    variable261 = ((parser_tables___ParserTable___action_table_row261_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row261))( self) /*ParserTable::action_table_row261*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable261) /*AbstractArray::add*/;
+    variable262 = ((parser_tables___ParserTable___action_table_row262_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row262))( self) /*ParserTable::action_table_row262*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable262) /*AbstractArray::add*/;
+    variable263 = ((parser_tables___ParserTable___action_table_row263_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row263))( self) /*ParserTable::action_table_row263*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable263) /*AbstractArray::add*/;
+    variable264 = ((parser_tables___ParserTable___action_table_row264_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row264))( self) /*ParserTable::action_table_row264*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable264) /*AbstractArray::add*/;
+    variable265 = ((parser_tables___ParserTable___action_table_row265_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row265))( self) /*ParserTable::action_table_row265*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable265) /*AbstractArray::add*/;
+    variable266 = ((parser_tables___ParserTable___action_table_row266_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row266))( self) /*ParserTable::action_table_row266*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable266) /*AbstractArray::add*/;
+    variable267 = ((parser_tables___ParserTable___action_table_row267_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row267))( self) /*ParserTable::action_table_row267*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable267) /*AbstractArray::add*/;
+    variable268 = ((parser_tables___ParserTable___action_table_row268_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row268))( self) /*ParserTable::action_table_row268*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable268) /*AbstractArray::add*/;
+    variable269 = ((parser_tables___ParserTable___action_table_row269_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row269))( self) /*ParserTable::action_table_row269*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable269) /*AbstractArray::add*/;
+    variable270 = ((parser_tables___ParserTable___action_table_row270_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row270))( self) /*ParserTable::action_table_row270*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable270) /*AbstractArray::add*/;
+    variable271 = ((parser_tables___ParserTable___action_table_row271_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row271))( self) /*ParserTable::action_table_row271*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable271) /*AbstractArray::add*/;
+    variable272 = ((parser_tables___ParserTable___action_table_row272_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row272))( self) /*ParserTable::action_table_row272*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable272) /*AbstractArray::add*/;
+    variable273 = ((parser_tables___ParserTable___action_table_row273_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row273))( self) /*ParserTable::action_table_row273*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable273) /*AbstractArray::add*/;
+    variable274 = ((parser_tables___ParserTable___action_table_row274_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row274))( self) /*ParserTable::action_table_row274*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable274) /*AbstractArray::add*/;
+    variable275 = ((parser_tables___ParserTable___action_table_row275_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row275))( self) /*ParserTable::action_table_row275*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable275) /*AbstractArray::add*/;
+    variable276 = ((parser_tables___ParserTable___action_table_row276_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row276))( self) /*ParserTable::action_table_row276*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable276) /*AbstractArray::add*/;
+    variable277 = ((parser_tables___ParserTable___action_table_row277_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row277))( self) /*ParserTable::action_table_row277*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable277) /*AbstractArray::add*/;
+    variable278 = ((parser_tables___ParserTable___action_table_row278_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row278))( self) /*ParserTable::action_table_row278*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable278) /*AbstractArray::add*/;
+    variable279 = ((parser_tables___ParserTable___action_table_row279_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row279))( self) /*ParserTable::action_table_row279*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable279) /*AbstractArray::add*/;
+    variable280 = ((parser_tables___ParserTable___action_table_row280_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row280))( self) /*ParserTable::action_table_row280*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable280) /*AbstractArray::add*/;
+    variable281 = ((parser_tables___ParserTable___action_table_row281_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row281))( self) /*ParserTable::action_table_row281*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable281) /*AbstractArray::add*/;
+    variable282 = ((parser_tables___ParserTable___action_table_row282_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row282))( self) /*ParserTable::action_table_row282*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable282) /*AbstractArray::add*/;
+    variable283 = ((parser_tables___ParserTable___action_table_row283_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row283))( self) /*ParserTable::action_table_row283*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable283) /*AbstractArray::add*/;
+    variable284 = ((parser_tables___ParserTable___action_table_row284_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row284))( self) /*ParserTable::action_table_row284*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable284) /*AbstractArray::add*/;
+    variable285 = ((parser_tables___ParserTable___action_table_row285_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row285))( self) /*ParserTable::action_table_row285*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable285) /*AbstractArray::add*/;
+    variable286 = ((parser_tables___ParserTable___action_table_row286_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row286))( self) /*ParserTable::action_table_row286*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable286) /*AbstractArray::add*/;
+    variable287 = ((parser_tables___ParserTable___action_table_row287_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row287))( self) /*ParserTable::action_table_row287*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable287) /*AbstractArray::add*/;
+    variable288 = ((parser_tables___ParserTable___action_table_row288_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row288))( self) /*ParserTable::action_table_row288*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable288) /*AbstractArray::add*/;
+    variable289 = ((parser_tables___ParserTable___action_table_row289_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row289))( self) /*ParserTable::action_table_row289*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable289) /*AbstractArray::add*/;
+    variable290 = ((parser_tables___ParserTable___action_table_row290_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row290))( self) /*ParserTable::action_table_row290*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable290) /*AbstractArray::add*/;
+    variable291 = ((parser_tables___ParserTable___action_table_row291_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row291))( self) /*ParserTable::action_table_row291*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable291) /*AbstractArray::add*/;
+    variable292 = ((parser_tables___ParserTable___action_table_row292_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row292))( self) /*ParserTable::action_table_row292*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable292) /*AbstractArray::add*/;
+    variable293 = ((parser_tables___ParserTable___action_table_row293_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row293))( self) /*ParserTable::action_table_row293*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable293) /*AbstractArray::add*/;
+    variable294 = ((parser_tables___ParserTable___action_table_row294_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row294))( self) /*ParserTable::action_table_row294*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable294) /*AbstractArray::add*/;
+    variable295 = ((parser_tables___ParserTable___action_table_row295_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row295))( self) /*ParserTable::action_table_row295*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable295) /*AbstractArray::add*/;
+    variable296 = ((parser_tables___ParserTable___action_table_row296_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row296))( self) /*ParserTable::action_table_row296*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable296) /*AbstractArray::add*/;
+    variable297 = ((parser_tables___ParserTable___action_table_row297_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row297))( self) /*ParserTable::action_table_row297*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable297) /*AbstractArray::add*/;
+    variable298 = ((parser_tables___ParserTable___action_table_row298_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row298))( self) /*ParserTable::action_table_row298*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable298) /*AbstractArray::add*/;
+    variable299 = ((parser_tables___ParserTable___action_table_row299_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row299))( self) /*ParserTable::action_table_row299*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable299) /*AbstractArray::add*/;
+    variable300 = ((parser_tables___ParserTable___action_table_row300_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row300))( self) /*ParserTable::action_table_row300*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable300) /*AbstractArray::add*/;
+    variable301 = ((parser_tables___ParserTable___action_table_row301_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row301))( self) /*ParserTable::action_table_row301*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable301) /*AbstractArray::add*/;
+    variable302 = ((parser_tables___ParserTable___action_table_row302_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row302))( self) /*ParserTable::action_table_row302*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable302) /*AbstractArray::add*/;
+    variable303 = ((parser_tables___ParserTable___action_table_row303_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row303))( self) /*ParserTable::action_table_row303*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable303) /*AbstractArray::add*/;
+    variable304 = ((parser_tables___ParserTable___action_table_row304_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row304))( self) /*ParserTable::action_table_row304*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable304) /*AbstractArray::add*/;
+    variable305 = ((parser_tables___ParserTable___action_table_row305_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row305))( self) /*ParserTable::action_table_row305*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable305) /*AbstractArray::add*/;
+    variable306 = ((parser_tables___ParserTable___action_table_row306_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row306))( self) /*ParserTable::action_table_row306*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable306) /*AbstractArray::add*/;
+    variable307 = ((parser_tables___ParserTable___action_table_row307_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row307))( self) /*ParserTable::action_table_row307*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable307) /*AbstractArray::add*/;
+    variable308 = ((parser_tables___ParserTable___action_table_row308_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row308))( self) /*ParserTable::action_table_row308*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable308) /*AbstractArray::add*/;
+    variable309 = ((parser_tables___ParserTable___action_table_row309_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row309))( self) /*ParserTable::action_table_row309*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable309) /*AbstractArray::add*/;
+    variable310 = ((parser_tables___ParserTable___action_table_row310_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row310))( self) /*ParserTable::action_table_row310*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable310) /*AbstractArray::add*/;
+    variable311 = ((parser_tables___ParserTable___action_table_row311_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row311))( self) /*ParserTable::action_table_row311*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable311) /*AbstractArray::add*/;
+    variable312 = ((parser_tables___ParserTable___action_table_row312_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row312))( self) /*ParserTable::action_table_row312*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable312) /*AbstractArray::add*/;
+    variable313 = ((parser_tables___ParserTable___action_table_row313_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row313))( self) /*ParserTable::action_table_row313*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable313) /*AbstractArray::add*/;
+    variable314 = ((parser_tables___ParserTable___action_table_row314_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row314))( self) /*ParserTable::action_table_row314*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable314) /*AbstractArray::add*/;
+    variable315 = ((parser_tables___ParserTable___action_table_row315_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row315))( self) /*ParserTable::action_table_row315*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable315) /*AbstractArray::add*/;
+    variable316 = ((parser_tables___ParserTable___action_table_row316_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row316))( self) /*ParserTable::action_table_row316*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable316) /*AbstractArray::add*/;
+    variable317 = ((parser_tables___ParserTable___action_table_row317_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row317))( self) /*ParserTable::action_table_row317*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable317) /*AbstractArray::add*/;
+    variable318 = ((parser_tables___ParserTable___action_table_row318_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row318))( self) /*ParserTable::action_table_row318*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable318) /*AbstractArray::add*/;
+    variable319 = ((parser_tables___ParserTable___action_table_row319_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row319))( self) /*ParserTable::action_table_row319*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable319) /*AbstractArray::add*/;
+    variable320 = ((parser_tables___ParserTable___action_table_row320_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row320))( self) /*ParserTable::action_table_row320*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable320) /*AbstractArray::add*/;
+    variable321 = ((parser_tables___ParserTable___action_table_row321_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row321))( self) /*ParserTable::action_table_row321*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable321) /*AbstractArray::add*/;
+    variable322 = ((parser_tables___ParserTable___action_table_row322_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row322))( self) /*ParserTable::action_table_row322*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable322) /*AbstractArray::add*/;
+    variable323 = ((parser_tables___ParserTable___action_table_row323_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row323))( self) /*ParserTable::action_table_row323*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable323) /*AbstractArray::add*/;
+    variable324 = ((parser_tables___ParserTable___action_table_row324_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row324))( self) /*ParserTable::action_table_row324*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable324) /*AbstractArray::add*/;
+    variable325 = ((parser_tables___ParserTable___action_table_row325_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row325))( self) /*ParserTable::action_table_row325*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable325) /*AbstractArray::add*/;
+    variable326 = ((parser_tables___ParserTable___action_table_row326_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row326))( self) /*ParserTable::action_table_row326*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable326) /*AbstractArray::add*/;
+    variable327 = ((parser_tables___ParserTable___action_table_row327_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row327))( self) /*ParserTable::action_table_row327*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable327) /*AbstractArray::add*/;
+    variable328 = ((parser_tables___ParserTable___action_table_row328_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row328))( self) /*ParserTable::action_table_row328*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable328) /*AbstractArray::add*/;
+    variable329 = ((parser_tables___ParserTable___action_table_row329_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row329))( self) /*ParserTable::action_table_row329*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable329) /*AbstractArray::add*/;
+    variable330 = ((parser_tables___ParserTable___action_table_row330_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row330))( self) /*ParserTable::action_table_row330*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable330) /*AbstractArray::add*/;
+    variable331 = ((parser_tables___ParserTable___action_table_row331_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row331))( self) /*ParserTable::action_table_row331*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable331) /*AbstractArray::add*/;
+    variable332 = ((parser_tables___ParserTable___action_table_row332_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row332))( self) /*ParserTable::action_table_row332*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable332) /*AbstractArray::add*/;
+    variable333 = ((parser_tables___ParserTable___action_table_row333_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row333))( self) /*ParserTable::action_table_row333*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable333) /*AbstractArray::add*/;
+    variable334 = ((parser_tables___ParserTable___action_table_row334_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row334))( self) /*ParserTable::action_table_row334*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable334) /*AbstractArray::add*/;
+    variable335 = ((parser_tables___ParserTable___action_table_row335_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row335))( self) /*ParserTable::action_table_row335*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable335) /*AbstractArray::add*/;
+    variable336 = ((parser_tables___ParserTable___action_table_row336_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row336))( self) /*ParserTable::action_table_row336*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable336) /*AbstractArray::add*/;
+    variable337 = ((parser_tables___ParserTable___action_table_row337_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row337))( self) /*ParserTable::action_table_row337*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable337) /*AbstractArray::add*/;
+    variable338 = ((parser_tables___ParserTable___action_table_row338_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row338))( self) /*ParserTable::action_table_row338*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable338) /*AbstractArray::add*/;
+    variable339 = ((parser_tables___ParserTable___action_table_row339_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row339))( self) /*ParserTable::action_table_row339*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable339) /*AbstractArray::add*/;
+    variable340 = ((parser_tables___ParserTable___action_table_row340_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row340))( self) /*ParserTable::action_table_row340*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable340) /*AbstractArray::add*/;
+    variable341 = ((parser_tables___ParserTable___action_table_row341_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row341))( self) /*ParserTable::action_table_row341*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable341) /*AbstractArray::add*/;
+    variable342 = ((parser_tables___ParserTable___action_table_row342_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row342))( self) /*ParserTable::action_table_row342*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable342) /*AbstractArray::add*/;
+    variable343 = ((parser_tables___ParserTable___action_table_row343_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row343))( self) /*ParserTable::action_table_row343*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable343) /*AbstractArray::add*/;
+    variable344 = ((parser_tables___ParserTable___action_table_row344_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row344))( self) /*ParserTable::action_table_row344*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable344) /*AbstractArray::add*/;
+    variable345 = ((parser_tables___ParserTable___action_table_row345_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row345))( self) /*ParserTable::action_table_row345*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable345) /*AbstractArray::add*/;
+    variable346 = ((parser_tables___ParserTable___action_table_row346_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row346))( self) /*ParserTable::action_table_row346*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable346) /*AbstractArray::add*/;
+    variable347 = ((parser_tables___ParserTable___action_table_row347_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row347))( self) /*ParserTable::action_table_row347*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable347) /*AbstractArray::add*/;
+    variable348 = ((parser_tables___ParserTable___action_table_row348_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row348))( self) /*ParserTable::action_table_row348*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable348) /*AbstractArray::add*/;
+    variable349 = ((parser_tables___ParserTable___action_table_row349_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row349))( self) /*ParserTable::action_table_row349*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable349) /*AbstractArray::add*/;
+    variable350 = ((parser_tables___ParserTable___action_table_row350_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row350))( self) /*ParserTable::action_table_row350*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable350) /*AbstractArray::add*/;
+    variable351 = ((parser_tables___ParserTable___action_table_row351_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row351))( self) /*ParserTable::action_table_row351*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable351) /*AbstractArray::add*/;
+    variable352 = ((parser_tables___ParserTable___action_table_row352_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row352))( self) /*ParserTable::action_table_row352*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable352) /*AbstractArray::add*/;
+    variable353 = ((parser_tables___ParserTable___action_table_row353_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row353))( self) /*ParserTable::action_table_row353*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable353) /*AbstractArray::add*/;
+    variable354 = ((parser_tables___ParserTable___action_table_row354_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row354))( self) /*ParserTable::action_table_row354*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable354) /*AbstractArray::add*/;
+    variable355 = ((parser_tables___ParserTable___action_table_row355_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row355))( self) /*ParserTable::action_table_row355*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable355) /*AbstractArray::add*/;
+    variable356 = ((parser_tables___ParserTable___action_table_row356_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row356))( self) /*ParserTable::action_table_row356*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable356) /*AbstractArray::add*/;
+    variable357 = ((parser_tables___ParserTable___action_table_row357_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row357))( self) /*ParserTable::action_table_row357*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable357) /*AbstractArray::add*/;
+    variable358 = ((parser_tables___ParserTable___action_table_row358_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row358))( self) /*ParserTable::action_table_row358*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable358) /*AbstractArray::add*/;
+    variable359 = ((parser_tables___ParserTable___action_table_row359_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row359))( self) /*ParserTable::action_table_row359*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable359) /*AbstractArray::add*/;
+    variable360 = ((parser_tables___ParserTable___action_table_row360_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row360))( self) /*ParserTable::action_table_row360*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable360) /*AbstractArray::add*/;
+    variable361 = ((parser_tables___ParserTable___action_table_row361_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row361))( self) /*ParserTable::action_table_row361*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable361) /*AbstractArray::add*/;
+    variable362 = ((parser_tables___ParserTable___action_table_row362_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row362))( self) /*ParserTable::action_table_row362*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable362) /*AbstractArray::add*/;
+    variable363 = ((parser_tables___ParserTable___action_table_row363_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row363))( self) /*ParserTable::action_table_row363*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable363) /*AbstractArray::add*/;
+    variable364 = ((parser_tables___ParserTable___action_table_row364_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row364))( self) /*ParserTable::action_table_row364*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable364) /*AbstractArray::add*/;
+    variable365 = ((parser_tables___ParserTable___action_table_row365_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row365))( self) /*ParserTable::action_table_row365*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable365) /*AbstractArray::add*/;
+    variable366 = ((parser_tables___ParserTable___action_table_row366_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row366))( self) /*ParserTable::action_table_row366*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable366) /*AbstractArray::add*/;
+    variable367 = ((parser_tables___ParserTable___action_table_row367_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row367))( self) /*ParserTable::action_table_row367*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable367) /*AbstractArray::add*/;
+    variable368 = ((parser_tables___ParserTable___action_table_row368_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row368))( self) /*ParserTable::action_table_row368*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable368) /*AbstractArray::add*/;
+    variable369 = ((parser_tables___ParserTable___action_table_row369_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row369))( self) /*ParserTable::action_table_row369*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable369) /*AbstractArray::add*/;
+    variable370 = ((parser_tables___ParserTable___action_table_row370_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row370))( self) /*ParserTable::action_table_row370*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable370) /*AbstractArray::add*/;
+    variable371 = ((parser_tables___ParserTable___action_table_row371_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row371))( self) /*ParserTable::action_table_row371*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable371) /*AbstractArray::add*/;
+    variable372 = ((parser_tables___ParserTable___action_table_row372_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row372))( self) /*ParserTable::action_table_row372*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable372) /*AbstractArray::add*/;
+    variable373 = ((parser_tables___ParserTable___action_table_row373_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row373))( self) /*ParserTable::action_table_row373*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable373) /*AbstractArray::add*/;
+    variable374 = ((parser_tables___ParserTable___action_table_row374_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row374))( self) /*ParserTable::action_table_row374*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable374) /*AbstractArray::add*/;
+    variable375 = ((parser_tables___ParserTable___action_table_row375_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row375))( self) /*ParserTable::action_table_row375*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable375) /*AbstractArray::add*/;
+    variable376 = ((parser_tables___ParserTable___action_table_row376_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row376))( self) /*ParserTable::action_table_row376*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable376) /*AbstractArray::add*/;
+    variable377 = ((parser_tables___ParserTable___action_table_row377_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row377))( self) /*ParserTable::action_table_row377*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable377) /*AbstractArray::add*/;
+    variable378 = ((parser_tables___ParserTable___action_table_row378_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row378))( self) /*ParserTable::action_table_row378*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable378) /*AbstractArray::add*/;
+    variable379 = ((parser_tables___ParserTable___action_table_row379_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row379))( self) /*ParserTable::action_table_row379*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable379) /*AbstractArray::add*/;
+    variable380 = ((parser_tables___ParserTable___action_table_row380_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row380))( self) /*ParserTable::action_table_row380*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable380) /*AbstractArray::add*/;
+    variable381 = ((parser_tables___ParserTable___action_table_row381_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row381))( self) /*ParserTable::action_table_row381*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable381) /*AbstractArray::add*/;
+    variable382 = ((parser_tables___ParserTable___action_table_row382_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row382))( self) /*ParserTable::action_table_row382*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable382) /*AbstractArray::add*/;
+    variable383 = ((parser_tables___ParserTable___action_table_row383_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row383))( self) /*ParserTable::action_table_row383*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable383) /*AbstractArray::add*/;
+    variable384 = ((parser_tables___ParserTable___action_table_row384_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row384))( self) /*ParserTable::action_table_row384*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable384) /*AbstractArray::add*/;
+    variable385 = ((parser_tables___ParserTable___action_table_row385_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row385))( self) /*ParserTable::action_table_row385*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable385) /*AbstractArray::add*/;
+    variable386 = ((parser_tables___ParserTable___action_table_row386_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row386))( self) /*ParserTable::action_table_row386*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable386) /*AbstractArray::add*/;
+    variable387 = ((parser_tables___ParserTable___action_table_row387_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row387))( self) /*ParserTable::action_table_row387*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable387) /*AbstractArray::add*/;
+    variable388 = ((parser_tables___ParserTable___action_table_row388_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row388))( self) /*ParserTable::action_table_row388*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable388) /*AbstractArray::add*/;
+    variable389 = ((parser_tables___ParserTable___action_table_row389_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row389))( self) /*ParserTable::action_table_row389*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable389) /*AbstractArray::add*/;
+    variable390 = ((parser_tables___ParserTable___action_table_row390_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row390))( self) /*ParserTable::action_table_row390*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable390) /*AbstractArray::add*/;
+    variable391 = ((parser_tables___ParserTable___action_table_row391_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row391))( self) /*ParserTable::action_table_row391*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable391) /*AbstractArray::add*/;
+    variable392 = ((parser_tables___ParserTable___action_table_row392_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row392))( self) /*ParserTable::action_table_row392*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable392) /*AbstractArray::add*/;
+    variable393 = ((parser_tables___ParserTable___action_table_row393_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row393))( self) /*ParserTable::action_table_row393*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable393) /*AbstractArray::add*/;
+    variable394 = ((parser_tables___ParserTable___action_table_row394_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row394))( self) /*ParserTable::action_table_row394*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable394) /*AbstractArray::add*/;
+    variable395 = ((parser_tables___ParserTable___action_table_row395_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row395))( self) /*ParserTable::action_table_row395*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable395) /*AbstractArray::add*/;
+    variable396 = ((parser_tables___ParserTable___action_table_row396_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row396))( self) /*ParserTable::action_table_row396*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable396) /*AbstractArray::add*/;
+    variable397 = ((parser_tables___ParserTable___action_table_row397_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row397))( self) /*ParserTable::action_table_row397*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable397) /*AbstractArray::add*/;
+    variable398 = ((parser_tables___ParserTable___action_table_row398_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row398))( self) /*ParserTable::action_table_row398*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable398) /*AbstractArray::add*/;
+    variable399 = ((parser_tables___ParserTable___action_table_row399_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row399))( self) /*ParserTable::action_table_row399*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable399) /*AbstractArray::add*/;
+    variable400 = ((parser_tables___ParserTable___action_table_row400_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row400))( self) /*ParserTable::action_table_row400*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable400) /*AbstractArray::add*/;
+    variable401 = ((parser_tables___ParserTable___action_table_row401_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row401))( self) /*ParserTable::action_table_row401*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable401) /*AbstractArray::add*/;
+    variable402 = ((parser_tables___ParserTable___action_table_row402_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row402))( self) /*ParserTable::action_table_row402*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable402) /*AbstractArray::add*/;
+    variable403 = ((parser_tables___ParserTable___action_table_row403_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row403))( self) /*ParserTable::action_table_row403*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable403) /*AbstractArray::add*/;
+    variable404 = ((parser_tables___ParserTable___action_table_row404_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row404))( self) /*ParserTable::action_table_row404*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable404) /*AbstractArray::add*/;
+    variable405 = ((parser_tables___ParserTable___action_table_row405_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row405))( self) /*ParserTable::action_table_row405*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable405) /*AbstractArray::add*/;
+    variable406 = ((parser_tables___ParserTable___action_table_row406_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row406))( self) /*ParserTable::action_table_row406*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable406) /*AbstractArray::add*/;
+    variable407 = ((parser_tables___ParserTable___action_table_row407_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row407))( self) /*ParserTable::action_table_row407*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable407) /*AbstractArray::add*/;
+    variable408 = ((parser_tables___ParserTable___action_table_row408_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row408))( self) /*ParserTable::action_table_row408*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable408) /*AbstractArray::add*/;
+    variable409 = ((parser_tables___ParserTable___action_table_row409_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row409))( self) /*ParserTable::action_table_row409*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable409) /*AbstractArray::add*/;
+    variable410 = ((parser_tables___ParserTable___action_table_row410_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row410))( self) /*ParserTable::action_table_row410*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable410) /*AbstractArray::add*/;
+    variable411 = ((parser_tables___ParserTable___action_table_row411_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row411))( self) /*ParserTable::action_table_row411*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable411) /*AbstractArray::add*/;
+    variable412 = ((parser_tables___ParserTable___action_table_row412_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row412))( self) /*ParserTable::action_table_row412*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable412) /*AbstractArray::add*/;
+    variable413 = ((parser_tables___ParserTable___action_table_row413_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row413))( self) /*ParserTable::action_table_row413*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable413) /*AbstractArray::add*/;
+    variable414 = ((parser_tables___ParserTable___action_table_row414_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row414))( self) /*ParserTable::action_table_row414*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable414) /*AbstractArray::add*/;
+    variable415 = ((parser_tables___ParserTable___action_table_row415_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row415))( self) /*ParserTable::action_table_row415*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable415) /*AbstractArray::add*/;
+    variable416 = ((parser_tables___ParserTable___action_table_row416_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row416))( self) /*ParserTable::action_table_row416*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable416) /*AbstractArray::add*/;
+    variable417 = ((parser_tables___ParserTable___action_table_row417_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row417))( self) /*ParserTable::action_table_row417*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable417) /*AbstractArray::add*/;
+    variable418 = ((parser_tables___ParserTable___action_table_row418_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row418))( self) /*ParserTable::action_table_row418*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable418) /*AbstractArray::add*/;
+    variable419 = ((parser_tables___ParserTable___action_table_row419_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row419))( self) /*ParserTable::action_table_row419*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable419) /*AbstractArray::add*/;
+    variable420 = ((parser_tables___ParserTable___action_table_row420_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row420))( self) /*ParserTable::action_table_row420*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable420) /*AbstractArray::add*/;
+    variable421 = ((parser_tables___ParserTable___action_table_row421_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row421))( self) /*ParserTable::action_table_row421*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable421) /*AbstractArray::add*/;
+    variable422 = ((parser_tables___ParserTable___action_table_row422_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row422))( self) /*ParserTable::action_table_row422*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable422) /*AbstractArray::add*/;
+    variable423 = ((parser_tables___ParserTable___action_table_row423_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row423))( self) /*ParserTable::action_table_row423*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable423) /*AbstractArray::add*/;
+    variable424 = ((parser_tables___ParserTable___action_table_row424_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row424))( self) /*ParserTable::action_table_row424*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable424) /*AbstractArray::add*/;
+    variable425 = ((parser_tables___ParserTable___action_table_row425_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row425))( self) /*ParserTable::action_table_row425*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable425) /*AbstractArray::add*/;
+    variable426 = ((parser_tables___ParserTable___action_table_row426_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row426))( self) /*ParserTable::action_table_row426*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable426) /*AbstractArray::add*/;
+    variable427 = ((parser_tables___ParserTable___action_table_row427_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row427))( self) /*ParserTable::action_table_row427*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable427) /*AbstractArray::add*/;
+    variable428 = ((parser_tables___ParserTable___action_table_row428_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row428))( self) /*ParserTable::action_table_row428*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable428) /*AbstractArray::add*/;
+    variable429 = ((parser_tables___ParserTable___action_table_row429_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row429))( self) /*ParserTable::action_table_row429*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable429) /*AbstractArray::add*/;
+    variable430 = ((parser_tables___ParserTable___action_table_row430_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row430))( self) /*ParserTable::action_table_row430*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable430) /*AbstractArray::add*/;
+    variable431 = ((parser_tables___ParserTable___action_table_row431_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row431))( self) /*ParserTable::action_table_row431*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable431) /*AbstractArray::add*/;
+    variable432 = ((parser_tables___ParserTable___action_table_row432_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row432))( self) /*ParserTable::action_table_row432*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable432) /*AbstractArray::add*/;
+    variable433 = ((parser_tables___ParserTable___action_table_row433_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row433))( self) /*ParserTable::action_table_row433*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable433) /*AbstractArray::add*/;
+    variable434 = ((parser_tables___ParserTable___action_table_row434_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row434))( self) /*ParserTable::action_table_row434*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable434) /*AbstractArray::add*/;
+    variable435 = ((parser_tables___ParserTable___action_table_row435_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row435))( self) /*ParserTable::action_table_row435*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable435) /*AbstractArray::add*/;
+    variable436 = ((parser_tables___ParserTable___action_table_row436_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row436))( self) /*ParserTable::action_table_row436*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable436) /*AbstractArray::add*/;
+    variable437 = ((parser_tables___ParserTable___action_table_row437_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row437))( self) /*ParserTable::action_table_row437*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable437) /*AbstractArray::add*/;
+    variable438 = ((parser_tables___ParserTable___action_table_row438_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row438))( self) /*ParserTable::action_table_row438*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable438) /*AbstractArray::add*/;
+    variable439 = ((parser_tables___ParserTable___action_table_row439_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row439))( self) /*ParserTable::action_table_row439*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable439) /*AbstractArray::add*/;
+    variable440 = ((parser_tables___ParserTable___action_table_row440_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row440))( self) /*ParserTable::action_table_row440*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable440) /*AbstractArray::add*/;
+    variable441 = ((parser_tables___ParserTable___action_table_row441_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row441))( self) /*ParserTable::action_table_row441*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable441) /*AbstractArray::add*/;
+    variable442 = ((parser_tables___ParserTable___action_table_row442_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row442))( self) /*ParserTable::action_table_row442*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable442) /*AbstractArray::add*/;
+    variable443 = ((parser_tables___ParserTable___action_table_row443_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row443))( self) /*ParserTable::action_table_row443*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable443) /*AbstractArray::add*/;
+    variable444 = ((parser_tables___ParserTable___action_table_row444_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row444))( self) /*ParserTable::action_table_row444*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable444) /*AbstractArray::add*/;
+    variable445 = ((parser_tables___ParserTable___action_table_row445_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row445))( self) /*ParserTable::action_table_row445*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable445) /*AbstractArray::add*/;
+    variable446 = ((parser_tables___ParserTable___action_table_row446_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row446))( self) /*ParserTable::action_table_row446*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable446) /*AbstractArray::add*/;
+    variable447 = ((parser_tables___ParserTable___action_table_row447_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row447))( self) /*ParserTable::action_table_row447*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable447) /*AbstractArray::add*/;
+    variable448 = ((parser_tables___ParserTable___action_table_row448_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row448))( self) /*ParserTable::action_table_row448*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable448) /*AbstractArray::add*/;
+    variable449 = ((parser_tables___ParserTable___action_table_row449_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row449))( self) /*ParserTable::action_table_row449*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable449) /*AbstractArray::add*/;
+    variable450 = ((parser_tables___ParserTable___action_table_row450_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row450))( self) /*ParserTable::action_table_row450*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable450) /*AbstractArray::add*/;
+    variable451 = ((parser_tables___ParserTable___action_table_row451_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row451))( self) /*ParserTable::action_table_row451*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable451) /*AbstractArray::add*/;
+    variable452 = ((parser_tables___ParserTable___action_table_row452_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row452))( self) /*ParserTable::action_table_row452*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable452) /*AbstractArray::add*/;
+    variable453 = ((parser_tables___ParserTable___action_table_row453_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row453))( self) /*ParserTable::action_table_row453*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable453) /*AbstractArray::add*/;
+    variable454 = ((parser_tables___ParserTable___action_table_row454_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row454))( self) /*ParserTable::action_table_row454*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable454) /*AbstractArray::add*/;
+    variable455 = ((parser_tables___ParserTable___action_table_row455_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row455))( self) /*ParserTable::action_table_row455*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable455) /*AbstractArray::add*/;
+    variable456 = ((parser_tables___ParserTable___action_table_row456_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row456))( self) /*ParserTable::action_table_row456*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable456) /*AbstractArray::add*/;
+    variable457 = ((parser_tables___ParserTable___action_table_row457_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row457))( self) /*ParserTable::action_table_row457*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable457) /*AbstractArray::add*/;
+    variable458 = ((parser_tables___ParserTable___action_table_row458_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row458))( self) /*ParserTable::action_table_row458*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable458) /*AbstractArray::add*/;
+    variable459 = ((parser_tables___ParserTable___action_table_row459_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row459))( self) /*ParserTable::action_table_row459*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable459) /*AbstractArray::add*/;
+    variable460 = ((parser_tables___ParserTable___action_table_row460_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row460))( self) /*ParserTable::action_table_row460*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable460) /*AbstractArray::add*/;
+    variable461 = ((parser_tables___ParserTable___action_table_row461_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row461))( self) /*ParserTable::action_table_row461*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable461) /*AbstractArray::add*/;
+    variable462 = ((parser_tables___ParserTable___action_table_row462_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row462))( self) /*ParserTable::action_table_row462*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable462) /*AbstractArray::add*/;
+    variable463 = ((parser_tables___ParserTable___action_table_row463_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row463))( self) /*ParserTable::action_table_row463*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable463) /*AbstractArray::add*/;
+    variable464 = ((parser_tables___ParserTable___action_table_row464_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row464))( self) /*ParserTable::action_table_row464*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable464) /*AbstractArray::add*/;
+    variable465 = ((parser_tables___ParserTable___action_table_row465_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row465))( self) /*ParserTable::action_table_row465*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable465) /*AbstractArray::add*/;
+    variable466 = ((parser_tables___ParserTable___action_table_row466_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row466))( self) /*ParserTable::action_table_row466*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable466) /*AbstractArray::add*/;
+    variable467 = ((parser_tables___ParserTable___action_table_row467_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row467))( self) /*ParserTable::action_table_row467*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable467) /*AbstractArray::add*/;
+    variable468 = ((parser_tables___ParserTable___action_table_row468_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row468))( self) /*ParserTable::action_table_row468*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable468) /*AbstractArray::add*/;
+    variable469 = ((parser_tables___ParserTable___action_table_row469_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row469))( self) /*ParserTable::action_table_row469*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable469) /*AbstractArray::add*/;
+    variable470 = ((parser_tables___ParserTable___action_table_row470_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row470))( self) /*ParserTable::action_table_row470*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable470) /*AbstractArray::add*/;
+    variable471 = ((parser_tables___ParserTable___action_table_row471_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row471))( self) /*ParserTable::action_table_row471*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable471) /*AbstractArray::add*/;
+    variable472 = ((parser_tables___ParserTable___action_table_row472_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row472))( self) /*ParserTable::action_table_row472*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable472) /*AbstractArray::add*/;
+    variable473 = ((parser_tables___ParserTable___action_table_row473_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row473))( self) /*ParserTable::action_table_row473*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable473) /*AbstractArray::add*/;
+    variable474 = ((parser_tables___ParserTable___action_table_row474_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row474))( self) /*ParserTable::action_table_row474*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable474) /*AbstractArray::add*/;
+    variable475 = ((parser_tables___ParserTable___action_table_row475_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row475))( self) /*ParserTable::action_table_row475*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable475) /*AbstractArray::add*/;
+    variable476 = ((parser_tables___ParserTable___action_table_row476_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row476))( self) /*ParserTable::action_table_row476*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable476) /*AbstractArray::add*/;
+    variable477 = ((parser_tables___ParserTable___action_table_row477_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row477))( self) /*ParserTable::action_table_row477*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable477) /*AbstractArray::add*/;
+    variable478 = ((parser_tables___ParserTable___action_table_row478_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row478))( self) /*ParserTable::action_table_row478*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable478) /*AbstractArray::add*/;
+    variable479 = ((parser_tables___ParserTable___action_table_row479_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row479))( self) /*ParserTable::action_table_row479*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable479) /*AbstractArray::add*/;
+    variable480 = ((parser_tables___ParserTable___action_table_row480_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row480))( self) /*ParserTable::action_table_row480*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable480) /*AbstractArray::add*/;
+    variable481 = ((parser_tables___ParserTable___action_table_row481_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row481))( self) /*ParserTable::action_table_row481*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable481) /*AbstractArray::add*/;
+    variable482 = ((parser_tables___ParserTable___action_table_row482_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row482))( self) /*ParserTable::action_table_row482*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable482) /*AbstractArray::add*/;
+    variable483 = ((parser_tables___ParserTable___action_table_row483_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row483))( self) /*ParserTable::action_table_row483*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable483) /*AbstractArray::add*/;
+    variable484 = ((parser_tables___ParserTable___action_table_row484_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row484))( self) /*ParserTable::action_table_row484*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable484) /*AbstractArray::add*/;
+    variable485 = ((parser_tables___ParserTable___action_table_row485_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row485))( self) /*ParserTable::action_table_row485*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable485) /*AbstractArray::add*/;
+    variable486 = ((parser_tables___ParserTable___action_table_row486_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row486))( self) /*ParserTable::action_table_row486*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable486) /*AbstractArray::add*/;
+    variable487 = ((parser_tables___ParserTable___action_table_row487_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row487))( self) /*ParserTable::action_table_row487*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable487) /*AbstractArray::add*/;
+    variable488 = ((parser_tables___ParserTable___action_table_row488_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row488))( self) /*ParserTable::action_table_row488*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable488) /*AbstractArray::add*/;
+    variable489 = ((parser_tables___ParserTable___action_table_row489_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row489))( self) /*ParserTable::action_table_row489*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable489) /*AbstractArray::add*/;
+    variable490 = ((parser_tables___ParserTable___action_table_row490_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row490))( self) /*ParserTable::action_table_row490*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable490) /*AbstractArray::add*/;
+    variable491 = ((parser_tables___ParserTable___action_table_row491_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row491))( self) /*ParserTable::action_table_row491*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable491) /*AbstractArray::add*/;
+    variable492 = ((parser_tables___ParserTable___action_table_row492_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row492))( self) /*ParserTable::action_table_row492*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable492) /*AbstractArray::add*/;
+    variable493 = ((parser_tables___ParserTable___action_table_row493_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row493))( self) /*ParserTable::action_table_row493*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable493) /*AbstractArray::add*/;
+    variable494 = ((parser_tables___ParserTable___action_table_row494_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row494))( self) /*ParserTable::action_table_row494*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable494) /*AbstractArray::add*/;
+    variable495 = ((parser_tables___ParserTable___action_table_row495_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row495))( self) /*ParserTable::action_table_row495*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable495) /*AbstractArray::add*/;
+    variable496 = ((parser_tables___ParserTable___action_table_row496_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row496))( self) /*ParserTable::action_table_row496*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable496) /*AbstractArray::add*/;
+    variable497 = ((parser_tables___ParserTable___action_table_row497_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row497))( self) /*ParserTable::action_table_row497*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable497) /*AbstractArray::add*/;
+    variable498 = ((parser_tables___ParserTable___action_table_row498_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row498))( self) /*ParserTable::action_table_row498*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable498) /*AbstractArray::add*/;
+    variable499 = ((parser_tables___ParserTable___action_table_row499_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row499))( self) /*ParserTable::action_table_row499*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable499) /*AbstractArray::add*/;
+    variable500 = ((parser_tables___ParserTable___action_table_row500_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row500))( self) /*ParserTable::action_table_row500*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable500) /*AbstractArray::add*/;
+    variable501 = ((parser_tables___ParserTable___action_table_row501_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row501))( self) /*ParserTable::action_table_row501*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable501) /*AbstractArray::add*/;
+    variable502 = ((parser_tables___ParserTable___action_table_row502_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row502))( self) /*ParserTable::action_table_row502*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable502) /*AbstractArray::add*/;
+    variable503 = ((parser_tables___ParserTable___action_table_row503_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row503))( self) /*ParserTable::action_table_row503*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable503) /*AbstractArray::add*/;
+    variable504 = ((parser_tables___ParserTable___action_table_row504_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row504))( self) /*ParserTable::action_table_row504*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable504) /*AbstractArray::add*/;
+    variable505 = ((parser_tables___ParserTable___action_table_row505_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row505))( self) /*ParserTable::action_table_row505*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable505) /*AbstractArray::add*/;
+    variable506 = ((parser_tables___ParserTable___action_table_row506_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row506))( self) /*ParserTable::action_table_row506*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable506) /*AbstractArray::add*/;
+    variable507 = ((parser_tables___ParserTable___action_table_row507_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row507))( self) /*ParserTable::action_table_row507*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable507) /*AbstractArray::add*/;
+    variable508 = ((parser_tables___ParserTable___action_table_row508_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row508))( self) /*ParserTable::action_table_row508*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable508) /*AbstractArray::add*/;
+    variable509 = ((parser_tables___ParserTable___action_table_row509_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row509))( self) /*ParserTable::action_table_row509*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable509) /*AbstractArray::add*/;
+    variable510 = ((parser_tables___ParserTable___action_table_row510_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row510))( self) /*ParserTable::action_table_row510*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable510) /*AbstractArray::add*/;
+    variable511 = ((parser_tables___ParserTable___action_table_row511_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row511))( self) /*ParserTable::action_table_row511*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable511) /*AbstractArray::add*/;
+    variable512 = ((parser_tables___ParserTable___action_table_row512_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row512))( self) /*ParserTable::action_table_row512*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable512) /*AbstractArray::add*/;
+    variable513 = ((parser_tables___ParserTable___action_table_row513_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row513))( self) /*ParserTable::action_table_row513*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable513) /*AbstractArray::add*/;
+    variable514 = ((parser_tables___ParserTable___action_table_row514_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row514))( self) /*ParserTable::action_table_row514*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable514) /*AbstractArray::add*/;
+    variable515 = ((parser_tables___ParserTable___action_table_row515_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row515))( self) /*ParserTable::action_table_row515*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable515) /*AbstractArray::add*/;
+    variable516 = ((parser_tables___ParserTable___action_table_row516_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row516))( self) /*ParserTable::action_table_row516*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable516) /*AbstractArray::add*/;
+    variable517 = ((parser_tables___ParserTable___action_table_row517_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row517))( self) /*ParserTable::action_table_row517*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable517) /*AbstractArray::add*/;
+    variable518 = ((parser_tables___ParserTable___action_table_row518_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row518))( self) /*ParserTable::action_table_row518*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable518) /*AbstractArray::add*/;
+    variable519 = ((parser_tables___ParserTable___action_table_row519_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row519))( self) /*ParserTable::action_table_row519*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable519) /*AbstractArray::add*/;
+    variable520 = ((parser_tables___ParserTable___action_table_row520_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row520))( self) /*ParserTable::action_table_row520*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable520) /*AbstractArray::add*/;
+    variable521 = ((parser_tables___ParserTable___action_table_row521_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row521))( self) /*ParserTable::action_table_row521*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable521) /*AbstractArray::add*/;
+    variable522 = ((parser_tables___ParserTable___action_table_row522_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row522))( self) /*ParserTable::action_table_row522*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable522) /*AbstractArray::add*/;
+    variable523 = ((parser_tables___ParserTable___action_table_row523_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row523))( self) /*ParserTable::action_table_row523*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable523) /*AbstractArray::add*/;
+    variable524 = ((parser_tables___ParserTable___action_table_row524_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row524))( self) /*ParserTable::action_table_row524*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable524) /*AbstractArray::add*/;
+    variable525 = ((parser_tables___ParserTable___action_table_row525_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row525))( self) /*ParserTable::action_table_row525*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable525) /*AbstractArray::add*/;
+    variable526 = ((parser_tables___ParserTable___action_table_row526_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row526))( self) /*ParserTable::action_table_row526*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable526) /*AbstractArray::add*/;
+    variable527 = ((parser_tables___ParserTable___action_table_row527_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row527))( self) /*ParserTable::action_table_row527*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable527) /*AbstractArray::add*/;
+    variable528 = ((parser_tables___ParserTable___action_table_row528_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row528))( self) /*ParserTable::action_table_row528*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable528) /*AbstractArray::add*/;
+    variable529 = ((parser_tables___ParserTable___action_table_row529_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row529))( self) /*ParserTable::action_table_row529*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable529) /*AbstractArray::add*/;
+    variable530 = ((parser_tables___ParserTable___action_table_row530_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row530))( self) /*ParserTable::action_table_row530*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable530) /*AbstractArray::add*/;
+    variable531 = ((parser_tables___ParserTable___action_table_row531_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row531))( self) /*ParserTable::action_table_row531*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable531) /*AbstractArray::add*/;
+    variable532 = ((parser_tables___ParserTable___action_table_row532_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row532))( self) /*ParserTable::action_table_row532*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable532) /*AbstractArray::add*/;
+    variable533 = ((parser_tables___ParserTable___action_table_row533_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row533))( self) /*ParserTable::action_table_row533*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable533) /*AbstractArray::add*/;
+    variable534 = ((parser_tables___ParserTable___action_table_row534_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row534))( self) /*ParserTable::action_table_row534*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable534) /*AbstractArray::add*/;
+    variable535 = ((parser_tables___ParserTable___action_table_row535_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row535))( self) /*ParserTable::action_table_row535*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable535) /*AbstractArray::add*/;
+    variable536 = ((parser_tables___ParserTable___action_table_row536_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row536))( self) /*ParserTable::action_table_row536*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable536) /*AbstractArray::add*/;
+    variable537 = ((parser_tables___ParserTable___action_table_row537_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row537))( self) /*ParserTable::action_table_row537*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable537) /*AbstractArray::add*/;
+    variable538 = ((parser_tables___ParserTable___action_table_row538_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row538))( self) /*ParserTable::action_table_row538*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable538) /*AbstractArray::add*/;
+    variable539 = ((parser_tables___ParserTable___action_table_row539_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row539))( self) /*ParserTable::action_table_row539*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable539) /*AbstractArray::add*/;
+    variable540 = ((parser_tables___ParserTable___action_table_row540_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row540))( self) /*ParserTable::action_table_row540*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable540) /*AbstractArray::add*/;
+    variable541 = ((parser_tables___ParserTable___action_table_row541_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row541))( self) /*ParserTable::action_table_row541*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable541) /*AbstractArray::add*/;
+    variable542 = ((parser_tables___ParserTable___action_table_row542_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row542))( self) /*ParserTable::action_table_row542*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable542) /*AbstractArray::add*/;
+    variable543 = ((parser_tables___ParserTable___action_table_row543_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row543))( self) /*ParserTable::action_table_row543*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable543) /*AbstractArray::add*/;
+    variable544 = ((parser_tables___ParserTable___action_table_row544_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row544))( self) /*ParserTable::action_table_row544*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable544) /*AbstractArray::add*/;
+    variable545 = ((parser_tables___ParserTable___action_table_row545_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row545))( self) /*ParserTable::action_table_row545*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable545) /*AbstractArray::add*/;
+    variable546 = ((parser_tables___ParserTable___action_table_row546_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row546))( self) /*ParserTable::action_table_row546*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable546) /*AbstractArray::add*/;
+    variable547 = ((parser_tables___ParserTable___action_table_row547_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row547))( self) /*ParserTable::action_table_row547*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable547) /*AbstractArray::add*/;
+    variable548 = ((parser_tables___ParserTable___action_table_row548_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row548))( self) /*ParserTable::action_table_row548*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable548) /*AbstractArray::add*/;
+    variable549 = ((parser_tables___ParserTable___action_table_row549_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row549))( self) /*ParserTable::action_table_row549*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable549) /*AbstractArray::add*/;
+    variable550 = ((parser_tables___ParserTable___action_table_row550_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row550))( self) /*ParserTable::action_table_row550*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable550) /*AbstractArray::add*/;
+    variable551 = ((parser_tables___ParserTable___action_table_row551_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row551))( self) /*ParserTable::action_table_row551*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable551) /*AbstractArray::add*/;
+    variable552 = ((parser_tables___ParserTable___action_table_row552_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row552))( self) /*ParserTable::action_table_row552*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable552) /*AbstractArray::add*/;
+    variable553 = ((parser_tables___ParserTable___action_table_row553_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row553))( self) /*ParserTable::action_table_row553*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable553) /*AbstractArray::add*/;
+    variable554 = ((parser_tables___ParserTable___action_table_row554_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row554))( self) /*ParserTable::action_table_row554*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable554) /*AbstractArray::add*/;
+    variable555 = ((parser_tables___ParserTable___action_table_row555_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row555))( self) /*ParserTable::action_table_row555*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable555) /*AbstractArray::add*/;
+    variable556 = ((parser_tables___ParserTable___action_table_row556_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row556))( self) /*ParserTable::action_table_row556*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable556) /*AbstractArray::add*/;
+    variable557 = ((parser_tables___ParserTable___action_table_row557_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row557))( self) /*ParserTable::action_table_row557*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable557) /*AbstractArray::add*/;
+    variable558 = ((parser_tables___ParserTable___action_table_row558_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row558))( self) /*ParserTable::action_table_row558*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable558) /*AbstractArray::add*/;
+    variable559 = ((parser_tables___ParserTable___action_table_row559_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row559))( self) /*ParserTable::action_table_row559*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable559) /*AbstractArray::add*/;
+    variable560 = ((parser_tables___ParserTable___action_table_row560_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row560))( self) /*ParserTable::action_table_row560*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable560) /*AbstractArray::add*/;
+    variable561 = ((parser_tables___ParserTable___action_table_row561_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row561))( self) /*ParserTable::action_table_row561*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable561) /*AbstractArray::add*/;
+    variable562 = ((parser_tables___ParserTable___action_table_row562_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row562))( self) /*ParserTable::action_table_row562*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable562) /*AbstractArray::add*/;
+    variable563 = ((parser_tables___ParserTable___action_table_row563_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row563))( self) /*ParserTable::action_table_row563*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable563) /*AbstractArray::add*/;
+    variable564 = ((parser_tables___ParserTable___action_table_row564_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row564))( self) /*ParserTable::action_table_row564*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable564) /*AbstractArray::add*/;
+    variable565 = ((parser_tables___ParserTable___action_table_row565_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row565))( self) /*ParserTable::action_table_row565*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable565) /*AbstractArray::add*/;
+    variable566 = ((parser_tables___ParserTable___action_table_row566_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row566))( self) /*ParserTable::action_table_row566*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable566) /*AbstractArray::add*/;
+    variable567 = ((parser_tables___ParserTable___action_table_row567_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row567))( self) /*ParserTable::action_table_row567*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable567) /*AbstractArray::add*/;
+    variable568 = ((parser_tables___ParserTable___action_table_row568_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row568))( self) /*ParserTable::action_table_row568*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable568) /*AbstractArray::add*/;
+    variable569 = ((parser_tables___ParserTable___action_table_row569_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row569))( self) /*ParserTable::action_table_row569*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable569) /*AbstractArray::add*/;
+    variable570 = ((parser_tables___ParserTable___action_table_row570_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row570))( self) /*ParserTable::action_table_row570*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable570) /*AbstractArray::add*/;
+    variable571 = ((parser_tables___ParserTable___action_table_row571_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row571))( self) /*ParserTable::action_table_row571*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable571) /*AbstractArray::add*/;
+    variable572 = ((parser_tables___ParserTable___action_table_row572_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row572))( self) /*ParserTable::action_table_row572*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable572) /*AbstractArray::add*/;
+    variable573 = ((parser_tables___ParserTable___action_table_row573_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row573))( self) /*ParserTable::action_table_row573*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable573) /*AbstractArray::add*/;
+    variable574 = ((parser_tables___ParserTable___action_table_row574_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row574))( self) /*ParserTable::action_table_row574*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable574) /*AbstractArray::add*/;
+    variable575 = ((parser_tables___ParserTable___action_table_row575_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row575))( self) /*ParserTable::action_table_row575*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable575) /*AbstractArray::add*/;
+    variable576 = ((parser_tables___ParserTable___action_table_row576_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row576))( self) /*ParserTable::action_table_row576*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable576) /*AbstractArray::add*/;
+    variable577 = ((parser_tables___ParserTable___action_table_row577_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row577))( self) /*ParserTable::action_table_row577*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable577) /*AbstractArray::add*/;
+    variable578 = ((parser_tables___ParserTable___action_table_row578_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row578))( self) /*ParserTable::action_table_row578*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable578) /*AbstractArray::add*/;
+    variable579 = ((parser_tables___ParserTable___action_table_row579_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row579))( self) /*ParserTable::action_table_row579*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable579) /*AbstractArray::add*/;
+    variable580 = ((parser_tables___ParserTable___action_table_row580_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row580))( self) /*ParserTable::action_table_row580*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable580) /*AbstractArray::add*/;
+    variable581 = ((parser_tables___ParserTable___action_table_row581_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row581))( self) /*ParserTable::action_table_row581*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable581) /*AbstractArray::add*/;
+    variable582 = ((parser_tables___ParserTable___action_table_row582_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row582))( self) /*ParserTable::action_table_row582*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable582) /*AbstractArray::add*/;
+    variable583 = ((parser_tables___ParserTable___action_table_row583_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row583))( self) /*ParserTable::action_table_row583*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable583) /*AbstractArray::add*/;
+    variable584 = ((parser_tables___ParserTable___action_table_row584_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row584))( self) /*ParserTable::action_table_row584*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable584) /*AbstractArray::add*/;
+    variable585 = ((parser_tables___ParserTable___action_table_row585_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row585))( self) /*ParserTable::action_table_row585*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable585) /*AbstractArray::add*/;
+    variable586 = ((parser_tables___ParserTable___action_table_row586_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row586))( self) /*ParserTable::action_table_row586*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable586) /*AbstractArray::add*/;
+    variable587 = ((parser_tables___ParserTable___action_table_row587_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row587))( self) /*ParserTable::action_table_row587*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable587) /*AbstractArray::add*/;
+    variable588 = ((parser_tables___ParserTable___action_table_row588_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row588))( self) /*ParserTable::action_table_row588*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable588) /*AbstractArray::add*/;
+    variable589 = ((parser_tables___ParserTable___action_table_row589_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row589))( self) /*ParserTable::action_table_row589*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable589) /*AbstractArray::add*/;
+    variable590 = ((parser_tables___ParserTable___action_table_row590_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row590))( self) /*ParserTable::action_table_row590*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable590) /*AbstractArray::add*/;
+    variable591 = ((parser_tables___ParserTable___action_table_row591_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row591))( self) /*ParserTable::action_table_row591*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable591) /*AbstractArray::add*/;
+    variable592 = ((parser_tables___ParserTable___action_table_row592_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row592))( self) /*ParserTable::action_table_row592*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable592) /*AbstractArray::add*/;
+    variable593 = ((parser_tables___ParserTable___action_table_row593_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row593))( self) /*ParserTable::action_table_row593*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable593) /*AbstractArray::add*/;
+    variable594 = ((parser_tables___ParserTable___action_table_row594_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row594))( self) /*ParserTable::action_table_row594*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable594) /*AbstractArray::add*/;
+    variable595 = ((parser_tables___ParserTable___action_table_row595_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row595))( self) /*ParserTable::action_table_row595*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable595) /*AbstractArray::add*/;
+    variable596 = ((parser_tables___ParserTable___action_table_row596_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row596))( self) /*ParserTable::action_table_row596*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable596) /*AbstractArray::add*/;
+    variable597 = ((parser_tables___ParserTable___action_table_row597_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row597))( self) /*ParserTable::action_table_row597*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable597) /*AbstractArray::add*/;
+    variable598 = ((parser_tables___ParserTable___action_table_row598_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row598))( self) /*ParserTable::action_table_row598*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable598) /*AbstractArray::add*/;
+    variable599 = ((parser_tables___ParserTable___action_table_row599_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row599))( self) /*ParserTable::action_table_row599*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable599) /*AbstractArray::add*/;
+    variable600 = ((parser_tables___ParserTable___action_table_row600_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row600))( self) /*ParserTable::action_table_row600*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable600) /*AbstractArray::add*/;
+    variable601 = ((parser_tables___ParserTable___action_table_row601_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row601))( self) /*ParserTable::action_table_row601*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable601) /*AbstractArray::add*/;
+    variable602 = ((parser_tables___ParserTable___action_table_row602_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row602))( self) /*ParserTable::action_table_row602*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable602) /*AbstractArray::add*/;
+    variable603 = ((parser_tables___ParserTable___action_table_row603_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row603))( self) /*ParserTable::action_table_row603*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable603) /*AbstractArray::add*/;
+    variable604 = ((parser_tables___ParserTable___action_table_row604_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row604))( self) /*ParserTable::action_table_row604*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable604) /*AbstractArray::add*/;
+    variable605 = ((parser_tables___ParserTable___action_table_row605_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row605))( self) /*ParserTable::action_table_row605*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable605) /*AbstractArray::add*/;
+    variable606 = ((parser_tables___ParserTable___action_table_row606_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row606))( self) /*ParserTable::action_table_row606*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable606) /*AbstractArray::add*/;
+    variable607 = ((parser_tables___ParserTable___action_table_row607_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row607))( self) /*ParserTable::action_table_row607*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable607) /*AbstractArray::add*/;
+    variable608 = ((parser_tables___ParserTable___action_table_row608_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row608))( self) /*ParserTable::action_table_row608*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable608) /*AbstractArray::add*/;
+    variable609 = ((parser_tables___ParserTable___action_table_row609_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row609))( self) /*ParserTable::action_table_row609*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable609) /*AbstractArray::add*/;
+    variable610 = ((parser_tables___ParserTable___action_table_row610_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row610))( self) /*ParserTable::action_table_row610*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable610) /*AbstractArray::add*/;
+    variable611 = ((parser_tables___ParserTable___action_table_row611_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row611))( self) /*ParserTable::action_table_row611*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable611) /*AbstractArray::add*/;
+    variable612 = ((parser_tables___ParserTable___action_table_row612_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row612))( self) /*ParserTable::action_table_row612*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable612) /*AbstractArray::add*/;
+    variable613 = ((parser_tables___ParserTable___action_table_row613_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row613))( self) /*ParserTable::action_table_row613*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable613) /*AbstractArray::add*/;
+    variable614 = ((parser_tables___ParserTable___action_table_row614_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row614))( self) /*ParserTable::action_table_row614*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable614) /*AbstractArray::add*/;
+    variable615 = ((parser_tables___ParserTable___action_table_row615_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row615))( self) /*ParserTable::action_table_row615*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable615) /*AbstractArray::add*/;
+    variable616 = ((parser_tables___ParserTable___action_table_row616_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row616))( self) /*ParserTable::action_table_row616*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable616) /*AbstractArray::add*/;
+    variable617 = ((parser_tables___ParserTable___action_table_row617_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row617))( self) /*ParserTable::action_table_row617*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable617) /*AbstractArray::add*/;
+    variable618 = ((parser_tables___ParserTable___action_table_row618_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row618))( self) /*ParserTable::action_table_row618*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable618) /*AbstractArray::add*/;
+    variable619 = ((parser_tables___ParserTable___action_table_row619_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row619))( self) /*ParserTable::action_table_row619*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable619) /*AbstractArray::add*/;
+    variable620 = ((parser_tables___ParserTable___action_table_row620_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row620))( self) /*ParserTable::action_table_row620*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable620) /*AbstractArray::add*/;
+    variable621 = ((parser_tables___ParserTable___action_table_row621_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row621))( self) /*ParserTable::action_table_row621*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable621) /*AbstractArray::add*/;
+    variable622 = ((parser_tables___ParserTable___action_table_row622_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row622))( self) /*ParserTable::action_table_row622*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable622) /*AbstractArray::add*/;
+    variable623 = ((parser_tables___ParserTable___action_table_row623_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row623))( self) /*ParserTable::action_table_row623*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable623) /*AbstractArray::add*/;
+    variable624 = ((parser_tables___ParserTable___action_table_row624_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row624))( self) /*ParserTable::action_table_row624*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable624) /*AbstractArray::add*/;
+    variable625 = ((parser_tables___ParserTable___action_table_row625_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row625))( self) /*ParserTable::action_table_row625*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable625) /*AbstractArray::add*/;
+    variable626 = ((parser_tables___ParserTable___action_table_row626_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row626))( self) /*ParserTable::action_table_row626*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable626) /*AbstractArray::add*/;
+    variable627 = ((parser_tables___ParserTable___action_table_row627_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row627))( self) /*ParserTable::action_table_row627*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable627) /*AbstractArray::add*/;
+    variable628 = ((parser_tables___ParserTable___action_table_row628_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row628))( self) /*ParserTable::action_table_row628*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable628) /*AbstractArray::add*/;
+    variable629 = ((parser_tables___ParserTable___action_table_row629_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row629))( self) /*ParserTable::action_table_row629*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable629) /*AbstractArray::add*/;
+    variable630 = ((parser_tables___ParserTable___action_table_row630_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row630))( self) /*ParserTable::action_table_row630*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable630) /*AbstractArray::add*/;
+    variable631 = ((parser_tables___ParserTable___action_table_row631_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row631))( self) /*ParserTable::action_table_row631*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable631) /*AbstractArray::add*/;
+    variable632 = ((parser_tables___ParserTable___action_table_row632_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row632))( self) /*ParserTable::action_table_row632*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable632) /*AbstractArray::add*/;
+    variable633 = ((parser_tables___ParserTable___action_table_row633_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row633))( self) /*ParserTable::action_table_row633*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable633) /*AbstractArray::add*/;
+    variable634 = ((parser_tables___ParserTable___action_table_row634_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row634))( self) /*ParserTable::action_table_row634*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable634) /*AbstractArray::add*/;
+    variable635 = ((parser_tables___ParserTable___action_table_row635_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row635))( self) /*ParserTable::action_table_row635*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable635) /*AbstractArray::add*/;
+    variable636 = ((parser_tables___ParserTable___action_table_row636_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row636))( self) /*ParserTable::action_table_row636*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable636) /*AbstractArray::add*/;
+    variable637 = ((parser_tables___ParserTable___action_table_row637_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row637))( self) /*ParserTable::action_table_row637*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable637) /*AbstractArray::add*/;
+    variable638 = ((parser_tables___ParserTable___action_table_row638_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row638))( self) /*ParserTable::action_table_row638*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable638) /*AbstractArray::add*/;
+    variable639 = ((parser_tables___ParserTable___action_table_row639_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row639))( self) /*ParserTable::action_table_row639*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable639) /*AbstractArray::add*/;
+    variable640 = ((parser_tables___ParserTable___action_table_row640_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row640))( self) /*ParserTable::action_table_row640*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable640) /*AbstractArray::add*/;
+    variable641 = ((parser_tables___ParserTable___action_table_row641_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row641))( self) /*ParserTable::action_table_row641*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable641) /*AbstractArray::add*/;
+    variable642 = ((parser_tables___ParserTable___action_table_row642_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row642))( self) /*ParserTable::action_table_row642*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable642) /*AbstractArray::add*/;
+    variable643 = ((parser_tables___ParserTable___action_table_row643_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row643))( self) /*ParserTable::action_table_row643*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable643) /*AbstractArray::add*/;
+    variable644 = ((parser_tables___ParserTable___action_table_row644_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row644))( self) /*ParserTable::action_table_row644*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable644) /*AbstractArray::add*/;
+    variable645 = ((parser_tables___ParserTable___action_table_row645_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row645))( self) /*ParserTable::action_table_row645*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable645) /*AbstractArray::add*/;
+    variable646 = ((parser_tables___ParserTable___action_table_row646_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row646))( self) /*ParserTable::action_table_row646*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable646) /*AbstractArray::add*/;
+    variable647 = ((parser_tables___ParserTable___action_table_row647_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row647))( self) /*ParserTable::action_table_row647*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable647) /*AbstractArray::add*/;
+    variable648 = ((parser_tables___ParserTable___action_table_row648_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row648))( self) /*ParserTable::action_table_row648*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable648) /*AbstractArray::add*/;
+    variable649 = ((parser_tables___ParserTable___action_table_row649_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row649))( self) /*ParserTable::action_table_row649*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable649) /*AbstractArray::add*/;
+    variable650 = ((parser_tables___ParserTable___action_table_row650_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row650))( self) /*ParserTable::action_table_row650*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable650) /*AbstractArray::add*/;
+    variable651 = ((parser_tables___ParserTable___action_table_row651_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row651))( self) /*ParserTable::action_table_row651*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable651) /*AbstractArray::add*/;
+    variable652 = ((parser_tables___ParserTable___action_table_row652_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row652))( self) /*ParserTable::action_table_row652*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable652) /*AbstractArray::add*/;
+    variable653 = ((parser_tables___ParserTable___action_table_row653_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row653))( self) /*ParserTable::action_table_row653*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable653) /*AbstractArray::add*/;
+    variable654 = ((parser_tables___ParserTable___action_table_row654_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row654))( self) /*ParserTable::action_table_row654*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable654) /*AbstractArray::add*/;
+    variable655 = ((parser_tables___ParserTable___action_table_row655_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row655))( self) /*ParserTable::action_table_row655*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable655) /*AbstractArray::add*/;
+    variable656 = ((parser_tables___ParserTable___action_table_row656_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row656))( self) /*ParserTable::action_table_row656*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable656) /*AbstractArray::add*/;
+    variable657 = ((parser_tables___ParserTable___action_table_row657_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row657))( self) /*ParserTable::action_table_row657*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable657) /*AbstractArray::add*/;
+    variable658 = ((parser_tables___ParserTable___action_table_row658_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row658))( self) /*ParserTable::action_table_row658*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable658) /*AbstractArray::add*/;
+    variable659 = ((parser_tables___ParserTable___action_table_row659_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row659))( self) /*ParserTable::action_table_row659*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable659) /*AbstractArray::add*/;
+    variable660 = ((parser_tables___ParserTable___action_table_row660_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row660))( self) /*ParserTable::action_table_row660*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable660) /*AbstractArray::add*/;
+    variable661 = ((parser_tables___ParserTable___action_table_row661_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row661))( self) /*ParserTable::action_table_row661*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable661) /*AbstractArray::add*/;
+    variable662 = ((parser_tables___ParserTable___action_table_row662_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row662))( self) /*ParserTable::action_table_row662*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable662) /*AbstractArray::add*/;
+    variable663 = ((parser_tables___ParserTable___action_table_row663_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row663))( self) /*ParserTable::action_table_row663*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable663) /*AbstractArray::add*/;
+    variable664 = ((parser_tables___ParserTable___action_table_row664_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row664))( self) /*ParserTable::action_table_row664*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable664) /*AbstractArray::add*/;
+    variable665 = ((parser_tables___ParserTable___action_table_row665_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row665))( self) /*ParserTable::action_table_row665*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable665) /*AbstractArray::add*/;
+    variable666 = ((parser_tables___ParserTable___action_table_row666_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row666))( self) /*ParserTable::action_table_row666*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable666) /*AbstractArray::add*/;
+    variable667 = ((parser_tables___ParserTable___action_table_row667_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row667))( self) /*ParserTable::action_table_row667*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable667) /*AbstractArray::add*/;
+    variable668 = ((parser_tables___ParserTable___action_table_row668_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row668))( self) /*ParserTable::action_table_row668*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable668) /*AbstractArray::add*/;
+    variable669 = ((parser_tables___ParserTable___action_table_row669_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row669))( self) /*ParserTable::action_table_row669*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable669) /*AbstractArray::add*/;
+    variable670 = ((parser_tables___ParserTable___action_table_row670_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row670))( self) /*ParserTable::action_table_row670*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable670) /*AbstractArray::add*/;
+    variable671 = ((parser_tables___ParserTable___action_table_row671_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row671))( self) /*ParserTable::action_table_row671*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable671) /*AbstractArray::add*/;
+    variable672 = ((parser_tables___ParserTable___action_table_row672_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row672))( self) /*ParserTable::action_table_row672*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable672) /*AbstractArray::add*/;
+    variable673 = ((parser_tables___ParserTable___action_table_row673_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row673))( self) /*ParserTable::action_table_row673*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable673) /*AbstractArray::add*/;
+    variable674 = ((parser_tables___ParserTable___action_table_row674_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row674))( self) /*ParserTable::action_table_row674*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable674) /*AbstractArray::add*/;
+    variable675 = ((parser_tables___ParserTable___action_table_row675_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row675))( self) /*ParserTable::action_table_row675*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable675) /*AbstractArray::add*/;
+    variable676 = ((parser_tables___ParserTable___action_table_row676_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row676))( self) /*ParserTable::action_table_row676*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable676) /*AbstractArray::add*/;
+    variable677 = ((parser_tables___ParserTable___action_table_row677_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row677))( self) /*ParserTable::action_table_row677*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable677) /*AbstractArray::add*/;
+    variable678 = ((parser_tables___ParserTable___action_table_row678_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row678))( self) /*ParserTable::action_table_row678*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable678) /*AbstractArray::add*/;
+    variable679 = ((parser_tables___ParserTable___action_table_row679_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row679))( self) /*ParserTable::action_table_row679*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable679) /*AbstractArray::add*/;
+    variable680 = ((parser_tables___ParserTable___action_table_row680_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row680))( self) /*ParserTable::action_table_row680*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable680) /*AbstractArray::add*/;
+    variable681 = ((parser_tables___ParserTable___action_table_row681_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row681))( self) /*ParserTable::action_table_row681*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable681) /*AbstractArray::add*/;
+    variable682 = ((parser_tables___ParserTable___action_table_row682_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row682))( self) /*ParserTable::action_table_row682*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable682) /*AbstractArray::add*/;
+    variable683 = ((parser_tables___ParserTable___action_table_row683_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row683))( self) /*ParserTable::action_table_row683*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable683) /*AbstractArray::add*/;
+    variable684 = ((parser_tables___ParserTable___action_table_row684_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row684))( self) /*ParserTable::action_table_row684*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable684) /*AbstractArray::add*/;
+    variable685 = ((parser_tables___ParserTable___action_table_row685_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row685))( self) /*ParserTable::action_table_row685*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable685) /*AbstractArray::add*/;
+    variable686 = ((parser_tables___ParserTable___action_table_row686_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row686))( self) /*ParserTable::action_table_row686*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable686) /*AbstractArray::add*/;
+    variable687 = ((parser_tables___ParserTable___action_table_row687_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row687))( self) /*ParserTable::action_table_row687*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable687) /*AbstractArray::add*/;
+    variable688 = ((parser_tables___ParserTable___action_table_row688_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row688))( self) /*ParserTable::action_table_row688*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable688) /*AbstractArray::add*/;
+    variable689 = ((parser_tables___ParserTable___action_table_row689_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row689))( self) /*ParserTable::action_table_row689*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable689) /*AbstractArray::add*/;
+    variable690 = ((parser_tables___ParserTable___action_table_row690_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row690))( self) /*ParserTable::action_table_row690*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable690) /*AbstractArray::add*/;
+    variable691 = ((parser_tables___ParserTable___action_table_row691_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row691))( self) /*ParserTable::action_table_row691*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable691) /*AbstractArray::add*/;
+    variable692 = ((parser_tables___ParserTable___action_table_row692_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row692))( self) /*ParserTable::action_table_row692*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable692) /*AbstractArray::add*/;
+    variable693 = ((parser_tables___ParserTable___action_table_row693_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row693))( self) /*ParserTable::action_table_row693*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable693) /*AbstractArray::add*/;
+    variable694 = ((parser_tables___ParserTable___action_table_row694_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row694))( self) /*ParserTable::action_table_row694*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable694) /*AbstractArray::add*/;
+    variable695 = ((parser_tables___ParserTable___action_table_row695_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row695))( self) /*ParserTable::action_table_row695*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable695) /*AbstractArray::add*/;
+    variable696 = ((parser_tables___ParserTable___action_table_row696_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row696))( self) /*ParserTable::action_table_row696*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable696) /*AbstractArray::add*/;
+    variable697 = ((parser_tables___ParserTable___action_table_row697_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row697))( self) /*ParserTable::action_table_row697*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable697) /*AbstractArray::add*/;
+    variable698 = ((parser_tables___ParserTable___action_table_row698_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row698))( self) /*ParserTable::action_table_row698*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable698) /*AbstractArray::add*/;
+    variable699 = ((parser_tables___ParserTable___action_table_row699_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row699))( self) /*ParserTable::action_table_row699*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable699) /*AbstractArray::add*/;
+    variable700 = ((parser_tables___ParserTable___action_table_row700_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row700))( self) /*ParserTable::action_table_row700*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable700) /*AbstractArray::add*/;
+    variable701 = ((parser_tables___ParserTable___action_table_row701_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row701))( self) /*ParserTable::action_table_row701*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable701) /*AbstractArray::add*/;
+    variable702 = ((parser_tables___ParserTable___action_table_row702_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row702))( self) /*ParserTable::action_table_row702*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable702) /*AbstractArray::add*/;
+    variable703 = ((parser_tables___ParserTable___action_table_row703_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row703))( self) /*ParserTable::action_table_row703*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable703) /*AbstractArray::add*/;
+    variable704 = ((parser_tables___ParserTable___action_table_row704_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row704))( self) /*ParserTable::action_table_row704*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable704) /*AbstractArray::add*/;
+    variable705 = ((parser_tables___ParserTable___action_table_row705_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row705))( self) /*ParserTable::action_table_row705*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable705) /*AbstractArray::add*/;
+    variable706 = ((parser_tables___ParserTable___action_table_row706_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row706))( self) /*ParserTable::action_table_row706*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable706) /*AbstractArray::add*/;
+    variable707 = ((parser_tables___ParserTable___action_table_row707_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row707))( self) /*ParserTable::action_table_row707*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable707) /*AbstractArray::add*/;
+    variable708 = ((parser_tables___ParserTable___action_table_row708_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row708))( self) /*ParserTable::action_table_row708*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable708) /*AbstractArray::add*/;
+    variable709 = ((parser_tables___ParserTable___action_table_row709_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row709))( self) /*ParserTable::action_table_row709*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable709) /*AbstractArray::add*/;
+    variable710 = ((parser_tables___ParserTable___action_table_row710_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row710))( self) /*ParserTable::action_table_row710*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable710) /*AbstractArray::add*/;
+    variable711 = ((parser_tables___ParserTable___action_table_row711_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row711))( self) /*ParserTable::action_table_row711*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable711) /*AbstractArray::add*/;
+    variable712 = ((parser_tables___ParserTable___action_table_row712_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row712))( self) /*ParserTable::action_table_row712*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable712) /*AbstractArray::add*/;
+    variable713 = ((parser_tables___ParserTable___action_table_row713_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row713))( self) /*ParserTable::action_table_row713*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable713) /*AbstractArray::add*/;
+    variable714 = ((parser_tables___ParserTable___action_table_row714_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row714))( self) /*ParserTable::action_table_row714*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable714) /*AbstractArray::add*/;
+    variable715 = ((parser_tables___ParserTable___action_table_row715_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row715))( self) /*ParserTable::action_table_row715*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable715) /*AbstractArray::add*/;
+    variable716 = ((parser_tables___ParserTable___action_table_row716_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row716))( self) /*ParserTable::action_table_row716*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable716) /*AbstractArray::add*/;
+    variable717 = ((parser_tables___ParserTable___action_table_row717_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row717))( self) /*ParserTable::action_table_row717*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable717) /*AbstractArray::add*/;
+    variable718 = ((parser_tables___ParserTable___action_table_row718_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row718))( self) /*ParserTable::action_table_row718*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable718) /*AbstractArray::add*/;
+    variable719 = ((parser_tables___ParserTable___action_table_row719_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row719))( self) /*ParserTable::action_table_row719*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable719) /*AbstractArray::add*/;
+    variable720 = ((parser_tables___ParserTable___action_table_row720_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row720))( self) /*ParserTable::action_table_row720*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable720) /*AbstractArray::add*/;
+    variable721 = ((parser_tables___ParserTable___action_table_row721_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row721))( self) /*ParserTable::action_table_row721*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable721) /*AbstractArray::add*/;
+    variable722 = ((parser_tables___ParserTable___action_table_row722_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row722))( self) /*ParserTable::action_table_row722*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable722) /*AbstractArray::add*/;
+    variable723 = ((parser_tables___ParserTable___action_table_row723_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row723))( self) /*ParserTable::action_table_row723*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable723) /*AbstractArray::add*/;
+    variable724 = ((parser_tables___ParserTable___action_table_row724_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row724))( self) /*ParserTable::action_table_row724*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable724) /*AbstractArray::add*/;
+    variable725 = ((parser_tables___ParserTable___action_table_row725_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row725))( self) /*ParserTable::action_table_row725*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable725) /*AbstractArray::add*/;
+    variable726 = ((parser_tables___ParserTable___action_table_row726_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row726))( self) /*ParserTable::action_table_row726*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable726) /*AbstractArray::add*/;
+    variable727 = ((parser_tables___ParserTable___action_table_row727_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row727))( self) /*ParserTable::action_table_row727*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable727) /*AbstractArray::add*/;
+    variable728 = ((parser_tables___ParserTable___action_table_row728_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row728))( self) /*ParserTable::action_table_row728*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable728) /*AbstractArray::add*/;
+    variable729 = ((parser_tables___ParserTable___action_table_row729_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row729))( self) /*ParserTable::action_table_row729*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable729) /*AbstractArray::add*/;
+    variable730 = ((parser_tables___ParserTable___action_table_row730_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row730))( self) /*ParserTable::action_table_row730*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable730) /*AbstractArray::add*/;
+    variable731 = ((parser_tables___ParserTable___action_table_row731_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row731))( self) /*ParserTable::action_table_row731*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable731) /*AbstractArray::add*/;
+    variable732 = ((parser_tables___ParserTable___action_table_row732_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row732))( self) /*ParserTable::action_table_row732*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable732) /*AbstractArray::add*/;
+    variable733 = ((parser_tables___ParserTable___action_table_row733_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row733))( self) /*ParserTable::action_table_row733*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable733) /*AbstractArray::add*/;
+    variable734 = ((parser_tables___ParserTable___action_table_row734_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row734))( self) /*ParserTable::action_table_row734*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable734) /*AbstractArray::add*/;
+    variable735 = ((parser_tables___ParserTable___action_table_row735_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row735))( self) /*ParserTable::action_table_row735*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable735) /*AbstractArray::add*/;
+    variable736 = ((parser_tables___ParserTable___action_table_row736_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row736))( self) /*ParserTable::action_table_row736*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable736) /*AbstractArray::add*/;
+    variable737 = ((parser_tables___ParserTable___action_table_row737_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row737))( self) /*ParserTable::action_table_row737*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable737) /*AbstractArray::add*/;
+    variable738 = ((parser_tables___ParserTable___action_table_row738_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row738))( self) /*ParserTable::action_table_row738*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable738) /*AbstractArray::add*/;
+    variable739 = ((parser_tables___ParserTable___action_table_row739_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row739))( self) /*ParserTable::action_table_row739*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable739) /*AbstractArray::add*/;
+    variable740 = ((parser_tables___ParserTable___action_table_row740_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row740))( self) /*ParserTable::action_table_row740*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable740) /*AbstractArray::add*/;
+    variable741 = ((parser_tables___ParserTable___action_table_row741_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row741))( self) /*ParserTable::action_table_row741*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable741) /*AbstractArray::add*/;
+    variable742 = ((parser_tables___ParserTable___action_table_row742_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row742))( self) /*ParserTable::action_table_row742*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable742) /*AbstractArray::add*/;
+    variable743 = ((parser_tables___ParserTable___action_table_row743_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row743))( self) /*ParserTable::action_table_row743*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable743) /*AbstractArray::add*/;
+    variable744 = ((parser_tables___ParserTable___action_table_row744_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row744))( self) /*ParserTable::action_table_row744*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable744) /*AbstractArray::add*/;
+    variable745 = ((parser_tables___ParserTable___action_table_row745_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row745))( self) /*ParserTable::action_table_row745*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable745) /*AbstractArray::add*/;
+    variable746 = ((parser_tables___ParserTable___action_table_row746_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row746))( self) /*ParserTable::action_table_row746*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable746) /*AbstractArray::add*/;
+    variable747 = ((parser_tables___ParserTable___action_table_row747_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row747))( self) /*ParserTable::action_table_row747*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable747) /*AbstractArray::add*/;
+    variable748 = ((parser_tables___ParserTable___action_table_row748_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row748))( self) /*ParserTable::action_table_row748*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable748) /*AbstractArray::add*/;
+    variable749 = ((parser_tables___ParserTable___action_table_row749_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row749))( self) /*ParserTable::action_table_row749*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable749) /*AbstractArray::add*/;
+    variable750 = ((parser_tables___ParserTable___action_table_row750_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row750))( self) /*ParserTable::action_table_row750*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable750) /*AbstractArray::add*/;
+    variable751 = ((parser_tables___ParserTable___action_table_row751_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row751))( self) /*ParserTable::action_table_row751*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable751) /*AbstractArray::add*/;
+    variable752 = ((parser_tables___ParserTable___action_table_row752_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row752))( self) /*ParserTable::action_table_row752*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable752) /*AbstractArray::add*/;
+    variable753 = ((parser_tables___ParserTable___action_table_row753_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row753))( self) /*ParserTable::action_table_row753*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable753) /*AbstractArray::add*/;
+    variable754 = ((parser_tables___ParserTable___action_table_row754_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row754))( self) /*ParserTable::action_table_row754*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable754) /*AbstractArray::add*/;
+    variable755 = ((parser_tables___ParserTable___action_table_row755_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row755))( self) /*ParserTable::action_table_row755*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable755) /*AbstractArray::add*/;
+    variable756 = ((parser_tables___ParserTable___action_table_row756_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row756))( self) /*ParserTable::action_table_row756*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable756) /*AbstractArray::add*/;
+    variable757 = ((parser_tables___ParserTable___action_table_row757_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row757))( self) /*ParserTable::action_table_row757*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable757) /*AbstractArray::add*/;
+    variable758 = ((parser_tables___ParserTable___action_table_row758_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row758))( self) /*ParserTable::action_table_row758*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable758) /*AbstractArray::add*/;
+    variable759 = ((parser_tables___ParserTable___action_table_row759_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row759))( self) /*ParserTable::action_table_row759*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable759) /*AbstractArray::add*/;
+    variable760 = ((parser_tables___ParserTable___action_table_row760_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row760))( self) /*ParserTable::action_table_row760*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable760) /*AbstractArray::add*/;
+    variable761 = ((parser_tables___ParserTable___action_table_row761_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row761))( self) /*ParserTable::action_table_row761*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable761) /*AbstractArray::add*/;
+    variable762 = ((parser_tables___ParserTable___action_table_row762_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row762))( self) /*ParserTable::action_table_row762*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable762) /*AbstractArray::add*/;
+    variable763 = ((parser_tables___ParserTable___action_table_row763_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row763))( self) /*ParserTable::action_table_row763*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable763) /*AbstractArray::add*/;
+    variable764 = ((parser_tables___ParserTable___action_table_row764_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row764))( self) /*ParserTable::action_table_row764*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable764) /*AbstractArray::add*/;
+    variable765 = ((parser_tables___ParserTable___action_table_row765_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row765))( self) /*ParserTable::action_table_row765*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable765) /*AbstractArray::add*/;
+    variable766 = ((parser_tables___ParserTable___action_table_row766_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row766))( self) /*ParserTable::action_table_row766*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable766) /*AbstractArray::add*/;
+    variable767 = ((parser_tables___ParserTable___action_table_row767_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row767))( self) /*ParserTable::action_table_row767*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable767) /*AbstractArray::add*/;
+    variable768 = ((parser_tables___ParserTable___action_table_row768_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row768))( self) /*ParserTable::action_table_row768*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable768) /*AbstractArray::add*/;
+    variable769 = ((parser_tables___ParserTable___action_table_row769_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row769))( self) /*ParserTable::action_table_row769*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable769) /*AbstractArray::add*/;
+    variable770 = ((parser_tables___ParserTable___action_table_row770_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row770))( self) /*ParserTable::action_table_row770*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable770) /*AbstractArray::add*/;
+    variable771 = ((parser_tables___ParserTable___action_table_row771_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row771))( self) /*ParserTable::action_table_row771*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable771) /*AbstractArray::add*/;
+    variable772 = ((parser_tables___ParserTable___action_table_row772_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row772))( self) /*ParserTable::action_table_row772*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable772) /*AbstractArray::add*/;
+    variable773 = ((parser_tables___ParserTable___action_table_row773_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row773))( self) /*ParserTable::action_table_row773*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable773) /*AbstractArray::add*/;
+    variable774 = ((parser_tables___ParserTable___action_table_row774_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row774))( self) /*ParserTable::action_table_row774*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable774) /*AbstractArray::add*/;
+    variable775 = ((parser_tables___ParserTable___action_table_row775_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row775))( self) /*ParserTable::action_table_row775*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable775) /*AbstractArray::add*/;
+    variable776 = ((parser_tables___ParserTable___action_table_row776_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row776))( self) /*ParserTable::action_table_row776*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable776) /*AbstractArray::add*/;
+    variable777 = ((parser_tables___ParserTable___action_table_row777_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row777))( self) /*ParserTable::action_table_row777*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable777) /*AbstractArray::add*/;
+    variable778 = ((parser_tables___ParserTable___action_table_row778_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row778))( self) /*ParserTable::action_table_row778*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable778) /*AbstractArray::add*/;
+    variable779 = ((parser_tables___ParserTable___action_table_row779_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row779))( self) /*ParserTable::action_table_row779*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable779) /*AbstractArray::add*/;
+    variable780 = ((parser_tables___ParserTable___action_table_row780_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row780))( self) /*ParserTable::action_table_row780*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable780) /*AbstractArray::add*/;
+    variable781 = ((parser_tables___ParserTable___action_table_row781_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row781))( self) /*ParserTable::action_table_row781*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable781) /*AbstractArray::add*/;
+    variable782 = ((parser_tables___ParserTable___action_table_row782_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row782))( self) /*ParserTable::action_table_row782*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable782) /*AbstractArray::add*/;
+    variable783 = ((parser_tables___ParserTable___action_table_row783_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row783))( self) /*ParserTable::action_table_row783*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable783) /*AbstractArray::add*/;
+    variable784 = ((parser_tables___ParserTable___action_table_row784_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row784))( self) /*ParserTable::action_table_row784*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable784) /*AbstractArray::add*/;
+    variable785 = ((parser_tables___ParserTable___action_table_row785_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row785))( self) /*ParserTable::action_table_row785*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable785) /*AbstractArray::add*/;
+    variable786 = ((parser_tables___ParserTable___action_table_row786_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row786))( self) /*ParserTable::action_table_row786*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable786) /*AbstractArray::add*/;
+    variable787 = ((parser_tables___ParserTable___action_table_row787_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row787))( self) /*ParserTable::action_table_row787*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable787) /*AbstractArray::add*/;
+    variable788 = ((parser_tables___ParserTable___action_table_row788_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row788))( self) /*ParserTable::action_table_row788*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable788) /*AbstractArray::add*/;
+    variable789 = ((parser_tables___ParserTable___action_table_row789_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row789))( self) /*ParserTable::action_table_row789*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable789) /*AbstractArray::add*/;
+    variable790 = ((parser_tables___ParserTable___action_table_row790_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row790))( self) /*ParserTable::action_table_row790*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable790) /*AbstractArray::add*/;
+    variable791 = ((parser_tables___ParserTable___action_table_row791_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row791))( self) /*ParserTable::action_table_row791*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable791) /*AbstractArray::add*/;
+    variable792 = ((parser_tables___ParserTable___action_table_row792_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row792))( self) /*ParserTable::action_table_row792*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable792) /*AbstractArray::add*/;
+    variable793 = ((parser_tables___ParserTable___action_table_row793_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row793))( self) /*ParserTable::action_table_row793*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable793) /*AbstractArray::add*/;
+    variable794 = ((parser_tables___ParserTable___action_table_row794_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row794))( self) /*ParserTable::action_table_row794*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable794) /*AbstractArray::add*/;
+    variable795 = ((parser_tables___ParserTable___action_table_row795_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row795))( self) /*ParserTable::action_table_row795*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable795) /*AbstractArray::add*/;
+    variable796 = ((parser_tables___ParserTable___action_table_row796_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row796))( self) /*ParserTable::action_table_row796*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable796) /*AbstractArray::add*/;
+    variable797 = ((parser_tables___ParserTable___action_table_row797_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row797))( self) /*ParserTable::action_table_row797*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable797) /*AbstractArray::add*/;
+    variable798 = ((parser_tables___ParserTable___action_table_row798_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row798))( self) /*ParserTable::action_table_row798*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable798) /*AbstractArray::add*/;
+    variable799 = ((parser_tables___ParserTable___action_table_row799_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row799))( self) /*ParserTable::action_table_row799*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable799) /*AbstractArray::add*/;
+    variable800 = ((parser_tables___ParserTable___action_table_row800_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row800))( self) /*ParserTable::action_table_row800*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable800) /*AbstractArray::add*/;
+    variable801 = ((parser_tables___ParserTable___action_table_row801_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row801))( self) /*ParserTable::action_table_row801*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable801) /*AbstractArray::add*/;
+    variable802 = ((parser_tables___ParserTable___action_table_row802_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row802))( self) /*ParserTable::action_table_row802*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable802) /*AbstractArray::add*/;
+    variable803 = ((parser_tables___ParserTable___action_table_row803_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row803))( self) /*ParserTable::action_table_row803*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable803) /*AbstractArray::add*/;
+    variable804 = ((parser_tables___ParserTable___action_table_row804_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row804))( self) /*ParserTable::action_table_row804*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable804) /*AbstractArray::add*/;
+    variable805 = ((parser_tables___ParserTable___action_table_row805_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row805))( self) /*ParserTable::action_table_row805*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable805) /*AbstractArray::add*/;
+    variable806 = ((parser_tables___ParserTable___action_table_row806_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row806))( self) /*ParserTable::action_table_row806*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable806) /*AbstractArray::add*/;
+    variable807 = ((parser_tables___ParserTable___action_table_row807_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row807))( self) /*ParserTable::action_table_row807*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable807) /*AbstractArray::add*/;
+    variable808 = ((parser_tables___ParserTable___action_table_row808_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row808))( self) /*ParserTable::action_table_row808*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable808) /*AbstractArray::add*/;
+    variable809 = ((parser_tables___ParserTable___action_table_row809_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row809))( self) /*ParserTable::action_table_row809*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable809) /*AbstractArray::add*/;
+    variable810 = ((parser_tables___ParserTable___action_table_row810_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row810))( self) /*ParserTable::action_table_row810*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable810) /*AbstractArray::add*/;
+    variable811 = ((parser_tables___ParserTable___action_table_row811_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row811))( self) /*ParserTable::action_table_row811*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable811) /*AbstractArray::add*/;
+    variable812 = ((parser_tables___ParserTable___action_table_row812_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row812))( self) /*ParserTable::action_table_row812*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable812) /*AbstractArray::add*/;
+    variable813 = ((parser_tables___ParserTable___action_table_row813_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row813))( self) /*ParserTable::action_table_row813*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable813) /*AbstractArray::add*/;
+    variable814 = ((parser_tables___ParserTable___action_table_row814_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row814))( self) /*ParserTable::action_table_row814*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable814) /*AbstractArray::add*/;
+    variable815 = ((parser_tables___ParserTable___action_table_row815_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row815))( self) /*ParserTable::action_table_row815*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable815) /*AbstractArray::add*/;
+    variable816 = ((parser_tables___ParserTable___action_table_row816_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row816))( self) /*ParserTable::action_table_row816*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable816) /*AbstractArray::add*/;
+    variable817 = ((parser_tables___ParserTable___action_table_row817_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row817))( self) /*ParserTable::action_table_row817*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable817) /*AbstractArray::add*/;
+    variable818 = ((parser_tables___ParserTable___action_table_row818_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row818))( self) /*ParserTable::action_table_row818*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable818) /*AbstractArray::add*/;
+    variable819 = ((parser_tables___ParserTable___action_table_row819_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row819))( self) /*ParserTable::action_table_row819*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable819) /*AbstractArray::add*/;
+    variable820 = ((parser_tables___ParserTable___action_table_row820_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row820))( self) /*ParserTable::action_table_row820*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable820) /*AbstractArray::add*/;
+    variable821 = ((parser_tables___ParserTable___action_table_row821_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row821))( self) /*ParserTable::action_table_row821*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable821) /*AbstractArray::add*/;
+    variable822 = ((parser_tables___ParserTable___action_table_row822_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row822))( self) /*ParserTable::action_table_row822*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable822) /*AbstractArray::add*/;
+    variable823 = ((parser_tables___ParserTable___action_table_row823_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row823))( self) /*ParserTable::action_table_row823*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable823) /*AbstractArray::add*/;
+    variable824 = ((parser_tables___ParserTable___action_table_row824_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row824))( self) /*ParserTable::action_table_row824*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable824) /*AbstractArray::add*/;
+    variable825 = ((parser_tables___ParserTable___action_table_row825_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row825))( self) /*ParserTable::action_table_row825*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable825) /*AbstractArray::add*/;
+    variable826 = ((parser_tables___ParserTable___action_table_row826_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row826))( self) /*ParserTable::action_table_row826*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable826) /*AbstractArray::add*/;
+    variable827 = ((parser_tables___ParserTable___action_table_row827_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row827))( self) /*ParserTable::action_table_row827*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable827) /*AbstractArray::add*/;
+    variable828 = ((parser_tables___ParserTable___action_table_row828_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row828))( self) /*ParserTable::action_table_row828*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable828) /*AbstractArray::add*/;
+    variable829 = ((parser_tables___ParserTable___action_table_row829_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row829))( self) /*ParserTable::action_table_row829*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable829) /*AbstractArray::add*/;
+    variable830 = ((parser_tables___ParserTable___action_table_row830_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row830))( self) /*ParserTable::action_table_row830*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable830) /*AbstractArray::add*/;
+    variable831 = ((parser_tables___ParserTable___action_table_row831_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row831))( self) /*ParserTable::action_table_row831*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable831) /*AbstractArray::add*/;
+    variable832 = ((parser_tables___ParserTable___action_table_row832_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row832))( self) /*ParserTable::action_table_row832*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable832) /*AbstractArray::add*/;
+    variable833 = ((parser_tables___ParserTable___action_table_row833_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row833))( self) /*ParserTable::action_table_row833*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable833) /*AbstractArray::add*/;
+    variable834 = ((parser_tables___ParserTable___action_table_row834_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row834))( self) /*ParserTable::action_table_row834*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable834) /*AbstractArray::add*/;
+    variable835 = ((parser_tables___ParserTable___action_table_row835_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row835))( self) /*ParserTable::action_table_row835*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable835) /*AbstractArray::add*/;
+    variable836 = ((parser_tables___ParserTable___action_table_row836_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row836))( self) /*ParserTable::action_table_row836*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable836) /*AbstractArray::add*/;
+    variable837 = ((parser_tables___ParserTable___action_table_row837_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row837))( self) /*ParserTable::action_table_row837*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable837) /*AbstractArray::add*/;
+    variable838 = ((parser_tables___ParserTable___action_table_row838_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row838))( self) /*ParserTable::action_table_row838*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable838) /*AbstractArray::add*/;
+    variable839 = ((parser_tables___ParserTable___action_table_row839_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row839))( self) /*ParserTable::action_table_row839*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable839) /*AbstractArray::add*/;
+    variable840 = ((parser_tables___ParserTable___action_table_row840_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row840))( self) /*ParserTable::action_table_row840*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable840) /*AbstractArray::add*/;
+    variable841 = ((parser_tables___ParserTable___action_table_row841_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row841))( self) /*ParserTable::action_table_row841*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable841) /*AbstractArray::add*/;
+    variable842 = ((parser_tables___ParserTable___action_table_row842_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row842))( self) /*ParserTable::action_table_row842*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable842) /*AbstractArray::add*/;
+    variable843 = ((parser_tables___ParserTable___action_table_row843_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row843))( self) /*ParserTable::action_table_row843*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable843) /*AbstractArray::add*/;
+    variable844 = ((parser_tables___ParserTable___action_table_row844_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row844))( self) /*ParserTable::action_table_row844*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable844) /*AbstractArray::add*/;
+    variable845 = ((parser_tables___ParserTable___action_table_row845_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row845))( self) /*ParserTable::action_table_row845*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable845) /*AbstractArray::add*/;
+    variable846 = ((parser_tables___ParserTable___action_table_row846_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row846))( self) /*ParserTable::action_table_row846*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable846) /*AbstractArray::add*/;
+    variable847 = ((parser_tables___ParserTable___action_table_row847_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row847))( self) /*ParserTable::action_table_row847*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable847) /*AbstractArray::add*/;
+    variable848 = ((parser_tables___ParserTable___action_table_row848_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row848))( self) /*ParserTable::action_table_row848*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable848) /*AbstractArray::add*/;
+    variable849 = ((parser_tables___ParserTable___action_table_row849_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row849))( self) /*ParserTable::action_table_row849*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable849) /*AbstractArray::add*/;
+    variable850 = ((parser_tables___ParserTable___action_table_row850_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row850))( self) /*ParserTable::action_table_row850*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable850) /*AbstractArray::add*/;
+    variable851 = ((parser_tables___ParserTable___action_table_row851_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row851))( self) /*ParserTable::action_table_row851*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable851) /*AbstractArray::add*/;
+    variable852 = ((parser_tables___ParserTable___action_table_row852_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row852))( self) /*ParserTable::action_table_row852*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable852) /*AbstractArray::add*/;
+    variable853 = ((parser_tables___ParserTable___action_table_row853_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row853))( self) /*ParserTable::action_table_row853*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable853) /*AbstractArray::add*/;
+    variable854 = ((parser_tables___ParserTable___action_table_row854_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row854))( self) /*ParserTable::action_table_row854*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable854) /*AbstractArray::add*/;
+    variable855 = ((parser_tables___ParserTable___action_table_row855_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row855))( self) /*ParserTable::action_table_row855*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable855) /*AbstractArray::add*/;
+    variable856 = ((parser_tables___ParserTable___action_table_row856_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row856))( self) /*ParserTable::action_table_row856*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable856) /*AbstractArray::add*/;
+    variable857 = ((parser_tables___ParserTable___action_table_row857_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row857))( self) /*ParserTable::action_table_row857*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable857) /*AbstractArray::add*/;
+    variable858 = ((parser_tables___ParserTable___action_table_row858_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row858))( self) /*ParserTable::action_table_row858*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable858) /*AbstractArray::add*/;
+    variable859 = ((parser_tables___ParserTable___action_table_row859_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row859))( self) /*ParserTable::action_table_row859*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable859) /*AbstractArray::add*/;
+    variable860 = ((parser_tables___ParserTable___action_table_row860_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row860))( self) /*ParserTable::action_table_row860*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable860) /*AbstractArray::add*/;
+    variable861 = ((parser_tables___ParserTable___action_table_row861_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row861))( self) /*ParserTable::action_table_row861*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable861) /*AbstractArray::add*/;
+    variable862 = ((parser_tables___ParserTable___action_table_row862_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row862))( self) /*ParserTable::action_table_row862*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable862) /*AbstractArray::add*/;
+    variable863 = ((parser_tables___ParserTable___action_table_row863_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row863))( self) /*ParserTable::action_table_row863*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable863) /*AbstractArray::add*/;
+    variable864 = ((parser_tables___ParserTable___action_table_row864_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row864))( self) /*ParserTable::action_table_row864*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable864) /*AbstractArray::add*/;
+    variable865 = ((parser_tables___ParserTable___action_table_row865_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row865))( self) /*ParserTable::action_table_row865*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable865) /*AbstractArray::add*/;
+    variable866 = ((parser_tables___ParserTable___action_table_row866_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row866))( self) /*ParserTable::action_table_row866*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable866) /*AbstractArray::add*/;
+    variable867 = ((parser_tables___ParserTable___action_table_row867_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row867))( self) /*ParserTable::action_table_row867*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable867) /*AbstractArray::add*/;
+    variable868 = ((parser_tables___ParserTable___action_table_row868_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row868))( self) /*ParserTable::action_table_row868*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable868) /*AbstractArray::add*/;
+    variable869 = ((parser_tables___ParserTable___action_table_row869_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row869))( self) /*ParserTable::action_table_row869*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable869) /*AbstractArray::add*/;
+    variable870 = ((parser_tables___ParserTable___action_table_row870_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row870))( self) /*ParserTable::action_table_row870*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable870) /*AbstractArray::add*/;
+    variable871 = ((parser_tables___ParserTable___action_table_row871_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row871))( self) /*ParserTable::action_table_row871*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable871) /*AbstractArray::add*/;
+    variable872 = ((parser_tables___ParserTable___action_table_row872_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row872))( self) /*ParserTable::action_table_row872*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable872) /*AbstractArray::add*/;
+    variable873 = ((parser_tables___ParserTable___action_table_row873_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row873))( self) /*ParserTable::action_table_row873*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable873) /*AbstractArray::add*/;
+    variable874 = ((parser_tables___ParserTable___action_table_row874_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row874))( self) /*ParserTable::action_table_row874*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable874) /*AbstractArray::add*/;
+    variable875 = ((parser_tables___ParserTable___action_table_row875_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row875))( self) /*ParserTable::action_table_row875*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable875) /*AbstractArray::add*/;
+    variable876 = ((parser_tables___ParserTable___action_table_row876_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row876))( self) /*ParserTable::action_table_row876*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable876) /*AbstractArray::add*/;
+    variable877 = ((parser_tables___ParserTable___action_table_row877_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row877))( self) /*ParserTable::action_table_row877*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable877) /*AbstractArray::add*/;
+    variable878 = ((parser_tables___ParserTable___action_table_row878_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row878))( self) /*ParserTable::action_table_row878*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable878) /*AbstractArray::add*/;
+    variable879 = ((parser_tables___ParserTable___action_table_row879_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row879))( self) /*ParserTable::action_table_row879*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable879) /*AbstractArray::add*/;
+    variable880 = ((parser_tables___ParserTable___action_table_row880_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row880))( self) /*ParserTable::action_table_row880*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable880) /*AbstractArray::add*/;
+    variable881 = ((parser_tables___ParserTable___action_table_row881_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row881))( self) /*ParserTable::action_table_row881*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable881) /*AbstractArray::add*/;
+    variable882 = ((parser_tables___ParserTable___action_table_row882_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row882))( self) /*ParserTable::action_table_row882*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable882) /*AbstractArray::add*/;
+    variable883 = ((parser_tables___ParserTable___action_table_row883_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row883))( self) /*ParserTable::action_table_row883*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable883) /*AbstractArray::add*/;
+    variable884 = ((parser_tables___ParserTable___action_table_row884_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row884))( self) /*ParserTable::action_table_row884*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable884) /*AbstractArray::add*/;
+    variable885 = ((parser_tables___ParserTable___action_table_row885_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row885))( self) /*ParserTable::action_table_row885*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable885) /*AbstractArray::add*/;
+    variable886 = ((parser_tables___ParserTable___action_table_row886_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row886))( self) /*ParserTable::action_table_row886*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable886) /*AbstractArray::add*/;
+    variable887 = ((parser_tables___ParserTable___action_table_row887_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row887))( self) /*ParserTable::action_table_row887*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable887) /*AbstractArray::add*/;
+    variable888 = ((parser_tables___ParserTable___action_table_row888_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row888))( self) /*ParserTable::action_table_row888*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable888) /*AbstractArray::add*/;
+    variable889 = ((parser_tables___ParserTable___action_table_row889_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row889))( self) /*ParserTable::action_table_row889*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable889) /*AbstractArray::add*/;
+    variable890 = ((parser_tables___ParserTable___action_table_row890_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row890))( self) /*ParserTable::action_table_row890*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable890) /*AbstractArray::add*/;
+    variable891 = ((parser_tables___ParserTable___action_table_row891_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row891))( self) /*ParserTable::action_table_row891*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable891) /*AbstractArray::add*/;
+    variable892 = ((parser_tables___ParserTable___action_table_row892_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row892))( self) /*ParserTable::action_table_row892*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable892) /*AbstractArray::add*/;
+    variable893 = ((parser_tables___ParserTable___action_table_row893_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row893))( self) /*ParserTable::action_table_row893*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable893) /*AbstractArray::add*/;
+    variable894 = ((parser_tables___ParserTable___action_table_row894_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row894))( self) /*ParserTable::action_table_row894*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable894) /*AbstractArray::add*/;
+    variable895 = ((parser_tables___ParserTable___action_table_row895_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row895))( self) /*ParserTable::action_table_row895*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable895) /*AbstractArray::add*/;
+    variable896 = ((parser_tables___ParserTable___action_table_row896_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row896))( self) /*ParserTable::action_table_row896*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable896) /*AbstractArray::add*/;
+    variable897 = ((parser_tables___ParserTable___action_table_row897_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row897))( self) /*ParserTable::action_table_row897*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable897) /*AbstractArray::add*/;
+    variable898 = ((parser_tables___ParserTable___action_table_row898_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row898))( self) /*ParserTable::action_table_row898*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable898) /*AbstractArray::add*/;
+    variable899 = ((parser_tables___ParserTable___action_table_row899_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row899))( self) /*ParserTable::action_table_row899*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable899) /*AbstractArray::add*/;
+    variable900 = ((parser_tables___ParserTable___action_table_row900_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row900))( self) /*ParserTable::action_table_row900*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable900) /*AbstractArray::add*/;
+    variable901 = ((parser_tables___ParserTable___action_table_row901_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row901))( self) /*ParserTable::action_table_row901*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable901) /*AbstractArray::add*/;
+    variable902 = ((parser_tables___ParserTable___action_table_row902_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row902))( self) /*ParserTable::action_table_row902*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable902) /*AbstractArray::add*/;
+    variable903 = ((parser_tables___ParserTable___action_table_row903_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row903))( self) /*ParserTable::action_table_row903*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable903) /*AbstractArray::add*/;
+    variable904 = ((parser_tables___ParserTable___action_table_row904_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row904))( self) /*ParserTable::action_table_row904*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable904) /*AbstractArray::add*/;
+    variable905 = ((parser_tables___ParserTable___action_table_row905_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row905))( self) /*ParserTable::action_table_row905*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable905) /*AbstractArray::add*/;
+    variable906 = ((parser_tables___ParserTable___action_table_row906_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row906))( self) /*ParserTable::action_table_row906*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable906) /*AbstractArray::add*/;
+    variable907 = ((parser_tables___ParserTable___action_table_row907_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row907))( self) /*ParserTable::action_table_row907*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable907) /*AbstractArray::add*/;
+    variable908 = ((parser_tables___ParserTable___action_table_row908_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row908))( self) /*ParserTable::action_table_row908*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable908) /*AbstractArray::add*/;
+    variable909 = ((parser_tables___ParserTable___action_table_row909_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row909))( self) /*ParserTable::action_table_row909*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable909) /*AbstractArray::add*/;
+    variable910 = ((parser_tables___ParserTable___action_table_row910_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row910))( self) /*ParserTable::action_table_row910*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable910) /*AbstractArray::add*/;
+    variable911 = ((parser_tables___ParserTable___action_table_row911_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row911))( self) /*ParserTable::action_table_row911*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable911) /*AbstractArray::add*/;
+    variable912 = ((parser_tables___ParserTable___action_table_row912_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row912))( self) /*ParserTable::action_table_row912*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable912) /*AbstractArray::add*/;
+    variable913 = ((parser_tables___ParserTable___action_table_row913_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row913))( self) /*ParserTable::action_table_row913*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable913) /*AbstractArray::add*/;
+    variable914 = ((parser_tables___ParserTable___action_table_row914_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row914))( self) /*ParserTable::action_table_row914*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable914) /*AbstractArray::add*/;
+    variable915 = ((parser_tables___ParserTable___action_table_row915_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row915))( self) /*ParserTable::action_table_row915*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable915) /*AbstractArray::add*/;
+    variable916 = ((parser_tables___ParserTable___action_table_row916_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row916))( self) /*ParserTable::action_table_row916*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable916) /*AbstractArray::add*/;
+    variable917 = ((parser_tables___ParserTable___action_table_row917_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row917))( self) /*ParserTable::action_table_row917*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable917) /*AbstractArray::add*/;
+    variable918 = ((parser_tables___ParserTable___action_table_row918_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row918))( self) /*ParserTable::action_table_row918*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable918) /*AbstractArray::add*/;
+    variable919 = ((parser_tables___ParserTable___action_table_row919_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row919))( self) /*ParserTable::action_table_row919*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable919) /*AbstractArray::add*/;
+    variable920 = ((parser_tables___ParserTable___action_table_row920_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row920))( self) /*ParserTable::action_table_row920*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable920) /*AbstractArray::add*/;
+    variable921 = ((parser_tables___ParserTable___action_table_row921_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row921))( self) /*ParserTable::action_table_row921*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable921) /*AbstractArray::add*/;
+    variable922 = ((parser_tables___ParserTable___action_table_row922_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row922))( self) /*ParserTable::action_table_row922*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable922) /*AbstractArray::add*/;
+    variable923 = ((parser_tables___ParserTable___action_table_row923_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row923))( self) /*ParserTable::action_table_row923*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable923) /*AbstractArray::add*/;
+    variable924 = ((parser_tables___ParserTable___action_table_row924_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row924))( self) /*ParserTable::action_table_row924*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable924) /*AbstractArray::add*/;
+    variable925 = ((parser_tables___ParserTable___action_table_row925_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row925))( self) /*ParserTable::action_table_row925*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable925) /*AbstractArray::add*/;
+    variable926 = ((parser_tables___ParserTable___action_table_row926_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row926))( self) /*ParserTable::action_table_row926*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable926) /*AbstractArray::add*/;
+    variable927 = ((parser_tables___ParserTable___action_table_row927_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row927))( self) /*ParserTable::action_table_row927*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable927) /*AbstractArray::add*/;
+    variable928 = ((parser_tables___ParserTable___action_table_row928_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row928))( self) /*ParserTable::action_table_row928*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable928) /*AbstractArray::add*/;
+    variable929 = ((parser_tables___ParserTable___action_table_row929_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row929))( self) /*ParserTable::action_table_row929*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable929) /*AbstractArray::add*/;
+    variable930 = ((parser_tables___ParserTable___action_table_row930_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row930))( self) /*ParserTable::action_table_row930*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable930) /*AbstractArray::add*/;
+    variable931 = ((parser_tables___ParserTable___action_table_row931_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row931))( self) /*ParserTable::action_table_row931*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable931) /*AbstractArray::add*/;
+    variable932 = ((parser_tables___ParserTable___action_table_row932_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row932))( self) /*ParserTable::action_table_row932*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable932) /*AbstractArray::add*/;
+    variable933 = ((parser_tables___ParserTable___action_table_row933_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row933))( self) /*ParserTable::action_table_row933*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable933) /*AbstractArray::add*/;
+    variable934 = ((parser_tables___ParserTable___action_table_row934_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row934))( self) /*ParserTable::action_table_row934*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable934) /*AbstractArray::add*/;
+    variable935 = ((parser_tables___ParserTable___action_table_row935_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row935))( self) /*ParserTable::action_table_row935*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable935) /*AbstractArray::add*/;
+    variable936 = ((parser_tables___ParserTable___action_table_row936_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row936))( self) /*ParserTable::action_table_row936*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable936) /*AbstractArray::add*/;
+    variable937 = ((parser_tables___ParserTable___action_table_row937_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row937))( self) /*ParserTable::action_table_row937*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable937) /*AbstractArray::add*/;
+    variable938 = ((parser_tables___ParserTable___action_table_row938_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row938))( self) /*ParserTable::action_table_row938*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable938) /*AbstractArray::add*/;
+    variable939 = ((parser_tables___ParserTable___action_table_row939_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row939))( self) /*ParserTable::action_table_row939*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable939) /*AbstractArray::add*/;
+    variable940 = ((parser_tables___ParserTable___action_table_row940_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row940))( self) /*ParserTable::action_table_row940*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable940) /*AbstractArray::add*/;
+    variable941 = ((parser_tables___ParserTable___action_table_row941_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row941))( self) /*ParserTable::action_table_row941*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable941) /*AbstractArray::add*/;
+    variable942 = ((parser_tables___ParserTable___action_table_row942_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row942))( self) /*ParserTable::action_table_row942*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable942) /*AbstractArray::add*/;
+    variable943 = ((parser_tables___ParserTable___action_table_row943_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row943))( self) /*ParserTable::action_table_row943*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable943) /*AbstractArray::add*/;
+    variable944 = ((parser_tables___ParserTable___action_table_row944_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row944))( self) /*ParserTable::action_table_row944*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable944) /*AbstractArray::add*/;
+    variable945 = ((parser_tables___ParserTable___action_table_row945_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row945))( self) /*ParserTable::action_table_row945*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable945) /*AbstractArray::add*/;
+    variable946 = ((parser_tables___ParserTable___action_table_row946_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row946))( self) /*ParserTable::action_table_row946*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable946) /*AbstractArray::add*/;
+    variable947 = ((parser_tables___ParserTable___action_table_row947_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row947))( self) /*ParserTable::action_table_row947*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable947) /*AbstractArray::add*/;
+    variable948 = ((parser_tables___ParserTable___action_table_row948_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row948))( self) /*ParserTable::action_table_row948*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable948) /*AbstractArray::add*/;
+    variable949 = ((parser_tables___ParserTable___action_table_row949_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row949))( self) /*ParserTable::action_table_row949*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable949) /*AbstractArray::add*/;
+    variable950 = ((parser_tables___ParserTable___action_table_row950_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row950))( self) /*ParserTable::action_table_row950*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable950) /*AbstractArray::add*/;
+    variable951 = ((parser_tables___ParserTable___action_table_row951_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row951))( self) /*ParserTable::action_table_row951*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable951) /*AbstractArray::add*/;
+    variable952 = ((parser_tables___ParserTable___action_table_row952_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row952))( self) /*ParserTable::action_table_row952*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable952) /*AbstractArray::add*/;
+    variable953 = ((parser_tables___ParserTable___action_table_row953_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row953))( self) /*ParserTable::action_table_row953*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable953) /*AbstractArray::add*/;
+    variable954 = ((parser_tables___ParserTable___action_table_row954_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row954))( self) /*ParserTable::action_table_row954*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable954) /*AbstractArray::add*/;
+    variable955 = ((parser_tables___ParserTable___action_table_row955_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row955))( self) /*ParserTable::action_table_row955*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable955) /*AbstractArray::add*/;
+    variable956 = ((parser_tables___ParserTable___action_table_row956_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row956))( self) /*ParserTable::action_table_row956*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable956) /*AbstractArray::add*/;
+    variable957 = ((parser_tables___ParserTable___action_table_row957_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row957))( self) /*ParserTable::action_table_row957*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable957) /*AbstractArray::add*/;
+    variable958 = ((parser_tables___ParserTable___action_table_row958_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row958))( self) /*ParserTable::action_table_row958*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable958) /*AbstractArray::add*/;
+    variable959 = ((parser_tables___ParserTable___action_table_row959_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row959))( self) /*ParserTable::action_table_row959*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable959) /*AbstractArray::add*/;
+    variable960 = ((parser_tables___ParserTable___action_table_row960_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row960))( self) /*ParserTable::action_table_row960*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable960) /*AbstractArray::add*/;
+    variable961 = ((parser_tables___ParserTable___action_table_row961_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row961))( self) /*ParserTable::action_table_row961*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable961) /*AbstractArray::add*/;
+    variable962 = ((parser_tables___ParserTable___action_table_row962_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row962))( self) /*ParserTable::action_table_row962*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable962) /*AbstractArray::add*/;
+    variable963 = ((parser_tables___ParserTable___action_table_row963_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row963))( self) /*ParserTable::action_table_row963*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable963) /*AbstractArray::add*/;
+    variable964 = ((parser_tables___ParserTable___action_table_row964_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row964))( self) /*ParserTable::action_table_row964*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable964) /*AbstractArray::add*/;
+    variable965 = ((parser_tables___ParserTable___action_table_row965_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row965))( self) /*ParserTable::action_table_row965*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable965) /*AbstractArray::add*/;
+    variable966 = ((parser_tables___ParserTable___action_table_row966_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row966))( self) /*ParserTable::action_table_row966*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable966) /*AbstractArray::add*/;
+    variable967 = ((parser_tables___ParserTable___action_table_row967_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row967))( self) /*ParserTable::action_table_row967*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable967) /*AbstractArray::add*/;
+    variable968 = ((parser_tables___ParserTable___action_table_row968_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row968))( self) /*ParserTable::action_table_row968*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable968) /*AbstractArray::add*/;
+    variable969 = ((parser_tables___ParserTable___action_table_row969_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row969))( self) /*ParserTable::action_table_row969*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable969) /*AbstractArray::add*/;
+    variable970 = ((parser_tables___ParserTable___action_table_row970_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row970))( self) /*ParserTable::action_table_row970*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable970) /*AbstractArray::add*/;
+    variable971 = ((parser_tables___ParserTable___action_table_row971_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row971))( self) /*ParserTable::action_table_row971*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable971) /*AbstractArray::add*/;
+    variable972 = ((parser_tables___ParserTable___action_table_row972_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row972))( self) /*ParserTable::action_table_row972*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable972) /*AbstractArray::add*/;
+    variable973 = ((parser_tables___ParserTable___action_table_row973_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row973))( self) /*ParserTable::action_table_row973*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable973) /*AbstractArray::add*/;
+    variable974 = ((parser_tables___ParserTable___action_table_row974_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row974))( self) /*ParserTable::action_table_row974*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable974) /*AbstractArray::add*/;
+    variable975 = ((parser_tables___ParserTable___action_table_row975_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row975))( self) /*ParserTable::action_table_row975*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable975) /*AbstractArray::add*/;
+    variable976 = ((parser_tables___ParserTable___action_table_row976_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row976))( self) /*ParserTable::action_table_row976*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable976) /*AbstractArray::add*/;
+    variable977 = ((parser_tables___ParserTable___action_table_row977_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row977))( self) /*ParserTable::action_table_row977*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable977) /*AbstractArray::add*/;
+    variable978 = ((parser_tables___ParserTable___action_table_row978_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row978))( self) /*ParserTable::action_table_row978*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable978) /*AbstractArray::add*/;
+    variable979 = ((parser_tables___ParserTable___action_table_row979_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row979))( self) /*ParserTable::action_table_row979*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable979) /*AbstractArray::add*/;
+    variable980 = ((parser_tables___ParserTable___action_table_row980_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row980))( self) /*ParserTable::action_table_row980*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable980) /*AbstractArray::add*/;
+    variable981 = ((parser_tables___ParserTable___action_table_row981_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row981))( self) /*ParserTable::action_table_row981*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable981) /*AbstractArray::add*/;
+    variable982 = ((parser_tables___ParserTable___action_table_row982_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row982))( self) /*ParserTable::action_table_row982*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable982) /*AbstractArray::add*/;
+    variable983 = ((parser_tables___ParserTable___action_table_row983_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row983))( self) /*ParserTable::action_table_row983*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable983) /*AbstractArray::add*/;
+    variable984 = ((parser_tables___ParserTable___action_table_row984_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row984))( self) /*ParserTable::action_table_row984*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable984) /*AbstractArray::add*/;
+    variable985 = ((parser_tables___ParserTable___action_table_row985_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row985))( self) /*ParserTable::action_table_row985*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable985) /*AbstractArray::add*/;
+    variable986 = ((parser_tables___ParserTable___action_table_row986_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row986))( self) /*ParserTable::action_table_row986*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable986) /*AbstractArray::add*/;
+    variable987 = ((parser_tables___ParserTable___action_table_row987_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row987))( self) /*ParserTable::action_table_row987*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable987) /*AbstractArray::add*/;
+    variable988 = ((parser_tables___ParserTable___action_table_row988_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row988))( self) /*ParserTable::action_table_row988*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable988) /*AbstractArray::add*/;
+    variable989 = ((parser_tables___ParserTable___action_table_row989_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row989))( self) /*ParserTable::action_table_row989*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable989) /*AbstractArray::add*/;
+    variable990 = ((parser_tables___ParserTable___action_table_row990_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row990))( self) /*ParserTable::action_table_row990*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable990) /*AbstractArray::add*/;
+    variable991 = ((parser_tables___ParserTable___action_table_row991_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row991))( self) /*ParserTable::action_table_row991*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable991) /*AbstractArray::add*/;
+    variable992 = ((parser_tables___ParserTable___action_table_row992_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row992))( self) /*ParserTable::action_table_row992*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable992) /*AbstractArray::add*/;
+    variable993 = ((parser_tables___ParserTable___action_table_row993_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row993))( self) /*ParserTable::action_table_row993*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable993) /*AbstractArray::add*/;
+    variable994 = ((parser_tables___ParserTable___action_table_row994_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row994))( self) /*ParserTable::action_table_row994*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable994) /*AbstractArray::add*/;
+    variable995 = ((parser_tables___ParserTable___action_table_row995_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row995))( self) /*ParserTable::action_table_row995*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable995) /*AbstractArray::add*/;
+    variable996 = ((parser_tables___ParserTable___action_table_row996_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row996))( self) /*ParserTable::action_table_row996*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable996) /*AbstractArray::add*/;
+    variable997 = ((parser_tables___ParserTable___action_table_row997_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row997))( self) /*ParserTable::action_table_row997*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable997) /*AbstractArray::add*/;
+    variable998 = ((parser_tables___ParserTable___action_table_row998_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row998))( self) /*ParserTable::action_table_row998*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable998) /*AbstractArray::add*/;
+    variable999 = ((parser_tables___ParserTable___action_table_row999_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row999))( self) /*ParserTable::action_table_row999*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable999) /*AbstractArray::add*/;
+    variable1000 = ((parser_tables___ParserTable___action_table_row1000_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1000))( self) /*ParserTable::action_table_row1000*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1000) /*AbstractArray::add*/;
+    variable1001 = ((parser_tables___ParserTable___action_table_row1001_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1001))( self) /*ParserTable::action_table_row1001*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1001) /*AbstractArray::add*/;
+    variable1002 = ((parser_tables___ParserTable___action_table_row1002_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1002))( self) /*ParserTable::action_table_row1002*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1002) /*AbstractArray::add*/;
+    variable1003 = ((parser_tables___ParserTable___action_table_row1003_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1003))( self) /*ParserTable::action_table_row1003*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1003) /*AbstractArray::add*/;
+    variable1004 = ((parser_tables___ParserTable___action_table_row1004_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1004))( self) /*ParserTable::action_table_row1004*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1004) /*AbstractArray::add*/;
+    variable1005 = ((parser_tables___ParserTable___action_table_row1005_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1005))( self) /*ParserTable::action_table_row1005*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1005) /*AbstractArray::add*/;
+    variable1006 = ((parser_tables___ParserTable___action_table_row1006_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1006))( self) /*ParserTable::action_table_row1006*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1006) /*AbstractArray::add*/;
+    variable1007 = ((parser_tables___ParserTable___action_table_row1007_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1007))( self) /*ParserTable::action_table_row1007*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1007) /*AbstractArray::add*/;
+    variable1008 = ((parser_tables___ParserTable___action_table_row1008_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1008))( self) /*ParserTable::action_table_row1008*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1008) /*AbstractArray::add*/;
+    variable1009 = ((parser_tables___ParserTable___action_table_row1009_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1009))( self) /*ParserTable::action_table_row1009*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1009) /*AbstractArray::add*/;
+    variable1010 = ((parser_tables___ParserTable___action_table_row1010_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1010))( self) /*ParserTable::action_table_row1010*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1010) /*AbstractArray::add*/;
+    variable1011 = ((parser_tables___ParserTable___action_table_row1011_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1011))( self) /*ParserTable::action_table_row1011*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1011) /*AbstractArray::add*/;
+    variable1012 = ((parser_tables___ParserTable___action_table_row1012_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1012))( self) /*ParserTable::action_table_row1012*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1012) /*AbstractArray::add*/;
+    variable1013 = ((parser_tables___ParserTable___action_table_row1013_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1013))( self) /*ParserTable::action_table_row1013*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1013) /*AbstractArray::add*/;
+    variable1014 = ((parser_tables___ParserTable___action_table_row1014_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1014))( self) /*ParserTable::action_table_row1014*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1014) /*AbstractArray::add*/;
+    variable1015 = ((parser_tables___ParserTable___action_table_row1015_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1015))( self) /*ParserTable::action_table_row1015*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1015) /*AbstractArray::add*/;
+    variable1016 = ((parser_tables___ParserTable___action_table_row1016_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1016))( self) /*ParserTable::action_table_row1016*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1016) /*AbstractArray::add*/;
+    variable1017 = ((parser_tables___ParserTable___action_table_row1017_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1017))( self) /*ParserTable::action_table_row1017*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1017) /*AbstractArray::add*/;
+    variable1018 = ((parser_tables___ParserTable___action_table_row1018_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1018))( self) /*ParserTable::action_table_row1018*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1018) /*AbstractArray::add*/;
+    variable1019 = ((parser_tables___ParserTable___action_table_row1019_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1019))( self) /*ParserTable::action_table_row1019*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1019) /*AbstractArray::add*/;
+    variable1020 = ((parser_tables___ParserTable___action_table_row1020_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1020))( self) /*ParserTable::action_table_row1020*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1020) /*AbstractArray::add*/;
+    variable1021 = ((parser_tables___ParserTable___action_table_row1021_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1021))( self) /*ParserTable::action_table_row1021*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1021) /*AbstractArray::add*/;
+    variable1022 = ((parser_tables___ParserTable___action_table_row1022_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1022))( self) /*ParserTable::action_table_row1022*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1022) /*AbstractArray::add*/;
+    variable1023 = ((parser_tables___ParserTable___action_table_row1023_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1023))( self) /*ParserTable::action_table_row1023*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1023) /*AbstractArray::add*/;
+    variable1024 = ((parser_tables___ParserTable___action_table_row1024_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1024))( self) /*ParserTable::action_table_row1024*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1024) /*AbstractArray::add*/;
+    variable1025 = ((parser_tables___ParserTable___action_table_row1025_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1025))( self) /*ParserTable::action_table_row1025*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1025) /*AbstractArray::add*/;
+    variable1026 = ((parser_tables___ParserTable___action_table_row1026_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1026))( self) /*ParserTable::action_table_row1026*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1026) /*AbstractArray::add*/;
+    variable1027 = ((parser_tables___ParserTable___action_table_row1027_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1027))( self) /*ParserTable::action_table_row1027*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1027) /*AbstractArray::add*/;
+    variable1028 = ((parser_tables___ParserTable___action_table_row1028_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1028))( self) /*ParserTable::action_table_row1028*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1028) /*AbstractArray::add*/;
+    variable1029 = ((parser_tables___ParserTable___action_table_row1029_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1029))( self) /*ParserTable::action_table_row1029*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1029) /*AbstractArray::add*/;
+    variable1030 = ((parser_tables___ParserTable___action_table_row1030_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1030))( self) /*ParserTable::action_table_row1030*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1030) /*AbstractArray::add*/;
+    variable1031 = ((parser_tables___ParserTable___action_table_row1031_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1031))( self) /*ParserTable::action_table_row1031*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1031) /*AbstractArray::add*/;
+    variable1032 = ((parser_tables___ParserTable___action_table_row1032_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1032))( self) /*ParserTable::action_table_row1032*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1032) /*AbstractArray::add*/;
+    variable1033 = ((parser_tables___ParserTable___action_table_row1033_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1033))( self) /*ParserTable::action_table_row1033*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1033) /*AbstractArray::add*/;
+    variable1034 = ((parser_tables___ParserTable___action_table_row1034_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1034))( self) /*ParserTable::action_table_row1034*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1034) /*AbstractArray::add*/;
+    variable1035 = ((parser_tables___ParserTable___action_table_row1035_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1035))( self) /*ParserTable::action_table_row1035*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1035) /*AbstractArray::add*/;
+    variable1036 = ((parser_tables___ParserTable___action_table_row1036_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1036))( self) /*ParserTable::action_table_row1036*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1036) /*AbstractArray::add*/;
+    variable1037 = ((parser_tables___ParserTable___action_table_row1037_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1037))( self) /*ParserTable::action_table_row1037*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1037) /*AbstractArray::add*/;
+    variable1038 = ((parser_tables___ParserTable___action_table_row1038_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1038))( self) /*ParserTable::action_table_row1038*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1038) /*AbstractArray::add*/;
+    variable1039 = ((parser_tables___ParserTable___action_table_row1039_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1039))( self) /*ParserTable::action_table_row1039*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1039) /*AbstractArray::add*/;
+    variable1040 = ((parser_tables___ParserTable___action_table_row1040_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1040))( self) /*ParserTable::action_table_row1040*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1040) /*AbstractArray::add*/;
+    variable1041 = ((parser_tables___ParserTable___action_table_row1041_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1041))( self) /*ParserTable::action_table_row1041*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1041) /*AbstractArray::add*/;
+    variable1042 = ((parser_tables___ParserTable___action_table_row1042_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1042))( self) /*ParserTable::action_table_row1042*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1042) /*AbstractArray::add*/;
+    variable1043 = ((parser_tables___ParserTable___action_table_row1043_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1043))( self) /*ParserTable::action_table_row1043*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1043) /*AbstractArray::add*/;
+    variable1044 = ((parser_tables___ParserTable___action_table_row1044_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1044))( self) /*ParserTable::action_table_row1044*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1044) /*AbstractArray::add*/;
+    variable1045 = ((parser_tables___ParserTable___action_table_row1045_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1045))( self) /*ParserTable::action_table_row1045*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1045) /*AbstractArray::add*/;
+    variable1046 = ((parser_tables___ParserTable___action_table_row1046_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1046))( self) /*ParserTable::action_table_row1046*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1046) /*AbstractArray::add*/;
+    variable1047 = ((parser_tables___ParserTable___action_table_row1047_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1047))( self) /*ParserTable::action_table_row1047*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1047) /*AbstractArray::add*/;
+    variable1048 = ((parser_tables___ParserTable___action_table_row1048_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1048))( self) /*ParserTable::action_table_row1048*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1048) /*AbstractArray::add*/;
+    variable1049 = ((parser_tables___ParserTable___action_table_row1049_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1049))( self) /*ParserTable::action_table_row1049*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1049) /*AbstractArray::add*/;
+    variable1050 = ((parser_tables___ParserTable___action_table_row1050_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1050))( self) /*ParserTable::action_table_row1050*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1050) /*AbstractArray::add*/;
+    variable1051 = ((parser_tables___ParserTable___action_table_row1051_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1051))( self) /*ParserTable::action_table_row1051*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1051) /*AbstractArray::add*/;
+    variable1052 = ((parser_tables___ParserTable___action_table_row1052_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1052))( self) /*ParserTable::action_table_row1052*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1052) /*AbstractArray::add*/;
+    variable1053 = ((parser_tables___ParserTable___action_table_row1053_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1053))( self) /*ParserTable::action_table_row1053*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1053) /*AbstractArray::add*/;
+    variable1054 = ((parser_tables___ParserTable___action_table_row1054_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1054))( self) /*ParserTable::action_table_row1054*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1054) /*AbstractArray::add*/;
+    variable1055 = ((parser_tables___ParserTable___action_table_row1055_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1055))( self) /*ParserTable::action_table_row1055*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1055) /*AbstractArray::add*/;
+    variable1056 = ((parser_tables___ParserTable___action_table_row1056_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1056))( self) /*ParserTable::action_table_row1056*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1056) /*AbstractArray::add*/;
+    variable1057 = ((parser_tables___ParserTable___action_table_row1057_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1057))( self) /*ParserTable::action_table_row1057*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1057) /*AbstractArray::add*/;
+    variable1058 = ((parser_tables___ParserTable___action_table_row1058_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1058))( self) /*ParserTable::action_table_row1058*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1058) /*AbstractArray::add*/;
+    variable1059 = ((parser_tables___ParserTable___action_table_row1059_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1059))( self) /*ParserTable::action_table_row1059*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1059) /*AbstractArray::add*/;
+    variable1060 = ((parser_tables___ParserTable___action_table_row1060_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1060))( self) /*ParserTable::action_table_row1060*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1060) /*AbstractArray::add*/;
+    variable1061 = ((parser_tables___ParserTable___action_table_row1061_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1061))( self) /*ParserTable::action_table_row1061*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1061) /*AbstractArray::add*/;
+    variable1062 = ((parser_tables___ParserTable___action_table_row1062_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1062))( self) /*ParserTable::action_table_row1062*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1062) /*AbstractArray::add*/;
+    variable1063 = ((parser_tables___ParserTable___action_table_row1063_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1063))( self) /*ParserTable::action_table_row1063*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1063) /*AbstractArray::add*/;
+    variable1064 = ((parser_tables___ParserTable___action_table_row1064_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1064))( self) /*ParserTable::action_table_row1064*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1064) /*AbstractArray::add*/;
+    variable1065 = ((parser_tables___ParserTable___action_table_row1065_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1065))( self) /*ParserTable::action_table_row1065*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1065) /*AbstractArray::add*/;
+    variable1066 = ((parser_tables___ParserTable___action_table_row1066_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1066))( self) /*ParserTable::action_table_row1066*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1066) /*AbstractArray::add*/;
+    variable1067 = ((parser_tables___ParserTable___action_table_row1067_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1067))( self) /*ParserTable::action_table_row1067*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1067) /*AbstractArray::add*/;
+    variable1068 = ((parser_tables___ParserTable___action_table_row1068_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1068))( self) /*ParserTable::action_table_row1068*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1068) /*AbstractArray::add*/;
+    variable1069 = ((parser_tables___ParserTable___action_table_row1069_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1069))( self) /*ParserTable::action_table_row1069*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1069) /*AbstractArray::add*/;
+    variable1070 = ((parser_tables___ParserTable___action_table_row1070_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1070))( self) /*ParserTable::action_table_row1070*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1070) /*AbstractArray::add*/;
+    variable1071 = ((parser_tables___ParserTable___action_table_row1071_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1071))( self) /*ParserTable::action_table_row1071*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1071) /*AbstractArray::add*/;
+    variable1072 = ((parser_tables___ParserTable___action_table_row1072_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1072))( self) /*ParserTable::action_table_row1072*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1072) /*AbstractArray::add*/;
+    variable1073 = ((parser_tables___ParserTable___action_table_row1073_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1073))( self) /*ParserTable::action_table_row1073*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1073) /*AbstractArray::add*/;
+    variable1074 = ((parser_tables___ParserTable___action_table_row1074_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1074))( self) /*ParserTable::action_table_row1074*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1074) /*AbstractArray::add*/;
+    variable1075 = ((parser_tables___ParserTable___action_table_row1075_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1075))( self) /*ParserTable::action_table_row1075*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1075) /*AbstractArray::add*/;
+    variable1076 = ((parser_tables___ParserTable___action_table_row1076_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1076))( self) /*ParserTable::action_table_row1076*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1076) /*AbstractArray::add*/;
+    variable1077 = ((parser_tables___ParserTable___action_table_row1077_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1077))( self) /*ParserTable::action_table_row1077*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1077) /*AbstractArray::add*/;
+    variable1078 = ((parser_tables___ParserTable___action_table_row1078_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1078))( self) /*ParserTable::action_table_row1078*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1078) /*AbstractArray::add*/;
+    variable1079 = ((parser_tables___ParserTable___action_table_row1079_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1079))( self) /*ParserTable::action_table_row1079*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1079) /*AbstractArray::add*/;
+    variable1080 = ((parser_tables___ParserTable___action_table_row1080_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1080))( self) /*ParserTable::action_table_row1080*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1080) /*AbstractArray::add*/;
+    variable1081 = ((parser_tables___ParserTable___action_table_row1081_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1081))( self) /*ParserTable::action_table_row1081*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1081) /*AbstractArray::add*/;
+    variable1082 = ((parser_tables___ParserTable___action_table_row1082_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1082))( self) /*ParserTable::action_table_row1082*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1082) /*AbstractArray::add*/;
+    variable1083 = ((parser_tables___ParserTable___action_table_row1083_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1083))( self) /*ParserTable::action_table_row1083*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1083) /*AbstractArray::add*/;
+    variable1084 = ((parser_tables___ParserTable___action_table_row1084_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1084))( self) /*ParserTable::action_table_row1084*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1084) /*AbstractArray::add*/;
+    variable1085 = ((parser_tables___ParserTable___action_table_row1085_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1085))( self) /*ParserTable::action_table_row1085*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1085) /*AbstractArray::add*/;
+    variable1086 = ((parser_tables___ParserTable___action_table_row1086_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1086))( self) /*ParserTable::action_table_row1086*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1086) /*AbstractArray::add*/;
+    variable1087 = ((parser_tables___ParserTable___action_table_row1087_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1087))( self) /*ParserTable::action_table_row1087*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1087) /*AbstractArray::add*/;
+    variable1088 = ((parser_tables___ParserTable___action_table_row1088_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1088))( self) /*ParserTable::action_table_row1088*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1088) /*AbstractArray::add*/;
+    variable1089 = ((parser_tables___ParserTable___action_table_row1089_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1089))( self) /*ParserTable::action_table_row1089*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1089) /*AbstractArray::add*/;
+    variable1090 = ((parser_tables___ParserTable___action_table_row1090_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1090))( self) /*ParserTable::action_table_row1090*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1090) /*AbstractArray::add*/;
+    variable1091 = ((parser_tables___ParserTable___action_table_row1091_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1091))( self) /*ParserTable::action_table_row1091*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1091) /*AbstractArray::add*/;
+    variable1092 = ((parser_tables___ParserTable___action_table_row1092_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1092))( self) /*ParserTable::action_table_row1092*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1092) /*AbstractArray::add*/;
+    variable1093 = ((parser_tables___ParserTable___action_table_row1093_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1093))( self) /*ParserTable::action_table_row1093*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1093) /*AbstractArray::add*/;
+    variable1094 = ((parser_tables___ParserTable___action_table_row1094_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1094))( self) /*ParserTable::action_table_row1094*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1094) /*AbstractArray::add*/;
+    variable1095 = ((parser_tables___ParserTable___action_table_row1095_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1095))( self) /*ParserTable::action_table_row1095*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1095) /*AbstractArray::add*/;
+    variable1096 = ((parser_tables___ParserTable___action_table_row1096_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1096))( self) /*ParserTable::action_table_row1096*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1096) /*AbstractArray::add*/;
+    variable1097 = ((parser_tables___ParserTable___action_table_row1097_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1097))( self) /*ParserTable::action_table_row1097*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1097) /*AbstractArray::add*/;
+    variable1098 = ((parser_tables___ParserTable___action_table_row1098_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1098))( self) /*ParserTable::action_table_row1098*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1098) /*AbstractArray::add*/;
+    variable1099 = ((parser_tables___ParserTable___action_table_row1099_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1099))( self) /*ParserTable::action_table_row1099*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1099) /*AbstractArray::add*/;
+    variable1100 = ((parser_tables___ParserTable___action_table_row1100_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1100))( self) /*ParserTable::action_table_row1100*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1100) /*AbstractArray::add*/;
+    variable1101 = ((parser_tables___ParserTable___action_table_row1101_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1101))( self) /*ParserTable::action_table_row1101*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1101) /*AbstractArray::add*/;
+    variable1102 = ((parser_tables___ParserTable___action_table_row1102_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1102))( self) /*ParserTable::action_table_row1102*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1102) /*AbstractArray::add*/;
+    variable1103 = ((parser_tables___ParserTable___action_table_row1103_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1103))( self) /*ParserTable::action_table_row1103*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1103) /*AbstractArray::add*/;
+    variable1104 = ((parser_tables___ParserTable___action_table_row1104_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1104))( self) /*ParserTable::action_table_row1104*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1104) /*AbstractArray::add*/;
+    variable1105 = ((parser_tables___ParserTable___action_table_row1105_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1105))( self) /*ParserTable::action_table_row1105*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1105) /*AbstractArray::add*/;
+    variable1106 = ((parser_tables___ParserTable___action_table_row1106_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1106))( self) /*ParserTable::action_table_row1106*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1106) /*AbstractArray::add*/;
+    variable1107 = ((parser_tables___ParserTable___action_table_row1107_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1107))( self) /*ParserTable::action_table_row1107*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1107) /*AbstractArray::add*/;
+    variable1108 = ((parser_tables___ParserTable___action_table_row1108_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1108))( self) /*ParserTable::action_table_row1108*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1108) /*AbstractArray::add*/;
+    variable1109 = ((parser_tables___ParserTable___action_table_row1109_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1109))( self) /*ParserTable::action_table_row1109*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1109) /*AbstractArray::add*/;
+    variable1110 = ((parser_tables___ParserTable___action_table_row1110_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1110))( self) /*ParserTable::action_table_row1110*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1110) /*AbstractArray::add*/;
+    variable1111 = ((parser_tables___ParserTable___action_table_row1111_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1111))( self) /*ParserTable::action_table_row1111*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1111) /*AbstractArray::add*/;
+    variable1112 = ((parser_tables___ParserTable___action_table_row1112_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1112))( self) /*ParserTable::action_table_row1112*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1112) /*AbstractArray::add*/;
+    variable1113 = ((parser_tables___ParserTable___action_table_row1113_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1113))( self) /*ParserTable::action_table_row1113*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1113) /*AbstractArray::add*/;
+    variable1114 = ((parser_tables___ParserTable___action_table_row1114_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1114))( self) /*ParserTable::action_table_row1114*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1114) /*AbstractArray::add*/;
+    variable1115 = ((parser_tables___ParserTable___action_table_row1115_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1115))( self) /*ParserTable::action_table_row1115*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1115) /*AbstractArray::add*/;
+    variable1116 = ((parser_tables___ParserTable___action_table_row1116_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1116))( self) /*ParserTable::action_table_row1116*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1116) /*AbstractArray::add*/;
+    variable1117 = ((parser_tables___ParserTable___action_table_row1117_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1117))( self) /*ParserTable::action_table_row1117*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1117) /*AbstractArray::add*/;
+    variable1118 = ((parser_tables___ParserTable___action_table_row1118_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1118))( self) /*ParserTable::action_table_row1118*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1118) /*AbstractArray::add*/;
+    variable1119 = ((parser_tables___ParserTable___action_table_row1119_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1119))( self) /*ParserTable::action_table_row1119*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1119) /*AbstractArray::add*/;
+    variable1120 = ((parser_tables___ParserTable___action_table_row1120_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1120))( self) /*ParserTable::action_table_row1120*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1120) /*AbstractArray::add*/;
+    variable1121 = ((parser_tables___ParserTable___action_table_row1121_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1121))( self) /*ParserTable::action_table_row1121*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1121) /*AbstractArray::add*/;
+    variable1122 = ((parser_tables___ParserTable___action_table_row1122_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1122))( self) /*ParserTable::action_table_row1122*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1122) /*AbstractArray::add*/;
+    variable1123 = ((parser_tables___ParserTable___action_table_row1123_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1123))( self) /*ParserTable::action_table_row1123*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1123) /*AbstractArray::add*/;
+    variable1124 = ((parser_tables___ParserTable___action_table_row1124_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1124))( self) /*ParserTable::action_table_row1124*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1124) /*AbstractArray::add*/;
+    variable1125 = ((parser_tables___ParserTable___action_table_row1125_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1125))( self) /*ParserTable::action_table_row1125*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1125) /*AbstractArray::add*/;
+    variable1126 = ((parser_tables___ParserTable___action_table_row1126_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1126))( self) /*ParserTable::action_table_row1126*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1126) /*AbstractArray::add*/;
+    variable1127 = ((parser_tables___ParserTable___action_table_row1127_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1127))( self) /*ParserTable::action_table_row1127*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1127) /*AbstractArray::add*/;
+    variable1128 = ((parser_tables___ParserTable___action_table_row1128_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1128))( self) /*ParserTable::action_table_row1128*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1128) /*AbstractArray::add*/;
+    variable1129 = ((parser_tables___ParserTable___action_table_row1129_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1129))( self) /*ParserTable::action_table_row1129*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1129) /*AbstractArray::add*/;
+    variable1130 = ((parser_tables___ParserTable___action_table_row1130_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1130))( self) /*ParserTable::action_table_row1130*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1130) /*AbstractArray::add*/;
+    variable1131 = ((parser_tables___ParserTable___action_table_row1131_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1131))( self) /*ParserTable::action_table_row1131*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1131) /*AbstractArray::add*/;
+    variable1132 = ((parser_tables___ParserTable___action_table_row1132_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1132))( self) /*ParserTable::action_table_row1132*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1132) /*AbstractArray::add*/;
+    variable1133 = ((parser_tables___ParserTable___action_table_row1133_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1133))( self) /*ParserTable::action_table_row1133*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1133) /*AbstractArray::add*/;
+    variable1134 = ((parser_tables___ParserTable___action_table_row1134_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1134))( self) /*ParserTable::action_table_row1134*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1134) /*AbstractArray::add*/;
+    variable1135 = ((parser_tables___ParserTable___action_table_row1135_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1135))( self) /*ParserTable::action_table_row1135*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1135) /*AbstractArray::add*/;
+    variable1136 = ((parser_tables___ParserTable___action_table_row1136_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1136))( self) /*ParserTable::action_table_row1136*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1136) /*AbstractArray::add*/;
+    variable1137 = ((parser_tables___ParserTable___action_table_row1137_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1137))( self) /*ParserTable::action_table_row1137*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1137) /*AbstractArray::add*/;
+    variable1138 = ((parser_tables___ParserTable___action_table_row1138_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1138))( self) /*ParserTable::action_table_row1138*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1138) /*AbstractArray::add*/;
+    variable1139 = ((parser_tables___ParserTable___action_table_row1139_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1139))( self) /*ParserTable::action_table_row1139*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1139) /*AbstractArray::add*/;
+    variable1140 = ((parser_tables___ParserTable___action_table_row1140_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1140))( self) /*ParserTable::action_table_row1140*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1140) /*AbstractArray::add*/;
+    variable1141 = ((parser_tables___ParserTable___action_table_row1141_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1141))( self) /*ParserTable::action_table_row1141*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1141) /*AbstractArray::add*/;
+    variable1142 = ((parser_tables___ParserTable___action_table_row1142_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1142))( self) /*ParserTable::action_table_row1142*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1142) /*AbstractArray::add*/;
+    variable1143 = ((parser_tables___ParserTable___action_table_row1143_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1143))( self) /*ParserTable::action_table_row1143*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1143) /*AbstractArray::add*/;
+    variable1144 = ((parser_tables___ParserTable___action_table_row1144_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1144))( self) /*ParserTable::action_table_row1144*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1144) /*AbstractArray::add*/;
+    variable1145 = ((parser_tables___ParserTable___action_table_row1145_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1145))( self) /*ParserTable::action_table_row1145*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1145) /*AbstractArray::add*/;
+    variable1146 = ((parser_tables___ParserTable___action_table_row1146_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1146))( self) /*ParserTable::action_table_row1146*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1146) /*AbstractArray::add*/;
+    variable1147 = ((parser_tables___ParserTable___action_table_row1147_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1147))( self) /*ParserTable::action_table_row1147*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1147) /*AbstractArray::add*/;
+    variable1148 = ((parser_tables___ParserTable___action_table_row1148_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1148))( self) /*ParserTable::action_table_row1148*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1148) /*AbstractArray::add*/;
+    variable1149 = ((parser_tables___ParserTable___action_table_row1149_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1149))( self) /*ParserTable::action_table_row1149*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1149) /*AbstractArray::add*/;
+    variable1150 = ((parser_tables___ParserTable___action_table_row1150_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1150))( self) /*ParserTable::action_table_row1150*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1150) /*AbstractArray::add*/;
+    variable1151 = ((parser_tables___ParserTable___action_table_row1151_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1151))( self) /*ParserTable::action_table_row1151*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1151) /*AbstractArray::add*/;
+    variable1152 = ((parser_tables___ParserTable___action_table_row1152_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1152))( self) /*ParserTable::action_table_row1152*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1152) /*AbstractArray::add*/;
+    variable1153 = ((parser_tables___ParserTable___action_table_row1153_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1153))( self) /*ParserTable::action_table_row1153*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1153) /*AbstractArray::add*/;
+    variable1154 = ((parser_tables___ParserTable___action_table_row1154_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1154))( self) /*ParserTable::action_table_row1154*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1154) /*AbstractArray::add*/;
+    variable1155 = ((parser_tables___ParserTable___action_table_row1155_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1155))( self) /*ParserTable::action_table_row1155*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1155) /*AbstractArray::add*/;
+    variable1156 = ((parser_tables___ParserTable___action_table_row1156_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1156))( self) /*ParserTable::action_table_row1156*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1156) /*AbstractArray::add*/;
+    variable1157 = ((parser_tables___ParserTable___action_table_row1157_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1157))( self) /*ParserTable::action_table_row1157*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1157) /*AbstractArray::add*/;
+    variable1158 = ((parser_tables___ParserTable___action_table_row1158_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1158))( self) /*ParserTable::action_table_row1158*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1158) /*AbstractArray::add*/;
+    variable1159 = ((parser_tables___ParserTable___action_table_row1159_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1159))( self) /*ParserTable::action_table_row1159*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1159) /*AbstractArray::add*/;
+    variable1160 = ((parser_tables___ParserTable___action_table_row1160_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1160))( self) /*ParserTable::action_table_row1160*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1160) /*AbstractArray::add*/;
+    variable1161 = ((parser_tables___ParserTable___action_table_row1161_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1161))( self) /*ParserTable::action_table_row1161*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1161) /*AbstractArray::add*/;
+    variable1162 = ((parser_tables___ParserTable___action_table_row1162_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1162))( self) /*ParserTable::action_table_row1162*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1162) /*AbstractArray::add*/;
+    variable1163 = ((parser_tables___ParserTable___action_table_row1163_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1163))( self) /*ParserTable::action_table_row1163*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1163) /*AbstractArray::add*/;
+    variable1164 = ((parser_tables___ParserTable___action_table_row1164_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1164))( self) /*ParserTable::action_table_row1164*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1164) /*AbstractArray::add*/;
+    variable1165 = ((parser_tables___ParserTable___action_table_row1165_t)CALL( self,COLOR_parser_tables___ParserTable___action_table_row1165))( self) /*ParserTable::action_table_row1165*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1165) /*AbstractArray::add*/;
     once_value_variable0_1 = variable0;
     once_bool_variable0_1 = true;
   }
-  ATTR_parser_tables___Parser____action_table( self) /*Parser::_action_table*/ = variable0;
+  ATTR_parser_tables___ParserTable____action_table( self) /*ParserTable::_action_table*/ = variable0;
   tracehead = trace.prev;
   return;
 }
-val_t parser_tables___Parser___action_table_row1(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1, 1158};
+val_t parser_tables___ParserTable___action_table_row1(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1179, LOCATE_parser_tables___ParserTable___action_table_row1};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(0)) /*AbstractArray::add*/;
   goto return_label2;
   return_label2: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row2(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row2, 1167};
+val_t parser_tables___ParserTable___action_table_row2(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1188, LOCATE_parser_tables___ParserTable___action_table_row2};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(567)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(571)) /*AbstractArray::add*/;
   goto return_label3;
   return_label3: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row3(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row3, 1173};
+val_t parser_tables___ParserTable___action_table_row3(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1194, LOCATE_parser_tables___ParserTable___action_table_row3};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(565)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(569)) /*AbstractArray::add*/;
   goto return_label4;
   return_label4: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row4(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row4, 1179};
+val_t parser_tables___ParserTable___action_table_row4(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1200, LOCATE_parser_tables___ParserTable___action_table_row4};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
   variable2 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*AbstractArray::add*/;
   goto return_label5;
   return_label5: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row5(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row5, 1186};
+val_t parser_tables___ParserTable___action_table_row5(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1207, LOCATE_parser_tables___ParserTable___action_table_row5};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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*/;
   goto return_label6;
   return_label6: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row6(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row6, 1195};
+val_t parser_tables___ParserTable___action_table_row6(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1216, LOCATE_parser_tables___ParserTable___action_table_row6};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(541)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(545)) /*AbstractArray::add*/;
   goto return_label7;
   return_label7: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row7(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row7, 1201};
+val_t parser_tables___ParserTable___action_table_row7(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1222, LOCATE_parser_tables___ParserTable___action_table_row7};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(24)) /*AbstractArray::add*/;
   goto return_label8;
   return_label8: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row8(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row8, 1207};
+val_t parser_tables___ParserTable___action_table_row8(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1228, LOCATE_parser_tables___ParserTable___action_table_row8};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(51)) /*AbstractArray::add*/;
   goto return_label9;
   return_label9: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row9(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row9, 1213};
+val_t parser_tables___ParserTable___action_table_row9(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1234, LOCATE_parser_tables___ParserTable___action_table_row9};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(543)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(547)) /*AbstractArray::add*/;
   goto return_label10;
   return_label10: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row10(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row10, 1219};
+val_t parser_tables___ParserTable___action_table_row10(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1240, LOCATE_parser_tables___ParserTable___action_table_row10};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label11;
   return_label11: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row11(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row11, 1227};
+val_t parser_tables___ParserTable___action_table_row11(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1248, LOCATE_parser_tables___ParserTable___action_table_row11};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(365)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(366)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(52)) /*AbstractArray::add*/;
   goto return_label12;
   return_label12: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row12(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row12, 1234};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row12(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1255, LOCATE_parser_tables___ParserTable___action_table_row12};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(99)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+  ((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(25)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(27)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label13;
   return_label13: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row13(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row13, 1272};
+val_t parser_tables___ParserTable___action_table_row13(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1293, LOCATE_parser_tables___ParserTable___action_table_row13};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(363)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(364)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
   goto return_label14;
   return_label14: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row14(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row14, 1279};
+val_t parser_tables___ParserTable___action_table_row14(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1300, LOCATE_parser_tables___ParserTable___action_table_row14};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(2)) /*AbstractArray::add*/;
   goto return_label15;
   return_label15: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row15(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row15, 1288};
+val_t parser_tables___ParserTable___action_table_row15(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1309, LOCATE_parser_tables___ParserTable___action_table_row15};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(4)) /*AbstractArray::add*/;
   goto return_label16;
   return_label16: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row16(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row16, 1297};
+val_t parser_tables___ParserTable___action_table_row16(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1318, LOCATE_parser_tables___ParserTable___action_table_row16};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(361)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(85)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(362)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(85)) /*AbstractArray::add*/;
   goto return_label17;
   return_label17: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row17(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row17, 1305};
+val_t parser_tables___ParserTable___action_table_row17(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1326, LOCATE_parser_tables___ParserTable___action_table_row17};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(368)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(369)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*AbstractArray::add*/;
   goto return_label18;
   return_label18: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row18(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row18, 1312};
+val_t parser_tables___ParserTable___action_table_row18(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1333, LOCATE_parser_tables___ParserTable___action_table_row18};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(25)) /*AbstractArray::add*/;
   goto return_label19;
   return_label19: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row19(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row19, 1318};
+val_t parser_tables___ParserTable___action_table_row19(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1339, LOCATE_parser_tables___ParserTable___action_table_row19};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label20;
   return_label20: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row20(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row20, 1326};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row20(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1347, LOCATE_parser_tables___ParserTable___action_table_row20};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(27)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label21;
   return_label21: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row21(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row21, 1363};
+val_t parser_tables___ParserTable___action_table_row21(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1384, LOCATE_parser_tables___ParserTable___action_table_row21};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(3)) /*AbstractArray::add*/;
   goto return_label22;
   return_label22: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row22(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row22, 1372};
+val_t parser_tables___ParserTable___action_table_row22(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1393, LOCATE_parser_tables___ParserTable___action_table_row22};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(5)) /*AbstractArray::add*/;
   goto return_label23;
   return_label23: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row23(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row23, 1381};
+val_t parser_tables___ParserTable___action_table_row23(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1402, LOCATE_parser_tables___ParserTable___action_table_row23};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(360)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(361)) /*AbstractArray::add*/;
   goto return_label24;
   return_label24: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row24(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row24, 1387};
+val_t parser_tables___ParserTable___action_table_row24(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1408, LOCATE_parser_tables___ParserTable___action_table_row24};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(359)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(360)) /*AbstractArray::add*/;
   goto return_label25;
   return_label25: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row25(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row25, 1393};
+val_t parser_tables___ParserTable___action_table_row25(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1414, LOCATE_parser_tables___ParserTable___action_table_row25};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(8)) /*AbstractArray::add*/;
   goto return_label26;
   return_label26: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row26(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row26, 1402};
+val_t parser_tables___ParserTable___action_table_row26(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1423, LOCATE_parser_tables___ParserTable___action_table_row26};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label27;
   return_label27: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row27(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row27, 1410};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row27(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1431, LOCATE_parser_tables___ParserTable___action_table_row27};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label28;
   return_label28: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row28(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row28, 1438};
+val_t parser_tables___ParserTable___action_table_row28(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1459, LOCATE_parser_tables___ParserTable___action_table_row28};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label29;
   return_label29: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row29(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row29, 1447};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row29(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1468, LOCATE_parser_tables___ParserTable___action_table_row29};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label30;
   return_label30: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row30(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row30, 1483};
+val_t parser_tables___ParserTable___action_table_row30(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1504, LOCATE_parser_tables___ParserTable___action_table_row30};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(137)) /*AbstractArray::add*/;
   goto return_label31;
   return_label31: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row31(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row31, 1490};
+val_t parser_tables___ParserTable___action_table_row31(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1511, LOCATE_parser_tables___ParserTable___action_table_row31};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label32;
   return_label32: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row32(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row32, 1498};
+val_t parser_tables___ParserTable___action_table_row32(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1519, LOCATE_parser_tables___ParserTable___action_table_row32};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label33;
   return_label33: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row33(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row33, 1506};
+val_t parser_tables___ParserTable___action_table_row33(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1527, LOCATE_parser_tables___ParserTable___action_table_row33};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label34;
   return_label34: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row34(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row34, 1514};
+val_t parser_tables___ParserTable___action_table_row34(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1535, LOCATE_parser_tables___ParserTable___action_table_row34};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label35;
   return_label35: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row35(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row35, 1522};
+val_t parser_tables___ParserTable___action_table_row35(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1543, LOCATE_parser_tables___ParserTable___action_table_row35};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label36;
   return_label36: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row36(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row36, 1530};
+val_t parser_tables___ParserTable___action_table_row36(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1551, LOCATE_parser_tables___ParserTable___action_table_row36};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label37;
   return_label37: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row37(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row37, 1538};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(236)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row37(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1559, LOCATE_parser_tables___ParserTable___action_table_row37};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(236)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label38;
   return_label38: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row38(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row38, 1565};
+val_t parser_tables___ParserTable___action_table_row38(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1586, LOCATE_parser_tables___ParserTable___action_table_row38};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(240)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(240)) /*AbstractArray::add*/;
   goto return_label39;
   return_label39: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row39(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row39, 1571};
+val_t parser_tables___ParserTable___action_table_row39(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1592, LOCATE_parser_tables___ParserTable___action_table_row39};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(238)) /*AbstractArray::add*/;
   goto return_label40;
   return_label40: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row40(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row40, 1577};
+val_t parser_tables___ParserTable___action_table_row40(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1598, LOCATE_parser_tables___ParserTable___action_table_row40};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(239)) /*AbstractArray::add*/;
   goto return_label41;
   return_label41: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row41(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row41, 1583};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row41(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1604, LOCATE_parser_tables___ParserTable___action_table_row41};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(163)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label42;
   return_label42: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row42(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row42, 1610};
+val_t parser_tables___ParserTable___action_table_row42(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1631, LOCATE_parser_tables___ParserTable___action_table_row42};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label43;
   return_label43: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row43(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row43, 1618};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row43(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1639, LOCATE_parser_tables___ParserTable___action_table_row43};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label44;
   return_label44: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row44(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row44, 1646};
+val_t parser_tables___ParserTable___action_table_row44(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1667, LOCATE_parser_tables___ParserTable___action_table_row44};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(325)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(325)) /*AbstractArray::add*/;
   goto return_label45;
   return_label45: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row45(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row45, 1652};
+val_t parser_tables___ParserTable___action_table_row45(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1673, LOCATE_parser_tables___ParserTable___action_table_row45};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(326)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(326)) /*AbstractArray::add*/;
   goto return_label46;
   return_label46: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row46(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row46, 1658};
+val_t parser_tables___ParserTable___action_table_row46(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1679, LOCATE_parser_tables___ParserTable___action_table_row46};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(327)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(327)) /*AbstractArray::add*/;
   goto return_label47;
   return_label47: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row47(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row47, 1664};
+val_t parser_tables___ParserTable___action_table_row47(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1685, LOCATE_parser_tables___ParserTable___action_table_row47};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(328)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(328)) /*AbstractArray::add*/;
   goto return_label48;
   return_label48: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row48(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row48, 1670};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row48(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1691, LOCATE_parser_tables___ParserTable___action_table_row48};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label49;
   return_label49: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row49(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row49, 1697};
+val_t parser_tables___ParserTable___action_table_row49(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1718, LOCATE_parser_tables___ParserTable___action_table_row49};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label50;
   return_label50: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row50(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row50, 1705};
+val_t parser_tables___ParserTable___action_table_row50(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1726, LOCATE_parser_tables___ParserTable___action_table_row50};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(171)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(171)) /*AbstractArray::add*/;
   goto return_label51;
   return_label51: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row51(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row51, 1712};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row51(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1733, LOCATE_parser_tables___ParserTable___action_table_row51};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(78)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((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(351)) /*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*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(172)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(351)) /*AbstractArray::add*/;
   goto return_label52;
   return_label52: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row52(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row52, 1743};
+val_t parser_tables___ParserTable___action_table_row52(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1764, LOCATE_parser_tables___ParserTable___action_table_row52};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(175)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(176)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(177)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(313)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(175)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*AbstractArray::add*/;
+  ((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(176)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+  ((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(177)) /*AbstractArray::add*/;
   goto return_label53;
   return_label53: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row53(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row53, 1752};
+val_t parser_tables___ParserTable___action_table_row53(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1773, LOCATE_parser_tables___ParserTable___action_table_row53};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(329)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(329)) /*AbstractArray::add*/;
   goto return_label54;
   return_label54: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row54(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row54, 1758};
+val_t parser_tables___ParserTable___action_table_row54(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1779, LOCATE_parser_tables___ParserTable___action_table_row54};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(330)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(330)) /*AbstractArray::add*/;
   goto return_label55;
   return_label55: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row55(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row55, 1764};
+val_t parser_tables___ParserTable___action_table_row55(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1785, LOCATE_parser_tables___ParserTable___action_table_row55};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(331)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(331)) /*AbstractArray::add*/;
   goto return_label56;
   return_label56: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row56(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row56, 1770};
+val_t parser_tables___ParserTable___action_table_row56(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1791, LOCATE_parser_tables___ParserTable___action_table_row56};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(332)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(332)) /*AbstractArray::add*/;
   goto return_label57;
   return_label57: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row57(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row57, 1776};
+val_t parser_tables___ParserTable___action_table_row57(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1797, LOCATE_parser_tables___ParserTable___action_table_row57};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(338)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(339)) /*AbstractArray::add*/;
   goto return_label58;
   return_label58: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row58(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row58, 1782};
+val_t parser_tables___ParserTable___action_table_row58(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1803, LOCATE_parser_tables___ParserTable___action_table_row58};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(21)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(21)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(179)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(180)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(181)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(182)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(183)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(184)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((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(179)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+  ((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(180)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+  ((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(181)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*AbstractArray::add*/;
+  ((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(182)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*AbstractArray::add*/;
+  ((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(183)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+  ((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(184)) /*AbstractArray::add*/;
   goto return_label59;
   return_label59: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row59(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row59, 1794};
+val_t parser_tables___ParserTable___action_table_row59(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1815, LOCATE_parser_tables___ParserTable___action_table_row59};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label60;
   return_label60: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row60(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row60, 1802};
+val_t parser_tables___ParserTable___action_table_row60(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1823, LOCATE_parser_tables___ParserTable___action_table_row60};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(234)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(234)) /*AbstractArray::add*/;
   goto return_label61;
   return_label61: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row61(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row61, 1808};
+val_t parser_tables___ParserTable___action_table_row61(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1829, LOCATE_parser_tables___ParserTable___action_table_row61};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(235)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(235)) /*AbstractArray::add*/;
   goto return_label62;
   return_label62: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row62(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row62, 1814};
+val_t parser_tables___ParserTable___action_table_row62(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1835, LOCATE_parser_tables___ParserTable___action_table_row62};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(241)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(241)) /*AbstractArray::add*/;
   goto return_label63;
   return_label63: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row63(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row63, 1820};
+val_t parser_tables___ParserTable___action_table_row63(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1841, LOCATE_parser_tables___ParserTable___action_table_row63};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(242)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(242)) /*AbstractArray::add*/;
   goto return_label64;
   return_label64: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row64(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row64, 1826};
+val_t parser_tables___ParserTable___action_table_row64(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1847, LOCATE_parser_tables___ParserTable___action_table_row64};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(243)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(243)) /*AbstractArray::add*/;
   goto return_label65;
   return_label65: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row65(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row65, 1832};
+val_t parser_tables___ParserTable___action_table_row65(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1853, LOCATE_parser_tables___ParserTable___action_table_row65};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(244)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(244)) /*AbstractArray::add*/;
   goto return_label66;
   return_label66: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row66(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row66, 1838};
+val_t parser_tables___ParserTable___action_table_row66(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1859, LOCATE_parser_tables___ParserTable___action_table_row66};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label67;
   return_label67: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row67(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row67, 1846};
+val_t parser_tables___ParserTable___action_table_row67(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1867, LOCATE_parser_tables___ParserTable___action_table_row67};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(245)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(245)) /*AbstractArray::add*/;
   goto return_label68;
   return_label68: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row68(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row68, 1852};
+val_t parser_tables___ParserTable___action_table_row68(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1873, LOCATE_parser_tables___ParserTable___action_table_row68};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(192)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(192)) /*AbstractArray::add*/;
   goto return_label69;
   return_label69: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row69(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row69, 1860};
+val_t parser_tables___ParserTable___action_table_row69(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1881, LOCATE_parser_tables___ParserTable___action_table_row69};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(333)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(333)) /*AbstractArray::add*/;
   goto return_label70;
   return_label70: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row70(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row70, 1866};
+val_t parser_tables___ParserTable___action_table_row70(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1887, LOCATE_parser_tables___ParserTable___action_table_row70};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(194)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(81)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(195)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(81)) /*AbstractArray::add*/;
+  ((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(194)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*AbstractArray::add*/;
+  ((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(195)) /*AbstractArray::add*/;
   goto return_label71;
   return_label71: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row71(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row71, 1874};
+val_t parser_tables___ParserTable___action_table_row71(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1895, LOCATE_parser_tables___ParserTable___action_table_row71};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label72;
   return_label72: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row72(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row72, 1882};
+val_t parser_tables___ParserTable___action_table_row72(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1903, LOCATE_parser_tables___ParserTable___action_table_row72};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(324)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(324)) /*AbstractArray::add*/;
   goto return_label73;
   return_label73: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row73(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row73, 1888};
+val_t parser_tables___ParserTable___action_table_row73(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1909, LOCATE_parser_tables___ParserTable___action_table_row73};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(201)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(201)) /*AbstractArray::add*/;
   goto return_label74;
   return_label74: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row74(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row74, 1895};
+val_t parser_tables___ParserTable___action_table_row74(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1916, LOCATE_parser_tables___ParserTable___action_table_row74};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(563)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(567)) /*AbstractArray::add*/;
   goto return_label75;
   return_label75: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row75(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row75, 1901};
+val_t parser_tables___ParserTable___action_table_row75(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1922, LOCATE_parser_tables___ParserTable___action_table_row75};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(354)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(355)) /*AbstractArray::add*/;
   goto return_label76;
   return_label76: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row76(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row76, 1907};
+val_t parser_tables___ParserTable___action_table_row76(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1928, LOCATE_parser_tables___ParserTable___action_table_row76};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(356)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(202)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(357)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(202)) /*AbstractArray::add*/;
   goto return_label77;
   return_label77: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row77(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row77, 1915};
+val_t parser_tables___ParserTable___action_table_row77(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1936, LOCATE_parser_tables___ParserTable___action_table_row77};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(362)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(85)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(363)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(85)) /*AbstractArray::add*/;
   goto return_label78;
   return_label78: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row78(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row78, 1923};
+val_t parser_tables___ParserTable___action_table_row78(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1944, LOCATE_parser_tables___ParserTable___action_table_row78};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(546)) /*AbstractArray::add*/;
   goto return_label79;
   return_label79: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row79(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row79, 1929};
+val_t parser_tables___ParserTable___action_table_row79(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1950, LOCATE_parser_tables___ParserTable___action_table_row79};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(26)) /*AbstractArray::add*/;
   goto return_label80;
   return_label80: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row80(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row80, 1935};
+val_t parser_tables___ParserTable___action_table_row80(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1956, LOCATE_parser_tables___ParserTable___action_table_row80};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label81;
   return_label81: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row81(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row81, 1943};
+val_t parser_tables___ParserTable___action_table_row81(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1964, LOCATE_parser_tables___ParserTable___action_table_row81};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(6)) /*AbstractArray::add*/;
   goto return_label82;
   return_label82: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row82(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row82, 1952};
+val_t parser_tables___ParserTable___action_table_row82(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1973, LOCATE_parser_tables___ParserTable___action_table_row82};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(28)) /*AbstractArray::add*/;
   goto return_label83;
   return_label83: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row83(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row83, 1958};
+val_t parser_tables___ParserTable___action_table_row83(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1979, LOCATE_parser_tables___ParserTable___action_table_row83};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(548)) /*AbstractArray::add*/;
   goto return_label84;
   return_label84: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row84(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row84, 1964};
+val_t parser_tables___ParserTable___action_table_row84(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1985, LOCATE_parser_tables___ParserTable___action_table_row84};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label85;
   return_label85: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row85(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row85, 1972};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row85(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 1993, LOCATE_parser_tables___ParserTable___action_table_row85};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(27)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label86;
   return_label86: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row86(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row86, 2009};
+val_t parser_tables___ParserTable___action_table_row86(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2030, LOCATE_parser_tables___ParserTable___action_table_row86};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(566)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(570)) /*AbstractArray::add*/;
   goto return_label87;
   return_label87: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row87(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row87, 2015};
+val_t parser_tables___ParserTable___action_table_row87(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2036, LOCATE_parser_tables___ParserTable___action_table_row87};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(366)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(367)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*AbstractArray::add*/;
   goto return_label88;
   return_label88: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row88(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row88, 2022};
+val_t parser_tables___ParserTable___action_table_row88(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2043, LOCATE_parser_tables___ParserTable___action_table_row88};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(568)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(572)) /*AbstractArray::add*/;
   goto return_label89;
   return_label89: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row89(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row89, 2028};
+val_t parser_tables___ParserTable___action_table_row89(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2049, LOCATE_parser_tables___ParserTable___action_table_row89};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(10)) /*AbstractArray::add*/;
   goto return_label90;
   return_label90: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row90(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row90, 2037};
+val_t parser_tables___ParserTable___action_table_row90(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2058, LOCATE_parser_tables___ParserTable___action_table_row90};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(27)) /*AbstractArray::add*/;
   goto return_label91;
   return_label91: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row91(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row91, 2043};
+val_t parser_tables___ParserTable___action_table_row91(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2064, LOCATE_parser_tables___ParserTable___action_table_row91};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label92;
   return_label92: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row92(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row92, 2051};
+val_t parser_tables___ParserTable___action_table_row92(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2072, LOCATE_parser_tables___ParserTable___action_table_row92};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(7)) /*AbstractArray::add*/;
   goto return_label93;
   return_label93: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row93(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row93, 2060};
+val_t parser_tables___ParserTable___action_table_row93(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2081, LOCATE_parser_tables___ParserTable___action_table_row93};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(29)) /*AbstractArray::add*/;
   goto return_label94;
   return_label94: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row94(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row94, 2066};
+val_t parser_tables___ParserTable___action_table_row94(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2087, LOCATE_parser_tables___ParserTable___action_table_row94};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(93)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(93)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label95;
   return_label95: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row95(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row95, 2074};
+val_t parser_tables___ParserTable___action_table_row95(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2095, LOCATE_parser_tables___ParserTable___action_table_row95};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(32)) /*AbstractArray::add*/;
   goto return_label96;
   return_label96: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row96(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row96, 2080};
+val_t parser_tables___ParserTable___action_table_row96(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2101, LOCATE_parser_tables___ParserTable___action_table_row96};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(551)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(555)) /*AbstractArray::add*/;
   goto return_label97;
   return_label97: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row97(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row97, 2086};
+val_t parser_tables___ParserTable___action_table_row97(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2107, LOCATE_parser_tables___ParserTable___action_table_row97};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label98;
   return_label98: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row98(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row98, 2094};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(218)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row98(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2115, LOCATE_parser_tables___ParserTable___action_table_row98};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(218)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label99;
   return_label99: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row99(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row99, 2131};
+val_t parser_tables___ParserTable___action_table_row99(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2152, LOCATE_parser_tables___ParserTable___action_table_row99};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(9)) /*AbstractArray::add*/;
   goto return_label100;
   return_label100: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row100(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row100, 2140};
+val_t parser_tables___ParserTable___action_table_row100(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2161, LOCATE_parser_tables___ParserTable___action_table_row100};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(365)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(366)) /*AbstractArray::add*/;
   goto return_label101;
   return_label101: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row101(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row101, 2146};
+val_t parser_tables___ParserTable___action_table_row101(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2167, LOCATE_parser_tables___ParserTable___action_table_row101};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(100)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(222)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(100)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(222)) /*AbstractArray::add*/;
   goto return_label102;
   return_label102: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row102(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row102, 2153};
+val_t parser_tables___ParserTable___action_table_row102(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2174, LOCATE_parser_tables___ParserTable___action_table_row102};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label103;
   return_label103: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row103(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row103, 2160};
+val_t parser_tables___ParserTable___action_table_row103(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2181, LOCATE_parser_tables___ParserTable___action_table_row103};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label104;
   return_label104: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row104(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row104, 2168};
+val_t parser_tables___ParserTable___action_table_row104(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2189, LOCATE_parser_tables___ParserTable___action_table_row104};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label105;
   return_label105: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row105(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row105, 2176};
+val_t parser_tables___ParserTable___action_table_row105(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2197, LOCATE_parser_tables___ParserTable___action_table_row105};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label106;
   return_label106: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row106(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row106, 2184};
+val_t parser_tables___ParserTable___action_table_row106(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2205, LOCATE_parser_tables___ParserTable___action_table_row106};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label107;
   return_label107: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row107(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row107, 2192};
+val_t parser_tables___ParserTable___action_table_row107(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2213, LOCATE_parser_tables___ParserTable___action_table_row107};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label108;
   return_label108: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row108(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row108, 2199};
+val_t parser_tables___ParserTable___action_table_row108(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2220, LOCATE_parser_tables___ParserTable___action_table_row108};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(485)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(487)) /*AbstractArray::add*/;
   goto return_label109;
   return_label109: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row109(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row109, 2205};
+val_t parser_tables___ParserTable___action_table_row109(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2226, LOCATE_parser_tables___ParserTable___action_table_row109};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(486)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(488)) /*AbstractArray::add*/;
   goto return_label110;
   return_label110: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row110(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row110, 2211};
+val_t parser_tables___ParserTable___action_table_row110(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2232, LOCATE_parser_tables___ParserTable___action_table_row110};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(487)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(489)) /*AbstractArray::add*/;
   goto return_label111;
   return_label111: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row111(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row111, 2217};
+val_t parser_tables___ParserTable___action_table_row111(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2238, LOCATE_parser_tables___ParserTable___action_table_row111};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(488)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(490)) /*AbstractArray::add*/;
   goto return_label112;
   return_label112: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row112(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row112, 2223};
+val_t parser_tables___ParserTable___action_table_row112(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2244, LOCATE_parser_tables___ParserTable___action_table_row112};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label113;
   return_label113: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row113(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row113, 2231};
+val_t parser_tables___ParserTable___action_table_row113(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2252, LOCATE_parser_tables___ParserTable___action_table_row113};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label114;
   return_label114: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row114(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row114, 2239};
+val_t parser_tables___ParserTable___action_table_row114(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2260, LOCATE_parser_tables___ParserTable___action_table_row114};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(172)) /*AbstractArray::add*/;
   goto return_label115;
   return_label115: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row115(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row115, 2247};
+val_t parser_tables___ParserTable___action_table_row115(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2268, LOCATE_parser_tables___ParserTable___action_table_row115};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(477)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(479)) /*AbstractArray::add*/;
   goto return_label116;
   return_label116: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row116(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row116, 2253};
+val_t parser_tables___ParserTable___action_table_row116(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2274, LOCATE_parser_tables___ParserTable___action_table_row116};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(489)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(491)) /*AbstractArray::add*/;
   goto return_label117;
   return_label117: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row117(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row117, 2259};
+val_t parser_tables___ParserTable___action_table_row117(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2280, LOCATE_parser_tables___ParserTable___action_table_row117};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(490)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(492)) /*AbstractArray::add*/;
   goto return_label118;
   return_label118: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row118(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row118, 2265};
+val_t parser_tables___ParserTable___action_table_row118(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2286, LOCATE_parser_tables___ParserTable___action_table_row118};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(491)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(493)) /*AbstractArray::add*/;
   goto return_label119;
   return_label119: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row119(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row119, 2271};
+val_t parser_tables___ParserTable___action_table_row119(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2292, LOCATE_parser_tables___ParserTable___action_table_row119};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(492)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(494)) /*AbstractArray::add*/;
   goto return_label120;
   return_label120: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row120(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row120, 2277};
+val_t parser_tables___ParserTable___action_table_row120(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2298, LOCATE_parser_tables___ParserTable___action_table_row120};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(495)) /*AbstractArray::add*/;
   goto return_label121;
   return_label121: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row121(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row121, 2283};
+val_t parser_tables___ParserTable___action_table_row121(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2304, LOCATE_parser_tables___ParserTable___action_table_row121};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(319)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(319)) /*AbstractArray::add*/;
   goto return_label122;
   return_label122: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row122(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row122, 2289};
+val_t parser_tables___ParserTable___action_table_row122(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2310, LOCATE_parser_tables___ParserTable___action_table_row122};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(251)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(251)) /*AbstractArray::add*/;
   goto return_label123;
   return_label123: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row123(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row123, 2295};
+val_t parser_tables___ParserTable___action_table_row123(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2316, LOCATE_parser_tables___ParserTable___action_table_row123};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(233)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(233)) /*AbstractArray::add*/;
   goto return_label124;
   return_label124: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row124(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row124, 2302};
+val_t parser_tables___ParserTable___action_table_row124(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2323, LOCATE_parser_tables___ParserTable___action_table_row124};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(348)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(349)) /*AbstractArray::add*/;
   goto return_label125;
   return_label125: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row125(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row125, 2308};
+val_t parser_tables___ParserTable___action_table_row125(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2329, LOCATE_parser_tables___ParserTable___action_table_row125};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(447)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(234)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(235)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(449)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+  ((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(234)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+  ((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(235)) /*AbstractArray::add*/;
   goto return_label126;
   return_label126: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row126(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row126, 2316};
+val_t parser_tables___ParserTable___action_table_row126(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2337, LOCATE_parser_tables___ParserTable___action_table_row126};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(449)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(451)) /*AbstractArray::add*/;
   goto return_label127;
   return_label127: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row127(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row127, 2322};
+val_t parser_tables___ParserTable___action_table_row127(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2343, LOCATE_parser_tables___ParserTable___action_table_row127};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(452)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(454)) /*AbstractArray::add*/;
   goto return_label128;
   return_label128: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row128(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row128, 2328};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(454)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(236)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(237)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(240)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(241)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(242)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(243)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(244)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(245)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(246)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row128(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2349, LOCATE_parser_tables___ParserTable___action_table_row128};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(456)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+  ((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(236)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+  ((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(237)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(240)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(241)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(242)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(243)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(244)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(245)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(246)) /*AbstractArray::add*/;
   goto return_label129;
   return_label129: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row129(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row129, 2345};
+val_t parser_tables___ParserTable___action_table_row129(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2366, LOCATE_parser_tables___ParserTable___action_table_row129};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(464)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(247)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(248)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(249)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(466)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(247)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(248)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(249)) /*AbstractArray::add*/;
   goto return_label130;
   return_label130: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row130(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row130, 2354};
+val_t parser_tables___ParserTable___action_table_row130(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2375, LOCATE_parser_tables___ParserTable___action_table_row130};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(467)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(469)) /*AbstractArray::add*/;
   goto return_label131;
   return_label131: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row131(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row131, 2360};
+val_t parser_tables___ParserTable___action_table_row131(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2381, LOCATE_parser_tables___ParserTable___action_table_row131};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(471)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(473)) /*AbstractArray::add*/;
   goto return_label132;
   return_label132: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row132(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row132, 2366};
+val_t parser_tables___ParserTable___action_table_row132(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2387, LOCATE_parser_tables___ParserTable___action_table_row132};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(474)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(250)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(476)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(250)) /*AbstractArray::add*/;
   goto return_label133;
   return_label133: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row133(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row133, 2373};
+val_t parser_tables___ParserTable___action_table_row133(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2394, LOCATE_parser_tables___ParserTable___action_table_row133};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(180)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(181)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(182)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(183)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(251)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+  ((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(180)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+  ((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(181)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*AbstractArray::add*/;
+  ((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(182)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*AbstractArray::add*/;
+  ((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(183)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+  ((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(251)) /*AbstractArray::add*/;
   goto return_label134;
   return_label134: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row134(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row134, 2384};
+val_t parser_tables___ParserTable___action_table_row134(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2405, LOCATE_parser_tables___ParserTable___action_table_row134};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(232)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(232)) /*AbstractArray::add*/;
   goto return_label135;
   return_label135: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row135(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row135, 2390};
+val_t parser_tables___ParserTable___action_table_row135(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2411, LOCATE_parser_tables___ParserTable___action_table_row135};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(268)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(268)) /*AbstractArray::add*/;
   goto return_label136;
   return_label136: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row136(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row136, 2396};
+val_t parser_tables___ParserTable___action_table_row136(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2417, LOCATE_parser_tables___ParserTable___action_table_row136};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(228)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(228)) /*AbstractArray::add*/;
   goto return_label137;
   return_label137: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row137(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row137, 2402};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(136)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(253)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row137(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2423, LOCATE_parser_tables___ParserTable___action_table_row137};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(136)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(253)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label138;
   return_label138: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row138(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row138, 2436};
+val_t parser_tables___ParserTable___action_table_row138(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2457, LOCATE_parser_tables___ParserTable___action_table_row138};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(252)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(256)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(252)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(256)) /*AbstractArray::add*/;
   goto return_label139;
   return_label139: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row139(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row139, 2444};
+val_t parser_tables___ParserTable___action_table_row139(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2465, LOCATE_parser_tables___ParserTable___action_table_row139};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(193)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(193)) /*AbstractArray::add*/;
   goto return_label140;
   return_label140: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row140(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row140, 2450};
+val_t parser_tables___ParserTable___action_table_row140(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2471, LOCATE_parser_tables___ParserTable___action_table_row140};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(192)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(192)) /*AbstractArray::add*/;
   goto return_label141;
   return_label141: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row141(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row141, 2456};
+val_t parser_tables___ParserTable___action_table_row141(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2477, LOCATE_parser_tables___ParserTable___action_table_row141};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(194)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(194)) /*AbstractArray::add*/;
   goto return_label142;
   return_label142: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row142(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row142, 2462};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(141)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row142(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2483, LOCATE_parser_tables___ParserTable___action_table_row142};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(141)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label143;
   return_label143: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row143(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row143, 2489};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row143(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2510, LOCATE_parser_tables___ParserTable___action_table_row143};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label144;
   return_label144: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row144(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row144, 2516};
+val_t parser_tables___ParserTable___action_table_row144(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2537, LOCATE_parser_tables___ParserTable___action_table_row144};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(260)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(260)) /*AbstractArray::add*/;
   goto return_label145;
   return_label145: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row145(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row145, 2523};
+val_t parser_tables___ParserTable___action_table_row145(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2544, LOCATE_parser_tables___ParserTable___action_table_row145};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label146;
   return_label146: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row146(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row146, 2530};
+val_t parser_tables___ParserTable___action_table_row146(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2551, LOCATE_parser_tables___ParserTable___action_table_row146};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label147;
   return_label147: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row147(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row147, 2538};
+val_t parser_tables___ParserTable___action_table_row147(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2559, LOCATE_parser_tables___ParserTable___action_table_row147};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label148;
   return_label148: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row148(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row148, 2546};
+val_t parser_tables___ParserTable___action_table_row148(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2567, LOCATE_parser_tables___ParserTable___action_table_row148};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label149;
   return_label149: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row149(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row149, 2554};
+val_t parser_tables___ParserTable___action_table_row149(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2575, LOCATE_parser_tables___ParserTable___action_table_row149};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label150;
   return_label150: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row150(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row150, 2562};
+val_t parser_tables___ParserTable___action_table_row150(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2583, LOCATE_parser_tables___ParserTable___action_table_row150};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label151;
   return_label151: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row151(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row151, 2569};
+val_t parser_tables___ParserTable___action_table_row151(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2590, LOCATE_parser_tables___ParserTable___action_table_row151};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label152;
   return_label152: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row152(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row152, 2577};
+val_t parser_tables___ParserTable___action_table_row152(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2598, LOCATE_parser_tables___ParserTable___action_table_row152};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(172)) /*AbstractArray::add*/;
   goto return_label153;
   return_label153: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row153(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row153, 2585};
+val_t parser_tables___ParserTable___action_table_row153(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2606, LOCATE_parser_tables___ParserTable___action_table_row153};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(313)) /*AbstractArray::add*/;
   goto return_label154;
   return_label154: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row154(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row154, 2591};
+val_t parser_tables___ParserTable___action_table_row154(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2612, LOCATE_parser_tables___ParserTable___action_table_row154};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(237)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(237)) /*AbstractArray::add*/;
   goto return_label155;
   return_label155: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row155(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row155, 2597};
+val_t parser_tables___ParserTable___action_table_row155(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2618, LOCATE_parser_tables___ParserTable___action_table_row155};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(283)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(267)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(268)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(283)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+  ((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(267)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+  ((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(268)) /*AbstractArray::add*/;
   goto return_label156;
   return_label156: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row156(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row156, 2605};
+val_t parser_tables___ParserTable___action_table_row156(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2626, LOCATE_parser_tables___ParserTable___action_table_row156};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(285)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(285)) /*AbstractArray::add*/;
   goto return_label157;
   return_label157: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row157(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row157, 2611};
+val_t parser_tables___ParserTable___action_table_row157(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2632, LOCATE_parser_tables___ParserTable___action_table_row157};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(288)) /*AbstractArray::add*/;
   goto return_label158;
   return_label158: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row158(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row158, 2617};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(290)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(269)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(270)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(273)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(274)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(275)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(276)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(277)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(278)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(279)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row158(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2638, LOCATE_parser_tables___ParserTable___action_table_row158};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(290)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+  ((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(269)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+  ((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(270)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(273)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(274)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(275)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(276)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(277)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(278)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(279)) /*AbstractArray::add*/;
   goto return_label159;
   return_label159: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row159(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row159, 2634};
+val_t parser_tables___ParserTable___action_table_row159(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2655, LOCATE_parser_tables___ParserTable___action_table_row159};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(280)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(281)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(282)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(280)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(281)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(282)) /*AbstractArray::add*/;
   goto return_label160;
   return_label160: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row160(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row160, 2643};
+val_t parser_tables___ParserTable___action_table_row160(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2664, LOCATE_parser_tables___ParserTable___action_table_row160};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(303)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(303)) /*AbstractArray::add*/;
   goto return_label161;
   return_label161: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row161(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row161, 2649};
+val_t parser_tables___ParserTable___action_table_row161(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2670, LOCATE_parser_tables___ParserTable___action_table_row161};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(307)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(307)) /*AbstractArray::add*/;
   goto return_label162;
   return_label162: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row162(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row162, 2655};
+val_t parser_tables___ParserTable___action_table_row162(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2676, LOCATE_parser_tables___ParserTable___action_table_row162};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(310)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(283)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(310)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(283)) /*AbstractArray::add*/;
   goto return_label163;
   return_label163: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row163(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row163, 2663};
+val_t parser_tables___ParserTable___action_table_row163(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2684, LOCATE_parser_tables___ParserTable___action_table_row163};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(162)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(285)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(162)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(285)) /*AbstractArray::add*/;
   goto return_label164;
   return_label164: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row164(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row164, 2670};
+val_t parser_tables___ParserTable___action_table_row164(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2691, LOCATE_parser_tables___ParserTable___action_table_row164};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(286)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(286)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(172)) /*AbstractArray::add*/;
   goto return_label165;
   return_label165: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row165(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row165, 2679};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(164)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row165(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2700, LOCATE_parser_tables___ParserTable___action_table_row165};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(164)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label166;
   return_label166: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row166(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row166, 2706};
+val_t parser_tables___ParserTable___action_table_row166(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2727, LOCATE_parser_tables___ParserTable___action_table_row166};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(280)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(280)) /*AbstractArray::add*/;
   goto return_label167;
   return_label167: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row167(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row167, 2712};
+val_t parser_tables___ParserTable___action_table_row167(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2733, LOCATE_parser_tables___ParserTable___action_table_row167};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(166)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(166)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label168;
   return_label168: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row168(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row168, 2719};
+val_t parser_tables___ParserTable___action_table_row168(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2740, LOCATE_parser_tables___ParserTable___action_table_row168};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(316)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(316)) /*AbstractArray::add*/;
   goto return_label169;
   return_label169: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row169(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row169, 2725};
+val_t parser_tables___ParserTable___action_table_row169(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2746, LOCATE_parser_tables___ParserTable___action_table_row169};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(248)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(248)) /*AbstractArray::add*/;
   goto return_label170;
   return_label170: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row170(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row170, 2731};
+val_t parser_tables___ParserTable___action_table_row170(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2752, LOCATE_parser_tables___ParserTable___action_table_row170};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(169)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(290)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(169)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(290)) /*AbstractArray::add*/;
   goto return_label171;
   return_label171: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row171(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row171, 2738};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(170)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row171(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2759, LOCATE_parser_tables___ParserTable___action_table_row171};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(170)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label172;
   return_label172: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row172(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row172, 2765};
+val_t parser_tables___ParserTable___action_table_row172(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2786, LOCATE_parser_tables___ParserTable___action_table_row172};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label173;
   return_label173: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row173(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row173, 2773};
+val_t parser_tables___ParserTable___action_table_row173(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2794, LOCATE_parser_tables___ParserTable___action_table_row173};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label174;
   return_label174: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row174(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row174, 2781};
+val_t parser_tables___ParserTable___action_table_row174(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2802, LOCATE_parser_tables___ParserTable___action_table_row174};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(315)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(294)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(176)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(177)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(315)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(294)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*AbstractArray::add*/;
+  ((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(176)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+  ((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(177)) /*AbstractArray::add*/;
   goto return_label175;
   return_label175: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row175(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row175, 2790};
+val_t parser_tables___ParserTable___action_table_row175(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2811, LOCATE_parser_tables___ParserTable___action_table_row175};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(247)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(247)) /*AbstractArray::add*/;
   goto return_label176;
   return_label176: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row176(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row176, 2796};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(175)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row176(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2817, LOCATE_parser_tables___ParserTable___action_table_row176};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(175)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label177;
   return_label177: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row177(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row177, 2823};
+val_t parser_tables___ParserTable___action_table_row177(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2844, LOCATE_parser_tables___ParserTable___action_table_row177};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(266)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(266)) /*AbstractArray::add*/;
   goto return_label178;
   return_label178: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row178(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row178, 2829};
+val_t parser_tables___ParserTable___action_table_row178(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2850, LOCATE_parser_tables___ParserTable___action_table_row178};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(267)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(267)) /*AbstractArray::add*/;
   goto return_label179;
   return_label179: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row179(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row179, 2835};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(178)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row179(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2856, LOCATE_parser_tables___ParserTable___action_table_row179};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(178)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label180;
   return_label180: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row180(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row180, 2862};
+val_t parser_tables___ParserTable___action_table_row180(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2883, LOCATE_parser_tables___ParserTable___action_table_row180};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label181;
   return_label181: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row181(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row181, 2870};
+val_t parser_tables___ParserTable___action_table_row181(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2891, LOCATE_parser_tables___ParserTable___action_table_row181};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(79)) /*AbstractArray::add*/;
   goto return_label182;
   return_label182: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row182(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row182, 2876};
+val_t parser_tables___ParserTable___action_table_row182(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2897, LOCATE_parser_tables___ParserTable___action_table_row182};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(181)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(299)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(181)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+  ((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(299)) /*AbstractArray::add*/;
   goto return_label183;
   return_label183: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row183(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row183, 2883};
+val_t parser_tables___ParserTable___action_table_row183(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2904, LOCATE_parser_tables___ParserTable___action_table_row183};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(81)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(81)) /*AbstractArray::add*/;
   goto return_label184;
   return_label184: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row184(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row184, 2889};
+val_t parser_tables___ParserTable___action_table_row184(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2910, LOCATE_parser_tables___ParserTable___action_table_row184};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(82)) /*AbstractArray::add*/;
   goto return_label185;
   return_label185: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row185(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row185, 2895};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(184)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(301)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(302)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(303)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(304)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(305)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(306)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(307)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(308)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(309)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(310)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(311)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row185(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2916, LOCATE_parser_tables___ParserTable___action_table_row185};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(184)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(301)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(302)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(303)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(304)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(305)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(306)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(307)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(308)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(309)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(310)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(311)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(312)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(313)) /*AbstractArray::add*/;
   goto return_label186;
   return_label186: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row186(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row186, 2915};
+val_t parser_tables___ParserTable___action_table_row186(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2936, LOCATE_parser_tables___ParserTable___action_table_row186};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label187;
   return_label187: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row187(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row187, 2923};
+val_t parser_tables___ParserTable___action_table_row187(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2944, LOCATE_parser_tables___ParserTable___action_table_row187};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(557)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(561)) /*AbstractArray::add*/;
   goto return_label188;
   return_label188: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row188(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row188, 2929};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(365)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row188(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2950, LOCATE_parser_tables___ParserTable___action_table_row188};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(84)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(366)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label189;
   return_label189: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row189(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row189, 2962};
+val_t parser_tables___ParserTable___action_table_row189(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2983, LOCATE_parser_tables___ParserTable___action_table_row189};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(53)) /*AbstractArray::add*/;
   goto return_label190;
   return_label190: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row190(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row190, 2968};
+val_t parser_tables___ParserTable___action_table_row190(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2989, LOCATE_parser_tables___ParserTable___action_table_row190};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label191;
   return_label191: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row191(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row191, 2976};
+val_t parser_tables___ParserTable___action_table_row191(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 2997, LOCATE_parser_tables___ParserTable___action_table_row191};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(190)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(319)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(190)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(319)) /*AbstractArray::add*/;
   goto return_label192;
   return_label192: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row192(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row192, 2983};
+val_t parser_tables___ParserTable___action_table_row192(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3004, LOCATE_parser_tables___ParserTable___action_table_row192};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label193;
   return_label193: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row193(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row193, 2991};
+val_t parser_tables___ParserTable___action_table_row193(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3012, LOCATE_parser_tables___ParserTable___action_table_row193};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label194;
   return_label194: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row194(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row194, 2999};
+val_t parser_tables___ParserTable___action_table_row194(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3020, LOCATE_parser_tables___ParserTable___action_table_row194};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(320)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(322)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(176)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(177)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(320)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(322)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*AbstractArray::add*/;
+  ((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(176)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+  ((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(177)) /*AbstractArray::add*/;
   goto return_label195;
   return_label195: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row195(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row195, 3008};
+val_t parser_tables___ParserTable___action_table_row195(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3029, LOCATE_parser_tables___ParserTable___action_table_row195};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(340)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(341)) /*AbstractArray::add*/;
   goto return_label196;
   return_label196: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row196(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row196, 3014};
+val_t parser_tables___ParserTable___action_table_row196(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3035, LOCATE_parser_tables___ParserTable___action_table_row196};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(341)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(342)) /*AbstractArray::add*/;
   goto return_label197;
   return_label197: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row197(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row197, 3020};
+val_t parser_tables___ParserTable___action_table_row197(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3041, LOCATE_parser_tables___ParserTable___action_table_row197};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(559)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(563)) /*AbstractArray::add*/;
   goto return_label198;
   return_label198: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row198(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row198, 3026};
+val_t parser_tables___ParserTable___action_table_row198(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3047, LOCATE_parser_tables___ParserTable___action_table_row198};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label199;
   return_label199: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row199(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row199, 3034};
+val_t parser_tables___ParserTable___action_table_row199(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3055, LOCATE_parser_tables___ParserTable___action_table_row199};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(335)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(336)) /*AbstractArray::add*/;
   goto return_label200;
   return_label200: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row200(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row200, 3040};
+val_t parser_tables___ParserTable___action_table_row200(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3061, LOCATE_parser_tables___ParserTable___action_table_row200};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(199)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(194)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(81)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(195)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(199)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(81)) /*AbstractArray::add*/;
+  ((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(194)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*AbstractArray::add*/;
+  ((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(195)) /*AbstractArray::add*/;
   goto return_label201;
   return_label201: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row201(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row201, 3048};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(200)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row201(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3069, LOCATE_parser_tables___ParserTable___action_table_row201};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(200)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label202;
   return_label202: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row202(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row202, 3075};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row202(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3096, LOCATE_parser_tables___ParserTable___action_table_row202};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label203;
   return_label203: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row203(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row203, 3103};
+val_t parser_tables___ParserTable___action_table_row203(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3124, LOCATE_parser_tables___ParserTable___action_table_row203};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(202)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(202)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(172)) /*AbstractArray::add*/;
   goto return_label204;
   return_label204: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row204(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row204, 3110};
+val_t parser_tables___ParserTable___action_table_row204(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3131, LOCATE_parser_tables___ParserTable___action_table_row204};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(564)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(568)) /*AbstractArray::add*/;
   goto return_label205;
   return_label205: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row205(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row205, 3116};
+val_t parser_tables___ParserTable___action_table_row205(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3137, LOCATE_parser_tables___ParserTable___action_table_row205};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(355)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(356)) /*AbstractArray::add*/;
   goto return_label206;
   return_label206: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row206(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row206, 3122};
+val_t parser_tables___ParserTable___action_table_row206(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3143, LOCATE_parser_tables___ParserTable___action_table_row206};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(367)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(368)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*AbstractArray::add*/;
   goto return_label207;
   return_label207: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row207(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row207, 3129};
+val_t parser_tables___ParserTable___action_table_row207(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3150, LOCATE_parser_tables___ParserTable___action_table_row207};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(12)) /*AbstractArray::add*/;
   goto return_label208;
   return_label208: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row208(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row208, 3138};
+val_t parser_tables___ParserTable___action_table_row208(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3159, LOCATE_parser_tables___ParserTable___action_table_row208};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(30)) /*AbstractArray::add*/;
   goto return_label209;
   return_label209: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row209(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row209, 3144};
+val_t parser_tables___ParserTable___action_table_row209(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3165, LOCATE_parser_tables___ParserTable___action_table_row209};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(208)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(208)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label210;
   return_label210: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row210(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row210, 3152};
+val_t parser_tables___ParserTable___action_table_row210(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3173, LOCATE_parser_tables___ParserTable___action_table_row210};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(16)) /*AbstractArray::add*/;
   goto return_label211;
   return_label211: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row211(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row211, 3161};
+val_t parser_tables___ParserTable___action_table_row211(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3182, LOCATE_parser_tables___ParserTable___action_table_row211};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(210)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(180)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(181)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(182)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(183)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(184)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(210)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+  ((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(180)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+  ((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(181)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*AbstractArray::add*/;
+  ((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(182)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*AbstractArray::add*/;
+  ((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(183)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+  ((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(184)) /*AbstractArray::add*/;
   goto return_label212;
   return_label212: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row212(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row212, 3172};
+val_t parser_tables___ParserTable___action_table_row212(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3193, LOCATE_parser_tables___ParserTable___action_table_row212};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(34)) /*AbstractArray::add*/;
   goto return_label213;
   return_label213: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row213(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row213, 3178};
+val_t parser_tables___ParserTable___action_table_row213(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3199, LOCATE_parser_tables___ParserTable___action_table_row213};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(11)) /*AbstractArray::add*/;
   goto return_label214;
   return_label214: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row214(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row214, 3187};
+val_t parser_tables___ParserTable___action_table_row214(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3208, LOCATE_parser_tables___ParserTable___action_table_row214};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(14)) /*AbstractArray::add*/;
   goto return_label215;
   return_label215: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row215(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row215, 3196};
+val_t parser_tables___ParserTable___action_table_row215(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3217, LOCATE_parser_tables___ParserTable___action_table_row215};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(31)) /*AbstractArray::add*/;
   goto return_label216;
   return_label216: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row216(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row216, 3202};
+val_t parser_tables___ParserTable___action_table_row216(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3223, LOCATE_parser_tables___ParserTable___action_table_row216};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(215)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(215)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label217;
   return_label217: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row217(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row217, 3210};
+val_t parser_tables___ParserTable___action_table_row217(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3231, LOCATE_parser_tables___ParserTable___action_table_row217};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(18)) /*AbstractArray::add*/;
   goto return_label218;
   return_label218: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row218(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row218, 3219};
+val_t parser_tables___ParserTable___action_table_row218(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3240, LOCATE_parser_tables___ParserTable___action_table_row218};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(184)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(184)) /*AbstractArray::add*/;
   goto return_label219;
   return_label219: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row219(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row219, 3225};
+val_t parser_tables___ParserTable___action_table_row219(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3246, LOCATE_parser_tables___ParserTable___action_table_row219};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label220;
   return_label220: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row220(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row220, 3234};
+val_t parser_tables___ParserTable___action_table_row220(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3255, LOCATE_parser_tables___ParserTable___action_table_row220};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(219)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(184)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(219)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+  ((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(184)) /*AbstractArray::add*/;
   goto return_label221;
   return_label221: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row221(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row221, 3241};
+val_t parser_tables___ParserTable___action_table_row221(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3262, LOCATE_parser_tables___ParserTable___action_table_row221};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(33)) /*AbstractArray::add*/;
   goto return_label222;
   return_label222: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row222(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row222, 3247};
+val_t parser_tables___ParserTable___action_table_row222(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3268, LOCATE_parser_tables___ParserTable___action_table_row222};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(552)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(556)) /*AbstractArray::add*/;
   goto return_label223;
   return_label223: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row223(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row223, 3253};
+val_t parser_tables___ParserTable___action_table_row223(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3274, LOCATE_parser_tables___ParserTable___action_table_row223};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(222)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(222)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label224;
   return_label224: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row224(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row224, 3261};
+val_t parser_tables___ParserTable___action_table_row224(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3282, LOCATE_parser_tables___ParserTable___action_table_row224};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label225;
   return_label225: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row225(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row225, 3269};
+val_t parser_tables___ParserTable___action_table_row225(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3290, LOCATE_parser_tables___ParserTable___action_table_row225};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(483)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(485)) /*AbstractArray::add*/;
   goto return_label226;
   return_label226: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row226(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row226, 3275};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(225)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row226(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3296, LOCATE_parser_tables___ParserTable___action_table_row226};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(225)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label227;
   return_label227: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row227(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row227, 3302};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(226)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row227(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3323, LOCATE_parser_tables___ParserTable___action_table_row227};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(226)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label228;
   return_label228: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row228(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row228, 3326};
+val_t parser_tables___ParserTable___action_table_row228(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3347, LOCATE_parser_tables___ParserTable___action_table_row228};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(227)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(346)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(227)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(346)) /*AbstractArray::add*/;
   goto return_label229;
   return_label229: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row229(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row229, 3333};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(228)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row229(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3354, LOCATE_parser_tables___ParserTable___action_table_row229};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(228)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label230;
   return_label230: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row230(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row230, 3356};
+val_t parser_tables___ParserTable___action_table_row230(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3377, LOCATE_parser_tables___ParserTable___action_table_row230};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(480)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(482)) /*AbstractArray::add*/;
   goto return_label231;
   return_label231: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row231(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row231, 3362};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(230)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(349)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row231(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3383, LOCATE_parser_tables___ParserTable___action_table_row231};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(230)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(349)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label232;
   return_label232: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row232(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row232, 3390};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(231)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row232(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3411, LOCATE_parser_tables___ParserTable___action_table_row232};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(231)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label233;
   return_label233: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row233(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row233, 3413};
+val_t parser_tables___ParserTable___action_table_row233(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3434, LOCATE_parser_tables___ParserTable___action_table_row233};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(479)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(481)) /*AbstractArray::add*/;
   goto return_label234;
   return_label234: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row234(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row234, 3419};
+val_t parser_tables___ParserTable___action_table_row234(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3440, LOCATE_parser_tables___ParserTable___action_table_row234};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label235;
   return_label235: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row235(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row235, 3426};
+val_t parser_tables___ParserTable___action_table_row235(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3447, LOCATE_parser_tables___ParserTable___action_table_row235};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label236;
   return_label236: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row236(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row236, 3434};
+val_t parser_tables___ParserTable___action_table_row236(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3455, LOCATE_parser_tables___ParserTable___action_table_row236};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label237;
   return_label237: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row237(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row237, 3442};
+val_t parser_tables___ParserTable___action_table_row237(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3463, LOCATE_parser_tables___ParserTable___action_table_row237};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label238;
   return_label238: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row238(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row238, 3450};
+val_t parser_tables___ParserTable___action_table_row238(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3471, LOCATE_parser_tables___ParserTable___action_table_row238};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label239;
   return_label239: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row239(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row239, 3458};
+val_t parser_tables___ParserTable___action_table_row239(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3479, LOCATE_parser_tables___ParserTable___action_table_row239};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label240;
   return_label240: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row240(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row240, 3466};
+val_t parser_tables___ParserTable___action_table_row240(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3487, LOCATE_parser_tables___ParserTable___action_table_row240};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label241;
   return_label241: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row241(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row241, 3474};
+val_t parser_tables___ParserTable___action_table_row241(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3495, LOCATE_parser_tables___ParserTable___action_table_row241};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label242;
   return_label242: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row242(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row242, 3482};
+val_t parser_tables___ParserTable___action_table_row242(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3503, LOCATE_parser_tables___ParserTable___action_table_row242};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label243;
   return_label243: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row243(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row243, 3490};
+val_t parser_tables___ParserTable___action_table_row243(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3511, LOCATE_parser_tables___ParserTable___action_table_row243};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label244;
   return_label244: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row244(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row244, 3498};
+val_t parser_tables___ParserTable___action_table_row244(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3519, LOCATE_parser_tables___ParserTable___action_table_row244};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label245;
   return_label245: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row245(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row245, 3506};
+val_t parser_tables___ParserTable___action_table_row245(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3527, LOCATE_parser_tables___ParserTable___action_table_row245};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label246;
   return_label246: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row246(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row246, 3514};
+val_t parser_tables___ParserTable___action_table_row246(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3535, LOCATE_parser_tables___ParserTable___action_table_row246};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label247;
   return_label247: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row247(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row247, 3522};
+val_t parser_tables___ParserTable___action_table_row247(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3543, LOCATE_parser_tables___ParserTable___action_table_row247};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label248;
   return_label248: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row248(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row248, 3530};
+val_t parser_tables___ParserTable___action_table_row248(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3551, LOCATE_parser_tables___ParserTable___action_table_row248};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label249;
   return_label249: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row249(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row249, 3538};
+val_t parser_tables___ParserTable___action_table_row249(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3559, LOCATE_parser_tables___ParserTable___action_table_row249};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label250;
   return_label250: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row250(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row250, 3546};
+val_t parser_tables___ParserTable___action_table_row250(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3567, LOCATE_parser_tables___ParserTable___action_table_row250};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label251;
   return_label251: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row251(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row251, 3554};
+val_t parser_tables___ParserTable___action_table_row251(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3575, LOCATE_parser_tables___ParserTable___action_table_row251};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label252;
   return_label252: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row252(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row252, 3562};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(251)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(301)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(302)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(303)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(304)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(305)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(306)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(307)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(308)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(309)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(310)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(311)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row252(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3583, LOCATE_parser_tables___ParserTable___action_table_row252};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(251)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(301)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(302)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(303)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(304)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(305)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(306)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(307)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(308)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(309)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(310)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(311)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(312)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(313)) /*AbstractArray::add*/;
   goto return_label253;
   return_label253: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row253(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row253, 3582};
+val_t parser_tables___ParserTable___action_table_row253(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3603, LOCATE_parser_tables___ParserTable___action_table_row253};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label254;
   return_label254: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row254(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row254, 3590};
+val_t parser_tables___ParserTable___action_table_row254(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3611, LOCATE_parser_tables___ParserTable___action_table_row254};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(231)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(231)) /*AbstractArray::add*/;
   goto return_label255;
   return_label255: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row255(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row255, 3596};
+val_t parser_tables___ParserTable___action_table_row255(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3617, LOCATE_parser_tables___ParserTable___action_table_row255};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(254)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(254)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label256;
   return_label256: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row256(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row256, 3604};
+val_t parser_tables___ParserTable___action_table_row256(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3625, LOCATE_parser_tables___ParserTable___action_table_row256};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label257;
   return_label257: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row257(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row257, 3612};
+val_t parser_tables___ParserTable___action_table_row257(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3633, LOCATE_parser_tables___ParserTable___action_table_row257};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label258;
   return_label258: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row258(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row258, 3620};
+val_t parser_tables___ParserTable___action_table_row258(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3641, LOCATE_parser_tables___ParserTable___action_table_row258};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(253)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(376)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(253)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(376)) /*AbstractArray::add*/;
   goto return_label259;
   return_label259: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row259(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row259, 3627};
+val_t parser_tables___ParserTable___action_table_row259(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3648, LOCATE_parser_tables___ParserTable___action_table_row259};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label260;
   return_label260: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row260(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row260, 3635};
+val_t parser_tables___ParserTable___action_table_row260(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3656, LOCATE_parser_tables___ParserTable___action_table_row260};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label261;
   return_label261: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row261(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row261, 3643};
+val_t parser_tables___ParserTable___action_table_row261(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3664, LOCATE_parser_tables___ParserTable___action_table_row261};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label262;
   return_label262: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row262(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row262, 3651};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(261)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row262(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3672, LOCATE_parser_tables___ParserTable___action_table_row262};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(261)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label263;
   return_label263: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row263(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row263, 3678};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(262)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row263(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3699, LOCATE_parser_tables___ParserTable___action_table_row263};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(262)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label264;
   return_label264: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row264(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row264, 3704};
+val_t parser_tables___ParserTable___action_table_row264(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3725, LOCATE_parser_tables___ParserTable___action_table_row264};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(263)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(263)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label265;
   return_label265: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row265(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row265, 3711};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(264)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row265(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3732, LOCATE_parser_tables___ParserTable___action_table_row265};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(264)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label266;
   return_label266: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row266(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row266, 3736};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(265)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row266(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3757, LOCATE_parser_tables___ParserTable___action_table_row266};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(265)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label267;
   return_label267: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row267(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row267, 3761};
+val_t parser_tables___ParserTable___action_table_row267(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3782, LOCATE_parser_tables___ParserTable___action_table_row267};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(315)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(315)) /*AbstractArray::add*/;
   goto return_label268;
   return_label268: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row268(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row268, 3767};
+val_t parser_tables___ParserTable___action_table_row268(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3788, LOCATE_parser_tables___ParserTable___action_table_row268};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label269;
   return_label269: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row269(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row269, 3775};
+val_t parser_tables___ParserTable___action_table_row269(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3796, LOCATE_parser_tables___ParserTable___action_table_row269};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label270;
   return_label270: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row270(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row270, 3783};
+val_t parser_tables___ParserTable___action_table_row270(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3804, LOCATE_parser_tables___ParserTable___action_table_row270};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label271;
   return_label271: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row271(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row271, 3791};
+val_t parser_tables___ParserTable___action_table_row271(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3812, LOCATE_parser_tables___ParserTable___action_table_row271};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label272;
   return_label272: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row272(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row272, 3799};
+val_t parser_tables___ParserTable___action_table_row272(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3820, LOCATE_parser_tables___ParserTable___action_table_row272};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label273;
   return_label273: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row273(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row273, 3807};
+val_t parser_tables___ParserTable___action_table_row273(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3828, LOCATE_parser_tables___ParserTable___action_table_row273};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label274;
   return_label274: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row274(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row274, 3815};
+val_t parser_tables___ParserTable___action_table_row274(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3836, LOCATE_parser_tables___ParserTable___action_table_row274};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label275;
   return_label275: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row275(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row275, 3823};
+val_t parser_tables___ParserTable___action_table_row275(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3844, LOCATE_parser_tables___ParserTable___action_table_row275};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label276;
   return_label276: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row276(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row276, 3831};
+val_t parser_tables___ParserTable___action_table_row276(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3852, LOCATE_parser_tables___ParserTable___action_table_row276};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label277;
   return_label277: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row277(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row277, 3839};
+val_t parser_tables___ParserTable___action_table_row277(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3860, LOCATE_parser_tables___ParserTable___action_table_row277};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label278;
   return_label278: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row278(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row278, 3847};
+val_t parser_tables___ParserTable___action_table_row278(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3868, LOCATE_parser_tables___ParserTable___action_table_row278};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label279;
   return_label279: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row279(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row279, 3855};
+val_t parser_tables___ParserTable___action_table_row279(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3876, LOCATE_parser_tables___ParserTable___action_table_row279};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label280;
   return_label280: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row280(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row280, 3863};
+val_t parser_tables___ParserTable___action_table_row280(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3884, LOCATE_parser_tables___ParserTable___action_table_row280};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label281;
   return_label281: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row281(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row281, 3871};
+val_t parser_tables___ParserTable___action_table_row281(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3892, LOCATE_parser_tables___ParserTable___action_table_row281};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label282;
   return_label282: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row282(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row282, 3879};
+val_t parser_tables___ParserTable___action_table_row282(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3900, LOCATE_parser_tables___ParserTable___action_table_row282};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label283;
   return_label283: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row283(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row283, 3887};
+val_t parser_tables___ParserTable___action_table_row283(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3908, LOCATE_parser_tables___ParserTable___action_table_row283};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label284;
   return_label284: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row284(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row284, 3895};
+val_t parser_tables___ParserTable___action_table_row284(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3916, LOCATE_parser_tables___ParserTable___action_table_row284};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label285;
   return_label285: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row285(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row285, 3903};
+val_t parser_tables___ParserTable___action_table_row285(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3924, LOCATE_parser_tables___ParserTable___action_table_row285};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(320)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(320)) /*AbstractArray::add*/;
   goto return_label286;
   return_label286: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row286(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row286, 3909};
+val_t parser_tables___ParserTable___action_table_row286(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3930, LOCATE_parser_tables___ParserTable___action_table_row286};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label287;
   return_label287: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row287(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row287, 3916};
+val_t parser_tables___ParserTable___action_table_row287(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3937, LOCATE_parser_tables___ParserTable___action_table_row287};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(282)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(282)) /*AbstractArray::add*/;
   goto return_label288;
   return_label288: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row288(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row288, 3922};
+val_t parser_tables___ParserTable___action_table_row288(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3943, LOCATE_parser_tables___ParserTable___action_table_row288};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(281)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(281)) /*AbstractArray::add*/;
   goto return_label289;
   return_label289: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row289(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row289, 3928};
+val_t parser_tables___ParserTable___action_table_row289(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3949, LOCATE_parser_tables___ParserTable___action_table_row289};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(222)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(402)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(222)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(402)) /*AbstractArray::add*/;
   goto return_label290;
   return_label290: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row290(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row290, 3935};
+val_t parser_tables___ParserTable___action_table_row290(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3956, LOCATE_parser_tables___ParserTable___action_table_row290};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(289)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(403)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(289)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(403)) /*AbstractArray::add*/;
   goto return_label291;
   return_label291: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row291(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row291, 3942};
+val_t parser_tables___ParserTable___action_table_row291(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3963, LOCATE_parser_tables___ParserTable___action_table_row291};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(334)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(334)) /*AbstractArray::add*/;
   goto return_label292;
   return_label292: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row292(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row292, 3948};
+val_t parser_tables___ParserTable___action_table_row292(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3969, LOCATE_parser_tables___ParserTable___action_table_row292};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label293;
   return_label293: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row293(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row293, 3956};
+val_t parser_tables___ParserTable___action_table_row293(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3977, LOCATE_parser_tables___ParserTable___action_table_row293};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(358)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(359)) /*AbstractArray::add*/;
   goto return_label294;
   return_label294: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row294(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row294, 3962};
+val_t parser_tables___ParserTable___action_table_row294(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3983, LOCATE_parser_tables___ParserTable___action_table_row294};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(357)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(358)) /*AbstractArray::add*/;
   goto return_label295;
   return_label295: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row295(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row295, 3968};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(294)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row295(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 3989, LOCATE_parser_tables___ParserTable___action_table_row295};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(294)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label296;
   return_label296: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row296(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row296, 3995};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(295)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row296(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4016, LOCATE_parser_tables___ParserTable___action_table_row296};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(295)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label297;
   return_label297: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row297(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row297, 4022};
+val_t parser_tables___ParserTable___action_table_row297(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4043, LOCATE_parser_tables___ParserTable___action_table_row297};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(257)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(257)) /*AbstractArray::add*/;
   goto return_label298;
   return_label298: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row298(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row298, 4028};
+val_t parser_tables___ParserTable___action_table_row298(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4049, LOCATE_parser_tables___ParserTable___action_table_row298};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(262)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(262)) /*AbstractArray::add*/;
   goto return_label299;
   return_label299: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row299(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row299, 4034};
+val_t parser_tables___ParserTable___action_table_row299(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4055, LOCATE_parser_tables___ParserTable___action_table_row299};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(298)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(407)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(408)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(298)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(407)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(408)) /*AbstractArray::add*/;
   goto return_label300;
   return_label300: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row300(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row300, 4042};
+val_t parser_tables___ParserTable___action_table_row300(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4063, LOCATE_parser_tables___ParserTable___action_table_row300};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(80)) /*AbstractArray::add*/;
   goto return_label301;
   return_label301: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row301(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row301, 4048};
+val_t parser_tables___ParserTable___action_table_row301(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4069, LOCATE_parser_tables___ParserTable___action_table_row301};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(409)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(409)) /*AbstractArray::add*/;
   goto return_label302;
   return_label302: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row302(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row302, 4055};
+val_t parser_tables___ParserTable___action_table_row302(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4076, LOCATE_parser_tables___ParserTable___action_table_row302};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(196)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(196)) /*AbstractArray::add*/;
   goto return_label303;
   return_label303: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row303(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row303, 4061};
+val_t parser_tables___ParserTable___action_table_row303(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4082, LOCATE_parser_tables___ParserTable___action_table_row303};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(197)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(197)) /*AbstractArray::add*/;
   goto return_label304;
   return_label304: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row304(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row304, 4067};
+val_t parser_tables___ParserTable___action_table_row304(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4088, LOCATE_parser_tables___ParserTable___action_table_row304};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(198)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(198)) /*AbstractArray::add*/;
   goto return_label305;
   return_label305: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row305(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row305, 4073};
+val_t parser_tables___ParserTable___action_table_row305(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4094, LOCATE_parser_tables___ParserTable___action_table_row305};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(199)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(199)) /*AbstractArray::add*/;
   goto return_label306;
   return_label306: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row306(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row306, 4079};
+val_t parser_tables___ParserTable___action_table_row306(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4100, LOCATE_parser_tables___ParserTable___action_table_row306};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(200)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(200)) /*AbstractArray::add*/;
   goto return_label307;
   return_label307: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row307(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row307, 4085};
+val_t parser_tables___ParserTable___action_table_row307(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4106, LOCATE_parser_tables___ParserTable___action_table_row307};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(201)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(201)) /*AbstractArray::add*/;
   goto return_label308;
   return_label308: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row308(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row308, 4091};
+val_t parser_tables___ParserTable___action_table_row308(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4112, LOCATE_parser_tables___ParserTable___action_table_row308};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(202)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(202)) /*AbstractArray::add*/;
   goto return_label309;
   return_label309: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row309(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row309, 4097};
+val_t parser_tables___ParserTable___action_table_row309(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4118, LOCATE_parser_tables___ParserTable___action_table_row309};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(205)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(205)) /*AbstractArray::add*/;
   goto return_label310;
   return_label310: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row310(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row310, 4103};
+val_t parser_tables___ParserTable___action_table_row310(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4124, LOCATE_parser_tables___ParserTable___action_table_row310};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(203)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(203)) /*AbstractArray::add*/;
   goto return_label311;
   return_label311: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row311(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row311, 4109};
+val_t parser_tables___ParserTable___action_table_row311(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4130, LOCATE_parser_tables___ParserTable___action_table_row311};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(206)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(206)) /*AbstractArray::add*/;
   goto return_label312;
   return_label312: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row312(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row312, 4115};
+val_t parser_tables___ParserTable___action_table_row312(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4136, LOCATE_parser_tables___ParserTable___action_table_row312};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(204)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(204)) /*AbstractArray::add*/;
   goto return_label313;
   return_label313: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row313(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row313, 4121};
+val_t parser_tables___ParserTable___action_table_row313(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4142, LOCATE_parser_tables___ParserTable___action_table_row313};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(208)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(208)) /*AbstractArray::add*/;
   goto return_label314;
   return_label314: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row314(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row314, 4127};
+val_t parser_tables___ParserTable___action_table_row314(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4148, LOCATE_parser_tables___ParserTable___action_table_row314};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(195)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(410)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(195)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(410)) /*AbstractArray::add*/;
   goto return_label315;
   return_label315: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row315(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row315, 4134};
+val_t parser_tables___ParserTable___action_table_row315(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4155, LOCATE_parser_tables___ParserTable___action_table_row315};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label316;
   return_label316: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row316(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row316, 4142};
+val_t parser_tables___ParserTable___action_table_row316(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4163, LOCATE_parser_tables___ParserTable___action_table_row316};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(315)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(415)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(315)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(415)) /*AbstractArray::add*/;
   goto return_label317;
   return_label317: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row317(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row317, 4149};
+val_t parser_tables___ParserTable___action_table_row317(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4170, LOCATE_parser_tables___ParserTable___action_table_row317};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(233)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(233)) /*AbstractArray::add*/;
   goto return_label318;
   return_label318: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row318(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row318, 4155};
+val_t parser_tables___ParserTable___action_table_row318(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4176, LOCATE_parser_tables___ParserTable___action_table_row318};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(558)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(562)) /*AbstractArray::add*/;
   goto return_label319;
   return_label319: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row319(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row319, 4161};
+val_t parser_tables___ParserTable___action_table_row319(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4182, LOCATE_parser_tables___ParserTable___action_table_row319};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(54)) /*AbstractArray::add*/;
   goto return_label320;
   return_label320: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row320(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row320, 4167};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(319)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row320(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4188, LOCATE_parser_tables___ParserTable___action_table_row320};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(319)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label321;
   return_label321: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row321(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row321, 4203};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(320)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row321(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4224, LOCATE_parser_tables___ParserTable___action_table_row321};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(320)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label322;
   return_label322: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row322(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row322, 4230};
+val_t parser_tables___ParserTable___action_table_row322(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4251, LOCATE_parser_tables___ParserTable___action_table_row322};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(321)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(418)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(419)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(420)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(321)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(418)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+  ((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(419)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(420)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(421)) /*AbstractArray::add*/;
   goto return_label323;
   return_label323: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row323(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row323, 4239};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(322)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row323(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4261, LOCATE_parser_tables___ParserTable___action_table_row323};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(322)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label324;
   return_label324: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row324(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row324, 4266};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(323)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row324(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4288, LOCATE_parser_tables___ParserTable___action_table_row324};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(323)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label325;
   return_label325: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row325(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row325, 4293};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(324)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row325(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4315, LOCATE_parser_tables___ParserTable___action_table_row325};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(324)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label326;
   return_label326: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row326(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row326, 4320};
+val_t parser_tables___ParserTable___action_table_row326(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4342, LOCATE_parser_tables___ParserTable___action_table_row326};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(560)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(564)) /*AbstractArray::add*/;
   goto return_label327;
   return_label327: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row327(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row327, 4326};
+val_t parser_tables___ParserTable___action_table_row327(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4348, LOCATE_parser_tables___ParserTable___action_table_row327};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(336)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(337)) /*AbstractArray::add*/;
   goto return_label328;
   return_label328: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row328(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row328, 4332};
+val_t parser_tables___ParserTable___action_table_row328(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4354, LOCATE_parser_tables___ParserTable___action_table_row328};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label329;
   return_label329: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row329(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row329, 4340};
+val_t parser_tables___ParserTable___action_table_row329(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4362, LOCATE_parser_tables___ParserTable___action_table_row329};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(317)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(317)) /*AbstractArray::add*/;
   goto return_label330;
   return_label330: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row330(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row330, 4346};
+val_t parser_tables___ParserTable___action_table_row330(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4368, LOCATE_parser_tables___ParserTable___action_table_row330};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(249)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(249)) /*AbstractArray::add*/;
   goto return_label331;
   return_label331: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row331(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row331, 4352};
+val_t parser_tables___ParserTable___action_table_row331(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4374, LOCATE_parser_tables___ParserTable___action_table_row331};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(36)) /*AbstractArray::add*/;
   goto return_label332;
   return_label332: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row332(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row332, 4358};
+val_t parser_tables___ParserTable___action_table_row332(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4380, LOCATE_parser_tables___ParserTable___action_table_row332};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(13)) /*AbstractArray::add*/;
   goto return_label333;
   return_label333: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row333(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row333, 4367};
+val_t parser_tables___ParserTable___action_table_row333(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4389, LOCATE_parser_tables___ParserTable___action_table_row333};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(20)) /*AbstractArray::add*/;
   goto return_label334;
   return_label334: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row334(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row334, 4376};
+val_t parser_tables___ParserTable___action_table_row334(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4398, LOCATE_parser_tables___ParserTable___action_table_row334};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(40)) /*AbstractArray::add*/;
   goto return_label335;
   return_label335: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row335(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row335, 4382};
+val_t parser_tables___ParserTable___action_table_row335(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4404, LOCATE_parser_tables___ParserTable___action_table_row335};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(17)) /*AbstractArray::add*/;
   goto return_label336;
   return_label336: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row336(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row336, 4391};
+val_t parser_tables___ParserTable___action_table_row336(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4413, LOCATE_parser_tables___ParserTable___action_table_row336};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(35)) /*AbstractArray::add*/;
   goto return_label337;
   return_label337: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row337(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row337, 4397};
+val_t parser_tables___ParserTable___action_table_row337(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4419, LOCATE_parser_tables___ParserTable___action_table_row337};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(38)) /*AbstractArray::add*/;
   goto return_label338;
   return_label338: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row338(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row338, 4403};
+val_t parser_tables___ParserTable___action_table_row338(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4425, LOCATE_parser_tables___ParserTable___action_table_row338};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(15)) /*AbstractArray::add*/;
   goto return_label339;
   return_label339: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row339(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row339, 4412};
+val_t parser_tables___ParserTable___action_table_row339(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4434, LOCATE_parser_tables___ParserTable___action_table_row339};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(22)) /*AbstractArray::add*/;
   goto return_label340;
   return_label340: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row340(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row340, 4421};
+val_t parser_tables___ParserTable___action_table_row340(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4443, LOCATE_parser_tables___ParserTable___action_table_row340};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(42)) /*AbstractArray::add*/;
   goto return_label341;
   return_label341: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row341(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row341, 4427};
+val_t parser_tables___ParserTable___action_table_row341(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4449, LOCATE_parser_tables___ParserTable___action_table_row341};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(19)) /*AbstractArray::add*/;
   goto return_label342;
   return_label342: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row342(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row342, 4436};
+val_t parser_tables___ParserTable___action_table_row342(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4458, LOCATE_parser_tables___ParserTable___action_table_row342};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(341)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(251)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(341)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+  ((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(251)) /*AbstractArray::add*/;
   goto return_label343;
   return_label343: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row343(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row343, 4443};
+val_t parser_tables___ParserTable___action_table_row343(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4465, LOCATE_parser_tables___ParserTable___action_table_row343};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(48)) /*AbstractArray::add*/;
   goto return_label344;
   return_label344: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row344(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row344, 4449};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(343)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(433)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row344(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4471, LOCATE_parser_tables___ParserTable___action_table_row344};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(343)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(434)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label345;
   return_label345: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row345(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row345, 4477};
+val_t parser_tables___ParserTable___action_table_row345(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4499, LOCATE_parser_tables___ParserTable___action_table_row345};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label346;
   return_label346: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row346(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row346, 4485};
+val_t parser_tables___ParserTable___action_table_row346(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4507, LOCATE_parser_tables___ParserTable___action_table_row346};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(453)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(455)) /*AbstractArray::add*/;
   goto return_label347;
   return_label347: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row347(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row347, 4491};
+val_t parser_tables___ParserTable___action_table_row347(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4513, LOCATE_parser_tables___ParserTable___action_table_row347};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(445)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(436)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(447)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(437)) /*AbstractArray::add*/;
   goto return_label348;
   return_label348: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row348(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row348, 4498};
+val_t parser_tables___ParserTable___action_table_row348(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4520, LOCATE_parser_tables___ParserTable___action_table_row348};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(437)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(438)) /*AbstractArray::add*/;
   goto return_label349;
   return_label349: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row349(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row349, 4506};
+val_t parser_tables___ParserTable___action_table_row349(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4528, LOCATE_parser_tables___ParserTable___action_table_row349};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(473)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(475)) /*AbstractArray::add*/;
   goto return_label350;
   return_label350: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row350(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row350, 4512};
+val_t parser_tables___ParserTable___action_table_row350(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4534, LOCATE_parser_tables___ParserTable___action_table_row350};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(344)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(349)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(349)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(349)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(349)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(349)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(345)) /*AbstractArray::add*/;
+  ((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(350)) /*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*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*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(350)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(350)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(350)) /*AbstractArray::add*/;
   goto return_label351;
   return_label351: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row351(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row351, 4523};
+val_t parser_tables___ParserTable___action_table_row351(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4545, LOCATE_parser_tables___ParserTable___action_table_row351};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label352;
   return_label352: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row352(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row352, 4531};
+val_t parser_tables___ParserTable___action_table_row352(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4553, LOCATE_parser_tables___ParserTable___action_table_row352};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(472)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(474)) /*AbstractArray::add*/;
   goto return_label353;
   return_label353: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row353(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row353, 4537};
+val_t parser_tables___ParserTable___action_table_row353(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4559, LOCATE_parser_tables___ParserTable___action_table_row353};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(481)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(483)) /*AbstractArray::add*/;
   goto return_label354;
   return_label354: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row354(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row354, 4543};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(353)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row354(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4565, LOCATE_parser_tables___ParserTable___action_table_row354};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(353)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label355;
   return_label355: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row355(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row355, 4567};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(354)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row355(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4589, LOCATE_parser_tables___ParserTable___action_table_row355};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(354)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label356;
   return_label356: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row356(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row356, 4591};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(355)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row356(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4613, LOCATE_parser_tables___ParserTable___action_table_row356};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(355)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label357;
   return_label357: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row357(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row357, 4614};
+val_t parser_tables___ParserTable___action_table_row357(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4636, LOCATE_parser_tables___ParserTable___action_table_row357};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(356)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(346)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(356)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(346)) /*AbstractArray::add*/;
   goto return_label358;
   return_label358: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row358(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row358, 4621};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(357)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row358(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4643, LOCATE_parser_tables___ParserTable___action_table_row358};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(357)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label359;
   return_label359: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row359(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row359, 4644};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(358)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row359(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4666, LOCATE_parser_tables___ParserTable___action_table_row359};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(358)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label360;
   return_label360: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row360(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row360, 4667};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(359)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row360(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4689, LOCATE_parser_tables___ParserTable___action_table_row360};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(359)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label361;
   return_label361: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row361(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row361, 4690};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(360)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row361(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4712, LOCATE_parser_tables___ParserTable___action_table_row361};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(360)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label362;
   return_label362: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row362(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row362, 4713};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(361)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row362(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4735, LOCATE_parser_tables___ParserTable___action_table_row362};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(361)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label363;
   return_label363: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row363(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row363, 4736};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(362)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row363(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4758, LOCATE_parser_tables___ParserTable___action_table_row363};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(362)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label364;
   return_label364: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row364(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row364, 4759};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(363)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row364(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4781, LOCATE_parser_tables___ParserTable___action_table_row364};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(363)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label365;
   return_label365: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row365(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row365, 4782};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row365(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4804, LOCATE_parser_tables___ParserTable___action_table_row365};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label366;
   return_label366: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row366(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row366, 4805};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(365)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row366(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4827, LOCATE_parser_tables___ParserTable___action_table_row366};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(365)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label367;
   return_label367: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row367(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row367, 4828};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(366)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row367(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4850, LOCATE_parser_tables___ParserTable___action_table_row367};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(366)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label368;
   return_label368: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row368(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row368, 4851};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(367)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row368(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4873, LOCATE_parser_tables___ParserTable___action_table_row368};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(367)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label369;
   return_label369: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row369(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row369, 4874};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(368)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row369(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4896, LOCATE_parser_tables___ParserTable___action_table_row369};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(54)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(368)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label370;
   return_label370: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row370(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row370, 4897};
+val_t parser_tables___ParserTable___action_table_row370(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4919, LOCATE_parser_tables___ParserTable___action_table_row370};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(369)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(456)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(457)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(458)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(369)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(457)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+  ((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(458)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(459)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(460)) /*AbstractArray::add*/;
   goto return_label371;
   return_label371: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row371(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row371, 4906};
+val_t parser_tables___ParserTable___action_table_row371(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4929, LOCATE_parser_tables___ParserTable___action_table_row371};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label372;
   return_label372: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row372(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row372, 4914};
+val_t parser_tables___ParserTable___action_table_row372(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4937, LOCATE_parser_tables___ParserTable___action_table_row372};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(371)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(460)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(371)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(462)) /*AbstractArray::add*/;
   goto return_label373;
   return_label373: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row373(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row373, 4921};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(372)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(461)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row373(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4944, LOCATE_parser_tables___ParserTable___action_table_row373};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(372)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(463)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label374;
   return_label374: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row374(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row374, 4955};
+val_t parser_tables___ParserTable___action_table_row374(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4978, LOCATE_parser_tables___ParserTable___action_table_row374};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(373)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(373)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label375;
   return_label375: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row375(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row375, 4963};
+val_t parser_tables___ParserTable___action_table_row375(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4986, LOCATE_parser_tables___ParserTable___action_table_row375};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(374)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(374)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label376;
   return_label376: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row376(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row376, 4970};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(375)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row376(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 4993, LOCATE_parser_tables___ParserTable___action_table_row376};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(375)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label377;
   return_label377: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row377(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row377, 4997};
+val_t parser_tables___ParserTable___action_table_row377(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5020, LOCATE_parser_tables___ParserTable___action_table_row377};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label378;
   return_label378: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row378(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row378, 5005};
+val_t parser_tables___ParserTable___action_table_row378(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5028, LOCATE_parser_tables___ParserTable___action_table_row378};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(377)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(466)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(377)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+  ((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(468)) /*AbstractArray::add*/;
   goto return_label379;
   return_label379: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row379(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row379, 5012};
+val_t parser_tables___ParserTable___action_table_row379(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5035, LOCATE_parser_tables___ParserTable___action_table_row379};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(378)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(467)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(378)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(469)) /*AbstractArray::add*/;
   goto return_label380;
   return_label380: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row380(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row380, 5019};
+val_t parser_tables___ParserTable___action_table_row380(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5042, LOCATE_parser_tables___ParserTable___action_table_row380};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(379)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(468)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(379)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*AbstractArray::add*/;
+  ((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(470)) /*AbstractArray::add*/;
   goto return_label381;
   return_label381: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row381(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row381, 5026};
+val_t parser_tables___ParserTable___action_table_row381(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5049, LOCATE_parser_tables___ParserTable___action_table_row381};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label382;
   return_label382: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row382(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row382, 5034};
+val_t parser_tables___ParserTable___action_table_row382(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5057, LOCATE_parser_tables___ParserTable___action_table_row382};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(289)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(289)) /*AbstractArray::add*/;
   goto return_label383;
   return_label383: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row383(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row383, 5040};
+val_t parser_tables___ParserTable___action_table_row383(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5063, LOCATE_parser_tables___ParserTable___action_table_row383};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(403)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(403)) /*AbstractArray::add*/;
   goto return_label384;
   return_label384: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row384(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row384, 5048};
+val_t parser_tables___ParserTable___action_table_row384(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5071, LOCATE_parser_tables___ParserTable___action_table_row384};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(309)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(309)) /*AbstractArray::add*/;
   goto return_label385;
   return_label385: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row385(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row385, 5054};
+val_t parser_tables___ParserTable___action_table_row385(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5077, LOCATE_parser_tables___ParserTable___action_table_row385};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(308)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(308)) /*AbstractArray::add*/;
   goto return_label386;
   return_label386: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row386(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row386, 5060};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(385)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row386(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5083, LOCATE_parser_tables___ParserTable___action_table_row386};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(385)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label387;
   return_label387: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row387(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row387, 5086};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(386)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row387(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5109, LOCATE_parser_tables___ParserTable___action_table_row387};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(386)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label388;
   return_label388: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row388(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row388, 5112};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(387)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row388(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5135, LOCATE_parser_tables___ParserTable___action_table_row388};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(387)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label389;
   return_label389: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row389(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row389, 5137};
+val_t parser_tables___ParserTable___action_table_row389(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5160, LOCATE_parser_tables___ParserTable___action_table_row389};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(388)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(388)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label390;
   return_label390: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row390(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row390, 5144};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(389)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row390(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5167, LOCATE_parser_tables___ParserTable___action_table_row390};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(389)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label391;
   return_label391: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row391(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row391, 5169};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(390)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row391(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5192, LOCATE_parser_tables___ParserTable___action_table_row391};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(390)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label392;
   return_label392: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row392(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row392, 5194};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(391)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row392(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5217, LOCATE_parser_tables___ParserTable___action_table_row392};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(391)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label393;
   return_label393: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row393(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row393, 5219};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(392)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row393(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5242, LOCATE_parser_tables___ParserTable___action_table_row393};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(392)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label394;
   return_label394: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row394(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row394, 5244};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(393)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row394(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5267, LOCATE_parser_tables___ParserTable___action_table_row394};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(393)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label395;
   return_label395: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row395(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row395, 5269};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(394)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row395(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5292, LOCATE_parser_tables___ParserTable___action_table_row395};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(394)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label396;
   return_label396: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row396(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row396, 5294};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(395)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row396(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5317, LOCATE_parser_tables___ParserTable___action_table_row396};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(395)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label397;
   return_label397: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row397(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row397, 5319};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(396)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row397(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5342, LOCATE_parser_tables___ParserTable___action_table_row397};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(396)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label398;
   return_label398: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row398(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row398, 5344};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(397)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row398(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5367, LOCATE_parser_tables___ParserTable___action_table_row398};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(397)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label399;
   return_label399: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row399(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row399, 5369};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(398)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row399(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5392, LOCATE_parser_tables___ParserTable___action_table_row399};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(398)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label400;
   return_label400: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row400(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row400, 5394};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(399)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row400(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5417, LOCATE_parser_tables___ParserTable___action_table_row400};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(399)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label401;
   return_label401: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row401(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row401, 5419};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(400)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row401(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5442, LOCATE_parser_tables___ParserTable___action_table_row401};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(400)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label402;
   return_label402: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row402(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row402, 5444};
+val_t parser_tables___ParserTable___action_table_row402(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5467, LOCATE_parser_tables___ParserTable___action_table_row402};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(401)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(487)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(488)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(489)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(401)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(489)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+  ((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(419)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(490)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(491)) /*AbstractArray::add*/;
   goto return_label403;
   return_label403: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row403(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row403, 5453};
+val_t parser_tables___ParserTable___action_table_row403(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5477, LOCATE_parser_tables___ParserTable___action_table_row403};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label404;
   return_label404: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row404(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row404, 5461};
+val_t parser_tables___ParserTable___action_table_row404(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5485, LOCATE_parser_tables___ParserTable___action_table_row404};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label405;
   return_label405: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row405(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row405, 5469};
+val_t parser_tables___ParserTable___action_table_row405(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5493, LOCATE_parser_tables___ParserTable___action_table_row405};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(404)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(492)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(58)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(494)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(404)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(494)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(495)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+  ((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(496)) /*AbstractArray::add*/;
   goto return_label406;
   return_label406: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row406(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row406, 5478};
+val_t parser_tables___ParserTable___action_table_row406(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5502, LOCATE_parser_tables___ParserTable___action_table_row406};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(259)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(259)) /*AbstractArray::add*/;
   goto return_label407;
   return_label407: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row407(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row407, 5484};
+val_t parser_tables___ParserTable___action_table_row407(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5508, LOCATE_parser_tables___ParserTable___action_table_row407};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(264)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(264)) /*AbstractArray::add*/;
   goto return_label408;
   return_label408: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row408(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row408, 5490};
+val_t parser_tables___ParserTable___action_table_row408(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5514, LOCATE_parser_tables___ParserTable___action_table_row408};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(407)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(407)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label409;
   return_label409: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row409(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row409, 5498};
+val_t parser_tables___ParserTable___action_table_row409(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5522, LOCATE_parser_tables___ParserTable___action_table_row409};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(408)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(408)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label410;
   return_label410: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row410(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row410, 5506};
+val_t parser_tables___ParserTable___action_table_row410(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5530, LOCATE_parser_tables___ParserTable___action_table_row410};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(207)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(499)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(207)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(501)) /*AbstractArray::add*/;
   goto return_label411;
   return_label411: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row411(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row411, 5513};
+val_t parser_tables___ParserTable___action_table_row411(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5537, LOCATE_parser_tables___ParserTable___action_table_row411};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(209)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(209)) /*AbstractArray::add*/;
   goto return_label412;
   return_label412: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row412(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row412, 5519};
+val_t parser_tables___ParserTable___action_table_row412(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5543, LOCATE_parser_tables___ParserTable___action_table_row412};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label413;
   return_label413: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row413(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row413, 5527};
+val_t parser_tables___ParserTable___action_table_row413(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5551, LOCATE_parser_tables___ParserTable___action_table_row413};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(501)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+  ((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(503)) /*AbstractArray::add*/;
   goto return_label414;
   return_label414: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row414(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row414, 5536};
+val_t parser_tables___ParserTable___action_table_row414(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5560, LOCATE_parser_tables___ParserTable___action_table_row414};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(212)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(212)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label415;
   return_label415: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row415(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row415, 5543};
+val_t parser_tables___ParserTable___action_table_row415(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5567, LOCATE_parser_tables___ParserTable___action_table_row415};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(213)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(213)) /*AbstractArray::add*/;
   goto return_label416;
   return_label416: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row416(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row416, 5549};
+val_t parser_tables___ParserTable___action_table_row416(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5573, LOCATE_parser_tables___ParserTable___action_table_row416};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(504)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(506)) /*AbstractArray::add*/;
   goto return_label417;
   return_label417: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row417(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row417, 5558};
+val_t parser_tables___ParserTable___action_table_row417(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5582, LOCATE_parser_tables___ParserTable___action_table_row417};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(278)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(278)) /*AbstractArray::add*/;
   goto return_label418;
   return_label418: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row418(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row418, 5564};
+val_t parser_tables___ParserTable___action_table_row418(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5588, LOCATE_parser_tables___ParserTable___action_table_row418};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label419;
   return_label419: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row419(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row419, 5572};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row419(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5596, LOCATE_parser_tables___ParserTable___action_table_row419};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label420;
   return_label420: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row420(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row420, 5600};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row420(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5624, LOCATE_parser_tables___ParserTable___action_table_row420};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label421;
   return_label421: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row421(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row421, 5630};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(515)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(176)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(177)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row421(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5632, LOCATE_parser_tables___ParserTable___action_table_row421};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(75)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((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(351)) /*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*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(351)) /*AbstractArray::add*/;
   goto return_label422;
   return_label422: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row422(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row422, 5639};
+val_t parser_tables___ParserTable___action_table_row422(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5662, LOCATE_parser_tables___ParserTable___action_table_row422};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(260)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(312)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(518)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*AbstractArray::add*/;
+  ((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(176)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+  ((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(177)) /*AbstractArray::add*/;
   goto return_label423;
   return_label423: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row423(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row423, 5645};
+val_t parser_tables___ParserTable___action_table_row423(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5671, LOCATE_parser_tables___ParserTable___action_table_row423};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(265)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(260)) /*AbstractArray::add*/;
   goto return_label424;
   return_label424: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row424(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row424, 5651};
+val_t parser_tables___ParserTable___action_table_row424(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5677, LOCATE_parser_tables___ParserTable___action_table_row424};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(265)) /*AbstractArray::add*/;
   goto return_label425;
   return_label425: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row425(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row425, 5659};
+val_t parser_tables___ParserTable___action_table_row425(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5683, LOCATE_parser_tables___ParserTable___action_table_row425};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(337)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label426;
   return_label426: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row426(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row426, 5665};
+val_t parser_tables___ParserTable___action_table_row426(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5691, LOCATE_parser_tables___ParserTable___action_table_row426};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(338)) /*AbstractArray::add*/;
   goto return_label427;
   return_label427: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row427(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row427, 5671};
+val_t parser_tables___ParserTable___action_table_row427(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5697, LOCATE_parser_tables___ParserTable___action_table_row427};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(37)) /*AbstractArray::add*/;
   goto return_label428;
   return_label428: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row428(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row428, 5677};
+val_t parser_tables___ParserTable___action_table_row428(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5703, LOCATE_parser_tables___ParserTable___action_table_row428};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(44)) /*AbstractArray::add*/;
   goto return_label429;
   return_label429: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row429(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row429, 5686};
+val_t parser_tables___ParserTable___action_table_row429(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5709, LOCATE_parser_tables___ParserTable___action_table_row429};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(21)) /*AbstractArray::add*/;
   goto return_label430;
   return_label430: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row430(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row430, 5692};
+val_t parser_tables___ParserTable___action_table_row430(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5718, LOCATE_parser_tables___ParserTable___action_table_row430};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(41)) /*AbstractArray::add*/;
   goto return_label431;
   return_label431: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row431(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row431, 5698};
+val_t parser_tables___ParserTable___action_table_row431(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5724, LOCATE_parser_tables___ParserTable___action_table_row431};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(39)) /*AbstractArray::add*/;
   goto return_label432;
   return_label432: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row432(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row432, 5704};
+val_t parser_tables___ParserTable___action_table_row432(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5730, LOCATE_parser_tables___ParserTable___action_table_row432};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(46)) /*AbstractArray::add*/;
   goto return_label433;
   return_label433: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row433(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row433, 5713};
+val_t parser_tables___ParserTable___action_table_row433(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5736, LOCATE_parser_tables___ParserTable___action_table_row433};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(23)) /*AbstractArray::add*/;
   goto return_label434;
   return_label434: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row434(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row434, 5719};
+val_t parser_tables___ParserTable___action_table_row434(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5745, LOCATE_parser_tables___ParserTable___action_table_row434};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(344)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(43)) /*AbstractArray::add*/;
   goto return_label435;
   return_label435: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row435(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row435, 5725};
+val_t parser_tables___ParserTable___action_table_row435(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5751, LOCATE_parser_tables___ParserTable___action_table_row435};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(345)) /*AbstractArray::add*/;
   goto return_label436;
   return_label436: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row436(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row436, 5733};
+val_t parser_tables___ParserTable___action_table_row436(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5757, LOCATE_parser_tables___ParserTable___action_table_row436};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(435)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(521)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label437;
   return_label437: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row437(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row437, 5740};
+val_t parser_tables___ParserTable___action_table_row437(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5765, LOCATE_parser_tables___ParserTable___action_table_row437};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(436)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+  ((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(524)) /*AbstractArray::add*/;
   goto return_label438;
   return_label438: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row438(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row438, 5748};
+val_t parser_tables___ParserTable___action_table_row438(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5772, LOCATE_parser_tables___ParserTable___action_table_row438};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label439;
   return_label439: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row439(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row439, 5756};
+val_t parser_tables___ParserTable___action_table_row439(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5780, LOCATE_parser_tables___ParserTable___action_table_row439};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(475)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label440;
   return_label440: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row440(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row440, 5762};
+val_t parser_tables___ParserTable___action_table_row440(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5788, LOCATE_parser_tables___ParserTable___action_table_row440};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(439)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(524)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(477)) /*AbstractArray::add*/;
   goto return_label441;
   return_label441: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row441(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row441, 5770};
+val_t parser_tables___ParserTable___action_table_row441(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5794, LOCATE_parser_tables___ParserTable___action_table_row441};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(451)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(440)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(527)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(495)) /*AbstractArray::add*/;
   goto return_label442;
   return_label442: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row442(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row442, 5776};
+val_t parser_tables___ParserTable___action_table_row442(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5802, LOCATE_parser_tables___ParserTable___action_table_row442};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(450)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(453)) /*AbstractArray::add*/;
   goto return_label443;
   return_label443: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row443(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row443, 5782};
+val_t parser_tables___ParserTable___action_table_row443(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5808, LOCATE_parser_tables___ParserTable___action_table_row443};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(456)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(452)) /*AbstractArray::add*/;
   goto return_label444;
   return_label444: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row444(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row444, 5790};
+val_t parser_tables___ParserTable___action_table_row444(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5814, LOCATE_parser_tables___ParserTable___action_table_row444};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(463)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(458)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label445;
   return_label445: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row445(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row445, 5796};
+val_t parser_tables___ParserTable___action_table_row445(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5822, LOCATE_parser_tables___ParserTable___action_table_row445};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(465)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(247)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(248)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(249)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(465)) /*AbstractArray::add*/;
   goto return_label446;
   return_label446: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row446(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row446, 5805};
+val_t parser_tables___ParserTable___action_table_row446(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5828, LOCATE_parser_tables___ParserTable___action_table_row446};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(466)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(247)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(248)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(249)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(467)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(247)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(248)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(249)) /*AbstractArray::add*/;
   goto return_label447;
   return_label447: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row447(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row447, 5814};
+val_t parser_tables___ParserTable___action_table_row447(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5837, LOCATE_parser_tables___ParserTable___action_table_row447};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(455)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(468)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(247)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(248)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(249)) /*AbstractArray::add*/;
   goto return_label448;
   return_label448: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row448(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row448, 5822};
+val_t parser_tables___ParserTable___action_table_row448(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5846, LOCATE_parser_tables___ParserTable___action_table_row448};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(457)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(457)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label449;
   return_label449: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row449(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row449, 5830};
+val_t parser_tables___ParserTable___action_table_row449(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5854, LOCATE_parser_tables___ParserTable___action_table_row449};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(458)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(459)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label450;
   return_label450: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row450(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row450, 5838};
+val_t parser_tables___ParserTable___action_table_row450(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5862, LOCATE_parser_tables___ParserTable___action_table_row450};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(459)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(460)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label451;
   return_label451: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row451(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row451, 5846};
+val_t parser_tables___ParserTable___action_table_row451(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5870, LOCATE_parser_tables___ParserTable___action_table_row451};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(460)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(461)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label452;
   return_label452: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row452(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row452, 5854};
+val_t parser_tables___ParserTable___action_table_row452(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5878, LOCATE_parser_tables___ParserTable___action_table_row452};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(461)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(462)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label453;
   return_label453: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row453(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row453, 5862};
+val_t parser_tables___ParserTable___action_table_row453(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5886, LOCATE_parser_tables___ParserTable___action_table_row453};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(462)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(463)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label454;
   return_label454: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row454(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row454, 5870};
+val_t parser_tables___ParserTable___action_table_row454(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5894, LOCATE_parser_tables___ParserTable___action_table_row454};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(468)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(464)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(239)) /*AbstractArray::add*/;
   goto return_label455;
   return_label455: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row455(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row455, 5876};
+val_t parser_tables___ParserTable___action_table_row455(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5902, LOCATE_parser_tables___ParserTable___action_table_row455};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(469)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(470)) /*AbstractArray::add*/;
   goto return_label456;
   return_label456: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row456(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row456, 5882};
+val_t parser_tables___ParserTable___action_table_row456(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5908, LOCATE_parser_tables___ParserTable___action_table_row456};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(470)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(471)) /*AbstractArray::add*/;
   goto return_label457;
   return_label457: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row457(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row457, 5888};
+val_t parser_tables___ParserTable___action_table_row457(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5914, LOCATE_parser_tables___ParserTable___action_table_row457};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(472)) /*AbstractArray::add*/;
   goto return_label458;
   return_label458: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row458(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row458, 5895};
+val_t parser_tables___ParserTable___action_table_row458(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5920, LOCATE_parser_tables___ParserTable___action_table_row458};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label459;
   return_label459: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row459(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row459, 5902};
+val_t parser_tables___ParserTable___action_table_row459(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5927, LOCATE_parser_tables___ParserTable___action_table_row459};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(476)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label460;
   return_label460: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row460(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row460, 5908};
+val_t parser_tables___ParserTable___action_table_row460(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5935, LOCATE_parser_tables___ParserTable___action_table_row460};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(528)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label461;
   return_label461: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row461(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row461, 5917};
+val_t parser_tables___ParserTable___action_table_row461(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5942, LOCATE_parser_tables___ParserTable___action_table_row461};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(504)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(478)) /*AbstractArray::add*/;
   goto return_label462;
   return_label462: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row462(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row462, 5926};
+val_t parser_tables___ParserTable___action_table_row462(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5948, LOCATE_parser_tables___ParserTable___action_table_row462};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(229)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+  ((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(532)) /*AbstractArray::add*/;
   goto return_label463;
   return_label463: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row463(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row463, 5932};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(462)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(534)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row463(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5957, LOCATE_parser_tables___ParserTable___action_table_row463};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(506)) /*AbstractArray::add*/;
   goto return_label464;
   return_label464: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row464(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row464, 5966};
+val_t parser_tables___ParserTable___action_table_row464(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5966, LOCATE_parser_tables___ParserTable___action_table_row464};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(227)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(229)) /*AbstractArray::add*/;
   goto return_label465;
   return_label465: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row465(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row465, 5972};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(254)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row465(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 5972, LOCATE_parser_tables___ParserTable___action_table_row465};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(464)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(538)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label466;
   return_label466: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row466(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row466, 5978};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(465)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row466(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6006, LOCATE_parser_tables___ParserTable___action_table_row466};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(227)) /*AbstractArray::add*/;
   goto return_label467;
   return_label467: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row467(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row467, 6005};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(466)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(536)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(537)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(538)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(539)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(540)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(541)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(543)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(545)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(546)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(547)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row467(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6012, LOCATE_parser_tables___ParserTable___action_table_row467};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(254)) /*AbstractArray::add*/;
   goto return_label468;
   return_label468: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row468(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row468, 6042};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(467)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row468(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6018, LOCATE_parser_tables___ParserTable___action_table_row468};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(467)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label469;
   return_label469: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row469(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row469, 6078};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row469(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6045, LOCATE_parser_tables___ParserTable___action_table_row469};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(468)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(540)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(541)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(542)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(543)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(544)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(545)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(546)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(547)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(548)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(549)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(550)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(551)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label470;
   return_label470: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row470(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row470, 6086};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(469)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(564)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row470(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6082, LOCATE_parser_tables___ParserTable___action_table_row470};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(469)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label471;
   return_label471: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row471(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row471, 6093};
+val_t parser_tables___ParserTable___action_table_row471(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6118, LOCATE_parser_tables___ParserTable___action_table_row471};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(311)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label472;
   return_label472: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row472(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row472, 6099};
+val_t parser_tables___ParserTable___action_table_row472(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6126, LOCATE_parser_tables___ParserTable___action_table_row472};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(287)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(471)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+  ((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(568)) /*AbstractArray::add*/;
   goto return_label473;
   return_label473: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row473(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row473, 6105};
+val_t parser_tables___ParserTable___action_table_row473(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6133, LOCATE_parser_tables___ParserTable___action_table_row473};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(286)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(311)) /*AbstractArray::add*/;
   goto return_label474;
   return_label474: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row474(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row474, 6111};
+val_t parser_tables___ParserTable___action_table_row474(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6139, LOCATE_parser_tables___ParserTable___action_table_row474};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(292)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(287)) /*AbstractArray::add*/;
   goto return_label475;
   return_label475: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row475(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row475, 6119};
+val_t parser_tables___ParserTable___action_table_row475(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6145, LOCATE_parser_tables___ParserTable___action_table_row475};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(299)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(286)) /*AbstractArray::add*/;
   goto return_label476;
   return_label476: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row476(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row476, 6125};
+val_t parser_tables___ParserTable___action_table_row476(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6151, LOCATE_parser_tables___ParserTable___action_table_row476};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(301)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(280)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(281)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(282)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(292)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label477;
   return_label477: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row477(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row477, 6134};
+val_t parser_tables___ParserTable___action_table_row477(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6159, LOCATE_parser_tables___ParserTable___action_table_row477};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(302)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(280)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(281)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(282)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(299)) /*AbstractArray::add*/;
   goto return_label478;
   return_label478: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row478(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row478, 6143};
+val_t parser_tables___ParserTable___action_table_row478(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6165, LOCATE_parser_tables___ParserTable___action_table_row478};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(291)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(301)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(280)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(281)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(282)) /*AbstractArray::add*/;
   goto return_label479;
   return_label479: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row479(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row479, 6151};
+val_t parser_tables___ParserTable___action_table_row479(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6174, LOCATE_parser_tables___ParserTable___action_table_row479};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(293)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(302)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(280)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(281)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(282)) /*AbstractArray::add*/;
   goto return_label480;
   return_label480: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row480(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row480, 6159};
+val_t parser_tables___ParserTable___action_table_row480(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6183, LOCATE_parser_tables___ParserTable___action_table_row480};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(294)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(291)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label481;
   return_label481: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row481(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row481, 6167};
+val_t parser_tables___ParserTable___action_table_row481(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6191, LOCATE_parser_tables___ParserTable___action_table_row481};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(295)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(293)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label482;
   return_label482: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row482(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row482, 6175};
+val_t parser_tables___ParserTable___action_table_row482(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6199, LOCATE_parser_tables___ParserTable___action_table_row482};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(296)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(294)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label483;
   return_label483: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row483(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row483, 6183};
+val_t parser_tables___ParserTable___action_table_row483(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6207, LOCATE_parser_tables___ParserTable___action_table_row483};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(297)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(295)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label484;
   return_label484: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row484(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row484, 6191};
+val_t parser_tables___ParserTable___action_table_row484(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6215, LOCATE_parser_tables___ParserTable___action_table_row484};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(298)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(296)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label485;
   return_label485: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row485(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row485, 6199};
+val_t parser_tables___ParserTable___action_table_row485(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6223, LOCATE_parser_tables___ParserTable___action_table_row485};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(304)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(297)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label486;
   return_label486: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row486(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row486, 6205};
+val_t parser_tables___ParserTable___action_table_row486(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6231, LOCATE_parser_tables___ParserTable___action_table_row486};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(305)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(298)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(271)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(272)) /*AbstractArray::add*/;
   goto return_label487;
   return_label487: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row487(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row487, 6211};
+val_t parser_tables___ParserTable___action_table_row487(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6239, LOCATE_parser_tables___ParserTable___action_table_row487};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(306)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(304)) /*AbstractArray::add*/;
   goto return_label488;
   return_label488: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row488(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row488, 6217};
+val_t parser_tables___ParserTable___action_table_row488(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6245, LOCATE_parser_tables___ParserTable___action_table_row488};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(305)) /*AbstractArray::add*/;
   goto return_label489;
   return_label489: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row489(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row489, 6224};
+val_t parser_tables___ParserTable___action_table_row489(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6251, LOCATE_parser_tables___ParserTable___action_table_row489};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(306)) /*AbstractArray::add*/;
   goto return_label490;
   return_label490: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row490(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row490, 6231};
+val_t parser_tables___ParserTable___action_table_row490(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6257, LOCATE_parser_tables___ParserTable___action_table_row490};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label491;
   return_label491: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row491(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row491, 6237};
+val_t parser_tables___ParserTable___action_table_row491(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6264, LOCATE_parser_tables___ParserTable___action_table_row491};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(490)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label492;
   return_label492: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row492(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row492, 6244};
+val_t parser_tables___ParserTable___action_table_row492(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6271, LOCATE_parser_tables___ParserTable___action_table_row492};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(491)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(568)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(312)) /*AbstractArray::add*/;
   goto return_label493;
   return_label493: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row493(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row493, 6251};
+val_t parser_tables___ParserTable___action_table_row493(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6277, LOCATE_parser_tables___ParserTable___action_table_row493};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(351)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(492)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label494;
   return_label494: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row494(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row494, 6257};
+val_t parser_tables___ParserTable___action_table_row494(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6284, LOCATE_parser_tables___ParserTable___action_table_row494};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(572)) /*AbstractArray::add*/;
   goto return_label495;
   return_label495: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row495(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row495, 6265};
+val_t parser_tables___ParserTable___action_table_row495(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6291, LOCATE_parser_tables___ParserTable___action_table_row495};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(352)) /*AbstractArray::add*/;
   goto return_label496;
   return_label496: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row496(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row496, 6273};
+val_t parser_tables___ParserTable___action_table_row496(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6297, LOCATE_parser_tables___ParserTable___action_table_row496};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(561)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label497;
   return_label497: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row497(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row497, 6279};
+val_t parser_tables___ParserTable___action_table_row497(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6305, LOCATE_parser_tables___ParserTable___action_table_row497};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(496)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(571)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label498;
   return_label498: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row498(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row498, 6287};
+val_t parser_tables___ParserTable___action_table_row498(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6313, LOCATE_parser_tables___ParserTable___action_table_row498};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(565)) /*AbstractArray::add*/;
   goto return_label499;
   return_label499: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row499(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row499, 6293};
+val_t parser_tables___ParserTable___action_table_row499(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6319, LOCATE_parser_tables___ParserTable___action_table_row499};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(498)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(575)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(495)) /*AbstractArray::add*/;
   goto return_label500;
   return_label500: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row500(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row500, 6299};
+val_t parser_tables___ParserTable___action_table_row500(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6327, LOCATE_parser_tables___ParserTable___action_table_row500};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(210)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(50)) /*AbstractArray::add*/;
   goto return_label501;
   return_label501: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row501(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row501, 6305};
+val_t parser_tables___ParserTable___action_table_row501(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6333, LOCATE_parser_tables___ParserTable___action_table_row501};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(500)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(573)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(574)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(49)) /*AbstractArray::add*/;
   goto return_label502;
   return_label502: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row502(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row502, 6313};
+val_t parser_tables___ParserTable___action_table_row502(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6339, LOCATE_parser_tables___ParserTable___action_table_row502};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(501)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(576)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(210)) /*AbstractArray::add*/;
   goto return_label503;
   return_label503: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row503(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row503, 6320};
+val_t parser_tables___ParserTable___action_table_row503(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6345, LOCATE_parser_tables___ParserTable___action_table_row503};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(502)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(577)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(502)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(577)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(578)) /*AbstractArray::add*/;
   goto return_label504;
   return_label504: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row504(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row504, 6327};
+val_t parser_tables___ParserTable___action_table_row504(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6353, LOCATE_parser_tables___ParserTable___action_table_row504};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(214)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(503)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+  ((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(580)) /*AbstractArray::add*/;
   goto return_label505;
   return_label505: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row505(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row505, 6333};
+val_t parser_tables___ParserTable___action_table_row505(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6360, LOCATE_parser_tables___ParserTable___action_table_row505};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(504)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(581)) /*AbstractArray::add*/;
   goto return_label506;
   return_label506: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row506(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row506, 6341};
+val_t parser_tables___ParserTable___action_table_row506(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6367, LOCATE_parser_tables___ParserTable___action_table_row506};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(214)) /*AbstractArray::add*/;
   goto return_label507;
   return_label507: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row507(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row507, 6349};
+val_t parser_tables___ParserTable___action_table_row507(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6373, LOCATE_parser_tables___ParserTable___action_table_row507};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(545)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label508;
   return_label508: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row508(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row508, 6355};
+val_t parser_tables___ParserTable___action_table_row508(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6381, LOCATE_parser_tables___ParserTable___action_table_row508};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(507)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label509;
   return_label509: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row509(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row509, 6363};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(584)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row509(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6389, LOCATE_parser_tables___ParserTable___action_table_row509};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(549)) /*AbstractArray::add*/;
   goto return_label510;
   return_label510: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row510(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row510, 6377};
+val_t parser_tables___ParserTable___action_table_row510(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6395, LOCATE_parser_tables___ParserTable___action_table_row510};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(509)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label511;
   return_label511: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row511(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row511, 6385};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(510)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(492)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row511(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6403, LOCATE_parser_tables___ParserTable___action_table_row511};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(588)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label512;
   return_label512: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row512(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row512, 6393};
+val_t parser_tables___ParserTable___action_table_row512(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6417, LOCATE_parser_tables___ParserTable___action_table_row512};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(318)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label513;
   return_label513: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row513(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row513, 6399};
+val_t parser_tables___ParserTable___action_table_row513(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6425, LOCATE_parser_tables___ParserTable___action_table_row513};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(250)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(512)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(494)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(495)) /*AbstractArray::add*/;
   goto return_label514;
   return_label514: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row514(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row514, 6405};
+val_t parser_tables___ParserTable___action_table_row514(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6433, LOCATE_parser_tables___ParserTable___action_table_row514};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(314)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(592)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(176)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(177)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(318)) /*AbstractArray::add*/;
   goto return_label515;
   return_label515: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row515(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row515, 6414};
+val_t parser_tables___ParserTable___action_table_row515(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6439, LOCATE_parser_tables___ParserTable___action_table_row515};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(246)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(250)) /*AbstractArray::add*/;
   goto return_label516;
   return_label516: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row516(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row516, 6420};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(515)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row516(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6445, LOCATE_parser_tables___ParserTable___action_table_row516};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(515)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(596)) /*AbstractArray::add*/;
   goto return_label517;
   return_label517: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row517(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row517, 6447};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(516)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row517(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6452, LOCATE_parser_tables___ParserTable___action_table_row517};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(314)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(597)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*AbstractArray::add*/;
+  ((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(176)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+  ((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(177)) /*AbstractArray::add*/;
   goto return_label518;
   return_label518: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row518(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row518, 6474};
+val_t parser_tables___ParserTable___action_table_row518(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6461, LOCATE_parser_tables___ParserTable___action_table_row518};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(339)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(246)) /*AbstractArray::add*/;
   goto return_label519;
   return_label519: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row519(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row519, 6480};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row519(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6467, LOCATE_parser_tables___ParserTable___action_table_row519};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(518)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label520;
   return_label520: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row520(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row520, 6486};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row520(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6494, LOCATE_parser_tables___ParserTable___action_table_row520};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(519)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label521;
   return_label521: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row521(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row521, 6492};
+val_t parser_tables___ParserTable___action_table_row521(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6521, LOCATE_parser_tables___ParserTable___action_table_row521};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(520)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(596)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(340)) /*AbstractArray::add*/;
   goto return_label522;
   return_label522: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row522(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row522, 6500};
+val_t parser_tables___ParserTable___action_table_row522(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6527, LOCATE_parser_tables___ParserTable___action_table_row522};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(45)) /*AbstractArray::add*/;
   goto return_label523;
   return_label523: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row523(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row523, 6508};
+val_t parser_tables___ParserTable___action_table_row523(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6533, LOCATE_parser_tables___ParserTable___action_table_row523};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(522)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(47)) /*AbstractArray::add*/;
   goto return_label524;
   return_label524: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row524(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row524, 6515};
+val_t parser_tables___ParserTable___action_table_row524(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6539, LOCATE_parser_tables___ParserTable___action_table_row524};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(523)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(600)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(523)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(601)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(495)) /*AbstractArray::add*/;
   goto return_label525;
   return_label525: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row525(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row525, 6522};
+val_t parser_tables___ParserTable___action_table_row525(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6547, LOCATE_parser_tables___ParserTable___action_table_row525};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(342)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(346)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(346)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(346)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(346)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(346)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label526;
   return_label526: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row526(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row526, 6533};
+val_t parser_tables___ParserTable___action_table_row526(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6555, LOCATE_parser_tables___ParserTable___action_table_row526};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(525)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(601)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(525)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label527;
   return_label527: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row527(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row527, 6541};
+val_t parser_tables___ParserTable___action_table_row527(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6562, LOCATE_parser_tables___ParserTable___action_table_row527};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(482)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(526)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(605)) /*AbstractArray::add*/;
   goto return_label528;
   return_label528: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row528(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row528, 6547};
+val_t parser_tables___ParserTable___action_table_row528(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6569, LOCATE_parser_tables___ParserTable___action_table_row528};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(478)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(343)) /*AbstractArray::add*/;
+  ((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(347)) /*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*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(347)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*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(347)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(347)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(347)) /*AbstractArray::add*/;
   goto return_label529;
   return_label529: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row529(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row529, 6553};
+val_t parser_tables___ParserTable___action_table_row529(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6580, LOCATE_parser_tables___ParserTable___action_table_row529};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(528)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(602)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(528)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(606)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(495)) /*AbstractArray::add*/;
   goto return_label530;
   return_label530: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row530(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row530, 6560};
+val_t parser_tables___ParserTable___action_table_row530(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6588, LOCATE_parser_tables___ParserTable___action_table_row530};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(529)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(603)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(484)) /*AbstractArray::add*/;
   goto return_label531;
   return_label531: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row531(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row531, 6567};
+val_t parser_tables___ParserTable___action_table_row531(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6594, LOCATE_parser_tables___ParserTable___action_table_row531};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(530)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(607)) /*AbstractArray::add*/;
   goto return_label532;
   return_label532: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row532(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row532, 6575};
+val_t parser_tables___ParserTable___action_table_row532(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6601, LOCATE_parser_tables___ParserTable___action_table_row532};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(531)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(480)) /*AbstractArray::add*/;
   goto return_label533;
   return_label533: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row533(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row533, 6583};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(608)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row533(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6607, LOCATE_parser_tables___ParserTable___action_table_row533};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(532)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+  ((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(608)) /*AbstractArray::add*/;
   goto return_label534;
   return_label534: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row534(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row534, 6597};
+val_t parser_tables___ParserTable___action_table_row534(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6614, LOCATE_parser_tables___ParserTable___action_table_row534};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(533)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(609)) /*AbstractArray::add*/;
   goto return_label535;
   return_label535: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row535(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row535, 6605};
+val_t parser_tables___ParserTable___action_table_row535(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6621, LOCATE_parser_tables___ParserTable___action_table_row535};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(230)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label536;
   return_label536: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row536(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row536, 6611};
+val_t parser_tables___ParserTable___action_table_row536(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6629, LOCATE_parser_tables___ParserTable___action_table_row536};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(535)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label537;
   return_label537: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row537(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row537, 6617};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(276)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row537(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6637, LOCATE_parser_tables___ParserTable___action_table_row537};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(614)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label538;
   return_label538: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row538(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row538, 6623};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row538(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6651, LOCATE_parser_tables___ParserTable___action_table_row538};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label539;
   return_label539: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row539(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row539, 6651};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(538)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(612)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(537)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(538)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(539)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(541)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(543)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(545)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(546)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(547)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row539(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6659, LOCATE_parser_tables___ParserTable___action_table_row539};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(230)) /*AbstractArray::add*/;
   goto return_label540;
   return_label540: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row540(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row540, 6687};
+val_t parser_tables___ParserTable___action_table_row540(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6665, LOCATE_parser_tables___ParserTable___action_table_row540};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(255)) /*AbstractArray::add*/;
   goto return_label541;
   return_label541: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row541(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row541, 6695};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(540)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row541(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6671, LOCATE_parser_tables___ParserTable___action_table_row541};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(276)) /*AbstractArray::add*/;
   goto return_label542;
   return_label542: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row542(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row542, 6731};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row542(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6677, LOCATE_parser_tables___ParserTable___action_table_row542};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label543;
   return_label543: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row543(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row543, 6739};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(236)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(425)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row543(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6705, LOCATE_parser_tables___ParserTable___action_table_row543};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(618)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(541)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(542)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(543)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(545)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(546)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(547)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(548)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(549)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(550)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(551)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label544;
   return_label544: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row544(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row544, 6767};
+val_t parser_tables___ParserTable___action_table_row544(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6741, LOCATE_parser_tables___ParserTable___action_table_row544};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(240)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(429)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label545;
   return_label545: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row545(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row545, 6774};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(238)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(427)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row545(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6749, LOCATE_parser_tables___ParserTable___action_table_row545};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label546;
   return_label546: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row546(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row546, 6781};
+val_t parser_tables___ParserTable___action_table_row546(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6785, LOCATE_parser_tables___ParserTable___action_table_row546};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(239)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(428)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label547;
   return_label547: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row547(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row547, 6788};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row547(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6793, LOCATE_parser_tables___ParserTable___action_table_row547};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(236)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(427)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label548;
   return_label548: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row548(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row548, 6816};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row548(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6821, LOCATE_parser_tables___ParserTable___action_table_row548};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(240)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(431)) /*AbstractArray::add*/;
   goto return_label549;
   return_label549: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row549(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row549, 6848};
+val_t parser_tables___ParserTable___action_table_row549(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6828, LOCATE_parser_tables___ParserTable___action_table_row549};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(270)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(238)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(429)) /*AbstractArray::add*/;
   goto return_label550;
   return_label550: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row550(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row550, 6854};
+val_t parser_tables___ParserTable___action_table_row550(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6835, LOCATE_parser_tables___ParserTable___action_table_row550};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(234)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(423)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(239)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(430)) /*AbstractArray::add*/;
   goto return_label551;
   return_label551: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row551(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row551, 6861};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(235)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(424)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row551(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6842, LOCATE_parser_tables___ParserTable___action_table_row551};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label552;
   return_label552: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row552(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row552, 6868};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(273)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row552(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6870, LOCATE_parser_tables___ParserTable___action_table_row552};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(81)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((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(351)) /*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*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(172)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(351)) /*AbstractArray::add*/;
   goto return_label553;
   return_label553: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row553(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row553, 6874};
+val_t parser_tables___ParserTable___action_table_row553(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6902, LOCATE_parser_tables___ParserTable___action_table_row553};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(270)) /*AbstractArray::add*/;
   goto return_label554;
   return_label554: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row554(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row554, 6882};
+val_t parser_tables___ParserTable___action_table_row554(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6908, LOCATE_parser_tables___ParserTable___action_table_row554};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(245)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(434)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(234)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(425)) /*AbstractArray::add*/;
   goto return_label555;
   return_label555: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row555(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row555, 6889};
+val_t parser_tables___ParserTable___action_table_row555(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6915, LOCATE_parser_tables___ParserTable___action_table_row555};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(554)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(623)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(235)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(426)) /*AbstractArray::add*/;
   goto return_label556;
   return_label556: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row556(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row556, 6897};
+val_t parser_tables___ParserTable___action_table_row556(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6922, LOCATE_parser_tables___ParserTable___action_table_row556};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(555)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(624)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(273)) /*AbstractArray::add*/;
   goto return_label557;
   return_label557: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row557(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row557, 6904};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(556)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(536)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(540)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row557(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6928, LOCATE_parser_tables___ParserTable___action_table_row557};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label558;
   return_label558: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row558(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row558, 6939};
+val_t parser_tables___ParserTable___action_table_row558(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6936, LOCATE_parser_tables___ParserTable___action_table_row558};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(557)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(627)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(245)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(436)) /*AbstractArray::add*/;
   goto return_label559;
   return_label559: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row559(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row559, 6946};
+val_t parser_tables___ParserTable___action_table_row559(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6943, LOCATE_parser_tables___ParserTable___action_table_row559};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(430)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(558)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(629)) /*AbstractArray::add*/;
   goto return_label560;
   return_label560: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row560(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row560, 6952};
+val_t parser_tables___ParserTable___action_table_row560(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6951, LOCATE_parser_tables___ParserTable___action_table_row560};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(431)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(559)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(630)) /*AbstractArray::add*/;
   goto return_label561;
   return_label561: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row561(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row561, 6958};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(432)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row561(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6958, LOCATE_parser_tables___ParserTable___action_table_row561};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(560)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(540)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(544)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label562;
   return_label562: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row562(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row562, 6964};
+val_t parser_tables___ParserTable___action_table_row562(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 6993, LOCATE_parser_tables___ParserTable___action_table_row562};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(433)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(561)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(633)) /*AbstractArray::add*/;
   goto return_label563;
   return_label563: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row563(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row563, 6970};
+val_t parser_tables___ParserTable___action_table_row563(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7000, LOCATE_parser_tables___ParserTable___action_table_row563};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(277)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(432)) /*AbstractArray::add*/;
   goto return_label564;
   return_label564: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row564(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row564, 6976};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(563)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row564(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7006, LOCATE_parser_tables___ParserTable___action_table_row564};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(433)) /*AbstractArray::add*/;
   goto return_label565;
   return_label565: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row565(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row565, 7003};
+val_t parser_tables___ParserTable___action_table_row565(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7012, LOCATE_parser_tables___ParserTable___action_table_row565};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(434)) /*AbstractArray::add*/;
   goto return_label566;
   return_label566: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row566(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row566, 7011};
+val_t parser_tables___ParserTable___action_table_row566(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7018, LOCATE_parser_tables___ParserTable___action_table_row566};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(314)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(435)) /*AbstractArray::add*/;
   goto return_label567;
   return_label567: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row567(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row567, 7017};
+val_t parser_tables___ParserTable___action_table_row567(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7024, LOCATE_parser_tables___ParserTable___action_table_row567};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(224)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(630)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(277)) /*AbstractArray::add*/;
   goto return_label568;
   return_label568: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row568(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row568, 7024};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row568(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7030, LOCATE_parser_tables___ParserTable___action_table_row568};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(567)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label569;
   return_label569: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row569(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row569, 7032};
+val_t parser_tables___ParserTable___action_table_row569(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7057, LOCATE_parser_tables___ParserTable___action_table_row569};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label570;
   return_label570: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row570(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row570, 7039};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(569)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row570(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7065, LOCATE_parser_tables___ParserTable___action_table_row570};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(314)) /*AbstractArray::add*/;
   goto return_label571;
   return_label571: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row571(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row571, 7066};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(570)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(637)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(638)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row571(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7071, LOCATE_parser_tables___ParserTable___action_table_row571};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(224)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(636)) /*AbstractArray::add*/;
   goto return_label572;
   return_label572: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row572(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row572, 7092};
+val_t parser_tables___ParserTable___action_table_row572(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7078, LOCATE_parser_tables___ParserTable___action_table_row572};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(352)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label573;
   return_label573: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row573(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row573, 7098};
+val_t parser_tables___ParserTable___action_table_row573(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7086, LOCATE_parser_tables___ParserTable___action_table_row573};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(562)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label574;
   return_label574: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row574(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row574, 7104};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(217)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row574(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7093, LOCATE_parser_tables___ParserTable___action_table_row574};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(573)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label575;
   return_label575: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row575(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row575, 7110};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(219)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row575(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7120, LOCATE_parser_tables___ParserTable___action_table_row575};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(574)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(643)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(644)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label576;
   return_label576: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row576(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row576, 7117};
+val_t parser_tables___ParserTable___action_table_row576(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7146, LOCATE_parser_tables___ParserTable___action_table_row576};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(666)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(353)) /*AbstractArray::add*/;
   goto return_label577;
   return_label577: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row577(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row577, 7126};
+val_t parser_tables___ParserTable___action_table_row577(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7152, LOCATE_parser_tables___ParserTable___action_table_row577};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(185)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(670)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(566)) /*AbstractArray::add*/;
   goto return_label578;
   return_label578: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row578(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row578, 7133};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(577)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row578(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7158, LOCATE_parser_tables___ParserTable___action_table_row578};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(217)) /*AbstractArray::add*/;
   goto return_label579;
   return_label579: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row579(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row579, 7169};
+val_t parser_tables___ParserTable___action_table_row579(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7164, LOCATE_parser_tables___ParserTable___action_table_row579};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(578)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(672)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(219)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label580;
   return_label580: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row580(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row580, 7176};
+val_t parser_tables___ParserTable___action_table_row580(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7171, LOCATE_parser_tables___ParserTable___action_table_row580};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(579)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(672)) /*AbstractArray::add*/;
   goto return_label581;
   return_label581: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row581(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row581, 7184};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(675)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row581(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7180, LOCATE_parser_tables___ParserTable___action_table_row581};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(185)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(676)) /*AbstractArray::add*/;
   goto return_label582;
   return_label582: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row582(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row582, 7198};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row582(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7187, LOCATE_parser_tables___ParserTable___action_table_row582};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(581)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label583;
   return_label583: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row583(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row583, 7206};
+val_t parser_tables___ParserTable___action_table_row583(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7223, LOCATE_parser_tables___ParserTable___action_table_row583};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(582)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(678)) /*AbstractArray::add*/;
   goto return_label584;
   return_label584: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row584(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row584, 7214};
+val_t parser_tables___ParserTable___action_table_row584(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7230, LOCATE_parser_tables___ParserTable___action_table_row584};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label585;
   return_label585: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row585(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row585, 7222};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row585(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7238, LOCATE_parser_tables___ParserTable___action_table_row585};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(681)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label586;
   return_label586: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row586(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row586, 7228};
+val_t parser_tables___ParserTable___action_table_row586(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7252, LOCATE_parser_tables___ParserTable___action_table_row586};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(683)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(684)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label587;
   return_label587: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row587(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row587, 7239};
+val_t parser_tables___ParserTable___action_table_row587(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7260, LOCATE_parser_tables___ParserTable___action_table_row587};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(686)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(687)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label588;
   return_label588: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row588(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row588, 7250};
+val_t parser_tables___ParserTable___action_table_row588(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7268, LOCATE_parser_tables___ParserTable___action_table_row588};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(689)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label589;
   return_label589: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row589(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row589, 7260};
+val_t parser_tables___ParserTable___action_table_row589(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7276, LOCATE_parser_tables___ParserTable___action_table_row589};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(588)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(691)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(692)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(693)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(694)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(55)) /*AbstractArray::add*/;
   goto return_label590;
   return_label590: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row590(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row590, 7270};
+val_t parser_tables___ParserTable___action_table_row590(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7282, LOCATE_parser_tables___ParserTable___action_table_row590};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(546)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(689)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(690)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label591;
   return_label591: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row591(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row591, 7276};
+val_t parser_tables___ParserTable___action_table_row591(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7293, LOCATE_parser_tables___ParserTable___action_table_row591};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(590)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(692)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(693)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label592;
   return_label592: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row592(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row592, 7284};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(696)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row592(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7304, LOCATE_parser_tables___ParserTable___action_table_row592};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(695)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label593;
   return_label593: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row593(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row593, 7298};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(592)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row593(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7314, LOCATE_parser_tables___ParserTable___action_table_row593};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(592)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+  ((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(697)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+  ((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(698)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(699)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(700)) /*AbstractArray::add*/;
   goto return_label594;
   return_label594: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row594(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row594, 7325};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(593)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row594(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7324, LOCATE_parser_tables___ParserTable___action_table_row594};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(550)) /*AbstractArray::add*/;
   goto return_label595;
   return_label595: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row595(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row595, 7352};
+val_t parser_tables___ParserTable___action_table_row595(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7330, LOCATE_parser_tables___ParserTable___action_table_row595};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(256)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(594)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label596;
   return_label596: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row596(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row596, 7358};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(261)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row596(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7338, LOCATE_parser_tables___ParserTable___action_table_row596};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(702)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label597;
   return_label597: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row597(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row597, 7364};
+val_t parser_tables___ParserTable___action_table_row597(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7352, LOCATE_parser_tables___ParserTable___action_table_row597};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(342)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label598;
   return_label598: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row598(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row598, 7370};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(597)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(699)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(493)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row598(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7360, LOCATE_parser_tables___ParserTable___action_table_row598};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(597)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label599;
   return_label599: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row599(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row599, 7378};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(598)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row599(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7387, LOCATE_parser_tables___ParserTable___action_table_row599};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(598)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label600;
   return_label600: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row600(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row600, 7405};
+val_t parser_tables___ParserTable___action_table_row600(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7414, LOCATE_parser_tables___ParserTable___action_table_row600};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(256)) /*AbstractArray::add*/;
   goto return_label601;
   return_label601: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row601(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row601, 7413};
+val_t parser_tables___ParserTable___action_table_row601(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7420, LOCATE_parser_tables___ParserTable___action_table_row601};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(261)) /*AbstractArray::add*/;
   goto return_label602;
   return_label602: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row602(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row602, 7420};
+val_t parser_tables___ParserTable___action_table_row602(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7426, LOCATE_parser_tables___ParserTable___action_table_row602};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(343)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(347)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(347)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(347)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(347)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(347)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(343)) /*AbstractArray::add*/;
   goto return_label603;
   return_label603: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row603(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row603, 7431};
+val_t parser_tables___ParserTable___action_table_row603(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7432, LOCATE_parser_tables___ParserTable___action_table_row603};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(186)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(703)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(602)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(706)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(495)) /*AbstractArray::add*/;
   goto return_label604;
   return_label604: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row604(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row604, 7438};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(603)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row604(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7440, LOCATE_parser_tables___ParserTable___action_table_row604};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(603)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label605;
   return_label605: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row605(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row605, 7474};
+val_t parser_tables___ParserTable___action_table_row605(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7467, LOCATE_parser_tables___ParserTable___action_table_row605};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(604)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label606;
   return_label606: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row606(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row606, 7482};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(706)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row606(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7475, LOCATE_parser_tables___ParserTable___action_table_row606};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label607;
   return_label607: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row607(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row607, 7496};
+val_t parser_tables___ParserTable___action_table_row607(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7482, LOCATE_parser_tables___ParserTable___action_table_row607};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(344)) /*AbstractArray::add*/;
+  ((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(348)) /*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*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(348)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*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(348)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(348)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(348)) /*AbstractArray::add*/;
   goto return_label608;
   return_label608: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row608(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row608, 7504};
+val_t parser_tables___ParserTable___action_table_row608(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7493, LOCATE_parser_tables___ParserTable___action_table_row608};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label609;
   return_label609: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row609(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row609, 7512};
+val_t parser_tables___ParserTable___action_table_row609(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7501, LOCATE_parser_tables___ParserTable___action_table_row609};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(186)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(711)) /*AbstractArray::add*/;
   goto return_label610;
   return_label610: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row610(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row610, 7518};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(609)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row610(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7508, LOCATE_parser_tables___ParserTable___action_table_row610};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(609)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label611;
   return_label611: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row611(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row611, 7526};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(712)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row611(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7544, LOCATE_parser_tables___ParserTable___action_table_row611};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(610)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label612;
   return_label612: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row612(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row612, 7540};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(251)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(440)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row612(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7552, LOCATE_parser_tables___ParserTable___action_table_row612};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(714)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label613;
   return_label613: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row613(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row613, 7547};
+val_t parser_tables___ParserTable___action_table_row613(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7566, LOCATE_parser_tables___ParserTable___action_table_row613};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(232)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(422)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label614;
   return_label614: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row614(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row614, 7554};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(613)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(713)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row614(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7574, LOCATE_parser_tables___ParserTable___action_table_row614};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label615;
   return_label615: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row615(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row615, 7588};
+val_t parser_tables___ParserTable___action_table_row615(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7582, LOCATE_parser_tables___ParserTable___action_table_row615};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(441)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(56)) /*AbstractArray::add*/;
   goto return_label616;
   return_label616: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row616(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row616, 7594};
+val_t parser_tables___ParserTable___action_table_row616(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7588, LOCATE_parser_tables___ParserTable___action_table_row616};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(418)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(615)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label617;
   return_label617: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row617(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row617, 7600};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(616)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row617(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7596, LOCATE_parser_tables___ParserTable___action_table_row617};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(720)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label618;
   return_label618: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row618(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row618, 7627};
+val_t parser_tables___ParserTable___action_table_row618(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7610, LOCATE_parser_tables___ParserTable___action_table_row618};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(275)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(251)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(442)) /*AbstractArray::add*/;
   goto return_label619;
   return_label619: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row619(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row619, 7633};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(618)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row619(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7617, LOCATE_parser_tables___ParserTable___action_table_row619};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(232)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(424)) /*AbstractArray::add*/;
   goto return_label620;
   return_label620: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row620(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row620, 7660};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(237)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(426)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row620(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7624, LOCATE_parser_tables___ParserTable___action_table_row620};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(619)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(721)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label621;
   return_label621: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row621(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row621, 7667};
+val_t parser_tables___ParserTable___action_table_row621(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7658, LOCATE_parser_tables___ParserTable___action_table_row621};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(248)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(437)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(443)) /*AbstractArray::add*/;
   goto return_label622;
   return_label622: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row622(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row622, 7674};
+val_t parser_tables___ParserTable___action_table_row622(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7664, LOCATE_parser_tables___ParserTable___action_table_row622};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(247)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(436)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(420)) /*AbstractArray::add*/;
   goto return_label623;
   return_label623: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row623(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row623, 7681};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(622)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(717)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row623(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7670, LOCATE_parser_tables___ParserTable___action_table_row623};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(622)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label624;
   return_label624: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row624(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row624, 7688};
+val_t parser_tables___ParserTable___action_table_row624(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7697, LOCATE_parser_tables___ParserTable___action_table_row624};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(275)) /*AbstractArray::add*/;
   goto return_label625;
   return_label625: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row625(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row625, 7696};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row625(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7703, LOCATE_parser_tables___ParserTable___action_table_row625};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(624)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label626;
   return_label626: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row626(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row626, 7724};
+val_t parser_tables___ParserTable___action_table_row626(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7730, LOCATE_parser_tables___ParserTable___action_table_row626};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(625)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(237)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(428)) /*AbstractArray::add*/;
   goto return_label627;
   return_label627: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row627(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row627, 7732};
+val_t parser_tables___ParserTable___action_table_row627(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7737, LOCATE_parser_tables___ParserTable___action_table_row627};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(274)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(248)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(439)) /*AbstractArray::add*/;
   goto return_label628;
   return_label628: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row628(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row628, 7738};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(627)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row628(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7744, LOCATE_parser_tables___ParserTable___action_table_row628};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(247)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(438)) /*AbstractArray::add*/;
   goto return_label629;
   return_label629: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row629(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row629, 7774};
+val_t parser_tables___ParserTable___action_table_row629(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7751, LOCATE_parser_tables___ParserTable___action_table_row629};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(279)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(628)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(725)) /*AbstractArray::add*/;
   goto return_label630;
   return_label630: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row630(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row630, 7780};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(629)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row630(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7758, LOCATE_parser_tables___ParserTable___action_table_row630};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label631;
   return_label631: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row631(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row631, 7807};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row631(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7766, LOCATE_parser_tables___ParserTable___action_table_row631};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label632;
   return_label632: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row632(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row632, 7815};
+val_t parser_tables___ParserTable___action_table_row632(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7794, LOCATE_parser_tables___ParserTable___action_table_row632};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(555)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(631)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label633;
   return_label633: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row633(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row633, 7821};
+val_t parser_tables___ParserTable___action_table_row633(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7802, LOCATE_parser_tables___ParserTable___action_table_row633};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(225)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(630)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(274)) /*AbstractArray::add*/;
   goto return_label634;
   return_label634: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row634(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row634, 7828};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(633)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(726)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row634(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7808, LOCATE_parser_tables___ParserTable___action_table_row634};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(633)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label635;
   return_label635: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row635(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row635, 7835};
+val_t parser_tables___ParserTable___action_table_row635(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7844, LOCATE_parser_tables___ParserTable___action_table_row635};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(321)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(279)) /*AbstractArray::add*/;
   goto return_label636;
   return_label636: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row636(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row636, 7841};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row636(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7850, LOCATE_parser_tables___ParserTable___action_table_row636};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(635)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label637;
   return_label637: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row637(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row637, 7849};
+val_t parser_tables___ParserTable___action_table_row637(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7877, LOCATE_parser_tables___ParserTable___action_table_row637};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label638;
   return_label638: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row638(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row638, 7856};
+val_t parser_tables___ParserTable___action_table_row638(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7885, LOCATE_parser_tables___ParserTable___action_table_row638};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(559)) /*AbstractArray::add*/;
   goto return_label639;
   return_label639: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row639(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row639, 7864};
+val_t parser_tables___ParserTable___action_table_row639(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7891, LOCATE_parser_tables___ParserTable___action_table_row639};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(225)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(636)) /*AbstractArray::add*/;
   goto return_label640;
   return_label640: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row640(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row640, 7872};
+val_t parser_tables___ParserTable___action_table_row640(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7898, LOCATE_parser_tables___ParserTable___action_table_row640};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(734)) /*AbstractArray::add*/;
   goto return_label641;
   return_label641: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row641(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row641, 7880};
+val_t parser_tables___ParserTable___action_table_row641(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7905, LOCATE_parser_tables___ParserTable___action_table_row641};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(321)) /*AbstractArray::add*/;
   goto return_label642;
   return_label642: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row642(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row642, 7888};
+val_t parser_tables___ParserTable___action_table_row642(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7911, LOCATE_parser_tables___ParserTable___action_table_row642};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label643;
   return_label643: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row643(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row643, 7895};
+val_t parser_tables___ParserTable___action_table_row643(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7919, LOCATE_parser_tables___ParserTable___action_table_row643};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(408)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label644;
   return_label644: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row644(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row644, 7901};
+val_t parser_tables___ParserTable___action_table_row644(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7926, LOCATE_parser_tables___ParserTable___action_table_row644};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(409)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label645;
   return_label645: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row645(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row645, 7907};
+val_t parser_tables___ParserTable___action_table_row645(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7934, LOCATE_parser_tables___ParserTable___action_table_row645};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(410)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label646;
   return_label646: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row646(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row646, 7913};
+val_t parser_tables___ParserTable___action_table_row646(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7942, LOCATE_parser_tables___ParserTable___action_table_row646};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label647;
   return_label647: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row647(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row647, 7919};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row647(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7950, LOCATE_parser_tables___ParserTable___action_table_row647};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label648;
   return_label648: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row648(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row648, 7946};
+val_t parser_tables___ParserTable___action_table_row648(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7958, LOCATE_parser_tables___ParserTable___action_table_row648};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label649;
   return_label649: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row649(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row649, 7954};
+val_t parser_tables___ParserTable___action_table_row649(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7965, LOCATE_parser_tables___ParserTable___action_table_row649};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(409)) /*AbstractArray::add*/;
   goto return_label650;
   return_label650: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row650(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row650, 7962};
+val_t parser_tables___ParserTable___action_table_row650(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7971, LOCATE_parser_tables___ParserTable___action_table_row650};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(400)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(410)) /*AbstractArray::add*/;
   goto return_label651;
   return_label651: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row651(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row651, 7968};
+val_t parser_tables___ParserTable___action_table_row651(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7977, LOCATE_parser_tables___ParserTable___action_table_row651};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(412)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(411)) /*AbstractArray::add*/;
   goto return_label652;
   return_label652: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row652(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row652, 7974};
+val_t parser_tables___ParserTable___action_table_row652(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7983, LOCATE_parser_tables___ParserTable___action_table_row652};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(413)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(412)) /*AbstractArray::add*/;
   goto return_label653;
   return_label653: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row653(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row653, 7980};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(414)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row653(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 7989, LOCATE_parser_tables___ParserTable___action_table_row653};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label654;
   return_label654: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row654(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row654, 7986};
+val_t parser_tables___ParserTable___action_table_row654(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8016, LOCATE_parser_tables___ParserTable___action_table_row654};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(415)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label655;
   return_label655: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row655(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row655, 7992};
+val_t parser_tables___ParserTable___action_table_row655(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8024, LOCATE_parser_tables___ParserTable___action_table_row655};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(416)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+  ((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(172)) /*AbstractArray::add*/;
   goto return_label656;
   return_label656: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row656(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row656, 7998};
+val_t parser_tables___ParserTable___action_table_row656(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8032, LOCATE_parser_tables___ParserTable___action_table_row656};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(655)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(737)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(401)) /*AbstractArray::add*/;
   goto return_label657;
   return_label657: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row657(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row657, 8005};
+val_t parser_tables___ParserTable___action_table_row657(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8038, LOCATE_parser_tables___ParserTable___action_table_row657};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(413)) /*AbstractArray::add*/;
   goto return_label658;
   return_label658: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row658(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row658, 8013};
+val_t parser_tables___ParserTable___action_table_row658(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8044, LOCATE_parser_tables___ParserTable___action_table_row658};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(370)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(739)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(740)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(414)) /*AbstractArray::add*/;
   goto return_label659;
   return_label659: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row659(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row659, 8021};
+val_t parser_tables___ParserTable___action_table_row659(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8050, LOCATE_parser_tables___ParserTable___action_table_row659};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(372)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(415)) /*AbstractArray::add*/;
   goto return_label660;
   return_label660: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row660(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row660, 8027};
+val_t parser_tables___ParserTable___action_table_row660(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8056, LOCATE_parser_tables___ParserTable___action_table_row660};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(375)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(416)) /*AbstractArray::add*/;
   goto return_label661;
   return_label661: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row661(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row661, 8033};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(377)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(741)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(742)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(745)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(746)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(747)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(748)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(749)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(750)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(751)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row661(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8062, LOCATE_parser_tables___ParserTable___action_table_row661};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(417)) /*AbstractArray::add*/;
   goto return_label662;
   return_label662: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row662(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row662, 8050};
+val_t parser_tables___ParserTable___action_table_row662(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8068, LOCATE_parser_tables___ParserTable___action_table_row662};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(387)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(752)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(753)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(754)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(661)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(745)) /*AbstractArray::add*/;
   goto return_label663;
   return_label663: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row663(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row663, 8059};
+val_t parser_tables___ParserTable___action_table_row663(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8075, LOCATE_parser_tables___ParserTable___action_table_row663};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(390)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label664;
   return_label664: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row664(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row664, 8065};
+val_t parser_tables___ParserTable___action_table_row664(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8083, LOCATE_parser_tables___ParserTable___action_table_row664};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(394)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(371)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+  ((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(747)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+  ((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(748)) /*AbstractArray::add*/;
   goto return_label665;
   return_label665: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row665(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row665, 8071};
+val_t parser_tables___ParserTable___action_table_row665(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8091, LOCATE_parser_tables___ParserTable___action_table_row665};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(397)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(755)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(373)) /*AbstractArray::add*/;
   goto return_label666;
   return_label666: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row666(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row666, 8078};
+val_t parser_tables___ParserTable___action_table_row666(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8097, LOCATE_parser_tables___ParserTable___action_table_row666};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(220)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(756)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(376)) /*AbstractArray::add*/;
   goto return_label667;
   return_label667: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row667(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row667, 8085};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row667(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8103, LOCATE_parser_tables___ParserTable___action_table_row667};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(36)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(378)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+  ((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(749)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+  ((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(750)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(753)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(754)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(755)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(756)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(757)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(758)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(759)) /*AbstractArray::add*/;
   goto return_label668;
   return_label668: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row668(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row668, 8093};
+val_t parser_tables___ParserTable___action_table_row668(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8120, LOCATE_parser_tables___ParserTable___action_table_row668};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(553)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(388)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(760)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(761)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(762)) /*AbstractArray::add*/;
   goto return_label669;
   return_label669: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row669(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row669, 8099};
+val_t parser_tables___ParserTable___action_table_row669(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8129, LOCATE_parser_tables___ParserTable___action_table_row669};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(668)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(758)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(391)) /*AbstractArray::add*/;
   goto return_label670;
   return_label670: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row670(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row670, 8106};
+val_t parser_tables___ParserTable___action_table_row670(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8135, LOCATE_parser_tables___ParserTable___action_table_row670};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(666)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(395)) /*AbstractArray::add*/;
   goto return_label671;
   return_label671: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row671(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row671, 8115};
+val_t parser_tables___ParserTable___action_table_row671(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8141, LOCATE_parser_tables___ParserTable___action_table_row671};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(187)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(398)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(763)) /*AbstractArray::add*/;
   goto return_label672;
   return_label672: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row672(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row672, 8121};
+val_t parser_tables___ParserTable___action_table_row672(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8148, LOCATE_parser_tables___ParserTable___action_table_row672};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(189)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(220)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(58)) /*AbstractArray::add*/;
+  ((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(764)) /*AbstractArray::add*/;
   goto return_label673;
   return_label673: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row673(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row673, 8127};
+val_t parser_tables___ParserTable___action_table_row673(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8155, LOCATE_parser_tables___ParserTable___action_table_row673};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label674;
   return_label674: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row674(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row674, 8134};
+val_t parser_tables___ParserTable___action_table_row674(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8163, LOCATE_parser_tables___ParserTable___action_table_row674};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(762)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(557)) /*AbstractArray::add*/;
   goto return_label675;
   return_label675: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row675(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row675, 8143};
+val_t parser_tables___ParserTable___action_table_row675(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8169, LOCATE_parser_tables___ParserTable___action_table_row675};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(674)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(766)) /*AbstractArray::add*/;
   goto return_label676;
   return_label676: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row676(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row676, 8151};
+val_t parser_tables___ParserTable___action_table_row676(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8176, LOCATE_parser_tables___ParserTable___action_table_row676};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(672)) /*AbstractArray::add*/;
   goto return_label677;
   return_label677: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row677(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row677, 8157};
+val_t parser_tables___ParserTable___action_table_row677(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8185, LOCATE_parser_tables___ParserTable___action_table_row677};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(676)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(187)) /*AbstractArray::add*/;
   goto return_label678;
   return_label678: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row678(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row678, 8165};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(769)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row678(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8191, LOCATE_parser_tables___ParserTable___action_table_row678};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(189)) /*AbstractArray::add*/;
   goto return_label679;
   return_label679: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row679(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row679, 8179};
+val_t parser_tables___ParserTable___action_table_row679(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8197, LOCATE_parser_tables___ParserTable___action_table_row679};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(549)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(86)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label680;
   return_label680: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row680(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row680, 8185};
+val_t parser_tables___ParserTable___action_table_row680(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8204, LOCATE_parser_tables___ParserTable___action_table_row680};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(679)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(770)) /*AbstractArray::add*/;
   goto return_label681;
   return_label681: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row681(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row681, 8193};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(771)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row681(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8213, LOCATE_parser_tables___ParserTable___action_table_row681};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label682;
   return_label682: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row682(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row682, 8206};
+val_t parser_tables___ParserTable___action_table_row682(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8221, LOCATE_parser_tables___ParserTable___action_table_row682};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(57)) /*AbstractArray::add*/;
   goto return_label683;
   return_label683: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row683(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row683, 8214};
+val_t parser_tables___ParserTable___action_table_row683(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8227, LOCATE_parser_tables___ParserTable___action_table_row683};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(682)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(682)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label684;
   return_label684: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row684(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row684, 8221};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(775)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(776)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row684(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8235, LOCATE_parser_tables___ParserTable___action_table_row684};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(777)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label685;
   return_label685: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row685(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row685, 8232};
+val_t parser_tables___ParserTable___action_table_row685(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8249, LOCATE_parser_tables___ParserTable___action_table_row685};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(778)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(553)) /*AbstractArray::add*/;
   goto return_label686;
   return_label686: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row686(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row686, 8242};
+val_t parser_tables___ParserTable___action_table_row686(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8255, LOCATE_parser_tables___ParserTable___action_table_row686};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(685)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(780)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(781)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(782)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(783)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(685)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label687;
   return_label687: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row687(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row687, 8252};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(784)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row687(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8263, LOCATE_parser_tables___ParserTable___action_table_row687};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(779)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label688;
   return_label688: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row688(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row688, 8262};
+val_t parser_tables___ParserTable___action_table_row688(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8276, LOCATE_parser_tables___ParserTable___action_table_row688};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(786)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label689;
   return_label689: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row689(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row689, 8272};
+val_t parser_tables___ParserTable___action_table_row689(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8284, LOCATE_parser_tables___ParserTable___action_table_row689};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(688)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(788)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(688)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label690;
   return_label690: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row690(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row690, 8279};
+val_t parser_tables___ParserTable___action_table_row690(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8291, LOCATE_parser_tables___ParserTable___action_table_row690};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(783)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(784)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label691;
   return_label691: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row691(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row691, 8288};
+val_t parser_tables___ParserTable___action_table_row691(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8302, LOCATE_parser_tables___ParserTable___action_table_row691};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(690)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(790)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(786)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label692;
   return_label692: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row692(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row692, 8295};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(691)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(301)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(302)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(303)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(304)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(305)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(306)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(307)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(308)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(309)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(310)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(311)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row692(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8312, LOCATE_parser_tables___ParserTable___action_table_row692};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(691)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+  ((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(788)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+  ((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(789)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(790)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(791)) /*AbstractArray::add*/;
   goto return_label693;
   return_label693: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row693(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row693, 8315};
+val_t parser_tables___ParserTable___action_table_row693(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8322, LOCATE_parser_tables___ParserTable___action_table_row693};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(692)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(792)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(792)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label694;
   return_label694: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row694(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row694, 8322};
+val_t parser_tables___ParserTable___action_table_row694(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8332, LOCATE_parser_tables___ParserTable___action_table_row694};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(693)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(793)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(794)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label695;
   return_label695: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row695(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row695, 8329};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(301)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(302)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(303)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(304)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(305)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(306)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(307)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(308)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(309)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(310)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(311)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row695(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8342, LOCATE_parser_tables___ParserTable___action_table_row695};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(694)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(796)) /*AbstractArray::add*/;
   goto return_label696;
   return_label696: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row696(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row696, 8351};
+val_t parser_tables___ParserTable___action_table_row696(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8349, LOCATE_parser_tables___ParserTable___action_table_row696};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label697;
   return_label697: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row697(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row697, 8359};
+val_t parser_tables___ParserTable___action_table_row697(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8358, LOCATE_parser_tables___ParserTable___action_table_row697};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(696)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(798)) /*AbstractArray::add*/;
   goto return_label698;
   return_label698: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row698(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row698, 8365};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(258)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row698(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8365, LOCATE_parser_tables___ParserTable___action_table_row698};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(697)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(301)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(302)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(303)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(304)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(305)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(306)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(307)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(308)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(309)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(310)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(311)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(312)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(313)) /*AbstractArray::add*/;
   goto return_label699;
   return_label699: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row699(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row699, 8371};
+val_t parser_tables___ParserTable___action_table_row699(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8385, LOCATE_parser_tables___ParserTable___action_table_row699};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(263)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(698)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(800)) /*AbstractArray::add*/;
   goto return_label700;
   return_label700: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row700(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row700, 8377};
+val_t parser_tables___ParserTable___action_table_row700(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8392, LOCATE_parser_tables___ParserTable___action_table_row700};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(343)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(699)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(801)) /*AbstractArray::add*/;
   goto return_label701;
   return_label701: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row701(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row701, 8383};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row701(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8399, LOCATE_parser_tables___ParserTable___action_table_row701};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(51)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(301)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(302)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(303)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(304)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(305)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(306)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(307)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(308)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(309)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(310)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(311)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(312)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(313)) /*AbstractArray::add*/;
   goto return_label702;
   return_label702: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row702(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row702, 8391};
+val_t parser_tables___ParserTable___action_table_row702(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8421, LOCATE_parser_tables___ParserTable___action_table_row702};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(701)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(799)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label703;
   return_label703: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row703(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row703, 8398};
+val_t parser_tables___ParserTable___action_table_row703(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8429, LOCATE_parser_tables___ParserTable___action_table_row703};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(484)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(59)) /*AbstractArray::add*/;
   goto return_label704;
   return_label704: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row704(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row704, 8404};
+val_t parser_tables___ParserTable___action_table_row704(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8435, LOCATE_parser_tables___ParserTable___action_table_row704};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(188)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(703)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label705;
   return_label705: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row705(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row705, 8410};
+val_t parser_tables___ParserTable___action_table_row705(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8442, LOCATE_parser_tables___ParserTable___action_table_row705};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(190)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(258)) /*AbstractArray::add*/;
   goto return_label706;
   return_label706: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row706(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row706, 8416};
+val_t parser_tables___ParserTable___action_table_row706(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8448, LOCATE_parser_tables___ParserTable___action_table_row706};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(263)) /*AbstractArray::add*/;
   goto return_label707;
   return_label707: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row707(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row707, 8424};
+val_t parser_tables___ParserTable___action_table_row707(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8454, LOCATE_parser_tables___ParserTable___action_table_row707};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(58)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(344)) /*AbstractArray::add*/;
   goto return_label708;
   return_label708: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row708(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row708, 8430};
+val_t parser_tables___ParserTable___action_table_row708(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8460, LOCATE_parser_tables___ParserTable___action_table_row708};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(707)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label709;
   return_label709: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row709(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row709, 8438};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(583)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(803)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row709(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8468, LOCATE_parser_tables___ParserTable___action_table_row709};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(708)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(808)) /*AbstractArray::add*/;
   goto return_label710;
   return_label710: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row710(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row710, 8452};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(804)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row710(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8475, LOCATE_parser_tables___ParserTable___action_table_row710};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(486)) /*AbstractArray::add*/;
   goto return_label711;
   return_label711: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row711(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row711, 8465};
+val_t parser_tables___ParserTable___action_table_row711(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8481, LOCATE_parser_tables___ParserTable___action_table_row711};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(710)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label712;
   return_label712: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row712(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row712, 8473};
+val_t parser_tables___ParserTable___action_table_row712(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8488, LOCATE_parser_tables___ParserTable___action_table_row712};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(188)) /*AbstractArray::add*/;
   goto return_label713;
   return_label713: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row713(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row713, 8481};
+val_t parser_tables___ParserTable___action_table_row713(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8494, LOCATE_parser_tables___ParserTable___action_table_row713};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(190)) /*AbstractArray::add*/;
   goto return_label714;
   return_label714: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row714(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row714, 8487};
+val_t parser_tables___ParserTable___action_table_row714(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8500, LOCATE_parser_tables___ParserTable___action_table_row714};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(231)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(421)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label715;
   return_label715: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row715(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row715, 8494};
+val_t parser_tables___ParserTable___action_table_row715(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8508, LOCATE_parser_tables___ParserTable___action_table_row715};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(714)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(58)) /*AbstractArray::add*/;
   goto return_label716;
   return_label716: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row716(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row716, 8502};
+val_t parser_tables___ParserTable___action_table_row716(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8514, LOCATE_parser_tables___ParserTable___action_table_row716};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(715)) /*AbstractArray::add*/;
+  ((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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*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(0)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
   goto return_label717;
   return_label717: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row717(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row717, 8510};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row717(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8522, LOCATE_parser_tables___ParserTable___action_table_row717};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(27)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+  ((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(587)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(813)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label718;
   return_label718: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row718(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row718, 8518};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(717)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(612)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(537)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(538)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(539)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(541)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(543)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(545)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(546)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(547)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row718(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8536, LOCATE_parser_tables___ParserTable___action_table_row718};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(814)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label719;
   return_label719: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row719(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row719, 8554};
+val_t parser_tables___ParserTable___action_table_row719(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8549, LOCATE_parser_tables___ParserTable___action_table_row719};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(718)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(813)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(814)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(420)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label720;
   return_label720: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row720(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row720, 8563};
+val_t parser_tables___ParserTable___action_table_row720(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8557, LOCATE_parser_tables___ParserTable___action_table_row720};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(249)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(438)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label721;
   return_label721: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row721(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row721, 8570};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(720)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(536)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(540)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row721(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8565, LOCATE_parser_tables___ParserTable___action_table_row721};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(60)) /*AbstractArray::add*/;
   goto return_label722;
   return_label722: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row722(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row722, 8605};
+val_t parser_tables___ParserTable___action_table_row722(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8571, LOCATE_parser_tables___ParserTable___action_table_row722};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(721)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(231)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(423)) /*AbstractArray::add*/;
   goto return_label723;
   return_label723: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row723(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row723, 8613};
+val_t parser_tables___ParserTable___action_table_row723(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8578, LOCATE_parser_tables___ParserTable___action_table_row723};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(269)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(722)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label724;
   return_label724: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row724(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row724, 8619};
+val_t parser_tables___ParserTable___action_table_row724(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8586, LOCATE_parser_tables___ParserTable___action_table_row724};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label725;
   return_label725: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row725(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row725, 8627};
+val_t parser_tables___ParserTable___action_table_row725(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8594, LOCATE_parser_tables___ParserTable___action_table_row725};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(724)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(288)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label726;
   return_label726: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row726(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row726, 8634};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(556)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row726(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8602, LOCATE_parser_tables___ParserTable___action_table_row726};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(725)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(618)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(541)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(542)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(543)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(545)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(546)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(547)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(548)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(549)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(550)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(551)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label727;
   return_label727: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row727(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row727, 8640};
+val_t parser_tables___ParserTable___action_table_row727(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8638, LOCATE_parser_tables___ParserTable___action_table_row727};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(726)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(823)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+  ((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(419)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(824)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(421)) /*AbstractArray::add*/;
   goto return_label728;
   return_label728: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row728(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row728, 8646};
+val_t parser_tables___ParserTable___action_table_row728(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8648, LOCATE_parser_tables___ParserTable___action_table_row728};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(353)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(249)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(440)) /*AbstractArray::add*/;
   goto return_label729;
   return_label729: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row729(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row729, 8652};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(406)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row729(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8655, LOCATE_parser_tables___ParserTable___action_table_row729};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(728)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(540)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(544)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label730;
   return_label730: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row730(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row730, 8658};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(729)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row730(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8690, LOCATE_parser_tables___ParserTable___action_table_row730};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(729)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label731;
   return_label731: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row731(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row731, 8685};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(730)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(638)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row731(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8698, LOCATE_parser_tables___ParserTable___action_table_row731};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(269)) /*AbstractArray::add*/;
   goto return_label732;
   return_label732: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row732(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row732, 8710};
+val_t parser_tables___ParserTable___action_table_row732(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8704, LOCATE_parser_tables___ParserTable___action_table_row732};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(731)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(821)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label733;
   return_label733: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row733(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row733, 8717};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(732)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row733(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8712, LOCATE_parser_tables___ParserTable___action_table_row733};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(732)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label734;
   return_label734: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row734(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row734, 8741};
+val_t parser_tables___ParserTable___action_table_row734(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8719, LOCATE_parser_tables___ParserTable___action_table_row734};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(403)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(560)) /*AbstractArray::add*/;
   goto return_label735;
   return_label735: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row735(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row735, 8747};
+val_t parser_tables___ParserTable___action_table_row735(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8725, LOCATE_parser_tables___ParserTable___action_table_row735};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(734)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(824)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(223)) /*AbstractArray::add*/;
   goto return_label736;
   return_label736: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row736(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row736, 8754};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(735)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row736(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8731, LOCATE_parser_tables___ParserTable___action_table_row736};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(354)) /*AbstractArray::add*/;
   goto return_label737;
   return_label737: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row737(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row737, 8778};
+val_t parser_tables___ParserTable___action_table_row737(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8737, LOCATE_parser_tables___ParserTable___action_table_row737};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(402)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(407)) /*AbstractArray::add*/;
   goto return_label738;
   return_label738: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row738(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row738, 8784};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row738(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8743, LOCATE_parser_tables___ParserTable___action_table_row738};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(737)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label739;
   return_label739: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row739(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row739, 8791};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(738)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(827)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(828)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row739(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8770, LOCATE_parser_tables___ParserTable___action_table_row739};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(738)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(644)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label740;
   return_label740: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row740(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row740, 8799};
+val_t parser_tables___ParserTable___action_table_row740(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8795, LOCATE_parser_tables___ParserTable___action_table_row740};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(739)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(831)) /*AbstractArray::add*/;
   goto return_label741;
   return_label741: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row741(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row741, 8807};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row741(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8802, LOCATE_parser_tables___ParserTable___action_table_row741};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(740)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label742;
   return_label742: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row742(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row742, 8815};
+val_t parser_tables___ParserTable___action_table_row742(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8826, LOCATE_parser_tables___ParserTable___action_table_row742};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(404)) /*AbstractArray::add*/;
   goto return_label743;
   return_label743: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row743(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row743, 8823};
+val_t parser_tables___ParserTable___action_table_row743(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8832, LOCATE_parser_tables___ParserTable___action_table_row743};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(742)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(834)) /*AbstractArray::add*/;
   goto return_label744;
   return_label744: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row744(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row744, 8831};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row744(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8839, LOCATE_parser_tables___ParserTable___action_table_row744};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label745;
   return_label745: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row745(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row745, 8839};
+val_t parser_tables___ParserTable___action_table_row745(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8863, LOCATE_parser_tables___ParserTable___action_table_row745};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(403)) /*AbstractArray::add*/;
   goto return_label746;
   return_label746: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row746(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row746, 8847};
+val_t parser_tables___ParserTable___action_table_row746(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8869, LOCATE_parser_tables___ParserTable___action_table_row746};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label747;
   return_label747: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row747(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row747, 8855};
+val_t parser_tables___ParserTable___action_table_row747(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8876, LOCATE_parser_tables___ParserTable___action_table_row747};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(746)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(837)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(838)) /*AbstractArray::add*/;
   goto return_label748;
   return_label748: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row748(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row748, 8863};
+val_t parser_tables___ParserTable___action_table_row748(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8884, LOCATE_parser_tables___ParserTable___action_table_row748};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label749;
   return_label749: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row749(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row749, 8871};
+val_t parser_tables___ParserTable___action_table_row749(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8892, LOCATE_parser_tables___ParserTable___action_table_row749};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label750;
   return_label750: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row750(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row750, 8879};
+val_t parser_tables___ParserTable___action_table_row750(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8900, LOCATE_parser_tables___ParserTable___action_table_row750};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label751;
   return_label751: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row751(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row751, 8887};
+val_t parser_tables___ParserTable___action_table_row751(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8908, LOCATE_parser_tables___ParserTable___action_table_row751};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label752;
   return_label752: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row752(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row752, 8895};
+val_t parser_tables___ParserTable___action_table_row752(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8916, LOCATE_parser_tables___ParserTable___action_table_row752};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label753;
   return_label753: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row753(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row753, 8903};
+val_t parser_tables___ParserTable___action_table_row753(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8924, LOCATE_parser_tables___ParserTable___action_table_row753};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label754;
   return_label754: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row754(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row754, 8911};
+val_t parser_tables___ParserTable___action_table_row754(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8932, LOCATE_parser_tables___ParserTable___action_table_row754};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label755;
   return_label755: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row755(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row755, 8919};
+val_t parser_tables___ParserTable___action_table_row755(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8940, LOCATE_parser_tables___ParserTable___action_table_row755};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label756;
   return_label756: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row756(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row756, 8927};
+val_t parser_tables___ParserTable___action_table_row756(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8948, LOCATE_parser_tables___ParserTable___action_table_row756};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label757;
   return_label757: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row757(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row757, 8935};
+val_t parser_tables___ParserTable___action_table_row757(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8956, LOCATE_parser_tables___ParserTable___action_table_row757};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(221)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label758;
   return_label758: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row758(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row758, 8941};
+val_t parser_tables___ParserTable___action_table_row758(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8964, LOCATE_parser_tables___ParserTable___action_table_row758};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(757)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(574)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label759;
   return_label759: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row759(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row759, 8948};
+val_t parser_tables___ParserTable___action_table_row759(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8972, LOCATE_parser_tables___ParserTable___action_table_row759};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(215)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label760;
   return_label760: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row760(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row760, 8954};
+val_t parser_tables___ParserTable___action_table_row760(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8980, LOCATE_parser_tables___ParserTable___action_table_row760};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(554)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label761;
   return_label761: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row761(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row761, 8960};
+val_t parser_tables___ParserTable___action_table_row761(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8988, LOCATE_parser_tables___ParserTable___action_table_row761};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(760)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(847)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label762;
   return_label762: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row762(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row762, 8967};
+val_t parser_tables___ParserTable___action_table_row762(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 8996, LOCATE_parser_tables___ParserTable___action_table_row762};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label763;
   return_label763: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row763(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row763, 8973};
+val_t parser_tables___ParserTable___action_table_row763(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9004, LOCATE_parser_tables___ParserTable___action_table_row763};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label764;
   return_label764: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row764(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row764, 8981};
+val_t parser_tables___ParserTable___action_table_row764(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9012, LOCATE_parser_tables___ParserTable___action_table_row764};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(547)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label765;
   return_label765: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row765(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row765, 8987};
+val_t parser_tables___ParserTable___action_table_row765(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9020, LOCATE_parser_tables___ParserTable___action_table_row765};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(764)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(849)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(221)) /*AbstractArray::add*/;
   goto return_label766;
   return_label766: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row766(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row766, 8994};
+val_t parser_tables___ParserTable___action_table_row766(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9026, LOCATE_parser_tables___ParserTable___action_table_row766};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(762)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(765)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(578)) /*AbstractArray::add*/;
   goto return_label767;
   return_label767: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row767(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row767, 9003};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(852)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row767(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9033, LOCATE_parser_tables___ParserTable___action_table_row767};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(215)) /*AbstractArray::add*/;
   goto return_label768;
   return_label768: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row768(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row768, 9016};
+val_t parser_tables___ParserTable___action_table_row768(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9039, LOCATE_parser_tables___ParserTable___action_table_row768};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(558)) /*AbstractArray::add*/;
   goto return_label769;
   return_label769: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row769(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row769, 9024};
+val_t parser_tables___ParserTable___action_table_row769(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9045, LOCATE_parser_tables___ParserTable___action_table_row769};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(768)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(857)) /*AbstractArray::add*/;
   goto return_label770;
   return_label770: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row770(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row770, 9032};
+val_t parser_tables___ParserTable___action_table_row770(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9052, LOCATE_parser_tables___ParserTable___action_table_row770};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(87)) /*AbstractArray::add*/;
   goto return_label771;
   return_label771: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row771(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row771, 9038};
+val_t parser_tables___ParserTable___action_table_row771(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9058, LOCATE_parser_tables___ParserTable___action_table_row771};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(89)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label772;
   return_label772: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row772(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row772, 9044};
+val_t parser_tables___ParserTable___action_table_row772(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9066, LOCATE_parser_tables___ParserTable___action_table_row772};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(551)) /*AbstractArray::add*/;
   goto return_label773;
   return_label773: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row773(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row773, 9050};
+val_t parser_tables___ParserTable___action_table_row773(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9072, LOCATE_parser_tables___ParserTable___action_table_row773};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(550)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(772)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(859)) /*AbstractArray::add*/;
   goto return_label774;
   return_label774: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row774(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row774, 9056};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(856)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row774(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9079, LOCATE_parser_tables___ParserTable___action_table_row774};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+  ((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(770)) /*AbstractArray::add*/;
   goto return_label775;
   return_label775: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row775(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row775, 9069};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(88)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row775(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9088, LOCATE_parser_tables___ParserTable___action_table_row775};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(862)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label776;
   return_label776: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row776(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row776, 9075};
+val_t parser_tables___ParserTable___action_table_row776(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9101, LOCATE_parser_tables___ParserTable___action_table_row776};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(857)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label777;
   return_label777: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row777(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row777, 9085};
+val_t parser_tables___ParserTable___action_table_row777(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9109, LOCATE_parser_tables___ParserTable___action_table_row777};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(859)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label778;
   return_label778: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row778(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row778, 9095};
+val_t parser_tables___ParserTable___action_table_row778(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9117, LOCATE_parser_tables___ParserTable___action_table_row778};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(777)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(861)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(61)) /*AbstractArray::add*/;
   goto return_label779;
   return_label779: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row779(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row779, 9102};
+val_t parser_tables___ParserTable___action_table_row779(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9123, LOCATE_parser_tables___ParserTable___action_table_row779};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(89)) /*AbstractArray::add*/;
   goto return_label780;
   return_label780: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row780(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row780, 9111};
+val_t parser_tables___ParserTable___action_table_row780(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9129, LOCATE_parser_tables___ParserTable___action_table_row780};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(779)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(863)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(63)) /*AbstractArray::add*/;
   goto return_label781;
   return_label781: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row781(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row781, 9118};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(780)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(301)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(302)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(303)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(304)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(305)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(306)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(307)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(308)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(309)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(310)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(311)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row781(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9135, LOCATE_parser_tables___ParserTable___action_table_row781};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(554)) /*AbstractArray::add*/;
   goto return_label782;
   return_label782: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row782(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row782, 9138};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(781)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(865)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row782(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9141, LOCATE_parser_tables___ParserTable___action_table_row782};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(866)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label783;
   return_label783: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row783(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row783, 9145};
+val_t parser_tables___ParserTable___action_table_row783(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9154, LOCATE_parser_tables___ParserTable___action_table_row783};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(782)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(866)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(88)) /*AbstractArray::add*/;
   goto return_label784;
   return_label784: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row784(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row784, 9152};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(300)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(301)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(302)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(303)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(304)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(305)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(306)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(307)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(308)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(309)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(310)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(311)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(312)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(313)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row784(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9160, LOCATE_parser_tables___ParserTable___action_table_row784};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(867)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label785;
   return_label785: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row785(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row785, 9174};
+val_t parser_tables___ParserTable___action_table_row785(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9170, LOCATE_parser_tables___ParserTable___action_table_row785};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(869)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(869)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label786;
   return_label786: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row786(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row786, 9184};
+val_t parser_tables___ParserTable___action_table_row786(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9180, LOCATE_parser_tables___ParserTable___action_table_row786};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(785)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(871)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(785)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(871)) /*AbstractArray::add*/;
   goto return_label787;
   return_label787: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row787(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row787, 9191};
+val_t parser_tables___ParserTable___action_table_row787(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9187, LOCATE_parser_tables___ParserTable___action_table_row787};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label788;
   return_label788: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row788(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row788, 9200};
+val_t parser_tables___ParserTable___action_table_row788(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9196, LOCATE_parser_tables___ParserTable___action_table_row788};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(787)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(873)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(787)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(873)) /*AbstractArray::add*/;
   goto return_label789;
   return_label789: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row789(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row789, 9207};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(788)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(874)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row789(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9203, LOCATE_parser_tables___ParserTable___action_table_row789};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(45)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(788)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(301)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(302)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(303)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(304)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(305)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(306)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(307)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(308)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(309)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(310)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(311)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(312)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(313)) /*AbstractArray::add*/;
   goto return_label790;
   return_label790: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row790(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row790, 9214};
+val_t parser_tables___ParserTable___action_table_row790(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9223, LOCATE_parser_tables___ParserTable___action_table_row790};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(789)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(875)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(789)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(875)) /*AbstractArray::add*/;
   goto return_label791;
   return_label791: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row791(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row791, 9221};
+val_t parser_tables___ParserTable___action_table_row791(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9230, LOCATE_parser_tables___ParserTable___action_table_row791};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(790)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(876)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(790)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(876)) /*AbstractArray::add*/;
   goto return_label792;
   return_label792: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row792(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row792, 9228};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row792(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9237, LOCATE_parser_tables___ParserTable___action_table_row792};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(51)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(300)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(301)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(302)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(303)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(304)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(305)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+  ((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(306)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+  ((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(307)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+  ((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(308)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+  ((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(309)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+  ((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(310)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+  ((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(311)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+  ((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(312)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(313)) /*AbstractArray::add*/;
   goto return_label793;
   return_label793: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row793(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row793, 9236};
+val_t parser_tables___ParserTable___action_table_row793(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9259, LOCATE_parser_tables___ParserTable___action_table_row793};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(792)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(879)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label794;
   return_label794: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row794(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row794, 9243};
+val_t parser_tables___ParserTable___action_table_row794(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9269, LOCATE_parser_tables___ParserTable___action_table_row794};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(98)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(879)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(793)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(881)) /*AbstractArray::add*/;
   goto return_label795;
   return_label795: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row795(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row795, 9251};
+val_t parser_tables___ParserTable___action_table_row795(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9276, LOCATE_parser_tables___ParserTable___action_table_row795};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label796;
   return_label796: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row796(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row796, 9259};
+val_t parser_tables___ParserTable___action_table_row796(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9285, LOCATE_parser_tables___ParserTable___action_table_row796};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(795)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(883)) /*AbstractArray::add*/;
   goto return_label797;
   return_label797: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row797(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row797, 9267};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(883)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row797(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9292, LOCATE_parser_tables___ParserTable___action_table_row797};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(796)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(884)) /*AbstractArray::add*/;
   goto return_label798;
   return_label798: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row798(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row798, 9280};
+val_t parser_tables___ParserTable___action_table_row798(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9299, LOCATE_parser_tables___ParserTable___action_table_row798};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(797)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(885)) /*AbstractArray::add*/;
   goto return_label799;
   return_label799: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row799(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row799, 9288};
+val_t parser_tables___ParserTable___action_table_row799(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9306, LOCATE_parser_tables___ParserTable___action_table_row799};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(798)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(885)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(798)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(886)) /*AbstractArray::add*/;
   goto return_label800;
   return_label800: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row800(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row800, 9295};
+val_t parser_tables___ParserTable___action_table_row800(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9313, LOCATE_parser_tables___ParserTable___action_table_row800};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(446)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label801;
   return_label801: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row801(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row801, 9301};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(886)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row801(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9321, LOCATE_parser_tables___ParserTable___action_table_row801};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(800)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label802;
   return_label802: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row802(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row802, 9314};
+val_t parser_tables___ParserTable___action_table_row802(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9328, LOCATE_parser_tables___ParserTable___action_table_row802};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(98)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(889)) /*AbstractArray::add*/;
   goto return_label803;
   return_label803: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row803(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row803, 9322};
+val_t parser_tables___ParserTable___action_table_row803(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9336, LOCATE_parser_tables___ParserTable___action_table_row803};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label804;
   return_label804: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row804(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row804, 9330};
+val_t parser_tables___ParserTable___action_table_row804(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9344, LOCATE_parser_tables___ParserTable___action_table_row804};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label805;
   return_label805: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row805(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row805, 9336};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row805(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9352, LOCATE_parser_tables___ParserTable___action_table_row805};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(893)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label806;
   return_label806: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row806(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row806, 9342};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(890)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row806(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9365, LOCATE_parser_tables___ParserTable___action_table_row806};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label807;
   return_label807: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row807(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row807, 9355};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(891)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row807(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9373, LOCATE_parser_tables___ParserTable___action_table_row807};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label808;
   return_label808: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row808(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row808, 9368};
+val_t parser_tables___ParserTable___action_table_row808(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9381, LOCATE_parser_tables___ParserTable___action_table_row808};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(807)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(896)) /*AbstractArray::add*/;
   goto return_label809;
   return_label809: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row809(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row809, 9376};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(808)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(893)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row809(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9388, LOCATE_parser_tables___ParserTable___action_table_row809};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(448)) /*AbstractArray::add*/;
   goto return_label810;
   return_label810: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row810(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row810, 9410};
+val_t parser_tables___ParserTable___action_table_row810(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9394, LOCATE_parser_tables___ParserTable___action_table_row810};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(809)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label811;
   return_label811: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row811(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row811, 9418};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(810)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(895)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row811(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9402, LOCATE_parser_tables___ParserTable___action_table_row811};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(898)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label812;
   return_label812: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row812(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row812, 9425};
+val_t parser_tables___ParserTable___action_table_row812(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9415, LOCATE_parser_tables___ParserTable___action_table_row812};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(811)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(896)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label813;
   return_label813: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row813(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row813, 9432};
+val_t parser_tables___ParserTable___action_table_row813(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9423, LOCATE_parser_tables___ParserTable___action_table_row813};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(444)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label814;
   return_label814: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row814(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row814, 9438};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row814(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9431, LOCATE_parser_tables___ParserTable___action_table_row814};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(62)) /*AbstractArray::add*/;
   goto return_label815;
   return_label815: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row815(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row815, 9466};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(350)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row815(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9437, LOCATE_parser_tables___ParserTable___action_table_row815};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(65)) /*AbstractArray::add*/;
   goto return_label816;
   return_label816: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row816(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row816, 9497};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(271)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row816(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9443, LOCATE_parser_tables___ParserTable___action_table_row816};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(902)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label817;
   return_label817: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row817(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row817, 9503};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(816)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(536)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(540)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row817(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9456, LOCATE_parser_tables___ParserTable___action_table_row817};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(903)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label818;
   return_label818: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row818(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row818, 9538};
+val_t parser_tables___ParserTable___action_table_row818(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9469, LOCATE_parser_tables___ParserTable___action_table_row818};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(817)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(900)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label819;
   return_label819: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row819(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row819, 9545};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(226)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row819(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9477, LOCATE_parser_tables___ParserTable___action_table_row819};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(818)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(905)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label820;
   return_label820: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row820(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row820, 9551};
+val_t parser_tables___ParserTable___action_table_row820(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9511, LOCATE_parser_tables___ParserTable___action_table_row820};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(819)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label821;
   return_label821: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row821(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row821, 9559};
+val_t parser_tables___ParserTable___action_table_row821(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9519, LOCATE_parser_tables___ParserTable___action_table_row821};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(376)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(820)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+  ((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(907)) /*AbstractArray::add*/;
   goto return_label822;
   return_label822: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row822(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row822, 9565};
+val_t parser_tables___ParserTable___action_table_row822(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9526, LOCATE_parser_tables___ParserTable___action_table_row822};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(369)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(821)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(908)) /*AbstractArray::add*/;
   goto return_label823;
   return_label823: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row823(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row823, 9571};
+val_t parser_tables___ParserTable___action_table_row823(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9533, LOCATE_parser_tables___ParserTable___action_table_row823};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(902)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(446)) /*AbstractArray::add*/;
   goto return_label824;
   return_label824: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row824(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row824, 9579};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(396)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row824(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9539, LOCATE_parser_tables___ParserTable___action_table_row824};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(69)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label825;
   return_label825: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row825(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row825, 9585};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(417)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row825(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9567, LOCATE_parser_tables___ParserTable___action_table_row825};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(78)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((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(351)) /*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*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(351)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*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(351)) /*AbstractArray::add*/;
   goto return_label826;
   return_label826: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row826(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row826, 9591};
+val_t parser_tables___ParserTable___action_table_row826(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9598, LOCATE_parser_tables___ParserTable___action_table_row826};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(395)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(271)) /*AbstractArray::add*/;
   goto return_label827;
   return_label827: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row827(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row827, 9597};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(404)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row827(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9604, LOCATE_parser_tables___ParserTable___action_table_row827};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(90)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(826)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(540)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(544)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label828;
   return_label828: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row828(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row828, 9603};
+val_t parser_tables___ParserTable___action_table_row828(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9639, LOCATE_parser_tables___ParserTable___action_table_row828};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(323)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(827)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(912)) /*AbstractArray::add*/;
   goto return_label829;
   return_label829: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row829(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row829, 9609};
+val_t parser_tables___ParserTable___action_table_row829(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9646, LOCATE_parser_tables___ParserTable___action_table_row829};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(322)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(226)) /*AbstractArray::add*/;
   goto return_label830;
   return_label830: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row830(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row830, 9615};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(829)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(638)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row830(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9652, LOCATE_parser_tables___ParserTable___action_table_row830};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label831;
   return_label831: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row831(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row831, 9640};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(830)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(638)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row831(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9660, LOCATE_parser_tables___ParserTable___action_table_row831};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(377)) /*AbstractArray::add*/;
   goto return_label832;
   return_label832: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row832(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row832, 9665};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(831)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row832(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9666, LOCATE_parser_tables___ParserTable___action_table_row832};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(370)) /*AbstractArray::add*/;
   goto return_label833;
   return_label833: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row833(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row833, 9689};
+val_t parser_tables___ParserTable___action_table_row833(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9672, LOCATE_parser_tables___ParserTable___action_table_row833};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(832)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(821)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+  ((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(914)) /*AbstractArray::add*/;
   goto return_label834;
   return_label834: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row834(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row834, 9696};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(833)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row834(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9680, LOCATE_parser_tables___ParserTable___action_table_row834};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(397)) /*AbstractArray::add*/;
   goto return_label835;
   return_label835: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row835(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row835, 9720};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(834)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row835(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9686, LOCATE_parser_tables___ParserTable___action_table_row835};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(418)) /*AbstractArray::add*/;
   goto return_label836;
   return_label836: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row836(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row836, 9744};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(835)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row836(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9692, LOCATE_parser_tables___ParserTable___action_table_row836};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(396)) /*AbstractArray::add*/;
   goto return_label837;
   return_label837: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row837(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row837, 9768};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(836)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row837(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9698, LOCATE_parser_tables___ParserTable___action_table_row837};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(405)) /*AbstractArray::add*/;
   goto return_label838;
   return_label838: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row838(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row838, 9792};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(837)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row838(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9704, LOCATE_parser_tables___ParserTable___action_table_row838};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(323)) /*AbstractArray::add*/;
   goto return_label839;
   return_label839: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row839(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row839, 9816};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(838)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row839(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9710, LOCATE_parser_tables___ParserTable___action_table_row839};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(322)) /*AbstractArray::add*/;
   goto return_label840;
   return_label840: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row840(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row840, 9840};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(839)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row840(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9716, LOCATE_parser_tables___ParserTable___action_table_row840};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(839)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(644)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label841;
   return_label841: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row841(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row841, 9864};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(840)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row841(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9741, LOCATE_parser_tables___ParserTable___action_table_row841};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(840)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(644)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label842;
   return_label842: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row842(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row842, 9888};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(841)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row842(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9766, LOCATE_parser_tables___ParserTable___action_table_row842};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(841)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label843;
   return_label843: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row843(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row843, 9912};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(842)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row843(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9790, LOCATE_parser_tables___ParserTable___action_table_row843};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(842)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(831)) /*AbstractArray::add*/;
   goto return_label844;
   return_label844: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row844(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row844, 9936};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(843)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row844(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9797, LOCATE_parser_tables___ParserTable___action_table_row844};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(843)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label845;
   return_label845: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row845(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row845, 9960};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(844)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row845(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9821, LOCATE_parser_tables___ParserTable___action_table_row845};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(844)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label846;
   return_label846: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row846(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row846, 9984};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(845)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(920)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(921)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(922)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row846(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9845, LOCATE_parser_tables___ParserTable___action_table_row846};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(845)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label847;
   return_label847: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row847(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row847, 9993};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(218)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row847(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9869, LOCATE_parser_tables___ParserTable___action_table_row847};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(846)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label848;
   return_label848: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row848(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row848, 9999};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(216)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row848(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9893, LOCATE_parser_tables___ParserTable___action_table_row848};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(847)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label849;
   return_label849: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row849(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row849, 10005};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(848)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(672)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row849(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9917, LOCATE_parser_tables___ParserTable___action_table_row849};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(848)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label850;
   return_label850: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row850(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row850, 10012};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row850(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9941, LOCATE_parser_tables___ParserTable___action_table_row850};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(849)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label851;
   return_label851: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row851(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row851, 10018};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(548)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row851(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9965, LOCATE_parser_tables___ParserTable___action_table_row851};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(850)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label852;
   return_label852: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row852(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row852, 10024};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(851)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(924)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row852(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 9989, LOCATE_parser_tables___ParserTable___action_table_row852};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(851)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label853;
   return_label853: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row853(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row853, 10031};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row853(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10013, LOCATE_parser_tables___ParserTable___action_table_row853};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(852)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label854;
   return_label854: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row854(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row854, 10037};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(925)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row854(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10037, LOCATE_parser_tables___ParserTable___action_table_row854};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(853)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label855;
   return_label855: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row855(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row855, 10050};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(926)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row855(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10061, LOCATE_parser_tables___ParserTable___action_table_row855};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(57)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(854)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label856;
   return_label856: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row856(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row856, 10063};
+val_t parser_tables___ParserTable___action_table_row856(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10085, LOCATE_parser_tables___ParserTable___action_table_row856};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(855)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(932)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+  ((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(933)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(934)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(935)) /*AbstractArray::add*/;
   goto return_label857;
   return_label857: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row857(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row857, 10071};
+val_t parser_tables___ParserTable___action_table_row857(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10095, LOCATE_parser_tables___ParserTable___action_table_row857};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(218)) /*AbstractArray::add*/;
   goto return_label858;
   return_label858: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row858(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row858, 10077};
+val_t parser_tables___ParserTable___action_table_row858(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10101, LOCATE_parser_tables___ParserTable___action_table_row858};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(928)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(216)) /*AbstractArray::add*/;
   goto return_label859;
   return_label859: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row859(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row859, 10087};
+val_t parser_tables___ParserTable___action_table_row859(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10107, LOCATE_parser_tables___ParserTable___action_table_row859};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(858)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(930)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(858)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(678)) /*AbstractArray::add*/;
   goto return_label860;
   return_label860: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row860(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row860, 10094};
+val_t parser_tables___ParserTable___action_table_row860(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10114, LOCATE_parser_tables___ParserTable___action_table_row860};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(83)) /*AbstractArray::add*/;
   goto return_label861;
   return_label861: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row861(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row861, 10103};
+val_t parser_tables___ParserTable___action_table_row861(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10120, LOCATE_parser_tables___ParserTable___action_table_row861};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(860)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(932)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(552)) /*AbstractArray::add*/;
   goto return_label862;
   return_label862: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row862(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row862, 10110};
+val_t parser_tables___ParserTable___action_table_row862(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10126, LOCATE_parser_tables___ParserTable___action_table_row862};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(861)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(933)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(861)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+  ((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(937)) /*AbstractArray::add*/;
   goto return_label863;
   return_label863: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row863(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row863, 10117};
+val_t parser_tables___ParserTable___action_table_row863(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10133, LOCATE_parser_tables___ParserTable___action_table_row863};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(862)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(934)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(67)) /*AbstractArray::add*/;
   goto return_label864;
   return_label864: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row864(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row864, 10124};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(863)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(935)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row864(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10139, LOCATE_parser_tables___ParserTable___action_table_row864};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(938)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label865;
   return_label865: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row865(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row865, 10131};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row865(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10152, LOCATE_parser_tables___ParserTable___action_table_row865};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(939)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label866;
   return_label866: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row866(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row866, 10139};
+val_t parser_tables___ParserTable___action_table_row866(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10165, LOCATE_parser_tables___ParserTable___action_table_row866};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(865)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label867;
   return_label867: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row867(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row867, 10146};
+val_t parser_tables___ParserTable___action_table_row867(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10173, LOCATE_parser_tables___ParserTable___action_table_row867};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(938)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(64)) /*AbstractArray::add*/;
   goto return_label868;
   return_label868: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row868(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row868, 10154};
+val_t parser_tables___ParserTable___action_table_row868(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10179, LOCATE_parser_tables___ParserTable___action_table_row868};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(15)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(211)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(411)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(941)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label869;
   return_label869: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row869(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row869, 10162};
+val_t parser_tables___ParserTable___action_table_row869(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10189, LOCATE_parser_tables___ParserTable___action_table_row869};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(868)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(943)) /*AbstractArray::add*/;
   goto return_label870;
   return_label870: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row870(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row870, 10170};
+val_t parser_tables___ParserTable___action_table_row870(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10196, LOCATE_parser_tables___ParserTable___action_table_row870};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label871;
   return_label871: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row871(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row871, 10179};
+val_t parser_tables___ParserTable___action_table_row871(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10205, LOCATE_parser_tables___ParserTable___action_table_row871};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(870)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(943)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(870)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(945)) /*AbstractArray::add*/;
   goto return_label872;
   return_label872: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row872(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row872, 10186};
+val_t parser_tables___ParserTable___action_table_row872(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10212, LOCATE_parser_tables___ParserTable___action_table_row872};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(871)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(944)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(871)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(946)) /*AbstractArray::add*/;
   goto return_label873;
   return_label873: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row873(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row873, 10193};
+val_t parser_tables___ParserTable___action_table_row873(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10219, LOCATE_parser_tables___ParserTable___action_table_row873};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(872)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(945)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(872)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(947)) /*AbstractArray::add*/;
   goto return_label874;
   return_label874: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row874(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row874, 10200};
+val_t parser_tables___ParserTable___action_table_row874(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10226, LOCATE_parser_tables___ParserTable___action_table_row874};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(873)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(946)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(873)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(948)) /*AbstractArray::add*/;
   goto return_label875;
   return_label875: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row875(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row875, 10207};
+val_t parser_tables___ParserTable___action_table_row875(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10233, LOCATE_parser_tables___ParserTable___action_table_row875};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(92)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(947)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label876;
   return_label876: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row876(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row876, 10215};
+val_t parser_tables___ParserTable___action_table_row876(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10241, LOCATE_parser_tables___ParserTable___action_table_row876};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(875)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(949)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(875)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label877;
   return_label877: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row877(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row877, 10222};
+val_t parser_tables___ParserTable___action_table_row877(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10248, LOCATE_parser_tables___ParserTable___action_table_row877};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(950)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(951)) /*AbstractArray::add*/;
   goto return_label878;
   return_label878: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row878(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row878, 10230};
+val_t parser_tables___ParserTable___action_table_row878(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10256, LOCATE_parser_tables___ParserTable___action_table_row878};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(952)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(211)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(411)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
   goto return_label879;
   return_label879: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row879(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row879, 10239};
+val_t parser_tables___ParserTable___action_table_row879(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10264, LOCATE_parser_tables___ParserTable___action_table_row879};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(182)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label880;
   return_label880: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row880(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row880, 10245};
+val_t parser_tables___ParserTable___action_table_row880(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10272, LOCATE_parser_tables___ParserTable___action_table_row880};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label881;
   return_label881: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row881(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row881, 10253};
+val_t parser_tables___ParserTable___action_table_row881(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10281, LOCATE_parser_tables___ParserTable___action_table_row881};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(955)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(880)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(956)) /*AbstractArray::add*/;
   goto return_label882;
   return_label882: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row882(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row882, 10260};
+val_t parser_tables___ParserTable___action_table_row882(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10288, LOCATE_parser_tables___ParserTable___action_table_row882};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(881)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(957)) /*AbstractArray::add*/;
   goto return_label883;
   return_label883: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row883(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row883, 10268};
+val_t parser_tables___ParserTable___action_table_row883(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10295, LOCATE_parser_tables___ParserTable___action_table_row883};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(882)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(957)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(882)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(958)) /*AbstractArray::add*/;
   goto return_label884;
   return_label884: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row884(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row884, 10275};
+val_t parser_tables___ParserTable___action_table_row884(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10302, LOCATE_parser_tables___ParserTable___action_table_row884};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(883)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(959)) /*AbstractArray::add*/;
   goto return_label885;
   return_label885: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row885(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row885, 10281};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(958)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row885(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10309, LOCATE_parser_tables___ParserTable___action_table_row885};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(92)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(960)) /*AbstractArray::add*/;
   goto return_label886;
   return_label886: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row886(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row886, 10294};
+val_t parser_tables___ParserTable___action_table_row886(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10317, LOCATE_parser_tables___ParserTable___action_table_row886};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(885)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(962)) /*AbstractArray::add*/;
   goto return_label887;
   return_label887: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row887(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row887, 10302};
+val_t parser_tables___ParserTable___action_table_row887(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10324, LOCATE_parser_tables___ParserTable___action_table_row887};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(96)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(963)) /*AbstractArray::add*/;
   goto return_label888;
   return_label888: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row888(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row888, 10308};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(960)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row888(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10332, LOCATE_parser_tables___ParserTable___action_table_row888};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+  ((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(965)) /*AbstractArray::add*/;
   goto return_label889;
   return_label889: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row889(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row889, 10321};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(961)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row889(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10341, LOCATE_parser_tables___ParserTable___action_table_row889};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(182)) /*AbstractArray::add*/;
   goto return_label890;
   return_label890: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row890(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row890, 10334};
+val_t parser_tables___ParserTable___action_table_row890(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10347, LOCATE_parser_tables___ParserTable___action_table_row890};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label891;
   return_label891: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row891(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row891, 10342};
+val_t parser_tables___ParserTable___action_table_row891(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10355, LOCATE_parser_tables___ParserTable___action_table_row891};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(968)) /*AbstractArray::add*/;
   goto return_label892;
   return_label892: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row892(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row892, 10348};
+val_t parser_tables___ParserTable___action_table_row892(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10362, LOCATE_parser_tables___ParserTable___action_table_row892};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label893;
   return_label893: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row893(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row893, 10354};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(963)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row893(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10370, LOCATE_parser_tables___ParserTable___action_table_row893};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(892)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(970)) /*AbstractArray::add*/;
   goto return_label894;
   return_label894: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row894(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row894, 10367};
+val_t parser_tables___ParserTable___action_table_row894(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10377, LOCATE_parser_tables___ParserTable___action_table_row894};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(229)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(419)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(71)) /*AbstractArray::add*/;
   goto return_label895;
   return_label895: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row895(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row895, 10374};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(894)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(964)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row895(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10383, LOCATE_parser_tables___ParserTable___action_table_row895};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(971)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label896;
   return_label896: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row896(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row896, 10408};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(895)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(536)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(537)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(538)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(539)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(540)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(541)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(543)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(545)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(546)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(547)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row896(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10396, LOCATE_parser_tables___ParserTable___action_table_row896};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(895)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(972)) /*AbstractArray::add*/;
   goto return_label897;
   return_label897: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row897(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row897, 10445};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(896)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(612)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(537)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(538)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(539)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(541)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(543)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(545)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(546)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(547)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row897(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10403, LOCATE_parser_tables___ParserTable___action_table_row897};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label898;
   return_label898: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row898(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row898, 10481};
+val_t parser_tables___ParserTable___action_table_row898(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10411, LOCATE_parser_tables___ParserTable___action_table_row898};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(250)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(439)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(897)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(974)) /*AbstractArray::add*/;
   goto return_label899;
   return_label899: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row899(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row899, 10488};
+val_t parser_tables___ParserTable___action_table_row899(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10418, LOCATE_parser_tables___ParserTable___action_table_row899};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(246)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(435)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(69)) /*AbstractArray::add*/;
   goto return_label900;
   return_label900: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row900(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row900, 10495};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(272)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row900(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10424, LOCATE_parser_tables___ParserTable___action_table_row900};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(975)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label901;
   return_label901: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row901(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row901, 10501};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row901(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10437, LOCATE_parser_tables___ParserTable___action_table_row901};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(976)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label902;
   return_label902: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row902(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row902, 10509};
+val_t parser_tables___ParserTable___action_table_row902(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10450, LOCATE_parser_tables___ParserTable___action_table_row902};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(901)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(968)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label903;
   return_label903: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row903(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row903, 10516};
+val_t parser_tables___ParserTable___action_table_row903(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10458, LOCATE_parser_tables___ParserTable___action_table_row903};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(66)) /*AbstractArray::add*/;
   goto return_label904;
   return_label904: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row904(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row904, 10524};
+val_t parser_tables___ParserTable___action_table_row904(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10464, LOCATE_parser_tables___ParserTable___action_table_row904};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(398)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(73)) /*AbstractArray::add*/;
   goto return_label905;
   return_label905: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row905(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row905, 10530};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(374)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row905(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10470, LOCATE_parser_tables___ParserTable___action_table_row905};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(978)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label906;
   return_label906: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row906(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row906, 10536};
+val_t parser_tables___ParserTable___action_table_row906(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10483, LOCATE_parser_tables___ParserTable___action_table_row906};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(373)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(229)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(421)) /*AbstractArray::add*/;
   goto return_label907;
   return_label907: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row907(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row907, 10542};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(379)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row907(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10490, LOCATE_parser_tables___ParserTable___action_table_row907};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(87)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(906)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(979)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label908;
   return_label908: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row908(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row908, 10550};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(386)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row908(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10524, LOCATE_parser_tables___ParserTable___action_table_row908};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(96)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(907)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(540)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(541)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(542)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(543)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(544)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(545)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(546)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(547)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(548)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(549)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(550)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(551)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label909;
   return_label909: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row909(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row909, 10556};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(388)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(752)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(753)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(754)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row909(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10561, LOCATE_parser_tables___ParserTable___action_table_row909};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(908)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(618)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(541)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(542)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(543)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(545)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(546)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(547)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(548)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(549)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(550)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(551)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label910;
   return_label910: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row910(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row910, 10565};
+val_t parser_tables___ParserTable___action_table_row910(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10597, LOCATE_parser_tables___ParserTable___action_table_row910};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(389)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(752)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(753)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(754)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(250)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(441)) /*AbstractArray::add*/;
   goto return_label911;
   return_label911: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row911(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row911, 10574};
+val_t parser_tables___ParserTable___action_table_row911(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10604, LOCATE_parser_tables___ParserTable___action_table_row911};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(378)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(246)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(437)) /*AbstractArray::add*/;
   goto return_label912;
   return_label912: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row912(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row912, 10582};
+val_t parser_tables___ParserTable___action_table_row912(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10611, LOCATE_parser_tables___ParserTable___action_table_row912};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(380)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(272)) /*AbstractArray::add*/;
   goto return_label913;
   return_label913: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row913(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row913, 10590};
+val_t parser_tables___ParserTable___action_table_row913(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10617, LOCATE_parser_tables___ParserTable___action_table_row913};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(381)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label914;
   return_label914: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row914(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row914, 10598};
+val_t parser_tables___ParserTable___action_table_row914(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10625, LOCATE_parser_tables___ParserTable___action_table_row914};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(382)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(913)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+  ((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(983)) /*AbstractArray::add*/;
   goto return_label915;
   return_label915: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row915(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row915, 10606};
+val_t parser_tables___ParserTable___action_table_row915(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10632, LOCATE_parser_tables___ParserTable___action_table_row915};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(383)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label916;
   return_label916: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row916(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row916, 10614};
+val_t parser_tables___ParserTable___action_table_row916(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10640, LOCATE_parser_tables___ParserTable___action_table_row916};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(384)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(399)) /*AbstractArray::add*/;
   goto return_label917;
   return_label917: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row917(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row917, 10622};
+val_t parser_tables___ParserTable___action_table_row917(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10646, LOCATE_parser_tables___ParserTable___action_table_row917};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(385)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(743)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(744)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(375)) /*AbstractArray::add*/;
   goto return_label918;
   return_label918: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row918(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row918, 10630};
+val_t parser_tables___ParserTable___action_table_row918(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10652, LOCATE_parser_tables___ParserTable___action_table_row918};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(391)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(374)) /*AbstractArray::add*/;
   goto return_label919;
   return_label919: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row919(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row919, 10636};
+val_t parser_tables___ParserTable___action_table_row919(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10658, LOCATE_parser_tables___ParserTable___action_table_row919};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(392)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(380)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label920;
   return_label920: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row920(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row920, 10642};
+val_t parser_tables___ParserTable___action_table_row920(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10666, LOCATE_parser_tables___ParserTable___action_table_row920};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(393)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(387)) /*AbstractArray::add*/;
   goto return_label921;
   return_label921: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row921(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row921, 10648};
+val_t parser_tables___ParserTable___action_table_row921(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10672, LOCATE_parser_tables___ParserTable___action_table_row921};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(389)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(760)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(761)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(762)) /*AbstractArray::add*/;
   goto return_label922;
   return_label922: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row922(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row922, 10655};
+val_t parser_tables___ParserTable___action_table_row922(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10681, LOCATE_parser_tables___ParserTable___action_table_row922};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(390)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+  ((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(760)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+  ((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(761)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+  ((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(762)) /*AbstractArray::add*/;
   goto return_label923;
   return_label923: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row923(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row923, 10662};
+val_t parser_tables___ParserTable___action_table_row923(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10690, LOCATE_parser_tables___ParserTable___action_table_row923};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(399)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(379)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label924;
   return_label924: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row924(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row924, 10668};
+val_t parser_tables___ParserTable___action_table_row924(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10698, LOCATE_parser_tables___ParserTable___action_table_row924};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(85)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(381)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label925;
   return_label925: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row925(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row925, 10674};
+val_t parser_tables___ParserTable___action_table_row925(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10706, LOCATE_parser_tables___ParserTable___action_table_row925};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(382)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label926;
   return_label926: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row926(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row926, 10680};
+val_t parser_tables___ParserTable___action_table_row926(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10714, LOCATE_parser_tables___ParserTable___action_table_row926};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(383)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label927;
   return_label927: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row927(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row927, 10686};
+val_t parser_tables___ParserTable___action_table_row927(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10722, LOCATE_parser_tables___ParserTable___action_table_row927};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(384)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label928;
   return_label928: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row928(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row928, 10692};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(972)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row928(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10730, LOCATE_parser_tables___ParserTable___action_table_row928};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(385)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label929;
   return_label929: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row929(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row929, 10705};
+val_t parser_tables___ParserTable___action_table_row929(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10738, LOCATE_parser_tables___ParserTable___action_table_row929};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(386)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+  ((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(751)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(752)) /*AbstractArray::add*/;
   goto return_label930;
   return_label930: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row930(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row930, 10714};
+val_t parser_tables___ParserTable___action_table_row930(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10746, LOCATE_parser_tables___ParserTable___action_table_row930};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(929)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(974)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(392)) /*AbstractArray::add*/;
   goto return_label931;
   return_label931: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row931(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row931, 10721};
+val_t parser_tables___ParserTable___action_table_row931(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10752, LOCATE_parser_tables___ParserTable___action_table_row931};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(930)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(975)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(393)) /*AbstractArray::add*/;
   goto return_label932;
   return_label932: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row932(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row932, 10728};
+val_t parser_tables___ParserTable___action_table_row932(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10758, LOCATE_parser_tables___ParserTable___action_table_row932};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(931)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(976)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(394)) /*AbstractArray::add*/;
   goto return_label933;
   return_label933: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row933(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row933, 10735};
+val_t parser_tables___ParserTable___action_table_row933(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10764, LOCATE_parser_tables___ParserTable___action_table_row933};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(932)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(977)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label934;
   return_label934: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row934(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row934, 10742};
+val_t parser_tables___ParserTable___action_table_row934(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10771, LOCATE_parser_tables___ParserTable___action_table_row934};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(95)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(978)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label935;
   return_label935: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row935(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row935, 10750};
+val_t parser_tables___ParserTable___action_table_row935(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10779, LOCATE_parser_tables___ParserTable___action_table_row935};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(934)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(980)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label936;
   return_label936: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row936(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row936, 10757};
+val_t parser_tables___ParserTable___action_table_row936(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10786, LOCATE_parser_tables___ParserTable___action_table_row936};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(981)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(400)) /*AbstractArray::add*/;
   goto return_label937;
   return_label937: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row937(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row937, 10765};
+val_t parser_tables___ParserTable___action_table_row937(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10792, LOCATE_parser_tables___ParserTable___action_table_row937};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(983)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(85)) /*AbstractArray::add*/;
   goto return_label938;
   return_label938: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row938(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row938, 10774};
+val_t parser_tables___ParserTable___action_table_row938(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10798, LOCATE_parser_tables___ParserTable___action_table_row938};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(183)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(84)) /*AbstractArray::add*/;
   goto return_label939;
   return_label939: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row939(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row939, 10780};
+val_t parser_tables___ParserTable___action_table_row939(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10804, LOCATE_parser_tables___ParserTable___action_table_row939};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(68)) /*AbstractArray::add*/;
   goto return_label940;
   return_label940: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row940(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row940, 10788};
+val_t parser_tables___ParserTable___action_table_row940(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10810, LOCATE_parser_tables___ParserTable___action_table_row940};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(986)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(75)) /*AbstractArray::add*/;
   goto return_label941;
   return_label941: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row941(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row941, 10795};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row941(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10816, LOCATE_parser_tables___ParserTable___action_table_row941};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(988)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label942;
   return_label942: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row942(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row942, 10803};
+val_t parser_tables___ParserTable___action_table_row942(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10829, LOCATE_parser_tables___ParserTable___action_table_row942};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(941)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(988)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label943;
   return_label943: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row943(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row943, 10810};
+val_t parser_tables___ParserTable___action_table_row943(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10838, LOCATE_parser_tables___ParserTable___action_table_row943};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(942)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(989)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(942)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(990)) /*AbstractArray::add*/;
   goto return_label944;
   return_label944: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row944(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row944, 10817};
+val_t parser_tables___ParserTable___action_table_row944(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10845, LOCATE_parser_tables___ParserTable___action_table_row944};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(943)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(990)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(943)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(991)) /*AbstractArray::add*/;
   goto return_label945;
   return_label945: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row945(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row945, 10824};
+val_t parser_tables___ParserTable___action_table_row945(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10852, LOCATE_parser_tables___ParserTable___action_table_row945};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(991)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(944)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(992)) /*AbstractArray::add*/;
   goto return_label946;
   return_label946: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row946(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row946, 10832};
+val_t parser_tables___ParserTable___action_table_row946(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10859, LOCATE_parser_tables___ParserTable___action_table_row946};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(945)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(993)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(945)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(993)) /*AbstractArray::add*/;
   goto return_label947;
   return_label947: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row947(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row947, 10839};
+val_t parser_tables___ParserTable___action_table_row947(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10866, LOCATE_parser_tables___ParserTable___action_table_row947};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(994)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(95)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(994)) /*AbstractArray::add*/;
   goto return_label948;
   return_label948: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row948(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row948, 10847};
+val_t parser_tables___ParserTable___action_table_row948(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10874, LOCATE_parser_tables___ParserTable___action_table_row948};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(947)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(996)) /*AbstractArray::add*/;
   goto return_label949;
   return_label949: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row949(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row949, 10855};
+val_t parser_tables___ParserTable___action_table_row949(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10881, LOCATE_parser_tables___ParserTable___action_table_row949};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(997)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(97)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(997)) /*AbstractArray::add*/;
   goto return_label950;
   return_label950: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row950(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row950, 10862};
+val_t parser_tables___ParserTable___action_table_row950(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10889, LOCATE_parser_tables___ParserTable___action_table_row950};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(998)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+  ((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(999)) /*AbstractArray::add*/;
   goto return_label951;
   return_label951: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row951(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row951, 10870};
+val_t parser_tables___ParserTable___action_table_row951(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10898, LOCATE_parser_tables___ParserTable___action_table_row951};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(183)) /*AbstractArray::add*/;
   goto return_label952;
   return_label952: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row952(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row952, 10878};
+val_t parser_tables___ParserTable___action_table_row952(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10904, LOCATE_parser_tables___ParserTable___action_table_row952};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1001)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label953;
   return_label953: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row953(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row953, 10885};
+val_t parser_tables___ParserTable___action_table_row953(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10912, LOCATE_parser_tables___ParserTable___action_table_row953};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(952)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1002)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1003)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1004)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(125)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1002)) /*AbstractArray::add*/;
   goto return_label954;
   return_label954: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row954(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row954, 10894};
+val_t parser_tables___ParserTable___action_table_row954(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10919, LOCATE_parser_tables___ParserTable___action_table_row954};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(953)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1005)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label955;
   return_label955: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row955(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row955, 10901};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(954)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row955(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10927, LOCATE_parser_tables___ParserTable___action_table_row955};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(954)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(1004)) /*AbstractArray::add*/;
   goto return_label956;
   return_label956: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row956(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row956, 10928};
+val_t parser_tables___ParserTable___action_table_row956(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10934, LOCATE_parser_tables___ParserTable___action_table_row956};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(955)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(1005)) /*AbstractArray::add*/;
   goto return_label957;
   return_label957: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row957(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row957, 10936};
+val_t parser_tables___ParserTable___action_table_row957(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10941, LOCATE_parser_tables___ParserTable___action_table_row957};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(956)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1008)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(956)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(1006)) /*AbstractArray::add*/;
   goto return_label958;
   return_label958: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row958(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row958, 10943};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(957)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row958(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10948, LOCATE_parser_tables___ParserTable___action_table_row958};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1007)) /*AbstractArray::add*/;
   goto return_label959;
   return_label959: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row959(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row959, 10979};
+val_t parser_tables___ParserTable___action_table_row959(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10956, LOCATE_parser_tables___ParserTable___action_table_row959};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(958)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(1009)) /*AbstractArray::add*/;
   goto return_label960;
   return_label960: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row960(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row960, 10985};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(959)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row960(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10963, LOCATE_parser_tables___ParserTable___action_table_row960};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(90)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1010)) /*AbstractArray::add*/;
   goto return_label961;
   return_label961: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row961(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row961, 11010};
+val_t parser_tables___ParserTable___action_table_row961(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10971, LOCATE_parser_tables___ParserTable___action_table_row961};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label962;
   return_label962: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row962(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row962, 11016};
+val_t parser_tables___ParserTable___action_table_row962(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10979, LOCATE_parser_tables___ParserTable___action_table_row962};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1013)) /*AbstractArray::add*/;
   goto return_label963;
   return_label963: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row963(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row963, 11022};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(191)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1011)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(585)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(586)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(587)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row963(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10986, LOCATE_parser_tables___ParserTable___action_table_row963};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1014)) /*AbstractArray::add*/;
   goto return_label964;
   return_label964: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row964(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row964, 11035};
+val_t parser_tables___ParserTable___action_table_row964(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 10994, LOCATE_parser_tables___ParserTable___action_table_row964};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label965;
   return_label965: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row965(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row965, 11041};
+val_t parser_tables___ParserTable___action_table_row965(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11002, LOCATE_parser_tables___ParserTable___action_table_row965};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(230)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(420)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1017)) /*AbstractArray::add*/;
   goto return_label966;
   return_label966: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row966(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row966, 11048};
+val_t parser_tables___ParserTable___action_table_row966(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11009, LOCATE_parser_tables___ParserTable___action_table_row966};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(965)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1012)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(965)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+  ((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(1018)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+  ((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(1019)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+  ((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(1020)) /*AbstractArray::add*/;
   goto return_label967;
   return_label967: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row967(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row967, 11055};
+val_t parser_tables___ParserTable___action_table_row967(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11018, LOCATE_parser_tables___ParserTable___action_table_row967};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(443)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(966)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(1021)) /*AbstractArray::add*/;
   goto return_label968;
   return_label968: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row968(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row968, 11061};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(967)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row968(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11025, LOCATE_parser_tables___ParserTable___action_table_row968};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(967)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label969;
   return_label969: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row969(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row969, 11088};
+val_t parser_tables___ParserTable___action_table_row969(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11052, LOCATE_parser_tables___ParserTable___action_table_row969};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label970;
   return_label970: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row970(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row970, 11096};
+val_t parser_tables___ParserTable___action_table_row970(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11060, LOCATE_parser_tables___ParserTable___action_table_row970};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(969)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1015)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(969)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(1024)) /*AbstractArray::add*/;
   goto return_label971;
   return_label971: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row971(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row971, 11103};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(405)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row971(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11067, LOCATE_parser_tables___ParserTable___action_table_row971};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(970)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label972;
   return_label972: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row972(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row972, 11109};
+val_t parser_tables___ParserTable___action_table_row972(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11103, LOCATE_parser_tables___ParserTable___action_table_row972};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(401)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(72)) /*AbstractArray::add*/;
   goto return_label973;
   return_label973: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row973(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row973, 11115};
+val_t parser_tables___ParserTable___action_table_row973(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11109, LOCATE_parser_tables___ParserTable___action_table_row973};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(335)) /*AbstractArray::add*/;
   goto return_label974;
   return_label974: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row974(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row974, 11121};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(973)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1016)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row974(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11115, LOCATE_parser_tables___ParserTable___action_table_row974};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(60)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(973)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(101)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(105)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(116)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label975;
   return_label975: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row975(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row975, 11128};
+val_t parser_tables___ParserTable___action_table_row975(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11140, LOCATE_parser_tables___ParserTable___action_table_row975};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(974)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1017)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(496)) /*AbstractArray::add*/;
   goto return_label976;
   return_label976: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row976(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row976, 11135};
+val_t parser_tables___ParserTable___action_table_row976(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11146, LOCATE_parser_tables___ParserTable___action_table_row976};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1018)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(70)) /*AbstractArray::add*/;
   goto return_label977;
   return_label977: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row977(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row977, 11143};
+val_t parser_tables___ParserTable___action_table_row977(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11152, LOCATE_parser_tables___ParserTable___action_table_row977};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(976)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1020)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(77)) /*AbstractArray::add*/;
   goto return_label978;
   return_label978: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row978(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row978, 11150};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(93)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1021)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row978(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11158, LOCATE_parser_tables___ParserTable___action_table_row978};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(191)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(1027)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+  ((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(589)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+  ((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(590)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+  ((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(591)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+  ((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(30)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+  ((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(31)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+  ((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(32)) /*AbstractArray::add*/;
   goto return_label979;
   return_label979: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row979(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row979, 11158};
+val_t parser_tables___ParserTable___action_table_row979(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11171, LOCATE_parser_tables___ParserTable___action_table_row979};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(74)) /*AbstractArray::add*/;
   goto return_label980;
   return_label980: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row980(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row980, 11166};
+val_t parser_tables___ParserTable___action_table_row980(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11177, LOCATE_parser_tables___ParserTable___action_table_row980};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1024)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(230)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*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(422)) /*AbstractArray::add*/;
   goto return_label981;
   return_label981: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row981(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row981, 11173};
+val_t parser_tables___ParserTable___action_table_row981(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11184, LOCATE_parser_tables___ParserTable___action_table_row981};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1025)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(980)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(1028)) /*AbstractArray::add*/;
   goto return_label982;
   return_label982: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row982(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row982, 11181};
+val_t parser_tables___ParserTable___action_table_row982(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11191, LOCATE_parser_tables___ParserTable___action_table_row982};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(445)) /*AbstractArray::add*/;
   goto return_label983;
   return_label983: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row983(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row983, 11189};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1028)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row983(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11197, LOCATE_parser_tables___ParserTable___action_table_row983};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(982)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label984;
   return_label984: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row984(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row984, 11196};
+val_t parser_tables___ParserTable___action_table_row984(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11224, LOCATE_parser_tables___ParserTable___action_table_row984};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(983)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1029)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1030)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1031)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label985;
   return_label985: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row985(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row985, 11205};
+val_t parser_tables___ParserTable___action_table_row985(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11232, LOCATE_parser_tables___ParserTable___action_table_row985};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(984)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1032)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(984)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(1031)) /*AbstractArray::add*/;
   goto return_label986;
   return_label986: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row986(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row986, 11212};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(985)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row986(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11239, LOCATE_parser_tables___ParserTable___action_table_row986};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(406)) /*AbstractArray::add*/;
   goto return_label987;
   return_label987: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row987(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row987, 11239};
+val_t parser_tables___ParserTable___action_table_row987(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11245, LOCATE_parser_tables___ParserTable___action_table_row987};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(986)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(1032)) /*AbstractArray::add*/;
   goto return_label988;
   return_label988: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row988(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row988, 11247};
+val_t parser_tables___ParserTable___action_table_row988(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11252, LOCATE_parser_tables___ParserTable___action_table_row988};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(987)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1035)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(402)) /*AbstractArray::add*/;
   goto return_label989;
   return_label989: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row989(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row989, 11254};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(988)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row989(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11258, LOCATE_parser_tables___ParserTable___action_table_row989};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(76)) /*AbstractArray::add*/;
   goto return_label990;
   return_label990: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row990(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row990, 11290};
+val_t parser_tables___ParserTable___action_table_row990(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11264, LOCATE_parser_tables___ParserTable___action_table_row990};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(989)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1037)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(989)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+  ((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(1033)) /*AbstractArray::add*/;
   goto return_label991;
   return_label991: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row991(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row991, 11297};
+val_t parser_tables___ParserTable___action_table_row991(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11271, LOCATE_parser_tables___ParserTable___action_table_row991};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1038)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(990)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(1034)) /*AbstractArray::add*/;
   goto return_label992;
   return_label992: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row992(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row992, 11305};
+val_t parser_tables___ParserTable___action_table_row992(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11278, LOCATE_parser_tables___ParserTable___action_table_row992};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1035)) /*AbstractArray::add*/;
   goto return_label993;
   return_label993: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row993(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row993, 11313};
+val_t parser_tables___ParserTable___action_table_row993(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11286, LOCATE_parser_tables___ParserTable___action_table_row993};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(119)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1041)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(992)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(1037)) /*AbstractArray::add*/;
   goto return_label994;
   return_label994: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row994(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row994, 11320};
+val_t parser_tables___ParserTable___action_table_row994(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11293, LOCATE_parser_tables___ParserTable___action_table_row994};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1042)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(93)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1038)) /*AbstractArray::add*/;
   goto return_label995;
   return_label995: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row995(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row995, 11328};
+val_t parser_tables___ParserTable___action_table_row995(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11301, LOCATE_parser_tables___ParserTable___action_table_row995};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label996;
   return_label996: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row996(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row996, 11336};
+val_t parser_tables___ParserTable___action_table_row996(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11309, LOCATE_parser_tables___ParserTable___action_table_row996};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1045)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(113)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1041)) /*AbstractArray::add*/;
   goto return_label997;
   return_label997: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row997(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row997, 11343};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(996)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row997(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11316, LOCATE_parser_tables___ParserTable___action_table_row997};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(106)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1042)) /*AbstractArray::add*/;
   goto return_label998;
   return_label998: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row998(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row998, 11370};
+val_t parser_tables___ParserTable___action_table_row998(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11324, LOCATE_parser_tables___ParserTable___action_table_row998};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label999;
   return_label999: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row999(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row999, 11378};
+val_t parser_tables___ParserTable___action_table_row999(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11332, LOCATE_parser_tables___ParserTable___action_table_row999};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(115)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1045)) /*AbstractArray::add*/;
   goto return_label1000;
   return_label1000: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1000(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1000, 11386};
+val_t parser_tables___ParserTable___action_table_row1000(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11339, LOCATE_parser_tables___ParserTable___action_table_row1000};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1049)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(999)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+  ((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(1046)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+  ((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(1047)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+  ((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(1048)) /*AbstractArray::add*/;
   goto return_label1001;
   return_label1001: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1001(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1001, 11393};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1000)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1001(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11348, LOCATE_parser_tables___ParserTable___action_table_row1001};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1000)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(1049)) /*AbstractArray::add*/;
   goto return_label1002;
   return_label1002: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1002(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1002, 11420};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1002(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11355, LOCATE_parser_tables___ParserTable___action_table_row1002};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1001)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1003;
   return_label1003: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1003(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1003, 11428};
+val_t parser_tables___ParserTable___action_table_row1003(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11382, LOCATE_parser_tables___ParserTable___action_table_row1003};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(162)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1004;
   return_label1004: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1004(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1004, 11434};
+val_t parser_tables___ParserTable___action_table_row1004(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11390, LOCATE_parser_tables___ParserTable___action_table_row1004};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(164)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1003)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(1052)) /*AbstractArray::add*/;
   goto return_label1005;
   return_label1005: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1005(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1005, 11440};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(166)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1052)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1005(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11397, LOCATE_parser_tables___ParserTable___action_table_row1005};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1004)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1006;
   return_label1006: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1006(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1006, 11447};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1005)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1006(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11433, LOCATE_parser_tables___ParserTable___action_table_row1006};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1005)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(1054)) /*AbstractArray::add*/;
   goto return_label1007;
   return_label1007: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1007(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1007, 11483};
+val_t parser_tables___ParserTable___action_table_row1007(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11440, LOCATE_parser_tables___ParserTable___action_table_row1007};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(91)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1055)) /*AbstractArray::add*/;
   goto return_label1008;
   return_label1008: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1008(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1008, 11489};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1007)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1008(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11448, LOCATE_parser_tables___ParserTable___action_table_row1008};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1009;
   return_label1009: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1009(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1009, 11516};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1008)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1009(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11456, LOCATE_parser_tables___ParserTable___action_table_row1009};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(119)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1058)) /*AbstractArray::add*/;
   goto return_label1010;
   return_label1010: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1010(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1010, 11552};
+val_t parser_tables___ParserTable___action_table_row1010(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11463, LOCATE_parser_tables___ParserTable___action_table_row1010};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(174)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1056)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(99)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1059)) /*AbstractArray::add*/;
   goto return_label1011;
   return_label1011: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1011(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1011, 11559};
+val_t parser_tables___ParserTable___action_table_row1011(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11471, LOCATE_parser_tables___ParserTable___action_table_row1011};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(448)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1012;
   return_label1012: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1012(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1012, 11565};
+val_t parser_tables___ParserTable___action_table_row1012(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11479, LOCATE_parser_tables___ParserTable___action_table_row1012};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(108)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1062)) /*AbstractArray::add*/;
   goto return_label1013;
   return_label1013: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1013(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1013, 11571};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1012)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(612)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(537)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(538)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(539)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(541)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(542)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(543)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(544)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(545)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(546)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(547)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1013(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11486, LOCATE_parser_tables___ParserTable___action_table_row1013};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1012)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1014;
   return_label1014: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1014(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1014, 11607};
+val_t parser_tables___ParserTable___action_table_row1014(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11513, LOCATE_parser_tables___ParserTable___action_table_row1014};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(284)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1015;
   return_label1015: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1015(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1015, 11613};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1014)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1015(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11521, LOCATE_parser_tables___ParserTable___action_table_row1015};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1016;
   return_label1016: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1016(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1016, 11640};
+val_t parser_tables___ParserTable___action_table_row1016(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11529, LOCATE_parser_tables___ParserTable___action_table_row1016};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(345)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(223)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(123)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1066)) /*AbstractArray::add*/;
   goto return_label1017;
   return_label1017: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1017(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1017, 11647};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1016)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1060)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1017(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11536, LOCATE_parser_tables___ParserTable___action_table_row1017};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1016)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1018;
   return_label1018: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1018(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1018, 11654};
+val_t parser_tables___ParserTable___action_table_row1018(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11563, LOCATE_parser_tables___ParserTable___action_table_row1018};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(94)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1061)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1019;
   return_label1019: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1019(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1019, 11662};
+val_t parser_tables___ParserTable___action_table_row1019(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11571, LOCATE_parser_tables___ParserTable___action_table_row1019};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(162)) /*AbstractArray::add*/;
   goto return_label1020;
   return_label1020: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1020(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1020, 11670};
+val_t parser_tables___ParserTable___action_table_row1020(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11577, LOCATE_parser_tables___ParserTable___action_table_row1020};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1064)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(164)) /*AbstractArray::add*/;
   goto return_label1021;
   return_label1021: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1021(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1021, 11677};
+val_t parser_tables___ParserTable___action_table_row1021(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11583, LOCATE_parser_tables___ParserTable___action_table_row1021};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1065)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(166)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(1069)) /*AbstractArray::add*/;
   goto return_label1022;
   return_label1022: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1022(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1022, 11685};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1022(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11590, LOCATE_parser_tables___ParserTable___action_table_row1022};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1021)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1023;
   return_label1023: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1023(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1023, 11693};
+val_t parser_tables___ParserTable___action_table_row1023(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11626, LOCATE_parser_tables___ParserTable___action_table_row1023};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1068)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(134)) /*AbstractArray::add*/;
   goto return_label1024;
   return_label1024: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1024(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1024, 11700};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1023)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1024(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11632, LOCATE_parser_tables___ParserTable___action_table_row1024};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1023)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1025;
   return_label1025: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1025(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1025, 11727};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1025(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11659, LOCATE_parser_tables___ParserTable___action_table_row1025};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1024)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1026;
   return_label1026: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1026(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1026, 11735};
+val_t parser_tables___ParserTable___action_table_row1026(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11695, LOCATE_parser_tables___ParserTable___action_table_row1026};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(174)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(1073)) /*AbstractArray::add*/;
   goto return_label1027;
   return_label1027: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1027(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1027, 11743};
+val_t parser_tables___ParserTable___action_table_row1027(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11702, LOCATE_parser_tables___ParserTable___action_table_row1027};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(124)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1072)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(450)) /*AbstractArray::add*/;
   goto return_label1028;
   return_label1028: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1028(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1028, 11750};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1027)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1028(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11708, LOCATE_parser_tables___ParserTable___action_table_row1028};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(78)) /*AbstractArray::add*/;
   goto return_label1029;
   return_label1029: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1029(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1029, 11777};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1029(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11714, LOCATE_parser_tables___ParserTable___action_table_row1029};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1028)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(618)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(541)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(542)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(543)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(545)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(546)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(547)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(548)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(549)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(550)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(551)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1030;
   return_label1030: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1030(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1030, 11785};
+val_t parser_tables___ParserTable___action_table_row1030(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11750, LOCATE_parser_tables___ParserTable___action_table_row1030};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(284)) /*AbstractArray::add*/;
   goto return_label1031;
   return_label1031: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1031(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1031, 11791};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(165)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1031(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11756, LOCATE_parser_tables___ParserTable___action_table_row1031};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1030)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1032;
   return_label1032: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1032(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1032, 11797};
+val_t parser_tables___ParserTable___action_table_row1032(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11783, LOCATE_parser_tables___ParserTable___action_table_row1032};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(167)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1075)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(346)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(223)) /*AbstractArray::add*/;
   goto return_label1033;
   return_label1033: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1033(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1033, 11804};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1032)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1033(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11790, LOCATE_parser_tables___ParserTable___action_table_row1033};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1034;
   return_label1034: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1034(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1034, 11840};
+val_t parser_tables___ParserTable___action_table_row1034(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11798, LOCATE_parser_tables___ParserTable___action_table_row1034};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1033)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(1078)) /*AbstractArray::add*/;
   goto return_label1035;
   return_label1035: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1035(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1035, 11846};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1034)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1035(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11805, LOCATE_parser_tables___ParserTable___action_table_row1035};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(94)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1079)) /*AbstractArray::add*/;
   goto return_label1036;
   return_label1036: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1036(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1036, 11873};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1035)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1036(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11813, LOCATE_parser_tables___ParserTable___action_table_row1036};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1037;
   return_label1037: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1037(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1037, 11909};
+val_t parser_tables___ParserTable___action_table_row1037(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11821, LOCATE_parser_tables___ParserTable___action_table_row1037};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(175)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1079)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(122)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1082)) /*AbstractArray::add*/;
   goto return_label1038;
   return_label1038: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1038(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1038, 11916};
+val_t parser_tables___ParserTable___action_table_row1038(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11828, LOCATE_parser_tables___ParserTable___action_table_row1038};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(100)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1080)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(102)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1083)) /*AbstractArray::add*/;
   goto return_label1039;
   return_label1039: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1039(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1039, 11924};
+val_t parser_tables___ParserTable___action_table_row1039(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11836, LOCATE_parser_tables___ParserTable___action_table_row1039};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1040;
   return_label1040: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1040(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1040, 11932};
+val_t parser_tables___ParserTable___action_table_row1040(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11844, LOCATE_parser_tables___ParserTable___action_table_row1040};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1083)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(111)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1086)) /*AbstractArray::add*/;
   goto return_label1041;
   return_label1041: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1041(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1041, 11939};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1040)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1041(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11851, LOCATE_parser_tables___ParserTable___action_table_row1041};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1040)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1042;
   return_label1042: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1042(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1042, 11966};
+val_t parser_tables___ParserTable___action_table_row1042(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11878, LOCATE_parser_tables___ParserTable___action_table_row1042};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1043;
   return_label1043: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1043(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1043, 11974};
+val_t parser_tables___ParserTable___action_table_row1043(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11886, LOCATE_parser_tables___ParserTable___action_table_row1043};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1044;
   return_label1044: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1044(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1044, 11982};
+val_t parser_tables___ParserTable___action_table_row1044(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11894, LOCATE_parser_tables___ParserTable___action_table_row1044};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1087)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(124)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1090)) /*AbstractArray::add*/;
   goto return_label1045;
   return_label1045: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1045(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1045, 11989};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1044)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1045(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11901, LOCATE_parser_tables___ParserTable___action_table_row1045};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1044)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1046;
   return_label1046: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1046(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1046, 12016};
+val_t parser_tables___ParserTable___action_table_row1046(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11928, LOCATE_parser_tables___ParserTable___action_table_row1046};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1047;
   return_label1047: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1047(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1047, 12024};
+val_t parser_tables___ParserTable___action_table_row1047(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11936, LOCATE_parser_tables___ParserTable___action_table_row1047};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(163)) /*AbstractArray::add*/;
   goto return_label1048;
   return_label1048: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1048(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1048, 12030};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1047)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1048(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11942, LOCATE_parser_tables___ParserTable___action_table_row1048};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(165)) /*AbstractArray::add*/;
   goto return_label1049;
   return_label1049: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1049(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1049, 12057};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1048)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1049(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11948, LOCATE_parser_tables___ParserTable___action_table_row1049};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(167)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(1093)) /*AbstractArray::add*/;
   goto return_label1050;
   return_label1050: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1050(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1050, 12084};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1050(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11955, LOCATE_parser_tables___ParserTable___action_table_row1050};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1049)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1051;
   return_label1051: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1051(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1051, 12092};
+val_t parser_tables___ParserTable___action_table_row1051(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11991, LOCATE_parser_tables___ParserTable___action_table_row1051};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(143)) /*AbstractArray::add*/;
   goto return_label1052;
   return_label1052: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1052(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1052, 12098};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1051)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1052(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 11997, LOCATE_parser_tables___ParserTable___action_table_row1052};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1051)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1053;
   return_label1053: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1053(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1053, 12125};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(168)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1053(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12024, LOCATE_parser_tables___ParserTable___action_table_row1053};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(93)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1052)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(133)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(26)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+  ((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(28)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+  ((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(29)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(33)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+  ((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(34)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+  ((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(35)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*AbstractArray::add*/;
+  ((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(36)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+  ((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(37)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+  ((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(38)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+  ((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(39)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+  ((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(40)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(41)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(42)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(50)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(51)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1054;
   return_label1054: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1054(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1054, 12131};
+val_t parser_tables___ParserTable___action_table_row1054(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12060, LOCATE_parser_tables___ParserTable___action_table_row1054};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(170)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1094)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(175)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(1097)) /*AbstractArray::add*/;
   goto return_label1055;
   return_label1055: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1055(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1055, 12138};
+val_t parser_tables___ParserTable___action_table_row1055(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12067, LOCATE_parser_tables___ParserTable___action_table_row1055};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(100)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1098)) /*AbstractArray::add*/;
   goto return_label1056;
   return_label1056: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1056(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1056, 12144};
+val_t parser_tables___ParserTable___action_table_row1056(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12075, LOCATE_parser_tables___ParserTable___action_table_row1056};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(176)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1095)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1057;
   return_label1057: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1057(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1057, 12151};
+val_t parser_tables___ParserTable___action_table_row1057(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12083, LOCATE_parser_tables___ParserTable___action_table_row1057};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(178)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(109)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1101)) /*AbstractArray::add*/;
   goto return_label1058;
   return_label1058: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1058(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1058, 12157};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(442)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1058(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12090, LOCATE_parser_tables___ParserTable___action_table_row1058};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1057)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1059;
   return_label1059: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1059(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1059, 12163};
+val_t parser_tables___ParserTable___action_table_row1059(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12117, LOCATE_parser_tables___ParserTable___action_table_row1059};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1060;
   return_label1060: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1060(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1060, 12171};
+val_t parser_tables___ParserTable___action_table_row1060(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12125, LOCATE_parser_tables___ParserTable___action_table_row1060};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(407)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1061;
   return_label1061: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1061(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1061, 12177};
+val_t parser_tables___ParserTable___action_table_row1061(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12133, LOCATE_parser_tables___ParserTable___action_table_row1061};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(255)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1097)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(117)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1105)) /*AbstractArray::add*/;
   goto return_label1062;
   return_label1062: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1062(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1062, 12185};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1062(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12140, LOCATE_parser_tables___ParserTable___action_table_row1062};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1061)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1063;
   return_label1063: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1063(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1063, 12193};
+val_t parser_tables___ParserTable___action_table_row1063(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12167, LOCATE_parser_tables___ParserTable___action_table_row1063};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1100)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1064;
   return_label1064: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1064(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1064, 12200};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1063)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1064(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12175, LOCATE_parser_tables___ParserTable___action_table_row1064};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(128)) /*AbstractArray::add*/;
   goto return_label1065;
   return_label1065: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1065(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1065, 12227};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1065(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12181, LOCATE_parser_tables___ParserTable___action_table_row1065};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1064)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1066;
   return_label1066: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1066(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1066, 12235};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1066(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12208, LOCATE_parser_tables___ParserTable___action_table_row1066};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1065)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1067;
   return_label1067: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1067(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1067, 12243};
+val_t parser_tables___ParserTable___action_table_row1067(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12235, LOCATE_parser_tables___ParserTable___action_table_row1067};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1104)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1068;
   return_label1068: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1068(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1068, 12250};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1067)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1068(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12243, LOCATE_parser_tables___ParserTable___action_table_row1068};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(132)) /*AbstractArray::add*/;
   goto return_label1069;
   return_label1069: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1069(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1069, 12277};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1069(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12249, LOCATE_parser_tables___ParserTable___action_table_row1069};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1068)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1070;
   return_label1070: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1070(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1070, 12285};
+val_t parser_tables___ParserTable___action_table_row1070(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12276, LOCATE_parser_tables___ParserTable___action_table_row1070};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(168)) /*AbstractArray::add*/;
   goto return_label1071;
   return_label1071: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1071(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1071, 12291};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1070)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1071(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12282, LOCATE_parser_tables___ParserTable___action_table_row1071};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(170)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(1112)) /*AbstractArray::add*/;
   goto return_label1072;
   return_label1072: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1072(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1072, 12318};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1071)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1072(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12289, LOCATE_parser_tables___ParserTable___action_table_row1072};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(152)) /*AbstractArray::add*/;
   goto return_label1073;
   return_label1073: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1073(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1073, 12345};
+val_t parser_tables___ParserTable___action_table_row1073(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12295, LOCATE_parser_tables___ParserTable___action_table_row1073};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(176)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(1113)) /*AbstractArray::add*/;
   goto return_label1074;
   return_label1074: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1074(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1074, 12353};
+val_t parser_tables___ParserTable___action_table_row1074(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12302, LOCATE_parser_tables___ParserTable___action_table_row1074};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(178)) /*AbstractArray::add*/;
   goto return_label1075;
   return_label1075: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1075(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1075, 12359};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1074)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1075(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12308, LOCATE_parser_tables___ParserTable___action_table_row1075};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(444)) /*AbstractArray::add*/;
   goto return_label1076;
   return_label1076: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1076(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1076, 12386};
+val_t parser_tables___ParserTable___action_table_row1076(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12314, LOCATE_parser_tables___ParserTable___action_table_row1076};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(169)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1077;
   return_label1077: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1077(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1077, 12392};
+val_t parser_tables___ParserTable___action_table_row1077(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12322, LOCATE_parser_tables___ParserTable___action_table_row1077};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(171)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1111)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(408)) /*AbstractArray::add*/;
   goto return_label1078;
   return_label1078: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1078(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1078, 12399};
+val_t parser_tables___ParserTable___action_table_row1078(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12328, LOCATE_parser_tables___ParserTable___action_table_row1078};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(161)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1077)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(288)) /*AbstractArray::add*/;
   goto return_label1079;
   return_label1079: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1079(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1079, 12405};
+val_t parser_tables___ParserTable___action_table_row1079(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12335, LOCATE_parser_tables___ParserTable___action_table_row1079};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(177)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1112)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+  ((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(255)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1116)) /*AbstractArray::add*/;
   goto return_label1080;
   return_label1080: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1080(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1080, 12412};
+val_t parser_tables___ParserTable___action_table_row1080(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12343, LOCATE_parser_tables___ParserTable___action_table_row1080};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(179)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1081;
   return_label1081: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1081(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1081, 12418};
+val_t parser_tables___ParserTable___action_table_row1081(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12351, LOCATE_parser_tables___ParserTable___action_table_row1081};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(112)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1119)) /*AbstractArray::add*/;
   goto return_label1082;
   return_label1082: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1082(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1082, 12426};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1114)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1082(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12358, LOCATE_parser_tables___ParserTable___action_table_row1082};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1081)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1083;
   return_label1083: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1083(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1083, 12433};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1082)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1083(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12385, LOCATE_parser_tables___ParserTable___action_table_row1083};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1084;
   return_label1084: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1084(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1084, 12460};
+val_t parser_tables___ParserTable___action_table_row1084(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12393, LOCATE_parser_tables___ParserTable___action_table_row1084};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1085;
   return_label1085: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1085(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1085, 12468};
+val_t parser_tables___ParserTable___action_table_row1085(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12401, LOCATE_parser_tables___ParserTable___action_table_row1085};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(120)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1123)) /*AbstractArray::add*/;
   goto return_label1086;
   return_label1086: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1086(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1086, 12474};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1085)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1086(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12408, LOCATE_parser_tables___ParserTable___action_table_row1086};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1085)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1087;
   return_label1087: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1087(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1087, 12501};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1086)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1087(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12435, LOCATE_parser_tables___ParserTable___action_table_row1087};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1088;
   return_label1088: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1088(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1088, 12528};
+val_t parser_tables___ParserTable___action_table_row1088(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12443, LOCATE_parser_tables___ParserTable___action_table_row1088};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(131)) /*AbstractArray::add*/;
   goto return_label1089;
   return_label1089: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1089(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1089, 12536};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1089(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12449, LOCATE_parser_tables___ParserTable___action_table_row1089};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1088)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1090;
   return_label1090: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1090(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1090, 12542};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1089)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1090(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12476, LOCATE_parser_tables___ParserTable___action_table_row1090};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1089)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1091;
   return_label1091: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1091(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1091, 12569};
+val_t parser_tables___ParserTable___action_table_row1091(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12503, LOCATE_parser_tables___ParserTable___action_table_row1091};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1092;
   return_label1092: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1092(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1092, 12575};
+val_t parser_tables___ParserTable___action_table_row1092(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12511, LOCATE_parser_tables___ParserTable___action_table_row1092};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(141)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(133)) /*AbstractArray::add*/;
   goto return_label1093;
   return_label1093: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1093(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1093, 12581};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1092)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1093(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12517, LOCATE_parser_tables___ParserTable___action_table_row1093};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1092)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1094;
   return_label1094: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1094(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1094, 12608};
+val_t parser_tables___ParserTable___action_table_row1094(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12544, LOCATE_parser_tables___ParserTable___action_table_row1094};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(169)) /*AbstractArray::add*/;
   goto return_label1095;
   return_label1095: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1095(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1095, 12614};
+val_t parser_tables___ParserTable___action_table_row1095(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12550, LOCATE_parser_tables___ParserTable___action_table_row1095};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(172)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(171)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(1130)) /*AbstractArray::add*/;
   goto return_label1096;
   return_label1096: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1096(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1096, 12620};
+val_t parser_tables___ParserTable___action_table_row1096(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12557, LOCATE_parser_tables___ParserTable___action_table_row1096};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(180)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(161)) /*AbstractArray::add*/;
   goto return_label1097;
   return_label1097: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1097(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1097, 12626};
+val_t parser_tables___ParserTable___action_table_row1097(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12563, LOCATE_parser_tables___ParserTable___action_table_row1097};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1096)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1122)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(177)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+  ((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(1131)) /*AbstractArray::add*/;
   goto return_label1098;
   return_label1098: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1098(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1098, 12633};
+val_t parser_tables___ParserTable___action_table_row1098(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12570, LOCATE_parser_tables___ParserTable___action_table_row1098};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(179)) /*AbstractArray::add*/;
   goto return_label1099;
   return_label1099: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1099(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1099, 12641};
+val_t parser_tables___ParserTable___action_table_row1099(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12576, LOCATE_parser_tables___ParserTable___action_table_row1099};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(121)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1124)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1100;
   return_label1100: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1100(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1100, 12648};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1099)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1100(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12584, LOCATE_parser_tables___ParserTable___action_table_row1100};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1133)) /*AbstractArray::add*/;
   goto return_label1101;
   return_label1101: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1101(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1101, 12675};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1101(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12591, LOCATE_parser_tables___ParserTable___action_table_row1101};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1100)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1102;
   return_label1102: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1102(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1102, 12683};
+val_t parser_tables___ParserTable___action_table_row1102(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12618, LOCATE_parser_tables___ParserTable___action_table_row1102};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1103;
   return_label1103: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1103(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1103, 12689};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1102)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1103(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12626, LOCATE_parser_tables___ParserTable___action_table_row1103};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(137)) /*AbstractArray::add*/;
   goto return_label1104;
   return_label1104: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1104(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1104, 12716};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1103)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1104(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12632, LOCATE_parser_tables___ParserTable___action_table_row1104};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1103)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1105;
   return_label1105: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1105(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1105, 12743};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1105(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12659, LOCATE_parser_tables___ParserTable___action_table_row1105};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1104)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1106;
   return_label1106: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1106(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1106, 12751};
+val_t parser_tables___ParserTable___action_table_row1106(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12686, LOCATE_parser_tables___ParserTable___action_table_row1106};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1107;
   return_label1107: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1107(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1107, 12757};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1106)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1107(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12694, LOCATE_parser_tables___ParserTable___action_table_row1107};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(126)) /*AbstractArray::add*/;
   goto return_label1108;
   return_label1108: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1108(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1108, 12784};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1108(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12700, LOCATE_parser_tables___ParserTable___action_table_row1108};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1107)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1109;
   return_label1109: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1109(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1109, 12790};
+val_t parser_tables___ParserTable___action_table_row1109(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12727, LOCATE_parser_tables___ParserTable___action_table_row1109};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(146)) /*AbstractArray::add*/;
   goto return_label1110;
   return_label1110: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1110(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1110, 12796};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1109)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1110(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12733, LOCATE_parser_tables___ParserTable___action_table_row1110};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(141)) /*AbstractArray::add*/;
   goto return_label1111;
   return_label1111: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1111(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1111, 12823};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1111(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12739, LOCATE_parser_tables___ParserTable___action_table_row1111};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1110)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1112;
   return_label1112: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1112(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1112, 12829};
+val_t parser_tables___ParserTable___action_table_row1112(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12766, LOCATE_parser_tables___ParserTable___action_table_row1112};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(173)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(150)) /*AbstractArray::add*/;
   goto return_label1113;
   return_label1113: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1113(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1113, 12835};
+val_t parser_tables___ParserTable___action_table_row1113(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12772, LOCATE_parser_tables___ParserTable___action_table_row1113};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(181)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(172)) /*AbstractArray::add*/;
   goto return_label1114;
   return_label1114: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1114(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1114, 12841};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1113)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1114(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12778, LOCATE_parser_tables___ParserTable___action_table_row1114};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(180)) /*AbstractArray::add*/;
   goto return_label1115;
   return_label1115: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1115(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1115, 12868};
+val_t parser_tables___ParserTable___action_table_row1115(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12784, LOCATE_parser_tables___ParserTable___action_table_row1115};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1114)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+  ((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(1141)) /*AbstractArray::add*/;
   goto return_label1116;
   return_label1116: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1116(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1116, 12876};
+val_t parser_tables___ParserTable___action_table_row1116(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12791, LOCATE_parser_tables___ParserTable___action_table_row1116};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(127)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1117;
   return_label1117: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1117(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1117, 12882};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1116)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1117(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12799, LOCATE_parser_tables___ParserTable___action_table_row1117};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1118;
   return_label1118: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1118(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1118, 12909};
+val_t parser_tables___ParserTable___action_table_row1118(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12807, LOCATE_parser_tables___ParserTable___action_table_row1118};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(121)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+  ((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(1144)) /*AbstractArray::add*/;
   goto return_label1119;
   return_label1119: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1119(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1119, 12915};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1119(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12814, LOCATE_parser_tables___ParserTable___action_table_row1119};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1118)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1120;
   return_label1120: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1120(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1120, 12921};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1119)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1120(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12841, LOCATE_parser_tables___ParserTable___action_table_row1120};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1121;
   return_label1121: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1121(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1121, 12948};
+val_t parser_tables___ParserTable___action_table_row1121(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12849, LOCATE_parser_tables___ParserTable___action_table_row1121};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(140)) /*AbstractArray::add*/;
   goto return_label1122;
   return_label1122: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1122(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1122, 12954};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(159)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1122(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12855, LOCATE_parser_tables___ParserTable___action_table_row1122};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1121)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1123;
   return_label1123: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1123(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1123, 12960};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1123(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12882, LOCATE_parser_tables___ParserTable___action_table_row1123};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1122)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1124;
   return_label1124: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1124(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1124, 12968};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1123)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1124(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12909, LOCATE_parser_tables___ParserTable___action_table_row1124};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1125;
   return_label1125: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1125(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1125, 12995};
+val_t parser_tables___ParserTable___action_table_row1125(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12917, LOCATE_parser_tables___ParserTable___action_table_row1125};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(364)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(129)) /*AbstractArray::add*/;
   goto return_label1126;
   return_label1126: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1126(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1126, 13003};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(130)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1126(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12923, LOCATE_parser_tables___ParserTable___action_table_row1126};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1125)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1127;
   return_label1127: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1127(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1127, 13009};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1126)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1127(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12950, LOCATE_parser_tables___ParserTable___action_table_row1127};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(149)) /*AbstractArray::add*/;
   goto return_label1128;
   return_label1128: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1128(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1128, 13036};
+val_t parser_tables___ParserTable___action_table_row1128(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12956, LOCATE_parser_tables___ParserTable___action_table_row1128};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(142)) /*AbstractArray::add*/;
   goto return_label1129;
   return_label1129: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1129(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1129, 13042};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(138)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1129(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12962, LOCATE_parser_tables___ParserTable___action_table_row1129};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1128)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1130;
   return_label1130: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1130(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1130, 13048};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1129)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1130(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12989, LOCATE_parser_tables___ParserTable___action_table_row1130};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(151)) /*AbstractArray::add*/;
   goto return_label1131;
   return_label1131: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1131(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1131, 13075};
+val_t parser_tables___ParserTable___action_table_row1131(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 12995, LOCATE_parser_tables___ParserTable___action_table_row1131};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(173)) /*AbstractArray::add*/;
   goto return_label1132;
   return_label1132: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1132(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1132, 13081};
+val_t parser_tables___ParserTable___action_table_row1132(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13001, LOCATE_parser_tables___ParserTable___action_table_row1132};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(181)) /*AbstractArray::add*/;
   goto return_label1133;
   return_label1133: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1133(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1133, 13087};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(136)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1133(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13007, LOCATE_parser_tables___ParserTable___action_table_row1133};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1132)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1134;
   return_label1134: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1134(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1134, 13093};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1133)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1134(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13034, LOCATE_parser_tables___ParserTable___action_table_row1134};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1135;
   return_label1135: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1135(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1135, 13120};
+val_t parser_tables___ParserTable___action_table_row1135(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13042, LOCATE_parser_tables___ParserTable___action_table_row1135};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(127)) /*AbstractArray::add*/;
   goto return_label1136;
   return_label1136: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1136(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1136, 13126};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
-  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(153)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1136(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13048, LOCATE_parser_tables___ParserTable___action_table_row1136};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1135)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1137;
   return_label1137: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1137(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1137, 13132};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1136)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(636)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(637)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(638)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(639)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(640)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(641)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(642)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(643)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(644)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(645)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(646)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(647)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(648)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(649)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(650)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(651)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(652)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(653)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1137(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13075, LOCATE_parser_tables___ParserTable___action_table_row1137};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(155)) /*AbstractArray::add*/;
   goto return_label1138;
   return_label1138: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1138(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1138, 13158};
+val_t parser_tables___ParserTable___action_table_row1138(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13081, LOCATE_parser_tables___ParserTable___action_table_row1138};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(135)) /*AbstractArray::add*/;
   goto return_label1139;
   return_label1139: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1139(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1139, 13164};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_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) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1138)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
+val_t parser_tables___ParserTable___action_table_row1139(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13087, LOCATE_parser_tables___ParserTable___action_table_row1139};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1138)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
   goto return_label1140;
   return_label1140: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1140(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1140, 13191};
+val_t parser_tables___ParserTable___action_table_row1140(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13114, LOCATE_parser_tables___ParserTable___action_table_row1140};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(144)) /*AbstractArray::add*/;
   goto return_label1141;
   return_label1141: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1141(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1141, 13197};
+val_t parser_tables___ParserTable___action_table_row1141(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13120, LOCATE_parser_tables___ParserTable___action_table_row1141};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(156)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(159)) /*AbstractArray::add*/;
   goto return_label1142;
   return_label1142: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1142(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1142, 13203};
+val_t parser_tables___ParserTable___action_table_row1142(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13126, LOCATE_parser_tables___ParserTable___action_table_row1142};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
   goto return_label1143;
   return_label1143: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1143(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1143, 13209};
+val_t parser_tables___ParserTable___action_table_row1143(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13134, LOCATE_parser_tables___ParserTable___action_table_row1143};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(371)) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1142)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+  ((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(1157)) /*AbstractArray::add*/;
   goto return_label1144;
   return_label1144: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___action_table_row1144(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___action_table_row1144, 13215};
+val_t parser_tables___ParserTable___action_table_row1144(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13141, LOCATE_parser_tables___ParserTable___action_table_row1144};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1143)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  goto return_label1145;
+  return_label1145: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1145(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13168, LOCATE_parser_tables___ParserTable___action_table_row1145};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(9)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(365)) /*AbstractArray::add*/;
+  ((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(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*/;
+  ((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(2)) /*AbstractArray::add*/;
+  goto return_label1146;
+  return_label1146: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1146(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13176, LOCATE_parser_tables___ParserTable___action_table_row1146};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(130)) /*AbstractArray::add*/;
+  goto return_label1147;
+  return_label1147: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1147(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13182, LOCATE_parser_tables___ParserTable___action_table_row1147};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  goto return_label1148;
+  return_label1148: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1148(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13209, LOCATE_parser_tables___ParserTable___action_table_row1148};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[Int]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-  goto return_label1145;
-  return_label1145: while(false);
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(158)) /*AbstractArray::add*/;
+  goto return_label1149;
+  return_label1149: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1149(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13215, LOCATE_parser_tables___ParserTable___action_table_row1149};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(138)) /*AbstractArray::add*/;
+  goto return_label1150;
+  return_label1150: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1150(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13221, LOCATE_parser_tables___ParserTable___action_table_row1150};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  goto return_label1151;
+  return_label1151: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1151(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13248, LOCATE_parser_tables___ParserTable___action_table_row1151};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(147)) /*AbstractArray::add*/;
+  goto return_label1152;
+  return_label1152: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1152(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13254, LOCATE_parser_tables___ParserTable___action_table_row1152};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(160)) /*AbstractArray::add*/;
+  goto return_label1153;
+  return_label1153: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1153(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13260, LOCATE_parser_tables___ParserTable___action_table_row1153};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(136)) /*AbstractArray::add*/;
+  goto return_label1154;
+  return_label1154: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1154(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13266, LOCATE_parser_tables___ParserTable___action_table_row1154};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1153)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  goto return_label1155;
+  return_label1155: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1155(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13293, LOCATE_parser_tables___ParserTable___action_table_row1155};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(145)) /*AbstractArray::add*/;
+  goto return_label1156;
+  return_label1156: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1156(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13299, LOCATE_parser_tables___ParserTable___action_table_row1156};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(153)) /*AbstractArray::add*/;
+  goto return_label1157;
+  return_label1157: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1157(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13305, LOCATE_parser_tables___ParserTable___action_table_row1157};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(63)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1156)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(642)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(643)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(644)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(645)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(646)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(647)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(648)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(649)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(650)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(651)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(652)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(653)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(654)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(655)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(656)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(657)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(658)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(659)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  goto return_label1158;
+  return_label1158: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1158(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13331, LOCATE_parser_tables___ParserTable___action_table_row1158};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(419)) /*AbstractArray::add*/;
+  goto return_label1159;
+  return_label1159: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1159(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13337, LOCATE_parser_tables___ParserTable___action_table_row1159};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(139)) /*AbstractArray::add*/;
+  goto return_label1160;
+  return_label1160: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1160(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13343, LOCATE_parser_tables___ParserTable___action_table_row1160};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(66)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1159)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+  ((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(144)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+  ((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(145)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+  ((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(146)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+  ((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(147)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+  ((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(148)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+  ((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(149)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+  ((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(43)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+  ((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(44)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+  ((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(45)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+  ((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(46)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+  ((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(47)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+  ((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(48)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+  ((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(150)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+  ((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(49)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+  ((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(151)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+  ((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(152)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+  ((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(52)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+  ((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(53)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+  ((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(54)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+  ((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(55)) /*AbstractArray::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+  ((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(56)) /*AbstractArray::add*/;
+  goto return_label1161;
+  return_label1161: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1161(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13370, LOCATE_parser_tables___ParserTable___action_table_row1161};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(148)) /*AbstractArray::add*/;
+  goto return_label1162;
+  return_label1162: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1162(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13376, LOCATE_parser_tables___ParserTable___action_table_row1162};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(156)) /*AbstractArray::add*/;
+  goto return_label1163;
+  return_label1163: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1163(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13382, LOCATE_parser_tables___ParserTable___action_table_row1163};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(154)) /*AbstractArray::add*/;
+  goto return_label1164;
+  return_label1164: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+val_t parser_tables___ParserTable___action_table_row1164(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13388, LOCATE_parser_tables___ParserTable___action_table_row1164};
+  val_t variable0;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(372)) /*AbstractArray::add*/;
+  goto return_label1165;
+  return_label1165: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-void parser_tables___Parser___build_goto_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___build_goto_table, 13223};
+val_t parser_tables___ParserTable___action_table_row1165(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13394, LOCATE_parser_tables___ParserTable___action_table_row1165};
   val_t variable0;
-  static val_t once_value_variable0_1147; static int once_bool_variable0_1147;
+  val_t variable1;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
+  variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*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(157)) /*AbstractArray::add*/;
+  goto return_label1166;
+  return_label1166: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
+void parser_tables___ParserTable___build_goto_table(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 13402, LOCATE_parser_tables___ParserTable___build_goto_table};
+  val_t variable0;
+  static val_t once_value_variable0_1168; static int once_bool_variable0_1168;
     val_t variable1;
     val_t variable2;
     val_t variable3;
@@ -36328,2369 +36802,2393 @@ void parser_tables___Parser___build_goto_table(val_t  self) {
     val_t variable116;
     val_t variable117;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_1147) variable0 = once_value_variable0_1147;
+  if (once_bool_variable0_1168) variable0 = once_value_variable0_1168;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(116)); /*new Array[Array[Int]]*/
-    variable1 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    variable0 = NEW_array___Array___with_capacity(TAG_Int(116)); /*new Array[E]*/
+    variable1 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[E]*/
     variable2 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
-    variable2 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable3 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/;
-    variable3 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+    ((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]*/
     variable4 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(77)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(77)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*Array::add*/;
-    variable4 = NEW_array___Array___with_capacity(TAG_Int(48)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  TAG_Int(77)) /*AbstractArray::add*/;
+    ((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]*/
     variable5 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable5) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(6)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(17)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(81)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(89)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(92)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(24)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(94)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(207)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(88)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(211)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(214)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(220)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(206)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(330)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(209)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(333)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(212)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(335)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(213)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(336)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(216)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(339)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(331)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(425)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(332)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(426)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(334)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(428)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(337)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(429)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(338)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(430)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(340)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(432)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(427)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(518)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(431)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(519)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*Array::add*/;
-    variable5 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(17)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(14)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(81)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(89)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(92)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(24)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(94)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(80)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(207)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(88)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(211)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(214)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(98)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(220)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(206)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(330)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(209)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(333)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(212)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(335)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(213)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(336)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(216)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(339)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(331)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(426)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(332)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(427)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(334)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(429)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(337)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(430)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(338)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(431)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(340)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(433)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(428)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  TAG_Int(521)) /*AbstractArray::add*/;
+    ((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]*/
     variable6 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable6) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5,  TAG_Int(7)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*Array::add*/;
-    variable6 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
+    ((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]*/
     variable7 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable7) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(8)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*Array::add*/;
-    variable7 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(14)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(80)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  TAG_Int(82)) /*AbstractArray::add*/;
+    ((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]*/
     variable8 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable8) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(185)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  TAG_Int(252)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*Array::add*/;
-    variable8 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable9 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(505)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(460)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  TAG_Int(530)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*Array::add*/;
-    variable9 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable10 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable10) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(763)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(765)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9,  TAG_Int(850)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*Array::add*/;
-    variable10 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable11 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable11) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(673)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(848)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10,  TAG_Int(923)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*Array::add*/;
-    variable11 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
+    ((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]*/
     variable12 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11, variable12) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(506)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(509)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(589)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(533)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(589)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(581)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(589)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(606)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(589)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*Array::add*/;
-    variable12 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(511)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(593)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(537)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(593)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(585)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable11,COLOR_abstract_collection___SimpleCollection___add))(variable11,  TAG_Int(593)) /*AbstractArray::add*/;
+    ((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]*/
     variable13 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12, variable13) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(678)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(681)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(710)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(767)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(797)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(801)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(807)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(855)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(889)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(772)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*Array::add*/;
-    variable13 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(687)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(718)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(775)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(805)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(811)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(817)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(865)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12,  TAG_Int(780)) /*AbstractArray::add*/;
+    ((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]*/
     variable14 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13, variable14) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(679)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(415)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(507)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(460)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(531)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(505)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(579)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(509)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(590)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(530)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(604)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(533)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(609)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(581)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(676)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(606)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(707)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*Array::add*/;
-    variable14 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(415)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(509)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(462)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(535)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(507)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(583)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(511)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(594)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(534)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(610)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(537)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(615)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(585)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable13,COLOR_abstract_collection___SimpleCollection___add))(variable13,  TAG_Int(682)) /*AbstractArray::add*/;
+    ((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]*/
     variable15 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14, variable15) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(95)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(212)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(331)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(334)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(337)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(340)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(427)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(431)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*Array::add*/;
-    variable15 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(98)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(212)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(331)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(334)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(337)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(340)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(428)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable14,COLOR_abstract_collection___SimpleCollection___add))(variable14,  TAG_Int(221)) /*AbstractArray::add*/;
+    ((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]*/
     variable16 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15, variable16) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(0)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(79)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(93)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(208)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(215)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*Array::add*/;
-    variable16 = NEW_array___Array___with_capacity(TAG_Int(48)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(0)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(9)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(79)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(14)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(83)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((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(80)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable15,COLOR_abstract_collection___SimpleCollection___add))(variable15,  TAG_Int(208)) /*AbstractArray::add*/;
+    ((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]*/
     variable17 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16, variable17) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(588)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(27)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(210)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(219)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(218)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(341)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(585)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(685)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(586)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(688)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(587)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(690)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(683)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(777)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(684)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(779)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(686)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(785)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(687)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(787)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(689)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(789)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(775)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(858)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(776)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(860)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(778)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(862)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(784)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(870)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(786)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(872)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(857)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(929)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(859)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(931)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(869)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(942)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(928)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(973)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*Array::add*/;
-    variable17 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(27)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(132)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(210)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(219)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(218)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(341)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(589)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(691)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(590)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(694)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(591)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(696)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(689)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(785)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(690)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(787)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(692)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(793)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(693)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(795)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(695)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(797)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(783)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(868)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(784)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(870)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(786)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(872)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(792)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(880)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(794)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(882)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(867)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(942)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(869)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(944)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(879)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable16,COLOR_abstract_collection___SimpleCollection___add))(variable16,  TAG_Int(955)) /*AbstractArray::add*/;
+    ((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]*/
     variable18 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17, variable18) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(314)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(251)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(370)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(691)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(791)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(694)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(794)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(780)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(864)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(783)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(867)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*Array::add*/;
-    variable18 = NEW_array___Array___with_capacity(TAG_Int(16)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(251)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(370)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(697)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(799)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(700)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(802)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(788)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable17,COLOR_abstract_collection___SimpleCollection___add))(variable17,  TAG_Int(874)) /*AbstractArray::add*/;
+    ((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]*/
     variable19 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18, variable19) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(412)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(370)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(459)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(694)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(795)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(783)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(868)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(791)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(877)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(794)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(881)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(864)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(936)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(867)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(940)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*Array::add*/;
-    variable19 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(370)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(461)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(700)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(803)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(791)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(878)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(799)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(887)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(802)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(891)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(874)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable18,COLOR_abstract_collection___SimpleCollection___add))(variable18,  TAG_Int(949)) /*AbstractArray::add*/;
+    ((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]*/
     variable20 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19, variable20) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable19,COLOR_abstract_collection___SimpleCollection___add))(variable19,  TAG_Int(413)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*Array::add*/;
-    variable20 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable21 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20, variable21) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(667)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(669)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable20,COLOR_abstract_collection___SimpleCollection___add))(variable20,  TAG_Int(759)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*Array::add*/;
-    variable21 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable22 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21, variable22) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(575)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(757)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable21,COLOR_abstract_collection___SimpleCollection___add))(variable21,  TAG_Int(846)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*Array::add*/;
-    variable22 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
+    ((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]*/
     variable23 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22, variable23) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(566)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(166)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(289)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(263)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(382)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(374)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(463)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(388)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(474)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(682)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(774)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(724)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(818)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*Array::add*/;
-    variable23 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(166)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(289)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(263)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(382)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(374)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(465)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(388)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(476)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(688)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(782)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(703)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(806)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(710)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(809)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(732)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable22,COLOR_abstract_collection___SimpleCollection___add))(variable22,  TAG_Int(828)) /*AbstractArray::add*/;
+    ((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]*/
     variable24 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23, variable24) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(567)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(522)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable23,COLOR_abstract_collection___SimpleCollection___add))(variable23,  TAG_Int(599)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*Array::add*/;
-    variable24 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable25 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24, variable25) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(631)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(632)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable24,COLOR_abstract_collection___SimpleCollection___add))(variable24,  TAG_Int(725)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*Array::add*/;
-    variable25 = NEW_array___Array___with_capacity(TAG_Int(50)); /*new Array[Int]*/
+    ((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]*/
     variable26 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25, variable26) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(414)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(257)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(413)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(503)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(574)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(665)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(672)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(761)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(792)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(878)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(793)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(880)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(865)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(937)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(866)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(939)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(874)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(948)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(876)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(951)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(933)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(979)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(935)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(982)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(944)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(992)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(946)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(995)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(949)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(999)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(975)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1019)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(977)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1022)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(980)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1026)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(990)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1039)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(993)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1043)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1017)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1062)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1020)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1066)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1037)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1081)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1060)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1098)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*Array::add*/;
-    variable26 = NEW_array___Array___with_capacity(TAG_Int(32)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(257)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(413)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(505)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(578)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(671)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(678)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(769)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(800)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(888)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(801)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(890)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(875)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(950)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(876)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(952)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(884)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(961)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(886)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(964)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(946)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(995)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(948)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(998)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(957)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1008)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(959)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1011)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(962)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1015)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(991)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1036)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(993)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1039)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(996)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1043)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1006)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1056)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1009)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1060)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1034)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1080)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1037)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1084)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1054)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable25,COLOR_abstract_collection___SimpleCollection___add))(variable25,  TAG_Int(1099)) /*AbstractArray::add*/;
+    ((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]*/
     variable27 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26, variable27) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(134)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(319)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(416)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(467)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(562)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(540)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(617)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(577)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(671)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(603)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(704)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(627)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(722)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(416)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(562)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(957)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1009)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(988)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1036)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1005)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1053)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1008)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1055)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(722)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1032)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1076)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1035)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1078)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*Array::add*/;
-    variable27 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(319)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(416)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(469)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(566)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(544)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(623)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(581)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(677)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(609)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(712)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(633)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(730)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(416)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(566)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(970)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1025)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1004)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1053)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1021)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1070)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1024)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1072)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1028)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(730)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1049)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable26,COLOR_abstract_collection___SimpleCollection___add))(variable26,  TAG_Int(1094)) /*AbstractArray::add*/;
+    ((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]*/
     variable28 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27, variable28) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(186)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(189)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(373)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(721)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(809)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*Array::add*/;
-    variable28 = NEW_array___Array___with_capacity(TAG_Int(34)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(189)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(373)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(729)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable27,COLOR_abstract_collection___SimpleCollection___add))(variable27,  TAG_Int(317)) /*AbstractArray::add*/;
+    ((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]*/
     variable29 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28, variable29) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(254)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(187)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(372)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(462)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(548)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(556)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(625)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(613)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(714)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(720)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(808)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(816)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(894)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(548)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*Array::add*/;
-    variable29 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(254)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(187)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(372)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(464)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(552)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(560)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(631)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(619)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(722)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(728)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(818)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(826)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(906)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable28,COLOR_abstract_collection___SimpleCollection___add))(variable28,  TAG_Int(316)) /*AbstractArray::add*/;
+    ((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]*/
     variable30 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29, variable30) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(549)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(538)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(549)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(549)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(549)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(549)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(549)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*Array::add*/;
-    variable30 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(553)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(542)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(553)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(553)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(907)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(553)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable29,COLOR_abstract_collection___SimpleCollection___add))(variable29,  TAG_Int(553)) /*AbstractArray::add*/;
+    ((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]*/
     variable31 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30, variable31) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(550)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(538)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(550)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(550)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(550)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(550)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(550)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*Array::add*/;
-    variable31 = NEW_array___Array___with_capacity(TAG_Int(10)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(554)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(542)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(554)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(554)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(907)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(554)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable30,COLOR_abstract_collection___SimpleCollection___add))(variable30,  TAG_Int(554)) /*AbstractArray::add*/;
+    ((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]*/
     variable32 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31, variable32) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(178)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(173)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(295)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(193)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(323)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(420)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(516)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(513)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(593)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*Array::add*/;
-    variable32 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(173)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(295)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(193)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(323)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(421)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable31,COLOR_abstract_collection___SimpleCollection___add))(variable31,  TAG_Int(519)) /*AbstractArray::add*/;
+    ((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]*/
     variable33 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32, variable33) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable32,COLOR_abstract_collection___SimpleCollection___add))(variable32,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*Array::add*/;
-    variable33 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable34 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33, variable34) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable33,COLOR_abstract_collection___SimpleCollection___add))(variable33,  TAG_Int(62)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*Array::add*/;
-    variable34 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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]*/
     variable35 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34, variable35) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(551)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(556)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(626)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(720)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(815)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(816)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(899)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*Array::add*/;
-    variable35 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(560)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(632)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(728)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable34,COLOR_abstract_collection___SimpleCollection___add))(variable34,  TAG_Int(825)) /*AbstractArray::add*/;
+    ((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]*/
     variable36 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35, variable36) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable35,COLOR_abstract_collection___SimpleCollection___add))(variable35,  TAG_Int(63)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*Array::add*/;
-    variable36 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable37 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36, variable37) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable36,COLOR_abstract_collection___SimpleCollection___add))(variable36,  TAG_Int(64)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*Array::add*/;
-    variable37 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
+    ((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]*/
     variable38 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37, variable38) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(65)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(552)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(538)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(552)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(552)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(552)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(552)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(552)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*Array::add*/;
-    variable38 = NEW_array___Array___with_capacity(TAG_Int(14)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(556)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(542)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(556)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(556)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(907)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(556)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable37,COLOR_abstract_collection___SimpleCollection___add))(variable37,  TAG_Int(556)) /*AbstractArray::add*/;
+    ((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]*/
     variable39 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38, variable39) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(66)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(553)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(538)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(553)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(553)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(553)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(553)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(553)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*Array::add*/;
-    variable39 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(557)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(542)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(557)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(557)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(907)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(557)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable38,COLOR_abstract_collection___SimpleCollection___add))(variable38,  TAG_Int(557)) /*AbstractArray::add*/;
+    ((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]*/
     variable40 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39, variable40) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable39,COLOR_abstract_collection___SimpleCollection___add))(variable39,  TAG_Int(164)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*Array::add*/;
-    variable40 = NEW_array___Array___with_capacity(TAG_Int(146)); /*new Array[Int]*/
+    ((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]*/
     variable41 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40, variable41) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(153)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(165)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(47)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(169)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(141)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(258)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(259)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(164)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(287)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(170)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(291)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(175)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(296)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(178)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(297)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(200)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(327)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(225)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(344)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(230)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(350)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(261)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(380)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(294)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(405)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(295)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(406)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(320)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(417)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(322)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(421)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(323)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(422)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(324)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(423)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(343)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(434)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(375)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(464)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(465)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(535)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(515)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(594)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(516)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(595)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(542)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(619)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(563)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(628)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(569)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(635)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(592)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(697)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(593)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(698)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(598)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(700)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(616)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(715)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(618)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(716)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(629)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(723)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(646)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(734)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(729)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(819)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(954)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1006)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(967)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1013)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(985)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1033)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(996)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1046)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1000)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1050)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1007)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1054)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1014)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1058)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1023)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1069)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1027)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1073)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1034)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1077)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1040)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1084)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1044)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1088)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1047)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1090)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1048)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1091)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1051)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1093)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1063)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1067)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1070)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1107)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1071)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1074)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1082)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1085)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1086)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1089)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1120)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1092)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1121)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1099)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1125)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1127)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1103)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1128)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1106)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1130)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1134)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1139)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1133)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1141)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1138)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*Array::add*/;
-    variable41 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(165)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(47)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(169)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(141)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(258)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(259)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(164)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(287)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(170)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(291)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(175)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(296)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(178)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(297)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(200)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(327)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(225)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(344)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(230)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(350)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(261)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(380)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(294)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(405)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(295)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(406)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(320)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(417)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(322)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(422)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(323)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(423)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(324)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(424)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(343)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(435)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(375)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(466)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(467)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(539)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(518)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(599)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(519)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(600)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(546)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(625)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(567)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(634)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(573)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(641)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(597)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(704)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(598)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(705)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(603)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(707)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(622)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(723)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(624)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(724)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(635)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(731)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(652)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(742)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(737)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(829)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(967)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1022)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(982)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1029)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1001)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1050)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1012)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1063)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1016)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1067)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1023)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1071)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1030)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1075)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1040)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1087)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1044)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1091)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1051)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1095)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1057)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1102)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1061)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1064)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1108)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1065)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1109)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1068)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1111)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1081)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1085)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1124)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1088)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1126)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1089)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1127)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1092)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1129)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1100)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1104)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1107)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1110)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1140)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1118)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1121)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1147)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1148)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1150)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1132)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1152)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1135)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1138)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1155)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1143)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1149)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1161)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1153)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable40,COLOR_abstract_collection___SimpleCollection___add))(variable40,  TAG_Int(1162)) /*AbstractArray::add*/;
+    ((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]*/
     variable42 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41, variable42) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable41,COLOR_abstract_collection___SimpleCollection___add))(variable41,  TAG_Int(154)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*Array::add*/;
-    variable42 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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]*/
     variable43 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42, variable43) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(262)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(381)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(385)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(471)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(386)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(472)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*Array::add*/;
-    variable43 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(262)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(381)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(385)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable42,COLOR_abstract_collection___SimpleCollection___add))(variable42,  TAG_Int(473)) /*AbstractArray::add*/;
+    ((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]*/
     variable44 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43, variable44) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable43,COLOR_abstract_collection___SimpleCollection___add))(variable43,  TAG_Int(156)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*Array::add*/;
-    variable44 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+    ((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]*/
     variable45 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44, variable45) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(387)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(473)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(391)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(477)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(392)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(478)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(393)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(479)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(394)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(480)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(395)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(481)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(396)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(482)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(397)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(483)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*Array::add*/;
-    variable45 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(387)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(475)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(391)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(479)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(392)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(480)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(393)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(481)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(394)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(482)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(395)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(483)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(396)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable44,COLOR_abstract_collection___SimpleCollection___add))(variable44,  TAG_Int(484)) /*AbstractArray::add*/;
+    ((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]*/
     variable46 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45, variable46) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(158)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(389)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(475)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(390)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(476)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*Array::add*/;
-    variable46 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(389)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable45,COLOR_abstract_collection___SimpleCollection___add))(variable45,  TAG_Int(477)) /*AbstractArray::add*/;
+    ((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]*/
     variable47 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46, variable47) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(159)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(264)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(383)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(265)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(384)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(398)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(484)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(399)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(485)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(400)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(486)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*Array::add*/;
-    variable47 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(264)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(383)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(265)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(384)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(398)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(486)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(399)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable46,COLOR_abstract_collection___SimpleCollection___add))(variable46,  TAG_Int(487)) /*AbstractArray::add*/;
+    ((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]*/
     variable48 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47, variable48) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable47,COLOR_abstract_collection___SimpleCollection___add))(variable47,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*Array::add*/;
-    variable48 = NEW_array___Array___with_capacity(TAG_Int(68)); /*new Array[Int]*/
+    ((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]*/
     variable49 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48, variable49) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(161)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(187)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(319)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(372)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(462)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(554)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(467)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(538)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(554)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(540)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(556)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(577)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(603)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(613)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(627)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(554)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(720)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(808)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(816)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(894)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(554)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(554)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(957)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(988)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1005)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1008)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(554)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1032)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1035)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*Array::add*/;
-    variable49 = NEW_array___Array___with_capacity(TAG_Int(104)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(187)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(319)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(372)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(464)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(558)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(469)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(542)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(558)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(544)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(560)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(581)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(609)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(619)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(633)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(558)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(728)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(818)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(826)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(906)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(907)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(558)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(558)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(970)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1004)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1021)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1024)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1028)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(558)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(1049)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable48,COLOR_abstract_collection___SimpleCollection___add))(variable48,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((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]*/
     variable50 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49, variable50) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(201)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(226)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(228)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(231)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(353)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(354)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(355)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(357)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(358)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(359)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(360)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(361)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(362)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(363)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(364)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(365)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(366)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(367)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(368)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(418)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(419)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(537)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(546)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(547)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(570)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(624)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(730)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(732)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(735)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(813)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(814)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(829)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(830)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(831)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(833)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(834)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(835)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(836)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(837)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(838)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(839)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(840)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(841)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(842)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(843)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(844)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(959)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(1136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(654)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*Array::add*/;
-    variable50 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(42)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(201)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(226)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(228)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(231)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(353)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(354)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(355)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(357)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(358)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(359)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(360)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(361)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(362)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(363)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(364)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(365)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(366)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(367)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(368)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(418)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(420)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(541)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(550)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(551)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(574)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(630)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(738)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(740)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(743)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(823)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(824)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(839)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(840)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(841)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(843)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(844)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(845)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(846)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(847)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(848)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(849)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(850)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(851)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(852)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(853)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(854)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(660)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(973)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable49,COLOR_abstract_collection___SimpleCollection___add))(variable49,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((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]*/
     variable51 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50, variable51) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable50,COLOR_abstract_collection___SimpleCollection___add))(variable50,  TAG_Int(69)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*Array::add*/;
-    variable51 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable52 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51, variable52) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable51,COLOR_abstract_collection___SimpleCollection___add))(variable51,  TAG_Int(70)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*Array::add*/;
-    variable52 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable53 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52, variable53) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(196)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(199)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable52,COLOR_abstract_collection___SimpleCollection___add))(variable52,  TAG_Int(325)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*Array::add*/;
-    variable53 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable54 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53, variable54) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable53,COLOR_abstract_collection___SimpleCollection___add))(variable53,  TAG_Int(197)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*Array::add*/;
-    variable54 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable55 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54, variable55) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(198)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(199)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable54,COLOR_abstract_collection___SimpleCollection___add))(variable54,  TAG_Int(326)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*Array::add*/;
-    variable55 = NEW_array___Array___with_capacity(TAG_Int(70)); /*new Array[Int]*/
+    ((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]*/
     variable56 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55, variable56) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(120)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(167)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(173)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(224)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(106)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(229)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(232)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(167)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(151)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(266)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(163)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(266)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(201)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(328)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(233)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(352)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(285)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(328)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(347)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(438)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(382)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(470)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(418)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(511)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(419)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(513)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(456)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(526)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(457)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(527)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(487)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(511)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(488)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(565)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(546)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(167)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(547)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(173)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(568)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(634)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(600)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(702)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(624)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(328)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(636)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(728)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(641)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(733)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(648)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(736)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(737)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(826)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(813)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(511)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(814)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(513)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(822)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(903)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(920)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(970)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(921)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(971)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(1015)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(1059)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*Array::add*/;
-    variable56 = NEW_array___Array___with_capacity(TAG_Int(24)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(42)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(167)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(173)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(101)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(224)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(229)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(232)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(149)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(167)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(266)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(163)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(266)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(201)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(328)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(233)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(352)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(285)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(328)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(347)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(439)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(382)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(472)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(418)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(513)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(420)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(516)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(457)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(529)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(459)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(531)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(489)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(513)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(490)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(569)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(550)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(167)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(551)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(173)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(572)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(640)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(605)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(709)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(630)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(328)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(642)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(736)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(647)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(741)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(654)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(744)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(745)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(836)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(823)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(513)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(824)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(516)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(832)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(915)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(932)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(985)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(934)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable55,COLOR_abstract_collection___SimpleCollection___add))(variable55,  TAG_Int(987)) /*AbstractArray::add*/;
+    ((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]*/
     variable57 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56, variable57) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(121)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(168)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(174)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(201)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(329)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(418)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(512)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(419)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(514)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(537)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(611)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(546)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(620)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(547)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(621)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(624)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(719)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(813)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(897)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(814)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(898)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*Array::add*/;
-    variable57 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(42)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(168)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(174)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(201)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(329)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(418)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(514)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(420)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(517)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(541)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(617)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(550)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(626)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(551)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(627)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(630)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(727)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(823)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable56,COLOR_abstract_collection___SimpleCollection___add))(variable56,  TAG_Int(909)) /*AbstractArray::add*/;
+    ((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]*/
     variable58 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57, variable58) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(71)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(193)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(161)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(284)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(554)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(193)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*Array::add*/;
-    variable58 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(193)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(161)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable57,COLOR_abstract_collection___SimpleCollection___add))(variable57,  TAG_Int(284)) /*AbstractArray::add*/;
+    ((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]*/
     variable59 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58, variable59) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(495)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(496)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(572)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(525)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(572)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(597)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(572)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*Array::add*/;
-    variable59 = NEW_array___Array___with_capacity(TAG_Int(170)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(498)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(576)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(528)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable58,COLOR_abstract_collection___SimpleCollection___add))(variable58,  TAG_Int(576)) /*AbstractArray::add*/;
+    ((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]*/
     variable60 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59, variable60) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(162)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(187)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(201)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(226)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(228)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(231)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(319)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(353)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(354)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(355)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(357)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(358)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(359)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(360)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(361)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(362)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(363)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(364)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(365)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(366)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(367)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(368)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(372)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(418)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(419)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(462)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(555)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(467)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(537)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(538)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(555)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(540)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(546)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(547)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(556)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(570)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(577)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(603)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(613)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(624)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(627)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(555)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(720)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(730)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(732)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(735)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(808)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(813)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(814)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(816)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(829)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(830)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(831)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(833)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(834)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(835)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(836)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(837)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(838)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(839)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(840)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(841)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(842)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(843)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(844)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(894)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(555)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(555)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(957)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(959)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(988)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1005)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1008)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(555)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1032)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1035)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(655)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*Array::add*/;
-    variable60 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(42)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(187)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(201)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(226)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(228)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(231)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(319)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(353)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(354)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(355)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(357)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(358)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(359)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(360)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(361)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(362)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(363)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(364)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(365)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(366)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(367)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(368)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(372)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(418)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(420)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(464)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(559)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(469)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(541)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(542)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(559)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(544)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(550)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(551)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(560)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(574)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(581)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(609)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(619)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(630)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(633)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(559)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(728)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(738)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(740)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(743)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(818)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(823)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(824)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(826)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(839)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(840)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(841)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(843)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(844)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(845)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(846)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(847)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(848)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(849)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(850)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(851)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(852)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(853)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(854)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(661)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(906)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(907)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(559)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(559)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(970)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(973)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1004)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1021)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1024)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1028)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(559)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1049)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(1052)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable59,COLOR_abstract_collection___SimpleCollection___add))(variable59,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((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]*/
     variable61 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60, variable61) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable60,COLOR_abstract_collection___SimpleCollection___add))(variable60,  TAG_Int(203)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*Array::add*/;
-    variable61 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable62 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61, variable62) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable61,COLOR_abstract_collection___SimpleCollection___add))(variable61,  TAG_Int(204)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*Array::add*/;
-    variable62 = NEW_array___Array___with_capacity(TAG_Int(42)); /*new Array[Int]*/
+    ((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]*/
     variable63 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62, variable63) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(24)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(88)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(79)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(206)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(209)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(213)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(93)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(216)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(217)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(208)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(332)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(215)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(338)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(222)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(342)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(407)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(497)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(408)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(498)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(507)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(582)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(531)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(607)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(579)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(674)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(590)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(695)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(604)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(705)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(609)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(711)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(676)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(768)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(679)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(770)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(707)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(802)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*Array::add*/;
-    variable63 = NEW_array___Array___with_capacity(TAG_Int(104)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(88)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(79)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(206)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(83)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(209)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(213)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(93)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(216)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(96)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(217)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(208)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(332)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(215)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(338)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(222)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(342)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(407)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(499)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(408)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(500)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(509)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(586)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(535)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(613)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(583)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(680)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(594)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(701)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(610)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(713)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(615)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(719)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(682)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(776)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(685)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable62,COLOR_abstract_collection___SimpleCollection___add))(variable62,  TAG_Int(778)) /*AbstractArray::add*/;
+    ((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]*/
     variable64 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63, variable64) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(0)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(24)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(187)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(88)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(189)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(187)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(206)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(209)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(212)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(213)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(216)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(254)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(372)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(319)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(331)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(332)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(334)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(337)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(338)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(340)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(373)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(462)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(427)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(431)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(556)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(467)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(538)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(613)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(540)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(577)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(603)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(625)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(720)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(627)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(714)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(808)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(613)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(721)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(816)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(809)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(894)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(556)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(613)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(957)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(988)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1005)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1008)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(613)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1032)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1035)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*Array::add*/;
-    variable64 = NEW_array___Array___with_capacity(TAG_Int(436)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(0)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(14)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(24)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(187)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(80)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(88)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(98)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(189)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(187)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(206)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(209)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(212)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(213)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(216)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(254)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(372)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(319)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(331)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(332)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(334)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(337)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(338)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(340)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(373)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(464)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(428)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(432)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(560)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(469)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(542)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(619)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(544)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(581)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(609)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(631)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(728)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(633)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(722)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(818)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(619)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(729)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(826)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(819)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(906)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(907)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(560)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(619)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(970)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1004)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1021)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1024)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1028)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(619)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(1049)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable63,COLOR_abstract_collection___SimpleCollection___add))(variable63,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((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]*/
     variable65 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64, variable65) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(0)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(25)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(30)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(138)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(139)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(141)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(34)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(35)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(41)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(166)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(170)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(188)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(65)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(190)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(70)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(200)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(225)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(103)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(226)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(227)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(228)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(230)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(231)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(145)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(261)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(146)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(262)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(147)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(263)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(148)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(264)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(150)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(265)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(171)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(292)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(172)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(293)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(179)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(298)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(185)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(315)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(189)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(318)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(191)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(320)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(192)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(321)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(197)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(324)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(223)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(343)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(234)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(353)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(235)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(354)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(236)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(355)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(237)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(356)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(238)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(357)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(239)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(358)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(240)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(359)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(241)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(360)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(242)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(361)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(243)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(362)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(244)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(363)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(245)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(364)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(246)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(365)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(247)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(366)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(248)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(367)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(249)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(368)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(250)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(369)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(252)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(371)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(255)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(374)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(256)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(375)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(258)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(377)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(259)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(378)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(260)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(379)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(267)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(385)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(268)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(386)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(269)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(387)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(270)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(388)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(271)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(389)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(272)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(390)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(273)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(391)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(274)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(392)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(275)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(393)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(276)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(394)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(277)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(395)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(278)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(396)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(279)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(397)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(280)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(398)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(281)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(399)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(282)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(400)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(283)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(401)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(291)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(404)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(327)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(424)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(344)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(435)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(350)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(439)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(376)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(465)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(380)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(469)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(402)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(490)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(403)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(491)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(411)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(500)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(412)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(502)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(415)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(508)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(417)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(510)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(423)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(517)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(434)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(520)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(436)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(522)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(437)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(523)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(459)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(529)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(460)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(532)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(468)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(563)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(493)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(569)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(494)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(570)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(504)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(578)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(505)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(580)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(509)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(591)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(521)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(598)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(530)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(605)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(533)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(610)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(539)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(616)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(541)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(618)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(552)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(622)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(564)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(629)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(567)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(633)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(575)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(668)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(581)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(677)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(582)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(680)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(583)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(682)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(599)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(701)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(606)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(708)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(607)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(709)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(623)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(718)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(630)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(724)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(635)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(727)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(637)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(729)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(638)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(730)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(639)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(731)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(640)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(732)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(647)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(735)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(656)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(738)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(666)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(757)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(669)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(760)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(673)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(764)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(674)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(766)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(681)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(773)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(695)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(796)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(700)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(798)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(705)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(800)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(710)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(805)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(711)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(806)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(715)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(810)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(716)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(811)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(723)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(817)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(739)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(829)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(740)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(830)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(741)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(831)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(742)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(832)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(743)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(833)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(744)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(834)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(745)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(835)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(746)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(836)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(747)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(837)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(748)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(838)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(749)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(839)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(750)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(840)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(751)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(841)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(752)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(842)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(753)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(843)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(754)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(844)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(755)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(845)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(762)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(848)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(765)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(851)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(767)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(853)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(768)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(854)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(795)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(882)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(797)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(884)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(801)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(887)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(802)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(888)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(807)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(892)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(819)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(901)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(855)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(927)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(868)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(941)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(877)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(953)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(879)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(954)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(881)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(956)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(885)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(959)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(889)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(962)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(900)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(967)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(902)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(969)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(936)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(984)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(938)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(985)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(940)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(987)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(947)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(996)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(950)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1000)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(955)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1007)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(968)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1014)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(978)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1023)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(981)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1027)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(986)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1034)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(991)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1040)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(994)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1044)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(997)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1047)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(998)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1048)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1001)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1051)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1018)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1063)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1021)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1067)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1024)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1070)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1025)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1071)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1028)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1074)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1038)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1082)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1041)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1085)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1042)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1086)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1045)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1089)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1049)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1092)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1058)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1096)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1061)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1099)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1064)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1065)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1103)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1068)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1106)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1072)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1080)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1083)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1087)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1097)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1133)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1124)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1138)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*Array::add*/;
-    variable65 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(0)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(14)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(25)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(100)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(30)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(138)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(140)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(33)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(141)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(34)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(35)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(143)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(41)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(166)) /*AbstractArray::add*/;
+    ((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(170)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(188)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(65)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(190)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(70)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(200)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(80)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(102)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(225)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(226)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(104)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(227)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(105)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(228)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(111)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(230)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(112)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(231)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(261)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(262)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(147)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(263)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(148)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(264)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(150)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(265)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(171)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(292)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(172)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(293)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(179)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(298)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(185)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(315)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(189)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(318)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(191)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(320)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(192)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(321)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(197)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(324)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(223)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(343)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(234)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(353)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(235)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(354)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(236)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(355)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(237)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(356)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(238)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(357)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(239)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(358)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(240)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(359)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(241)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(360)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(242)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(361)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(243)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(362)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(244)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(363)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(245)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(364)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(246)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(365)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(247)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(366)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(248)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(367)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(249)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(368)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(250)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(369)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(252)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(371)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(255)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(374)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(256)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(375)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(258)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(377)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(259)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(378)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(260)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(379)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(267)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(385)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(268)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(386)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(269)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(387)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(270)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(388)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(271)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(389)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(272)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(390)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(273)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(391)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(274)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(392)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(275)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(393)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(276)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(394)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(277)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(395)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(278)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(396)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(279)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(397)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(280)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(398)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(281)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(399)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(282)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(400)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(283)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(401)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(291)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(404)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(327)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(425)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(344)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(436)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(350)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(440)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(376)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(467)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(380)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(471)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(402)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(492)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(403)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(493)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(411)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(502)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(412)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(504)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(415)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(510)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(417)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(512)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(419)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(515)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(424)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(520)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(435)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(523)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(437)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(525)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(438)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(526)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(458)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(530)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(461)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(533)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(462)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(536)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(470)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(567)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(495)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(573)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(496)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(574)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(506)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(582)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(507)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(584)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(511)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(595)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(524)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(603)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(534)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(611)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(537)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(616)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(543)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(622)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(545)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(624)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(556)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(628)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(568)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(635)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(571)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(639)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(579)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(674)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(585)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(683)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(586)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(686)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(587)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(688)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(596)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(703)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(604)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(708)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(607)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(710)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(612)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(716)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(613)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(717)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(629)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(726)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(636)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(732)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(641)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(735)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(643)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(737)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(644)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(738)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(645)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(739)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(646)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(740)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(653)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(743)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(662)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(746)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(672)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(765)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(675)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(768)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(679)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(772)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(680)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(774)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(687)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(781)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(701)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(804)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(707)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(807)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(713)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(810)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(718)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(815)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(719)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(816)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(723)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(820)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(724)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(821)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(731)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(827)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(747)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(839)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(748)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(840)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(749)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(841)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(750)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(842)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(751)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(843)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(752)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(844)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(753)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(845)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(754)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(846)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(755)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(847)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(756)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(848)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(757)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(849)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(758)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(850)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(759)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(851)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(760)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(852)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(761)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(853)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(762)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(854)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(763)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(855)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(770)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(858)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(773)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(861)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(775)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(863)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(776)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(864)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(803)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(892)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(805)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(894)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(806)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(895)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(809)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(897)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(811)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(899)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(812)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(900)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(817)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(904)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(829)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(913)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(865)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(940)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(878)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(954)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(887)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(966)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(889)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(967)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(891)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(969)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(896)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(973)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(901)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(977)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(912)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(982)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(914)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(984)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(933)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(986)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(949)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1000)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(951)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1001)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(953)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1003)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(960)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1012)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(963)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1016)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(968)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1023)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(983)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1030)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(994)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1040)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(997)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1044)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1002)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1051)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1007)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1057)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1010)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1061)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1013)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1064)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1014)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1065)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1017)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1068)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1032)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1077)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1035)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1081)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1038)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1085)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1041)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1088)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1042)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1089)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1045)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1092)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1055)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1100)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1058)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1059)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1104)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1062)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1107)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1066)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1110)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1075)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1079)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1118)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1082)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1121)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1083)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1086)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1090)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1098)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1132)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1101)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1135)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1105)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1138)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1115)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1116)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1143)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1123)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1149)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1153)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1141)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable64,COLOR_abstract_collection___SimpleCollection___add))(variable64,  TAG_Int(1156)) /*AbstractArray::add*/;
+    ((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]*/
     variable66 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable65,COLOR_abstract_collection___SimpleCollection___add))(variable65, variable66) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable65,COLOR_abstract_collection___SimpleCollection___add))(variable65,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*Array::add*/;
-    variable66 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable67 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66, variable67) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(822)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(832)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable66,COLOR_abstract_collection___SimpleCollection___add))(variable66,  TAG_Int(907)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*Array::add*/;
-    variable67 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable68 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67, variable68) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67,  TAG_Int(656)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67,  TAG_Int(1136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable67,COLOR_abstract_collection___SimpleCollection___add))(variable67,  TAG_Int(1142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*Array::add*/;
-    variable68 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable69 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable68,COLOR_abstract_collection___SimpleCollection___add))(variable68, variable69) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable68,COLOR_abstract_collection___SimpleCollection___add))(variable68,  TAG_Int(657)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*Array::add*/;
-    variable69 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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]*/
     variable70 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69, variable70) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(658)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(730)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(820)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(829)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(904)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(830)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(905)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*Array::add*/;
-    variable70 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(738)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(830)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(839)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable69,COLOR_abstract_collection___SimpleCollection___add))(variable69,  TAG_Int(916)) /*AbstractArray::add*/;
+    ((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]*/
     variable71 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70, variable71) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable70,COLOR_abstract_collection___SimpleCollection___add))(variable70,  TAG_Int(659)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*Array::add*/;
-    variable71 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+    ((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]*/
     variable72 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71, variable72) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(660)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(831)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(906)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(835)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(910)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(836)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(911)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(837)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(912)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(838)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(913)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(839)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(914)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(840)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(915)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(841)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(916)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*Array::add*/;
-    variable72 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(841)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(918)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(845)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(922)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(846)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(923)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(847)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(924)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(848)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(925)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(849)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(926)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(850)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable71,COLOR_abstract_collection___SimpleCollection___add))(variable71,  TAG_Int(927)) /*AbstractArray::add*/;
+    ((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]*/
     variable73 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72, variable73) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(661)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(833)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(908)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(834)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(909)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*Array::add*/;
-    variable73 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(843)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable72,COLOR_abstract_collection___SimpleCollection___add))(variable72,  TAG_Int(920)) /*AbstractArray::add*/;
+    ((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]*/
     variable74 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73, variable74) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(662)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(732)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(823)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(735)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(825)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(842)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(917)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(843)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(918)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(844)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(919)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*Array::add*/;
-    variable74 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(740)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(833)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(743)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(835)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(852)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(929)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(853)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable73,COLOR_abstract_collection___SimpleCollection___add))(variable73,  TAG_Int(930)) /*AbstractArray::add*/;
+    ((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]*/
     variable75 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74, variable75) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable74,COLOR_abstract_collection___SimpleCollection___add))(variable74,  TAG_Int(663)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*Array::add*/;
-    variable75 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable76 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75, variable76) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable75,COLOR_abstract_collection___SimpleCollection___add))(variable75,  TAG_Int(664)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*Array::add*/;
-    variable76 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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]*/
     variable77 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76, variable77) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(614)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(717)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(812)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(896)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(966)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(1012)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(1057)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*Array::add*/;
-    variable77 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(725)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(822)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(908)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable76,COLOR_abstract_collection___SimpleCollection___add))(variable76,  TAG_Int(981)) /*AbstractArray::add*/;
+    ((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]*/
     variable78 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77, variable78) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(615)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(466)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(557)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(895)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(965)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*Array::add*/;
-    variable78 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(468)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable77,COLOR_abstract_collection___SimpleCollection___add))(variable77,  TAG_Int(561)) /*AbstractArray::add*/;
+    ((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]*/
     variable79 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78, variable79) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable78,COLOR_abstract_collection___SimpleCollection___add))(variable78,  TAG_Int(558)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*Array::add*/;
-    variable79 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable80 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79, variable80) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable79,COLOR_abstract_collection___SimpleCollection___add))(variable79,  TAG_Int(559)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*Array::add*/;
-    variable80 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable81 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80, variable81) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable80,COLOR_abstract_collection___SimpleCollection___add))(variable80,  TAG_Int(560)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*Array::add*/;
-    variable81 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable82 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81, variable82) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable81,COLOR_abstract_collection___SimpleCollection___add))(variable81,  TAG_Int(561)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*Array::add*/;
-    variable82 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable83 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82, variable83) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(347)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(356)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable82,COLOR_abstract_collection___SimpleCollection___add))(variable82,  TAG_Int(443)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*Array::add*/;
-    variable83 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable84 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83, variable84) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(959)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable83,COLOR_abstract_collection___SimpleCollection___add))(variable83,  TAG_Int(1010)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*Array::add*/;
-    variable84 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable85 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84, variable85) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable84,COLOR_abstract_collection___SimpleCollection___add))(variable84,  TAG_Int(124)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*Array::add*/;
-    variable85 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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]*/
     variable86 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85, variable86) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(125)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(226)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(345)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(353)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(440)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(354)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(441)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*Array::add*/;
-    variable86 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(226)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(345)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(353)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable85,COLOR_abstract_collection___SimpleCollection___add))(variable85,  TAG_Int(441)) /*AbstractArray::add*/;
+    ((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]*/
     variable87 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86, variable87) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable86,COLOR_abstract_collection___SimpleCollection___add))(variable86,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*Array::add*/;
-    variable87 = NEW_array___Array___with_capacity(TAG_Int(18)); /*new Array[Int]*/
+    ((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]*/
     variable88 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87, variable88) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(127)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(355)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(442)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(359)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(446)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(360)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(447)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(361)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(448)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(362)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(449)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(363)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(450)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(364)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(451)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(365)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(452)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*Array::add*/;
-    variable88 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(355)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(443)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(359)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(447)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(360)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(448)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(361)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(449)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(362)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(450)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(363)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(451)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(364)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable87,COLOR_abstract_collection___SimpleCollection___add))(variable87,  TAG_Int(452)) /*AbstractArray::add*/;
+    ((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]*/
     variable89 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88, variable89) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(128)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(357)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(444)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(358)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(445)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*Array::add*/;
-    variable89 = NEW_array___Array___with_capacity(TAG_Int(12)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(357)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable88,COLOR_abstract_collection___SimpleCollection___add))(variable88,  TAG_Int(445)) /*AbstractArray::add*/;
+    ((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]*/
     variable90 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89, variable90) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(228)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(348)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(231)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(351)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(366)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(453)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(367)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(454)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(368)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(455)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*Array::add*/;
-    variable90 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(228)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(348)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(231)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(351)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(366)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(454)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(367)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable89,COLOR_abstract_collection___SimpleCollection___add))(variable89,  TAG_Int(455)) /*AbstractArray::add*/;
+    ((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]*/
     variable91 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90, variable91) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable90,COLOR_abstract_collection___SimpleCollection___add))(variable90,  TAG_Int(130)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*Array::add*/;
-    variable91 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable92 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91, variable92) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable91,COLOR_abstract_collection___SimpleCollection___add))(variable91,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*Array::add*/;
-    variable92 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable93 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable92,COLOR_abstract_collection___SimpleCollection___add))(variable92, variable93) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*Array::add*/;
-    variable93 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable94 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable93,COLOR_abstract_collection___SimpleCollection___add))(variable93, variable94) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*Array::add*/;
-    variable94 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable95 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable94,COLOR_abstract_collection___SimpleCollection___add))(variable94, variable95) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*Array::add*/;
-    variable95 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable96 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable95,COLOR_abstract_collection___SimpleCollection___add))(variable95, variable96) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*Array::add*/;
-    variable96 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable97 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable96,COLOR_abstract_collection___SimpleCollection___add))(variable96, variable97) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*Array::add*/;
-    variable97 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable98 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable97,COLOR_abstract_collection___SimpleCollection___add))(variable97, variable98) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*Array::add*/;
-    variable98 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable99 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable98,COLOR_abstract_collection___SimpleCollection___add))(variable98, variable99) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*Array::add*/;
-    variable99 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable100 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable99,COLOR_abstract_collection___SimpleCollection___add))(variable99, variable100) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*Array::add*/;
-    variable100 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable101 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable100,COLOR_abstract_collection___SimpleCollection___add))(variable100, variable101) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*Array::add*/;
-    variable101 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable102 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable101,COLOR_abstract_collection___SimpleCollection___add))(variable101, variable102) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*Array::add*/;
-    variable102 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable103 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable102,COLOR_abstract_collection___SimpleCollection___add))(variable102, variable103) /*Array::add*/;
+    ((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) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*Array::add*/;
-    variable103 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable104 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103, variable104) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable103,COLOR_abstract_collection___SimpleCollection___add))(variable103,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*Array::add*/;
-    variable104 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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]*/
     variable105 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104, variable105) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*Array::add*/;
-    variable105 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable104,COLOR_abstract_collection___SimpleCollection___add))(variable104,  TAG_Int(80)) /*AbstractArray::add*/;
+    ((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]*/
     variable106 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105, variable106) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(509)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(460)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(533)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(505)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(581)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(530)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(606)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*Array::add*/;
-    variable106 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(462)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(537)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(507)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable105,COLOR_abstract_collection___SimpleCollection___add))(variable105,  TAG_Int(585)) /*AbstractArray::add*/;
+    ((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]*/
     variable107 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106, variable107) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable106,COLOR_abstract_collection___SimpleCollection___add))(variable106,  TAG_Int(765)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*Array::add*/;
-    variable107 = NEW_array___Array___with_capacity(TAG_Int(16)); /*new Array[Int]*/
+    ((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]*/
     variable108 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107, variable108) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(681)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(607)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(710)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(674)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(767)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(695)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(797)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(705)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(801)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(711)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(807)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(768)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(855)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(802)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(889)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*Array::add*/;
-    variable108 = NEW_array___Array___with_capacity(TAG_Int(16)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(613)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(718)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(680)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(775)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(701)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(805)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(713)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(811)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(719)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(817)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(776)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable107,COLOR_abstract_collection___SimpleCollection___add))(variable107,  TAG_Int(865)) /*AbstractArray::add*/;
+    ((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]*/
     variable109 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108, variable109) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(88)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(212)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(206)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(331)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(209)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(334)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(213)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(337)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(216)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(340)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(332)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(427)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(338)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(431)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*Array::add*/;
-    variable109 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(88)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(212)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(206)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(331)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(209)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(334)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(213)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(337)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(216)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(340)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(332)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable108,COLOR_abstract_collection___SimpleCollection___add))(variable108,  TAG_Int(428)) /*AbstractArray::add*/;
+    ((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]*/
     variable110 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109, variable110) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable109,COLOR_abstract_collection___SimpleCollection___add))(variable109,  TAG_Int(669)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*Array::add*/;
-    variable110 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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]*/
     variable111 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110, variable111) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable110,COLOR_abstract_collection___SimpleCollection___add))(variable110,  TAG_Int(632)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*Array::add*/;
-    variable111 = NEW_array___Array___with_capacity(TAG_Int(8)); /*new Array[Int]*/
+    ((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]*/
     variable112 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111, variable112) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(189)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(254)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(373)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(625)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(721)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(714)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(809)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*Array::add*/;
-    variable112 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(254)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(373)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(631)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable111,COLOR_abstract_collection___SimpleCollection___add))(variable111,  TAG_Int(729)) /*AbstractArray::add*/;
+    ((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]*/
     variable113 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112, variable113) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable112,COLOR_abstract_collection___SimpleCollection___add))(variable112,  TAG_Int(199)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*Array::add*/;
-    variable113 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+    ((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]*/
     variable114 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113, variable114) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(496)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(439)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(525)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(520)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(597)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*Array::add*/;
-    variable114 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[Int]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(440)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable113,COLOR_abstract_collection___SimpleCollection___add))(variable113,  TAG_Int(528)) /*AbstractArray::add*/;
+    ((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]*/
     variable115 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114, variable115) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable114,COLOR_abstract_collection___SimpleCollection___add))(variable114,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*Array::add*/;
-    variable115 = NEW_array___Array___with_capacity(TAG_Int(4)); /*new Array[Int]*/
+    ((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]*/
     variable116 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115, variable116) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable115,COLOR_abstract_collection___SimpleCollection___add))(variable115,  TAG_Int(76)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*Array::add*/;
-    variable116 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Int]*/
+    ((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]*/
     variable117 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116, variable117) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(86)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(76)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(205)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*Array::add*/;
-    once_value_variable0_1147 = variable0;
-    once_bool_variable0_1147 = true;
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(86)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(76)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable116,COLOR_abstract_collection___SimpleCollection___add))(variable116,  TAG_Int(205)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*AbstractArray::add*/;
+    once_value_variable0_1168 = variable0;
+    once_bool_variable0_1168 = true;
   }
-  ATTR_parser_tables___Parser____goto_table( self) /*Parser::_goto_table*/ = variable0;
+  ATTR_parser_tables___ParserTable____goto_table( self) /*ParserTable::_goto_table*/ = variable0;
   tracehead = trace.prev;
   return;
 }
-val_t parser_tables___Parser___error_messages(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___error_messages, 14456};
+val_t parser_tables___ParserTable___error_messages(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 14647, LOCATE_parser_tables___ParserTable___error_messages};
   val_t variable0;
-  static val_t once_value_variable0_1149; static int once_bool_variable0_1149;
+  static val_t once_value_variable0_1170; static int once_bool_variable0_1170;
     val_t variable1;
     val_t variable2;
     val_t variable3;
@@ -38853,1499 +39351,1529 @@ val_t parser_tables___Parser___error_messages(val_t  self) {
     val_t variable160;
     val_t variable161;
     val_t variable162;
+    val_t variable163;
+    val_t variable164;
+    val_t variable165;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_1149) variable0 = once_value_variable0_1149;
+  if (once_bool_variable0_1170) variable0 = once_value_variable0_1170;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(162)); /*new Array[String]*/
+    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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::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', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string, EOF"), TAG_Int(509)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/;
+    ((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*/
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*Array::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', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string, EOF"), TAG_Int(504)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*Array::add*/;
+    ((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*/
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*Array::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', '(', ')', '[', ']', ',', '..', '-', classid, id, attrid, number, float, char, string, start string, mid string, end string"), TAG_Int(406)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*Array::add*/;
+    ((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*/
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*Array::add*/;
-    variable69 = NEW_string___String___with_native(BOX_NativeString("expecting: eol, comment, 'init', id, attrid"), TAG_Int(43)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*Array::add*/;
+    ((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*/
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*Array::add*/;
-    variable87 = NEW_string___String___with_native(BOX_NativeString("expecting: 'init', id, attrid"), TAG_Int(29)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*Array::add*/;
+    ((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*/
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*Array::add*/;
+    ((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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*Array::add*/;
-    variable101 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*Array::add*/;
-    variable102 = NEW_string___String___with_native(BOX_NativeString("expecting: ')', ','"), TAG_Int(19)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*Array::add*/;
-    variable103 = NEW_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, variable103) /*Array::add*/;
-    variable104 = NEW_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, variable104) /*Array::add*/;
-    variable105 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*Array::add*/;
-    variable106 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*Array::add*/;
-    variable107 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*Array::add*/;
-    variable108 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*Array::add*/;
-    variable109 = NEW_string___String___with_native(BOX_NativeString("expecting: ')', ']', ','"), TAG_Int(24)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*Array::add*/;
-    variable110 = NEW_string___String___with_native(BOX_NativeString("expecting: ']', ','"), TAG_Int(19)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*Array::add*/;
-    variable111 = NEW_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, variable111) /*Array::add*/;
-    variable112 = NEW_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, variable112) /*Array::add*/;
-    variable113 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*Array::add*/;
-    variable114 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*Array::add*/;
-    variable115 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*Array::add*/;
-    variable116 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*Array::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(228)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*Array::add*/;
-    variable118 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*Array::add*/;
-    variable119 = NEW_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, variable119) /*Array::add*/;
-    variable120 = NEW_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, variable120) /*Array::add*/;
-    variable121 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*Array::add*/;
-    variable122 = NEW_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, variable122) /*Array::add*/;
-    variable123 = NEW_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, variable123) /*Array::add*/;
-    variable124 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*Array::add*/;
-    variable125 = NEW_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, variable125) /*Array::add*/;
-    variable126 = NEW_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, variable126) /*Array::add*/;
-    variable127 = NEW_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, variable127) /*Array::add*/;
-    variable128 = NEW_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, variable128) /*Array::add*/;
-    variable129 = NEW_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, variable129) /*Array::add*/;
-    variable130 = NEW_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, variable130) /*Array::add*/;
-    variable131 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*Array::add*/;
-    variable132 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*Array::add*/;
-    variable133 = NEW_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, variable133) /*Array::add*/;
-    variable134 = NEW_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, variable134) /*Array::add*/;
-    variable135 = NEW_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, variable135) /*Array::add*/;
-    variable136 = NEW_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, variable136) /*Array::add*/;
-    variable137 = NEW_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, variable137) /*Array::add*/;
-    variable138 = NEW_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, variable138) /*Array::add*/;
-    variable139 = NEW_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, variable139) /*Array::add*/;
-    variable140 = NEW_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, variable140) /*Array::add*/;
-    variable141 = NEW_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, variable141) /*Array::add*/;
-    variable142 = NEW_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, variable142) /*Array::add*/;
-    variable143 = NEW_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, variable143) /*Array::add*/;
-    variable144 = NEW_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, variable144) /*Array::add*/;
-    variable145 = NEW_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, variable145) /*Array::add*/;
-    variable146 = NEW_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, variable146) /*Array::add*/;
-    variable147 = NEW_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, variable147) /*Array::add*/;
-    variable148 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*Array::add*/;
-    variable149 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*Array::add*/;
-    variable150 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*Array::add*/;
-    variable151 = NEW_string___String___with_native(BOX_NativeString("expecting: '[', ']'"), TAG_Int(19)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*Array::add*/;
-    variable152 = NEW_string___String___with_native(BOX_NativeString("expecting: ':'"), TAG_Int(14)); /*new String*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*Array::add*/;
-    variable153 = NEW_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, variable153) /*Array::add*/;
-    variable154 = NEW_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, variable154) /*Array::add*/;
-    variable155 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*Array::add*/;
-    variable156 = NEW_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, variable156) /*Array::add*/;
-    variable157 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*Array::add*/;
-    variable158 = NEW_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, variable158) /*Array::add*/;
-    variable159 = NEW_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, variable159) /*Array::add*/;
-    variable160 = 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*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*Array::add*/;
-    variable161 = NEW_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, variable161) /*Array::add*/;
-    variable162 = NEW_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, variable162) /*Array::add*/;
-    once_value_variable0_1149 = variable0;
-    once_bool_variable0_1149 = true;
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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*/
+    ((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;
   }
-  goto return_label1148;
-  return_label1148: while(false);
+  goto return_label1169;
+  return_label1169: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-val_t parser_tables___Parser___errors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_parser_tables___Parser___errors, 14624};
+val_t parser_tables___ParserTable___errors(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_parser_tables, 14818, LOCATE_parser_tables___ParserTable___errors};
   val_t variable0;
-  static val_t once_value_variable0_1151; static int once_bool_variable0_1151;
+  static val_t once_value_variable0_1172; static int once_bool_variable0_1172;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_1151) variable0 = once_value_variable0_1151;
+  if (once_bool_variable0_1172) variable0 = once_value_variable0_1172;
   else {
-    variable0 = NEW_array___Array___with_capacity(TAG_Int(1144)); /*new Array[Int]*/
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(0)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(58)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(1)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(81)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(85)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(88)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(89)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(92)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(93)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(94)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(85)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(95)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(100)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(98)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(89)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(121)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(124)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(127)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(119)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(89)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(130)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(136)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(138)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(127)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(141)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(130)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(130)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(141)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(153)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(153)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(156)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(159)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(161)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*Array::add*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*Array::add*/;
-    once_value_variable0_1151 = variable0;
-    once_bool_variable0_1151 = true;
+    variable0 = NEW_array___Array___with_capacity(TAG_Int(1165)); /*new Array[E]*/
+    ((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*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(6)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(7)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(8)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*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*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(9)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(10)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(14)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(17)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(19)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(25)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(27)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*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(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(34)) /*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*/;
+    ((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(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(35)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(36)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(42)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(45)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(49)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(50)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(54)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(56)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(58)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(61)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(62)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(63)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(64)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(66)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(24)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*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(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(47)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(69)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(41)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(38)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(39)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(74)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(76)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(52)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(53)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(79)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(80)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(81)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(33)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(82)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(85)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(28)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(70)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(73)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(88)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(89)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(71)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(72)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(92)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(93)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(77)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(78)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(94)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(85)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(95)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(98)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(13)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(100)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(101)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(87)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(11)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(44)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(103)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(46)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(100)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(98)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(104)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(55)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(106)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(57)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(3)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(111)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(110)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(26)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(31)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(2)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(89)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(112)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(117)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(118)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(30)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(121)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(51)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(107)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(123)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(124)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(126)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(127)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(102)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(121)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(89)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(124)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(130)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(135)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(32)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(138)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(140)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(141)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(127)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(129)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(114)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(149)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(109)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(152)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(132)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(133)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(68)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(143)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(65)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(147)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(153)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(156)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(37)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(156)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(116)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(157)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(119)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(75)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(150)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(151)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(86)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(90)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(97)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(83)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(128)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(84)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(153)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(155)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(159)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(125)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(48)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(105)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(20)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(91)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(12)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(137)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(160)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(139)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(100)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(99)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(113)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(145)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(96)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(29)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(161)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(23)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(162)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(40)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(142)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(16)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(115)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(144)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(161)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(67)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(124)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(43)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(4)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(164)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(131)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(22)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(146)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(124)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(15)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(148)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(59)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(154)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(163)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(120)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(156)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(158)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(108)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(60)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(18)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(122)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(134)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(21)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(136)) /*AbstractArray::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0,  TAG_Int(5)) /*AbstractArray::add*/;
+    once_value_variable0_1172 = variable0;
+    once_bool_variable0_1172 = true;
   }
-  goto return_label1150;
-  return_label1150: while(false);
+  goto return_label1171;
+  return_label1171: while(false);
   tracehead = trace.prev;
   return variable0;
 }
index 7aefd73..3b33055 100644 (file)
 /* This C header file is generated by NIT to compile modules and programs that requires parser_tables. */
-#ifndef parser_tables_3_sep
-#define parser_tables_3_sep
+#ifndef parser_tables_2_sep
+#define parser_tables_2_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
-extern const classtable_elt_t VFT_Parser[];
-#define LOCATE_parser_tables "parser_tables"
+extern const classtable_elt_t VFT_ParserTable[];
+#define LOCATE_parser_tables "./parser//parser_tables.nit"
 extern const int SFT_parser_tables[];
-#define ID_Parser SFT_parser_tables[0]
-#define COLOR_Parser SFT_parser_tables[1]
-#define COLOR_parser_tables___Parser____action_table SFT_parser_tables[2]
-#define COLOR_parser_tables___Parser____goto_table SFT_parser_tables[3]
-#define INIT_TABLE_POS_Parser SFT_parser_tables[4]
-#define COLOR_parser_tables___Parser___build_action_table SFT_parser_tables[5]
-#define COLOR_parser_tables___Parser___action_table_row1 SFT_parser_tables[6]
-#define COLOR_parser_tables___Parser___action_table_row2 SFT_parser_tables[7]
-#define COLOR_parser_tables___Parser___action_table_row3 SFT_parser_tables[8]
-#define COLOR_parser_tables___Parser___action_table_row4 SFT_parser_tables[9]
-#define COLOR_parser_tables___Parser___action_table_row5 SFT_parser_tables[10]
-#define COLOR_parser_tables___Parser___action_table_row6 SFT_parser_tables[11]
-#define COLOR_parser_tables___Parser___action_table_row7 SFT_parser_tables[12]
-#define COLOR_parser_tables___Parser___action_table_row8 SFT_parser_tables[13]
-#define COLOR_parser_tables___Parser___action_table_row9 SFT_parser_tables[14]
-#define COLOR_parser_tables___Parser___action_table_row10 SFT_parser_tables[15]
-#define COLOR_parser_tables___Parser___action_table_row11 SFT_parser_tables[16]
-#define COLOR_parser_tables___Parser___action_table_row12 SFT_parser_tables[17]
-#define COLOR_parser_tables___Parser___action_table_row13 SFT_parser_tables[18]
-#define COLOR_parser_tables___Parser___action_table_row14 SFT_parser_tables[19]
-#define COLOR_parser_tables___Parser___action_table_row15 SFT_parser_tables[20]
-#define COLOR_parser_tables___Parser___action_table_row16 SFT_parser_tables[21]
-#define COLOR_parser_tables___Parser___action_table_row17 SFT_parser_tables[22]
-#define COLOR_parser_tables___Parser___action_table_row18 SFT_parser_tables[23]
-#define COLOR_parser_tables___Parser___action_table_row19 SFT_parser_tables[24]
-#define COLOR_parser_tables___Parser___action_table_row20 SFT_parser_tables[25]
-#define COLOR_parser_tables___Parser___action_table_row21 SFT_parser_tables[26]
-#define COLOR_parser_tables___Parser___action_table_row22 SFT_parser_tables[27]
-#define COLOR_parser_tables___Parser___action_table_row23 SFT_parser_tables[28]
-#define COLOR_parser_tables___Parser___action_table_row24 SFT_parser_tables[29]
-#define COLOR_parser_tables___Parser___action_table_row25 SFT_parser_tables[30]
-#define COLOR_parser_tables___Parser___action_table_row26 SFT_parser_tables[31]
-#define COLOR_parser_tables___Parser___action_table_row27 SFT_parser_tables[32]
-#define COLOR_parser_tables___Parser___action_table_row28 SFT_parser_tables[33]
-#define COLOR_parser_tables___Parser___action_table_row29 SFT_parser_tables[34]
-#define COLOR_parser_tables___Parser___action_table_row30 SFT_parser_tables[35]
-#define COLOR_parser_tables___Parser___action_table_row31 SFT_parser_tables[36]
-#define COLOR_parser_tables___Parser___action_table_row32 SFT_parser_tables[37]
-#define COLOR_parser_tables___Parser___action_table_row33 SFT_parser_tables[38]
-#define COLOR_parser_tables___Parser___action_table_row34 SFT_parser_tables[39]
-#define COLOR_parser_tables___Parser___action_table_row35 SFT_parser_tables[40]
-#define COLOR_parser_tables___Parser___action_table_row36 SFT_parser_tables[41]
-#define COLOR_parser_tables___Parser___action_table_row37 SFT_parser_tables[42]
-#define COLOR_parser_tables___Parser___action_table_row38 SFT_parser_tables[43]
-#define COLOR_parser_tables___Parser___action_table_row39 SFT_parser_tables[44]
-#define COLOR_parser_tables___Parser___action_table_row40 SFT_parser_tables[45]
-#define COLOR_parser_tables___Parser___action_table_row41 SFT_parser_tables[46]
-#define COLOR_parser_tables___Parser___action_table_row42 SFT_parser_tables[47]
-#define COLOR_parser_tables___Parser___action_table_row43 SFT_parser_tables[48]
-#define COLOR_parser_tables___Parser___action_table_row44 SFT_parser_tables[49]
-#define COLOR_parser_tables___Parser___action_table_row45 SFT_parser_tables[50]
-#define COLOR_parser_tables___Parser___action_table_row46 SFT_parser_tables[51]
-#define COLOR_parser_tables___Parser___action_table_row47 SFT_parser_tables[52]
-#define COLOR_parser_tables___Parser___action_table_row48 SFT_parser_tables[53]
-#define COLOR_parser_tables___Parser___action_table_row49 SFT_parser_tables[54]
-#define COLOR_parser_tables___Parser___action_table_row50 SFT_parser_tables[55]
-#define COLOR_parser_tables___Parser___action_table_row51 SFT_parser_tables[56]
-#define COLOR_parser_tables___Parser___action_table_row52 SFT_parser_tables[57]
-#define COLOR_parser_tables___Parser___action_table_row53 SFT_parser_tables[58]
-#define COLOR_parser_tables___Parser___action_table_row54 SFT_parser_tables[59]
-#define COLOR_parser_tables___Parser___action_table_row55 SFT_parser_tables[60]
-#define COLOR_parser_tables___Parser___action_table_row56 SFT_parser_tables[61]
-#define COLOR_parser_tables___Parser___action_table_row57 SFT_parser_tables[62]
-#define COLOR_parser_tables___Parser___action_table_row58 SFT_parser_tables[63]
-#define COLOR_parser_tables___Parser___action_table_row59 SFT_parser_tables[64]
-#define COLOR_parser_tables___Parser___action_table_row60 SFT_parser_tables[65]
-#define COLOR_parser_tables___Parser___action_table_row61 SFT_parser_tables[66]
-#define COLOR_parser_tables___Parser___action_table_row62 SFT_parser_tables[67]
-#define COLOR_parser_tables___Parser___action_table_row63 SFT_parser_tables[68]
-#define COLOR_parser_tables___Parser___action_table_row64 SFT_parser_tables[69]
-#define COLOR_parser_tables___Parser___action_table_row65 SFT_parser_tables[70]
-#define COLOR_parser_tables___Parser___action_table_row66 SFT_parser_tables[71]
-#define COLOR_parser_tables___Parser___action_table_row67 SFT_parser_tables[72]
-#define COLOR_parser_tables___Parser___action_table_row68 SFT_parser_tables[73]
-#define COLOR_parser_tables___Parser___action_table_row69 SFT_parser_tables[74]
-#define COLOR_parser_tables___Parser___action_table_row70 SFT_parser_tables[75]
-#define COLOR_parser_tables___Parser___action_table_row71 SFT_parser_tables[76]
-#define COLOR_parser_tables___Parser___action_table_row72 SFT_parser_tables[77]
-#define COLOR_parser_tables___Parser___action_table_row73 SFT_parser_tables[78]
-#define COLOR_parser_tables___Parser___action_table_row74 SFT_parser_tables[79]
-#define COLOR_parser_tables___Parser___action_table_row75 SFT_parser_tables[80]
-#define COLOR_parser_tables___Parser___action_table_row76 SFT_parser_tables[81]
-#define COLOR_parser_tables___Parser___action_table_row77 SFT_parser_tables[82]
-#define COLOR_parser_tables___Parser___action_table_row78 SFT_parser_tables[83]
-#define COLOR_parser_tables___Parser___action_table_row79 SFT_parser_tables[84]
-#define COLOR_parser_tables___Parser___action_table_row80 SFT_parser_tables[85]
-#define COLOR_parser_tables___Parser___action_table_row81 SFT_parser_tables[86]
-#define COLOR_parser_tables___Parser___action_table_row82 SFT_parser_tables[87]
-#define COLOR_parser_tables___Parser___action_table_row83 SFT_parser_tables[88]
-#define COLOR_parser_tables___Parser___action_table_row84 SFT_parser_tables[89]
-#define COLOR_parser_tables___Parser___action_table_row85 SFT_parser_tables[90]
-#define COLOR_parser_tables___Parser___action_table_row86 SFT_parser_tables[91]
-#define COLOR_parser_tables___Parser___action_table_row87 SFT_parser_tables[92]
-#define COLOR_parser_tables___Parser___action_table_row88 SFT_parser_tables[93]
-#define COLOR_parser_tables___Parser___action_table_row89 SFT_parser_tables[94]
-#define COLOR_parser_tables___Parser___action_table_row90 SFT_parser_tables[95]
-#define COLOR_parser_tables___Parser___action_table_row91 SFT_parser_tables[96]
-#define COLOR_parser_tables___Parser___action_table_row92 SFT_parser_tables[97]
-#define COLOR_parser_tables___Parser___action_table_row93 SFT_parser_tables[98]
-#define COLOR_parser_tables___Parser___action_table_row94 SFT_parser_tables[99]
-#define COLOR_parser_tables___Parser___action_table_row95 SFT_parser_tables[100]
-#define COLOR_parser_tables___Parser___action_table_row96 SFT_parser_tables[101]
-#define COLOR_parser_tables___Parser___action_table_row97 SFT_parser_tables[102]
-#define COLOR_parser_tables___Parser___action_table_row98 SFT_parser_tables[103]
-#define COLOR_parser_tables___Parser___action_table_row99 SFT_parser_tables[104]
-#define COLOR_parser_tables___Parser___action_table_row100 SFT_parser_tables[105]
-#define COLOR_parser_tables___Parser___action_table_row101 SFT_parser_tables[106]
-#define COLOR_parser_tables___Parser___action_table_row102 SFT_parser_tables[107]
-#define COLOR_parser_tables___Parser___action_table_row103 SFT_parser_tables[108]
-#define COLOR_parser_tables___Parser___action_table_row104 SFT_parser_tables[109]
-#define COLOR_parser_tables___Parser___action_table_row105 SFT_parser_tables[110]
-#define COLOR_parser_tables___Parser___action_table_row106 SFT_parser_tables[111]
-#define COLOR_parser_tables___Parser___action_table_row107 SFT_parser_tables[112]
-#define COLOR_parser_tables___Parser___action_table_row108 SFT_parser_tables[113]
-#define COLOR_parser_tables___Parser___action_table_row109 SFT_parser_tables[114]
-#define COLOR_parser_tables___Parser___action_table_row110 SFT_parser_tables[115]
-#define COLOR_parser_tables___Parser___action_table_row111 SFT_parser_tables[116]
-#define COLOR_parser_tables___Parser___action_table_row112 SFT_parser_tables[117]
-#define COLOR_parser_tables___Parser___action_table_row113 SFT_parser_tables[118]
-#define COLOR_parser_tables___Parser___action_table_row114 SFT_parser_tables[119]
-#define COLOR_parser_tables___Parser___action_table_row115 SFT_parser_tables[120]
-#define COLOR_parser_tables___Parser___action_table_row116 SFT_parser_tables[121]
-#define COLOR_parser_tables___Parser___action_table_row117 SFT_parser_tables[122]
-#define COLOR_parser_tables___Parser___action_table_row118 SFT_parser_tables[123]
-#define COLOR_parser_tables___Parser___action_table_row119 SFT_parser_tables[124]
-#define COLOR_parser_tables___Parser___action_table_row120 SFT_parser_tables[125]
-#define COLOR_parser_tables___Parser___action_table_row121 SFT_parser_tables[126]
-#define COLOR_parser_tables___Parser___action_table_row122 SFT_parser_tables[127]
-#define COLOR_parser_tables___Parser___action_table_row123 SFT_parser_tables[128]
-#define COLOR_parser_tables___Parser___action_table_row124 SFT_parser_tables[129]
-#define COLOR_parser_tables___Parser___action_table_row125 SFT_parser_tables[130]
-#define COLOR_parser_tables___Parser___action_table_row126 SFT_parser_tables[131]
-#define COLOR_parser_tables___Parser___action_table_row127 SFT_parser_tables[132]
-#define COLOR_parser_tables___Parser___action_table_row128 SFT_parser_tables[133]
-#define COLOR_parser_tables___Parser___action_table_row129 SFT_parser_tables[134]
-#define COLOR_parser_tables___Parser___action_table_row130 SFT_parser_tables[135]
-#define COLOR_parser_tables___Parser___action_table_row131 SFT_parser_tables[136]
-#define COLOR_parser_tables___Parser___action_table_row132 SFT_parser_tables[137]
-#define COLOR_parser_tables___Parser___action_table_row133 SFT_parser_tables[138]
-#define COLOR_parser_tables___Parser___action_table_row134 SFT_parser_tables[139]
-#define COLOR_parser_tables___Parser___action_table_row135 SFT_parser_tables[140]
-#define COLOR_parser_tables___Parser___action_table_row136 SFT_parser_tables[141]
-#define COLOR_parser_tables___Parser___action_table_row137 SFT_parser_tables[142]
-#define COLOR_parser_tables___Parser___action_table_row138 SFT_parser_tables[143]
-#define COLOR_parser_tables___Parser___action_table_row139 SFT_parser_tables[144]
-#define COLOR_parser_tables___Parser___action_table_row140 SFT_parser_tables[145]
-#define COLOR_parser_tables___Parser___action_table_row141 SFT_parser_tables[146]
-#define COLOR_parser_tables___Parser___action_table_row142 SFT_parser_tables[147]
-#define COLOR_parser_tables___Parser___action_table_row143 SFT_parser_tables[148]
-#define COLOR_parser_tables___Parser___action_table_row144 SFT_parser_tables[149]
-#define COLOR_parser_tables___Parser___action_table_row145 SFT_parser_tables[150]
-#define COLOR_parser_tables___Parser___action_table_row146 SFT_parser_tables[151]
-#define COLOR_parser_tables___Parser___action_table_row147 SFT_parser_tables[152]
-#define COLOR_parser_tables___Parser___action_table_row148 SFT_parser_tables[153]
-#define COLOR_parser_tables___Parser___action_table_row149 SFT_parser_tables[154]
-#define COLOR_parser_tables___Parser___action_table_row150 SFT_parser_tables[155]
-#define COLOR_parser_tables___Parser___action_table_row151 SFT_parser_tables[156]
-#define COLOR_parser_tables___Parser___action_table_row152 SFT_parser_tables[157]
-#define COLOR_parser_tables___Parser___action_table_row153 SFT_parser_tables[158]
-#define COLOR_parser_tables___Parser___action_table_row154 SFT_parser_tables[159]
-#define COLOR_parser_tables___Parser___action_table_row155 SFT_parser_tables[160]
-#define COLOR_parser_tables___Parser___action_table_row156 SFT_parser_tables[161]
-#define COLOR_parser_tables___Parser___action_table_row157 SFT_parser_tables[162]
-#define COLOR_parser_tables___Parser___action_table_row158 SFT_parser_tables[163]
-#define COLOR_parser_tables___Parser___action_table_row159 SFT_parser_tables[164]
-#define COLOR_parser_tables___Parser___action_table_row160 SFT_parser_tables[165]
-#define COLOR_parser_tables___Parser___action_table_row161 SFT_parser_tables[166]
-#define COLOR_parser_tables___Parser___action_table_row162 SFT_parser_tables[167]
-#define COLOR_parser_tables___Parser___action_table_row163 SFT_parser_tables[168]
-#define COLOR_parser_tables___Parser___action_table_row164 SFT_parser_tables[169]
-#define COLOR_parser_tables___Parser___action_table_row165 SFT_parser_tables[170]
-#define COLOR_parser_tables___Parser___action_table_row166 SFT_parser_tables[171]
-#define COLOR_parser_tables___Parser___action_table_row167 SFT_parser_tables[172]
-#define COLOR_parser_tables___Parser___action_table_row168 SFT_parser_tables[173]
-#define COLOR_parser_tables___Parser___action_table_row169 SFT_parser_tables[174]
-#define COLOR_parser_tables___Parser___action_table_row170 SFT_parser_tables[175]
-#define COLOR_parser_tables___Parser___action_table_row171 SFT_parser_tables[176]
-#define COLOR_parser_tables___Parser___action_table_row172 SFT_parser_tables[177]
-#define COLOR_parser_tables___Parser___action_table_row173 SFT_parser_tables[178]
-#define COLOR_parser_tables___Parser___action_table_row174 SFT_parser_tables[179]
-#define COLOR_parser_tables___Parser___action_table_row175 SFT_parser_tables[180]
-#define COLOR_parser_tables___Parser___action_table_row176 SFT_parser_tables[181]
-#define COLOR_parser_tables___Parser___action_table_row177 SFT_parser_tables[182]
-#define COLOR_parser_tables___Parser___action_table_row178 SFT_parser_tables[183]
-#define COLOR_parser_tables___Parser___action_table_row179 SFT_parser_tables[184]
-#define COLOR_parser_tables___Parser___action_table_row180 SFT_parser_tables[185]
-#define COLOR_parser_tables___Parser___action_table_row181 SFT_parser_tables[186]
-#define COLOR_parser_tables___Parser___action_table_row182 SFT_parser_tables[187]
-#define COLOR_parser_tables___Parser___action_table_row183 SFT_parser_tables[188]
-#define COLOR_parser_tables___Parser___action_table_row184 SFT_parser_tables[189]
-#define COLOR_parser_tables___Parser___action_table_row185 SFT_parser_tables[190]
-#define COLOR_parser_tables___Parser___action_table_row186 SFT_parser_tables[191]
-#define COLOR_parser_tables___Parser___action_table_row187 SFT_parser_tables[192]
-#define COLOR_parser_tables___Parser___action_table_row188 SFT_parser_tables[193]
-#define COLOR_parser_tables___Parser___action_table_row189 SFT_parser_tables[194]
-#define COLOR_parser_tables___Parser___action_table_row190 SFT_parser_tables[195]
-#define COLOR_parser_tables___Parser___action_table_row191 SFT_parser_tables[196]
-#define COLOR_parser_tables___Parser___action_table_row192 SFT_parser_tables[197]
-#define COLOR_parser_tables___Parser___action_table_row193 SFT_parser_tables[198]
-#define COLOR_parser_tables___Parser___action_table_row194 SFT_parser_tables[199]
-#define COLOR_parser_tables___Parser___action_table_row195 SFT_parser_tables[200]
-#define COLOR_parser_tables___Parser___action_table_row196 SFT_parser_tables[201]
-#define COLOR_parser_tables___Parser___action_table_row197 SFT_parser_tables[202]
-#define COLOR_parser_tables___Parser___action_table_row198 SFT_parser_tables[203]
-#define COLOR_parser_tables___Parser___action_table_row199 SFT_parser_tables[204]
-#define COLOR_parser_tables___Parser___action_table_row200 SFT_parser_tables[205]
-#define COLOR_parser_tables___Parser___action_table_row201 SFT_parser_tables[206]
-#define COLOR_parser_tables___Parser___action_table_row202 SFT_parser_tables[207]
-#define COLOR_parser_tables___Parser___action_table_row203 SFT_parser_tables[208]
-#define COLOR_parser_tables___Parser___action_table_row204 SFT_parser_tables[209]
-#define COLOR_parser_tables___Parser___action_table_row205 SFT_parser_tables[210]
-#define COLOR_parser_tables___Parser___action_table_row206 SFT_parser_tables[211]
-#define COLOR_parser_tables___Parser___action_table_row207 SFT_parser_tables[212]
-#define COLOR_parser_tables___Parser___action_table_row208 SFT_parser_tables[213]
-#define COLOR_parser_tables___Parser___action_table_row209 SFT_parser_tables[214]
-#define COLOR_parser_tables___Parser___action_table_row210 SFT_parser_tables[215]
-#define COLOR_parser_tables___Parser___action_table_row211 SFT_parser_tables[216]
-#define COLOR_parser_tables___Parser___action_table_row212 SFT_parser_tables[217]
-#define COLOR_parser_tables___Parser___action_table_row213 SFT_parser_tables[218]
-#define COLOR_parser_tables___Parser___action_table_row214 SFT_parser_tables[219]
-#define COLOR_parser_tables___Parser___action_table_row215 SFT_parser_tables[220]
-#define COLOR_parser_tables___Parser___action_table_row216 SFT_parser_tables[221]
-#define COLOR_parser_tables___Parser___action_table_row217 SFT_parser_tables[222]
-#define COLOR_parser_tables___Parser___action_table_row218 SFT_parser_tables[223]
-#define COLOR_parser_tables___Parser___action_table_row219 SFT_parser_tables[224]
-#define COLOR_parser_tables___Parser___action_table_row220 SFT_parser_tables[225]
-#define COLOR_parser_tables___Parser___action_table_row221 SFT_parser_tables[226]
-#define COLOR_parser_tables___Parser___action_table_row222 SFT_parser_tables[227]
-#define COLOR_parser_tables___Parser___action_table_row223 SFT_parser_tables[228]
-#define COLOR_parser_tables___Parser___action_table_row224 SFT_parser_tables[229]
-#define COLOR_parser_tables___Parser___action_table_row225 SFT_parser_tables[230]
-#define COLOR_parser_tables___Parser___action_table_row226 SFT_parser_tables[231]
-#define COLOR_parser_tables___Parser___action_table_row227 SFT_parser_tables[232]
-#define COLOR_parser_tables___Parser___action_table_row228 SFT_parser_tables[233]
-#define COLOR_parser_tables___Parser___action_table_row229 SFT_parser_tables[234]
-#define COLOR_parser_tables___Parser___action_table_row230 SFT_parser_tables[235]
-#define COLOR_parser_tables___Parser___action_table_row231 SFT_parser_tables[236]
-#define COLOR_parser_tables___Parser___action_table_row232 SFT_parser_tables[237]
-#define COLOR_parser_tables___Parser___action_table_row233 SFT_parser_tables[238]
-#define COLOR_parser_tables___Parser___action_table_row234 SFT_parser_tables[239]
-#define COLOR_parser_tables___Parser___action_table_row235 SFT_parser_tables[240]
-#define COLOR_parser_tables___Parser___action_table_row236 SFT_parser_tables[241]
-#define COLOR_parser_tables___Parser___action_table_row237 SFT_parser_tables[242]
-#define COLOR_parser_tables___Parser___action_table_row238 SFT_parser_tables[243]
-#define COLOR_parser_tables___Parser___action_table_row239 SFT_parser_tables[244]
-#define COLOR_parser_tables___Parser___action_table_row240 SFT_parser_tables[245]
-#define COLOR_parser_tables___Parser___action_table_row241 SFT_parser_tables[246]
-#define COLOR_parser_tables___Parser___action_table_row242 SFT_parser_tables[247]
-#define COLOR_parser_tables___Parser___action_table_row243 SFT_parser_tables[248]
-#define COLOR_parser_tables___Parser___action_table_row244 SFT_parser_tables[249]
-#define COLOR_parser_tables___Parser___action_table_row245 SFT_parser_tables[250]
-#define COLOR_parser_tables___Parser___action_table_row246 SFT_parser_tables[251]
-#define COLOR_parser_tables___Parser___action_table_row247 SFT_parser_tables[252]
-#define COLOR_parser_tables___Parser___action_table_row248 SFT_parser_tables[253]
-#define COLOR_parser_tables___Parser___action_table_row249 SFT_parser_tables[254]
-#define COLOR_parser_tables___Parser___action_table_row250 SFT_parser_tables[255]
-#define COLOR_parser_tables___Parser___action_table_row251 SFT_parser_tables[256]
-#define COLOR_parser_tables___Parser___action_table_row252 SFT_parser_tables[257]
-#define COLOR_parser_tables___Parser___action_table_row253 SFT_parser_tables[258]
-#define COLOR_parser_tables___Parser___action_table_row254 SFT_parser_tables[259]
-#define COLOR_parser_tables___Parser___action_table_row255 SFT_parser_tables[260]
-#define COLOR_parser_tables___Parser___action_table_row256 SFT_parser_tables[261]
-#define COLOR_parser_tables___Parser___action_table_row257 SFT_parser_tables[262]
-#define COLOR_parser_tables___Parser___action_table_row258 SFT_parser_tables[263]
-#define COLOR_parser_tables___Parser___action_table_row259 SFT_parser_tables[264]
-#define COLOR_parser_tables___Parser___action_table_row260 SFT_parser_tables[265]
-#define COLOR_parser_tables___Parser___action_table_row261 SFT_parser_tables[266]
-#define COLOR_parser_tables___Parser___action_table_row262 SFT_parser_tables[267]
-#define COLOR_parser_tables___Parser___action_table_row263 SFT_parser_tables[268]
-#define COLOR_parser_tables___Parser___action_table_row264 SFT_parser_tables[269]
-#define COLOR_parser_tables___Parser___action_table_row265 SFT_parser_tables[270]
-#define COLOR_parser_tables___Parser___action_table_row266 SFT_parser_tables[271]
-#define COLOR_parser_tables___Parser___action_table_row267 SFT_parser_tables[272]
-#define COLOR_parser_tables___Parser___action_table_row268 SFT_parser_tables[273]
-#define COLOR_parser_tables___Parser___action_table_row269 SFT_parser_tables[274]
-#define COLOR_parser_tables___Parser___action_table_row270 SFT_parser_tables[275]
-#define COLOR_parser_tables___Parser___action_table_row271 SFT_parser_tables[276]
-#define COLOR_parser_tables___Parser___action_table_row272 SFT_parser_tables[277]
-#define COLOR_parser_tables___Parser___action_table_row273 SFT_parser_tables[278]
-#define COLOR_parser_tables___Parser___action_table_row274 SFT_parser_tables[279]
-#define COLOR_parser_tables___Parser___action_table_row275 SFT_parser_tables[280]
-#define COLOR_parser_tables___Parser___action_table_row276 SFT_parser_tables[281]
-#define COLOR_parser_tables___Parser___action_table_row277 SFT_parser_tables[282]
-#define COLOR_parser_tables___Parser___action_table_row278 SFT_parser_tables[283]
-#define COLOR_parser_tables___Parser___action_table_row279 SFT_parser_tables[284]
-#define COLOR_parser_tables___Parser___action_table_row280 SFT_parser_tables[285]
-#define COLOR_parser_tables___Parser___action_table_row281 SFT_parser_tables[286]
-#define COLOR_parser_tables___Parser___action_table_row282 SFT_parser_tables[287]
-#define COLOR_parser_tables___Parser___action_table_row283 SFT_parser_tables[288]
-#define COLOR_parser_tables___Parser___action_table_row284 SFT_parser_tables[289]
-#define COLOR_parser_tables___Parser___action_table_row285 SFT_parser_tables[290]
-#define COLOR_parser_tables___Parser___action_table_row286 SFT_parser_tables[291]
-#define COLOR_parser_tables___Parser___action_table_row287 SFT_parser_tables[292]
-#define COLOR_parser_tables___Parser___action_table_row288 SFT_parser_tables[293]
-#define COLOR_parser_tables___Parser___action_table_row289 SFT_parser_tables[294]
-#define COLOR_parser_tables___Parser___action_table_row290 SFT_parser_tables[295]
-#define COLOR_parser_tables___Parser___action_table_row291 SFT_parser_tables[296]
-#define COLOR_parser_tables___Parser___action_table_row292 SFT_parser_tables[297]
-#define COLOR_parser_tables___Parser___action_table_row293 SFT_parser_tables[298]
-#define COLOR_parser_tables___Parser___action_table_row294 SFT_parser_tables[299]
-#define COLOR_parser_tables___Parser___action_table_row295 SFT_parser_tables[300]
-#define COLOR_parser_tables___Parser___action_table_row296 SFT_parser_tables[301]
-#define COLOR_parser_tables___Parser___action_table_row297 SFT_parser_tables[302]
-#define COLOR_parser_tables___Parser___action_table_row298 SFT_parser_tables[303]
-#define COLOR_parser_tables___Parser___action_table_row299 SFT_parser_tables[304]
-#define COLOR_parser_tables___Parser___action_table_row300 SFT_parser_tables[305]
-#define COLOR_parser_tables___Parser___action_table_row301 SFT_parser_tables[306]
-#define COLOR_parser_tables___Parser___action_table_row302 SFT_parser_tables[307]
-#define COLOR_parser_tables___Parser___action_table_row303 SFT_parser_tables[308]
-#define COLOR_parser_tables___Parser___action_table_row304 SFT_parser_tables[309]
-#define COLOR_parser_tables___Parser___action_table_row305 SFT_parser_tables[310]
-#define COLOR_parser_tables___Parser___action_table_row306 SFT_parser_tables[311]
-#define COLOR_parser_tables___Parser___action_table_row307 SFT_parser_tables[312]
-#define COLOR_parser_tables___Parser___action_table_row308 SFT_parser_tables[313]
-#define COLOR_parser_tables___Parser___action_table_row309 SFT_parser_tables[314]
-#define COLOR_parser_tables___Parser___action_table_row310 SFT_parser_tables[315]
-#define COLOR_parser_tables___Parser___action_table_row311 SFT_parser_tables[316]
-#define COLOR_parser_tables___Parser___action_table_row312 SFT_parser_tables[317]
-#define COLOR_parser_tables___Parser___action_table_row313 SFT_parser_tables[318]
-#define COLOR_parser_tables___Parser___action_table_row314 SFT_parser_tables[319]
-#define COLOR_parser_tables___Parser___action_table_row315 SFT_parser_tables[320]
-#define COLOR_parser_tables___Parser___action_table_row316 SFT_parser_tables[321]
-#define COLOR_parser_tables___Parser___action_table_row317 SFT_parser_tables[322]
-#define COLOR_parser_tables___Parser___action_table_row318 SFT_parser_tables[323]
-#define COLOR_parser_tables___Parser___action_table_row319 SFT_parser_tables[324]
-#define COLOR_parser_tables___Parser___action_table_row320 SFT_parser_tables[325]
-#define COLOR_parser_tables___Parser___action_table_row321 SFT_parser_tables[326]
-#define COLOR_parser_tables___Parser___action_table_row322 SFT_parser_tables[327]
-#define COLOR_parser_tables___Parser___action_table_row323 SFT_parser_tables[328]
-#define COLOR_parser_tables___Parser___action_table_row324 SFT_parser_tables[329]
-#define COLOR_parser_tables___Parser___action_table_row325 SFT_parser_tables[330]
-#define COLOR_parser_tables___Parser___action_table_row326 SFT_parser_tables[331]
-#define COLOR_parser_tables___Parser___action_table_row327 SFT_parser_tables[332]
-#define COLOR_parser_tables___Parser___action_table_row328 SFT_parser_tables[333]
-#define COLOR_parser_tables___Parser___action_table_row329 SFT_parser_tables[334]
-#define COLOR_parser_tables___Parser___action_table_row330 SFT_parser_tables[335]
-#define COLOR_parser_tables___Parser___action_table_row331 SFT_parser_tables[336]
-#define COLOR_parser_tables___Parser___action_table_row332 SFT_parser_tables[337]
-#define COLOR_parser_tables___Parser___action_table_row333 SFT_parser_tables[338]
-#define COLOR_parser_tables___Parser___action_table_row334 SFT_parser_tables[339]
-#define COLOR_parser_tables___Parser___action_table_row335 SFT_parser_tables[340]
-#define COLOR_parser_tables___Parser___action_table_row336 SFT_parser_tables[341]
-#define COLOR_parser_tables___Parser___action_table_row337 SFT_parser_tables[342]
-#define COLOR_parser_tables___Parser___action_table_row338 SFT_parser_tables[343]
-#define COLOR_parser_tables___Parser___action_table_row339 SFT_parser_tables[344]
-#define COLOR_parser_tables___Parser___action_table_row340 SFT_parser_tables[345]
-#define COLOR_parser_tables___Parser___action_table_row341 SFT_parser_tables[346]
-#define COLOR_parser_tables___Parser___action_table_row342 SFT_parser_tables[347]
-#define COLOR_parser_tables___Parser___action_table_row343 SFT_parser_tables[348]
-#define COLOR_parser_tables___Parser___action_table_row344 SFT_parser_tables[349]
-#define COLOR_parser_tables___Parser___action_table_row345 SFT_parser_tables[350]
-#define COLOR_parser_tables___Parser___action_table_row346 SFT_parser_tables[351]
-#define COLOR_parser_tables___Parser___action_table_row347 SFT_parser_tables[352]
-#define COLOR_parser_tables___Parser___action_table_row348 SFT_parser_tables[353]
-#define COLOR_parser_tables___Parser___action_table_row349 SFT_parser_tables[354]
-#define COLOR_parser_tables___Parser___action_table_row350 SFT_parser_tables[355]
-#define COLOR_parser_tables___Parser___action_table_row351 SFT_parser_tables[356]
-#define COLOR_parser_tables___Parser___action_table_row352 SFT_parser_tables[357]
-#define COLOR_parser_tables___Parser___action_table_row353 SFT_parser_tables[358]
-#define COLOR_parser_tables___Parser___action_table_row354 SFT_parser_tables[359]
-#define COLOR_parser_tables___Parser___action_table_row355 SFT_parser_tables[360]
-#define COLOR_parser_tables___Parser___action_table_row356 SFT_parser_tables[361]
-#define COLOR_parser_tables___Parser___action_table_row357 SFT_parser_tables[362]
-#define COLOR_parser_tables___Parser___action_table_row358 SFT_parser_tables[363]
-#define COLOR_parser_tables___Parser___action_table_row359 SFT_parser_tables[364]
-#define COLOR_parser_tables___Parser___action_table_row360 SFT_parser_tables[365]
-#define COLOR_parser_tables___Parser___action_table_row361 SFT_parser_tables[366]
-#define COLOR_parser_tables___Parser___action_table_row362 SFT_parser_tables[367]
-#define COLOR_parser_tables___Parser___action_table_row363 SFT_parser_tables[368]
-#define COLOR_parser_tables___Parser___action_table_row364 SFT_parser_tables[369]
-#define COLOR_parser_tables___Parser___action_table_row365 SFT_parser_tables[370]
-#define COLOR_parser_tables___Parser___action_table_row366 SFT_parser_tables[371]
-#define COLOR_parser_tables___Parser___action_table_row367 SFT_parser_tables[372]
-#define COLOR_parser_tables___Parser___action_table_row368 SFT_parser_tables[373]
-#define COLOR_parser_tables___Parser___action_table_row369 SFT_parser_tables[374]
-#define COLOR_parser_tables___Parser___action_table_row370 SFT_parser_tables[375]
-#define COLOR_parser_tables___Parser___action_table_row371 SFT_parser_tables[376]
-#define COLOR_parser_tables___Parser___action_table_row372 SFT_parser_tables[377]
-#define COLOR_parser_tables___Parser___action_table_row373 SFT_parser_tables[378]
-#define COLOR_parser_tables___Parser___action_table_row374 SFT_parser_tables[379]
-#define COLOR_parser_tables___Parser___action_table_row375 SFT_parser_tables[380]
-#define COLOR_parser_tables___Parser___action_table_row376 SFT_parser_tables[381]
-#define COLOR_parser_tables___Parser___action_table_row377 SFT_parser_tables[382]
-#define COLOR_parser_tables___Parser___action_table_row378 SFT_parser_tables[383]
-#define COLOR_parser_tables___Parser___action_table_row379 SFT_parser_tables[384]
-#define COLOR_parser_tables___Parser___action_table_row380 SFT_parser_tables[385]
-#define COLOR_parser_tables___Parser___action_table_row381 SFT_parser_tables[386]
-#define COLOR_parser_tables___Parser___action_table_row382 SFT_parser_tables[387]
-#define COLOR_parser_tables___Parser___action_table_row383 SFT_parser_tables[388]
-#define COLOR_parser_tables___Parser___action_table_row384 SFT_parser_tables[389]
-#define COLOR_parser_tables___Parser___action_table_row385 SFT_parser_tables[390]
-#define COLOR_parser_tables___Parser___action_table_row386 SFT_parser_tables[391]
-#define COLOR_parser_tables___Parser___action_table_row387 SFT_parser_tables[392]
-#define COLOR_parser_tables___Parser___action_table_row388 SFT_parser_tables[393]
-#define COLOR_parser_tables___Parser___action_table_row389 SFT_parser_tables[394]
-#define COLOR_parser_tables___Parser___action_table_row390 SFT_parser_tables[395]
-#define COLOR_parser_tables___Parser___action_table_row391 SFT_parser_tables[396]
-#define COLOR_parser_tables___Parser___action_table_row392 SFT_parser_tables[397]
-#define COLOR_parser_tables___Parser___action_table_row393 SFT_parser_tables[398]
-#define COLOR_parser_tables___Parser___action_table_row394 SFT_parser_tables[399]
-#define COLOR_parser_tables___Parser___action_table_row395 SFT_parser_tables[400]
-#define COLOR_parser_tables___Parser___action_table_row396 SFT_parser_tables[401]
-#define COLOR_parser_tables___Parser___action_table_row397 SFT_parser_tables[402]
-#define COLOR_parser_tables___Parser___action_table_row398 SFT_parser_tables[403]
-#define COLOR_parser_tables___Parser___action_table_row399 SFT_parser_tables[404]
-#define COLOR_parser_tables___Parser___action_table_row400 SFT_parser_tables[405]
-#define COLOR_parser_tables___Parser___action_table_row401 SFT_parser_tables[406]
-#define COLOR_parser_tables___Parser___action_table_row402 SFT_parser_tables[407]
-#define COLOR_parser_tables___Parser___action_table_row403 SFT_parser_tables[408]
-#define COLOR_parser_tables___Parser___action_table_row404 SFT_parser_tables[409]
-#define COLOR_parser_tables___Parser___action_table_row405 SFT_parser_tables[410]
-#define COLOR_parser_tables___Parser___action_table_row406 SFT_parser_tables[411]
-#define COLOR_parser_tables___Parser___action_table_row407 SFT_parser_tables[412]
-#define COLOR_parser_tables___Parser___action_table_row408 SFT_parser_tables[413]
-#define COLOR_parser_tables___Parser___action_table_row409 SFT_parser_tables[414]
-#define COLOR_parser_tables___Parser___action_table_row410 SFT_parser_tables[415]
-#define COLOR_parser_tables___Parser___action_table_row411 SFT_parser_tables[416]
-#define COLOR_parser_tables___Parser___action_table_row412 SFT_parser_tables[417]
-#define COLOR_parser_tables___Parser___action_table_row413 SFT_parser_tables[418]
-#define COLOR_parser_tables___Parser___action_table_row414 SFT_parser_tables[419]
-#define COLOR_parser_tables___Parser___action_table_row415 SFT_parser_tables[420]
-#define COLOR_parser_tables___Parser___action_table_row416 SFT_parser_tables[421]
-#define COLOR_parser_tables___Parser___action_table_row417 SFT_parser_tables[422]
-#define COLOR_parser_tables___Parser___action_table_row418 SFT_parser_tables[423]
-#define COLOR_parser_tables___Parser___action_table_row419 SFT_parser_tables[424]
-#define COLOR_parser_tables___Parser___action_table_row420 SFT_parser_tables[425]
-#define COLOR_parser_tables___Parser___action_table_row421 SFT_parser_tables[426]
-#define COLOR_parser_tables___Parser___action_table_row422 SFT_parser_tables[427]
-#define COLOR_parser_tables___Parser___action_table_row423 SFT_parser_tables[428]
-#define COLOR_parser_tables___Parser___action_table_row424 SFT_parser_tables[429]
-#define COLOR_parser_tables___Parser___action_table_row425 SFT_parser_tables[430]
-#define COLOR_parser_tables___Parser___action_table_row426 SFT_parser_tables[431]
-#define COLOR_parser_tables___Parser___action_table_row427 SFT_parser_tables[432]
-#define COLOR_parser_tables___Parser___action_table_row428 SFT_parser_tables[433]
-#define COLOR_parser_tables___Parser___action_table_row429 SFT_parser_tables[434]
-#define COLOR_parser_tables___Parser___action_table_row430 SFT_parser_tables[435]
-#define COLOR_parser_tables___Parser___action_table_row431 SFT_parser_tables[436]
-#define COLOR_parser_tables___Parser___action_table_row432 SFT_parser_tables[437]
-#define COLOR_parser_tables___Parser___action_table_row433 SFT_parser_tables[438]
-#define COLOR_parser_tables___Parser___action_table_row434 SFT_parser_tables[439]
-#define COLOR_parser_tables___Parser___action_table_row435 SFT_parser_tables[440]
-#define COLOR_parser_tables___Parser___action_table_row436 SFT_parser_tables[441]
-#define COLOR_parser_tables___Parser___action_table_row437 SFT_parser_tables[442]
-#define COLOR_parser_tables___Parser___action_table_row438 SFT_parser_tables[443]
-#define COLOR_parser_tables___Parser___action_table_row439 SFT_parser_tables[444]
-#define COLOR_parser_tables___Parser___action_table_row440 SFT_parser_tables[445]
-#define COLOR_parser_tables___Parser___action_table_row441 SFT_parser_tables[446]
-#define COLOR_parser_tables___Parser___action_table_row442 SFT_parser_tables[447]
-#define COLOR_parser_tables___Parser___action_table_row443 SFT_parser_tables[448]
-#define COLOR_parser_tables___Parser___action_table_row444 SFT_parser_tables[449]
-#define COLOR_parser_tables___Parser___action_table_row445 SFT_parser_tables[450]
-#define COLOR_parser_tables___Parser___action_table_row446 SFT_parser_tables[451]
-#define COLOR_parser_tables___Parser___action_table_row447 SFT_parser_tables[452]
-#define COLOR_parser_tables___Parser___action_table_row448 SFT_parser_tables[453]
-#define COLOR_parser_tables___Parser___action_table_row449 SFT_parser_tables[454]
-#define COLOR_parser_tables___Parser___action_table_row450 SFT_parser_tables[455]
-#define COLOR_parser_tables___Parser___action_table_row451 SFT_parser_tables[456]
-#define COLOR_parser_tables___Parser___action_table_row452 SFT_parser_tables[457]
-#define COLOR_parser_tables___Parser___action_table_row453 SFT_parser_tables[458]
-#define COLOR_parser_tables___Parser___action_table_row454 SFT_parser_tables[459]
-#define COLOR_parser_tables___Parser___action_table_row455 SFT_parser_tables[460]
-#define COLOR_parser_tables___Parser___action_table_row456 SFT_parser_tables[461]
-#define COLOR_parser_tables___Parser___action_table_row457 SFT_parser_tables[462]
-#define COLOR_parser_tables___Parser___action_table_row458 SFT_parser_tables[463]
-#define COLOR_parser_tables___Parser___action_table_row459 SFT_parser_tables[464]
-#define COLOR_parser_tables___Parser___action_table_row460 SFT_parser_tables[465]
-#define COLOR_parser_tables___Parser___action_table_row461 SFT_parser_tables[466]
-#define COLOR_parser_tables___Parser___action_table_row462 SFT_parser_tables[467]
-#define COLOR_parser_tables___Parser___action_table_row463 SFT_parser_tables[468]
-#define COLOR_parser_tables___Parser___action_table_row464 SFT_parser_tables[469]
-#define COLOR_parser_tables___Parser___action_table_row465 SFT_parser_tables[470]
-#define COLOR_parser_tables___Parser___action_table_row466 SFT_parser_tables[471]
-#define COLOR_parser_tables___Parser___action_table_row467 SFT_parser_tables[472]
-#define COLOR_parser_tables___Parser___action_table_row468 SFT_parser_tables[473]
-#define COLOR_parser_tables___Parser___action_table_row469 SFT_parser_tables[474]
-#define COLOR_parser_tables___Parser___action_table_row470 SFT_parser_tables[475]
-#define COLOR_parser_tables___Parser___action_table_row471 SFT_parser_tables[476]
-#define COLOR_parser_tables___Parser___action_table_row472 SFT_parser_tables[477]
-#define COLOR_parser_tables___Parser___action_table_row473 SFT_parser_tables[478]
-#define COLOR_parser_tables___Parser___action_table_row474 SFT_parser_tables[479]
-#define COLOR_parser_tables___Parser___action_table_row475 SFT_parser_tables[480]
-#define COLOR_parser_tables___Parser___action_table_row476 SFT_parser_tables[481]
-#define COLOR_parser_tables___Parser___action_table_row477 SFT_parser_tables[482]
-#define COLOR_parser_tables___Parser___action_table_row478 SFT_parser_tables[483]
-#define COLOR_parser_tables___Parser___action_table_row479 SFT_parser_tables[484]
-#define COLOR_parser_tables___Parser___action_table_row480 SFT_parser_tables[485]
-#define COLOR_parser_tables___Parser___action_table_row481 SFT_parser_tables[486]
-#define COLOR_parser_tables___Parser___action_table_row482 SFT_parser_tables[487]
-#define COLOR_parser_tables___Parser___action_table_row483 SFT_parser_tables[488]
-#define COLOR_parser_tables___Parser___action_table_row484 SFT_parser_tables[489]
-#define COLOR_parser_tables___Parser___action_table_row485 SFT_parser_tables[490]
-#define COLOR_parser_tables___Parser___action_table_row486 SFT_parser_tables[491]
-#define COLOR_parser_tables___Parser___action_table_row487 SFT_parser_tables[492]
-#define COLOR_parser_tables___Parser___action_table_row488 SFT_parser_tables[493]
-#define COLOR_parser_tables___Parser___action_table_row489 SFT_parser_tables[494]
-#define COLOR_parser_tables___Parser___action_table_row490 SFT_parser_tables[495]
-#define COLOR_parser_tables___Parser___action_table_row491 SFT_parser_tables[496]
-#define COLOR_parser_tables___Parser___action_table_row492 SFT_parser_tables[497]
-#define COLOR_parser_tables___Parser___action_table_row493 SFT_parser_tables[498]
-#define COLOR_parser_tables___Parser___action_table_row494 SFT_parser_tables[499]
-#define COLOR_parser_tables___Parser___action_table_row495 SFT_parser_tables[500]
-#define COLOR_parser_tables___Parser___action_table_row496 SFT_parser_tables[501]
-#define COLOR_parser_tables___Parser___action_table_row497 SFT_parser_tables[502]
-#define COLOR_parser_tables___Parser___action_table_row498 SFT_parser_tables[503]
-#define COLOR_parser_tables___Parser___action_table_row499 SFT_parser_tables[504]
-#define COLOR_parser_tables___Parser___action_table_row500 SFT_parser_tables[505]
-#define COLOR_parser_tables___Parser___action_table_row501 SFT_parser_tables[506]
-#define COLOR_parser_tables___Parser___action_table_row502 SFT_parser_tables[507]
-#define COLOR_parser_tables___Parser___action_table_row503 SFT_parser_tables[508]
-#define COLOR_parser_tables___Parser___action_table_row504 SFT_parser_tables[509]
-#define COLOR_parser_tables___Parser___action_table_row505 SFT_parser_tables[510]
-#define COLOR_parser_tables___Parser___action_table_row506 SFT_parser_tables[511]
-#define COLOR_parser_tables___Parser___action_table_row507 SFT_parser_tables[512]
-#define COLOR_parser_tables___Parser___action_table_row508 SFT_parser_tables[513]
-#define COLOR_parser_tables___Parser___action_table_row509 SFT_parser_tables[514]
-#define COLOR_parser_tables___Parser___action_table_row510 SFT_parser_tables[515]
-#define COLOR_parser_tables___Parser___action_table_row511 SFT_parser_tables[516]
-#define COLOR_parser_tables___Parser___action_table_row512 SFT_parser_tables[517]
-#define COLOR_parser_tables___Parser___action_table_row513 SFT_parser_tables[518]
-#define COLOR_parser_tables___Parser___action_table_row514 SFT_parser_tables[519]
-#define COLOR_parser_tables___Parser___action_table_row515 SFT_parser_tables[520]
-#define COLOR_parser_tables___Parser___action_table_row516 SFT_parser_tables[521]
-#define COLOR_parser_tables___Parser___action_table_row517 SFT_parser_tables[522]
-#define COLOR_parser_tables___Parser___action_table_row518 SFT_parser_tables[523]
-#define COLOR_parser_tables___Parser___action_table_row519 SFT_parser_tables[524]
-#define COLOR_parser_tables___Parser___action_table_row520 SFT_parser_tables[525]
-#define COLOR_parser_tables___Parser___action_table_row521 SFT_parser_tables[526]
-#define COLOR_parser_tables___Parser___action_table_row522 SFT_parser_tables[527]
-#define COLOR_parser_tables___Parser___action_table_row523 SFT_parser_tables[528]
-#define COLOR_parser_tables___Parser___action_table_row524 SFT_parser_tables[529]
-#define COLOR_parser_tables___Parser___action_table_row525 SFT_parser_tables[530]
-#define COLOR_parser_tables___Parser___action_table_row526 SFT_parser_tables[531]
-#define COLOR_parser_tables___Parser___action_table_row527 SFT_parser_tables[532]
-#define COLOR_parser_tables___Parser___action_table_row528 SFT_parser_tables[533]
-#define COLOR_parser_tables___Parser___action_table_row529 SFT_parser_tables[534]
-#define COLOR_parser_tables___Parser___action_table_row530 SFT_parser_tables[535]
-#define COLOR_parser_tables___Parser___action_table_row531 SFT_parser_tables[536]
-#define COLOR_parser_tables___Parser___action_table_row532 SFT_parser_tables[537]
-#define COLOR_parser_tables___Parser___action_table_row533 SFT_parser_tables[538]
-#define COLOR_parser_tables___Parser___action_table_row534 SFT_parser_tables[539]
-#define COLOR_parser_tables___Parser___action_table_row535 SFT_parser_tables[540]
-#define COLOR_parser_tables___Parser___action_table_row536 SFT_parser_tables[541]
-#define COLOR_parser_tables___Parser___action_table_row537 SFT_parser_tables[542]
-#define COLOR_parser_tables___Parser___action_table_row538 SFT_parser_tables[543]
-#define COLOR_parser_tables___Parser___action_table_row539 SFT_parser_tables[544]
-#define COLOR_parser_tables___Parser___action_table_row540 SFT_parser_tables[545]
-#define COLOR_parser_tables___Parser___action_table_row541 SFT_parser_tables[546]
-#define COLOR_parser_tables___Parser___action_table_row542 SFT_parser_tables[547]
-#define COLOR_parser_tables___Parser___action_table_row543 SFT_parser_tables[548]
-#define COLOR_parser_tables___Parser___action_table_row544 SFT_parser_tables[549]
-#define COLOR_parser_tables___Parser___action_table_row545 SFT_parser_tables[550]
-#define COLOR_parser_tables___Parser___action_table_row546 SFT_parser_tables[551]
-#define COLOR_parser_tables___Parser___action_table_row547 SFT_parser_tables[552]
-#define COLOR_parser_tables___Parser___action_table_row548 SFT_parser_tables[553]
-#define COLOR_parser_tables___Parser___action_table_row549 SFT_parser_tables[554]
-#define COLOR_parser_tables___Parser___action_table_row550 SFT_parser_tables[555]
-#define COLOR_parser_tables___Parser___action_table_row551 SFT_parser_tables[556]
-#define COLOR_parser_tables___Parser___action_table_row552 SFT_parser_tables[557]
-#define COLOR_parser_tables___Parser___action_table_row553 SFT_parser_tables[558]
-#define COLOR_parser_tables___Parser___action_table_row554 SFT_parser_tables[559]
-#define COLOR_parser_tables___Parser___action_table_row555 SFT_parser_tables[560]
-#define COLOR_parser_tables___Parser___action_table_row556 SFT_parser_tables[561]
-#define COLOR_parser_tables___Parser___action_table_row557 SFT_parser_tables[562]
-#define COLOR_parser_tables___Parser___action_table_row558 SFT_parser_tables[563]
-#define COLOR_parser_tables___Parser___action_table_row559 SFT_parser_tables[564]
-#define COLOR_parser_tables___Parser___action_table_row560 SFT_parser_tables[565]
-#define COLOR_parser_tables___Parser___action_table_row561 SFT_parser_tables[566]
-#define COLOR_parser_tables___Parser___action_table_row562 SFT_parser_tables[567]
-#define COLOR_parser_tables___Parser___action_table_row563 SFT_parser_tables[568]
-#define COLOR_parser_tables___Parser___action_table_row564 SFT_parser_tables[569]
-#define COLOR_parser_tables___Parser___action_table_row565 SFT_parser_tables[570]
-#define COLOR_parser_tables___Parser___action_table_row566 SFT_parser_tables[571]
-#define COLOR_parser_tables___Parser___action_table_row567 SFT_parser_tables[572]
-#define COLOR_parser_tables___Parser___action_table_row568 SFT_parser_tables[573]
-#define COLOR_parser_tables___Parser___action_table_row569 SFT_parser_tables[574]
-#define COLOR_parser_tables___Parser___action_table_row570 SFT_parser_tables[575]
-#define COLOR_parser_tables___Parser___action_table_row571 SFT_parser_tables[576]
-#define COLOR_parser_tables___Parser___action_table_row572 SFT_parser_tables[577]
-#define COLOR_parser_tables___Parser___action_table_row573 SFT_parser_tables[578]
-#define COLOR_parser_tables___Parser___action_table_row574 SFT_parser_tables[579]
-#define COLOR_parser_tables___Parser___action_table_row575 SFT_parser_tables[580]
-#define COLOR_parser_tables___Parser___action_table_row576 SFT_parser_tables[581]
-#define COLOR_parser_tables___Parser___action_table_row577 SFT_parser_tables[582]
-#define COLOR_parser_tables___Parser___action_table_row578 SFT_parser_tables[583]
-#define COLOR_parser_tables___Parser___action_table_row579 SFT_parser_tables[584]
-#define COLOR_parser_tables___Parser___action_table_row580 SFT_parser_tables[585]
-#define COLOR_parser_tables___Parser___action_table_row581 SFT_parser_tables[586]
-#define COLOR_parser_tables___Parser___action_table_row582 SFT_parser_tables[587]
-#define COLOR_parser_tables___Parser___action_table_row583 SFT_parser_tables[588]
-#define COLOR_parser_tables___Parser___action_table_row584 SFT_parser_tables[589]
-#define COLOR_parser_tables___Parser___action_table_row585 SFT_parser_tables[590]
-#define COLOR_parser_tables___Parser___action_table_row586 SFT_parser_tables[591]
-#define COLOR_parser_tables___Parser___action_table_row587 SFT_parser_tables[592]
-#define COLOR_parser_tables___Parser___action_table_row588 SFT_parser_tables[593]
-#define COLOR_parser_tables___Parser___action_table_row589 SFT_parser_tables[594]
-#define COLOR_parser_tables___Parser___action_table_row590 SFT_parser_tables[595]
-#define COLOR_parser_tables___Parser___action_table_row591 SFT_parser_tables[596]
-#define COLOR_parser_tables___Parser___action_table_row592 SFT_parser_tables[597]
-#define COLOR_parser_tables___Parser___action_table_row593 SFT_parser_tables[598]
-#define COLOR_parser_tables___Parser___action_table_row594 SFT_parser_tables[599]
-#define COLOR_parser_tables___Parser___action_table_row595 SFT_parser_tables[600]
-#define COLOR_parser_tables___Parser___action_table_row596 SFT_parser_tables[601]
-#define COLOR_parser_tables___Parser___action_table_row597 SFT_parser_tables[602]
-#define COLOR_parser_tables___Parser___action_table_row598 SFT_parser_tables[603]
-#define COLOR_parser_tables___Parser___action_table_row599 SFT_parser_tables[604]
-#define COLOR_parser_tables___Parser___action_table_row600 SFT_parser_tables[605]
-#define COLOR_parser_tables___Parser___action_table_row601 SFT_parser_tables[606]
-#define COLOR_parser_tables___Parser___action_table_row602 SFT_parser_tables[607]
-#define COLOR_parser_tables___Parser___action_table_row603 SFT_parser_tables[608]
-#define COLOR_parser_tables___Parser___action_table_row604 SFT_parser_tables[609]
-#define COLOR_parser_tables___Parser___action_table_row605 SFT_parser_tables[610]
-#define COLOR_parser_tables___Parser___action_table_row606 SFT_parser_tables[611]
-#define COLOR_parser_tables___Parser___action_table_row607 SFT_parser_tables[612]
-#define COLOR_parser_tables___Parser___action_table_row608 SFT_parser_tables[613]
-#define COLOR_parser_tables___Parser___action_table_row609 SFT_parser_tables[614]
-#define COLOR_parser_tables___Parser___action_table_row610 SFT_parser_tables[615]
-#define COLOR_parser_tables___Parser___action_table_row611 SFT_parser_tables[616]
-#define COLOR_parser_tables___Parser___action_table_row612 SFT_parser_tables[617]
-#define COLOR_parser_tables___Parser___action_table_row613 SFT_parser_tables[618]
-#define COLOR_parser_tables___Parser___action_table_row614 SFT_parser_tables[619]
-#define COLOR_parser_tables___Parser___action_table_row615 SFT_parser_tables[620]
-#define COLOR_parser_tables___Parser___action_table_row616 SFT_parser_tables[621]
-#define COLOR_parser_tables___Parser___action_table_row617 SFT_parser_tables[622]
-#define COLOR_parser_tables___Parser___action_table_row618 SFT_parser_tables[623]
-#define COLOR_parser_tables___Parser___action_table_row619 SFT_parser_tables[624]
-#define COLOR_parser_tables___Parser___action_table_row620 SFT_parser_tables[625]
-#define COLOR_parser_tables___Parser___action_table_row621 SFT_parser_tables[626]
-#define COLOR_parser_tables___Parser___action_table_row622 SFT_parser_tables[627]
-#define COLOR_parser_tables___Parser___action_table_row623 SFT_parser_tables[628]
-#define COLOR_parser_tables___Parser___action_table_row624 SFT_parser_tables[629]
-#define COLOR_parser_tables___Parser___action_table_row625 SFT_parser_tables[630]
-#define COLOR_parser_tables___Parser___action_table_row626 SFT_parser_tables[631]
-#define COLOR_parser_tables___Parser___action_table_row627 SFT_parser_tables[632]
-#define COLOR_parser_tables___Parser___action_table_row628 SFT_parser_tables[633]
-#define COLOR_parser_tables___Parser___action_table_row629 SFT_parser_tables[634]
-#define COLOR_parser_tables___Parser___action_table_row630 SFT_parser_tables[635]
-#define COLOR_parser_tables___Parser___action_table_row631 SFT_parser_tables[636]
-#define COLOR_parser_tables___Parser___action_table_row632 SFT_parser_tables[637]
-#define COLOR_parser_tables___Parser___action_table_row633 SFT_parser_tables[638]
-#define COLOR_parser_tables___Parser___action_table_row634 SFT_parser_tables[639]
-#define COLOR_parser_tables___Parser___action_table_row635 SFT_parser_tables[640]
-#define COLOR_parser_tables___Parser___action_table_row636 SFT_parser_tables[641]
-#define COLOR_parser_tables___Parser___action_table_row637 SFT_parser_tables[642]
-#define COLOR_parser_tables___Parser___action_table_row638 SFT_parser_tables[643]
-#define COLOR_parser_tables___Parser___action_table_row639 SFT_parser_tables[644]
-#define COLOR_parser_tables___Parser___action_table_row640 SFT_parser_tables[645]
-#define COLOR_parser_tables___Parser___action_table_row641 SFT_parser_tables[646]
-#define COLOR_parser_tables___Parser___action_table_row642 SFT_parser_tables[647]
-#define COLOR_parser_tables___Parser___action_table_row643 SFT_parser_tables[648]
-#define COLOR_parser_tables___Parser___action_table_row644 SFT_parser_tables[649]
-#define COLOR_parser_tables___Parser___action_table_row645 SFT_parser_tables[650]
-#define COLOR_parser_tables___Parser___action_table_row646 SFT_parser_tables[651]
-#define COLOR_parser_tables___Parser___action_table_row647 SFT_parser_tables[652]
-#define COLOR_parser_tables___Parser___action_table_row648 SFT_parser_tables[653]
-#define COLOR_parser_tables___Parser___action_table_row649 SFT_parser_tables[654]
-#define COLOR_parser_tables___Parser___action_table_row650 SFT_parser_tables[655]
-#define COLOR_parser_tables___Parser___action_table_row651 SFT_parser_tables[656]
-#define COLOR_parser_tables___Parser___action_table_row652 SFT_parser_tables[657]
-#define COLOR_parser_tables___Parser___action_table_row653 SFT_parser_tables[658]
-#define COLOR_parser_tables___Parser___action_table_row654 SFT_parser_tables[659]
-#define COLOR_parser_tables___Parser___action_table_row655 SFT_parser_tables[660]
-#define COLOR_parser_tables___Parser___action_table_row656 SFT_parser_tables[661]
-#define COLOR_parser_tables___Parser___action_table_row657 SFT_parser_tables[662]
-#define COLOR_parser_tables___Parser___action_table_row658 SFT_parser_tables[663]
-#define COLOR_parser_tables___Parser___action_table_row659 SFT_parser_tables[664]
-#define COLOR_parser_tables___Parser___action_table_row660 SFT_parser_tables[665]
-#define COLOR_parser_tables___Parser___action_table_row661 SFT_parser_tables[666]
-#define COLOR_parser_tables___Parser___action_table_row662 SFT_parser_tables[667]
-#define COLOR_parser_tables___Parser___action_table_row663 SFT_parser_tables[668]
-#define COLOR_parser_tables___Parser___action_table_row664 SFT_parser_tables[669]
-#define COLOR_parser_tables___Parser___action_table_row665 SFT_parser_tables[670]
-#define COLOR_parser_tables___Parser___action_table_row666 SFT_parser_tables[671]
-#define COLOR_parser_tables___Parser___action_table_row667 SFT_parser_tables[672]
-#define COLOR_parser_tables___Parser___action_table_row668 SFT_parser_tables[673]
-#define COLOR_parser_tables___Parser___action_table_row669 SFT_parser_tables[674]
-#define COLOR_parser_tables___Parser___action_table_row670 SFT_parser_tables[675]
-#define COLOR_parser_tables___Parser___action_table_row671 SFT_parser_tables[676]
-#define COLOR_parser_tables___Parser___action_table_row672 SFT_parser_tables[677]
-#define COLOR_parser_tables___Parser___action_table_row673 SFT_parser_tables[678]
-#define COLOR_parser_tables___Parser___action_table_row674 SFT_parser_tables[679]
-#define COLOR_parser_tables___Parser___action_table_row675 SFT_parser_tables[680]
-#define COLOR_parser_tables___Parser___action_table_row676 SFT_parser_tables[681]
-#define COLOR_parser_tables___Parser___action_table_row677 SFT_parser_tables[682]
-#define COLOR_parser_tables___Parser___action_table_row678 SFT_parser_tables[683]
-#define COLOR_parser_tables___Parser___action_table_row679 SFT_parser_tables[684]
-#define COLOR_parser_tables___Parser___action_table_row680 SFT_parser_tables[685]
-#define COLOR_parser_tables___Parser___action_table_row681 SFT_parser_tables[686]
-#define COLOR_parser_tables___Parser___action_table_row682 SFT_parser_tables[687]
-#define COLOR_parser_tables___Parser___action_table_row683 SFT_parser_tables[688]
-#define COLOR_parser_tables___Parser___action_table_row684 SFT_parser_tables[689]
-#define COLOR_parser_tables___Parser___action_table_row685 SFT_parser_tables[690]
-#define COLOR_parser_tables___Parser___action_table_row686 SFT_parser_tables[691]
-#define COLOR_parser_tables___Parser___action_table_row687 SFT_parser_tables[692]
-#define COLOR_parser_tables___Parser___action_table_row688 SFT_parser_tables[693]
-#define COLOR_parser_tables___Parser___action_table_row689 SFT_parser_tables[694]
-#define COLOR_parser_tables___Parser___action_table_row690 SFT_parser_tables[695]
-#define COLOR_parser_tables___Parser___action_table_row691 SFT_parser_tables[696]
-#define COLOR_parser_tables___Parser___action_table_row692 SFT_parser_tables[697]
-#define COLOR_parser_tables___Parser___action_table_row693 SFT_parser_tables[698]
-#define COLOR_parser_tables___Parser___action_table_row694 SFT_parser_tables[699]
-#define COLOR_parser_tables___Parser___action_table_row695 SFT_parser_tables[700]
-#define COLOR_parser_tables___Parser___action_table_row696 SFT_parser_tables[701]
-#define COLOR_parser_tables___Parser___action_table_row697 SFT_parser_tables[702]
-#define COLOR_parser_tables___Parser___action_table_row698 SFT_parser_tables[703]
-#define COLOR_parser_tables___Parser___action_table_row699 SFT_parser_tables[704]
-#define COLOR_parser_tables___Parser___action_table_row700 SFT_parser_tables[705]
-#define COLOR_parser_tables___Parser___action_table_row701 SFT_parser_tables[706]
-#define COLOR_parser_tables___Parser___action_table_row702 SFT_parser_tables[707]
-#define COLOR_parser_tables___Parser___action_table_row703 SFT_parser_tables[708]
-#define COLOR_parser_tables___Parser___action_table_row704 SFT_parser_tables[709]
-#define COLOR_parser_tables___Parser___action_table_row705 SFT_parser_tables[710]
-#define COLOR_parser_tables___Parser___action_table_row706 SFT_parser_tables[711]
-#define COLOR_parser_tables___Parser___action_table_row707 SFT_parser_tables[712]
-#define COLOR_parser_tables___Parser___action_table_row708 SFT_parser_tables[713]
-#define COLOR_parser_tables___Parser___action_table_row709 SFT_parser_tables[714]
-#define COLOR_parser_tables___Parser___action_table_row710 SFT_parser_tables[715]
-#define COLOR_parser_tables___Parser___action_table_row711 SFT_parser_tables[716]
-#define COLOR_parser_tables___Parser___action_table_row712 SFT_parser_tables[717]
-#define COLOR_parser_tables___Parser___action_table_row713 SFT_parser_tables[718]
-#define COLOR_parser_tables___Parser___action_table_row714 SFT_parser_tables[719]
-#define COLOR_parser_tables___Parser___action_table_row715 SFT_parser_tables[720]
-#define COLOR_parser_tables___Parser___action_table_row716 SFT_parser_tables[721]
-#define COLOR_parser_tables___Parser___action_table_row717 SFT_parser_tables[722]
-#define COLOR_parser_tables___Parser___action_table_row718 SFT_parser_tables[723]
-#define COLOR_parser_tables___Parser___action_table_row719 SFT_parser_tables[724]
-#define COLOR_parser_tables___Parser___action_table_row720 SFT_parser_tables[725]
-#define COLOR_parser_tables___Parser___action_table_row721 SFT_parser_tables[726]
-#define COLOR_parser_tables___Parser___action_table_row722 SFT_parser_tables[727]
-#define COLOR_parser_tables___Parser___action_table_row723 SFT_parser_tables[728]
-#define COLOR_parser_tables___Parser___action_table_row724 SFT_parser_tables[729]
-#define COLOR_parser_tables___Parser___action_table_row725 SFT_parser_tables[730]
-#define COLOR_parser_tables___Parser___action_table_row726 SFT_parser_tables[731]
-#define COLOR_parser_tables___Parser___action_table_row727 SFT_parser_tables[732]
-#define COLOR_parser_tables___Parser___action_table_row728 SFT_parser_tables[733]
-#define COLOR_parser_tables___Parser___action_table_row729 SFT_parser_tables[734]
-#define COLOR_parser_tables___Parser___action_table_row730 SFT_parser_tables[735]
-#define COLOR_parser_tables___Parser___action_table_row731 SFT_parser_tables[736]
-#define COLOR_parser_tables___Parser___action_table_row732 SFT_parser_tables[737]
-#define COLOR_parser_tables___Parser___action_table_row733 SFT_parser_tables[738]
-#define COLOR_parser_tables___Parser___action_table_row734 SFT_parser_tables[739]
-#define COLOR_parser_tables___Parser___action_table_row735 SFT_parser_tables[740]
-#define COLOR_parser_tables___Parser___action_table_row736 SFT_parser_tables[741]
-#define COLOR_parser_tables___Parser___action_table_row737 SFT_parser_tables[742]
-#define COLOR_parser_tables___Parser___action_table_row738 SFT_parser_tables[743]
-#define COLOR_parser_tables___Parser___action_table_row739 SFT_parser_tables[744]
-#define COLOR_parser_tables___Parser___action_table_row740 SFT_parser_tables[745]
-#define COLOR_parser_tables___Parser___action_table_row741 SFT_parser_tables[746]
-#define COLOR_parser_tables___Parser___action_table_row742 SFT_parser_tables[747]
-#define COLOR_parser_tables___Parser___action_table_row743 SFT_parser_tables[748]
-#define COLOR_parser_tables___Parser___action_table_row744 SFT_parser_tables[749]
-#define COLOR_parser_tables___Parser___action_table_row745 SFT_parser_tables[750]
-#define COLOR_parser_tables___Parser___action_table_row746 SFT_parser_tables[751]
-#define COLOR_parser_tables___Parser___action_table_row747 SFT_parser_tables[752]
-#define COLOR_parser_tables___Parser___action_table_row748 SFT_parser_tables[753]
-#define COLOR_parser_tables___Parser___action_table_row749 SFT_parser_tables[754]
-#define COLOR_parser_tables___Parser___action_table_row750 SFT_parser_tables[755]
-#define COLOR_parser_tables___Parser___action_table_row751 SFT_parser_tables[756]
-#define COLOR_parser_tables___Parser___action_table_row752 SFT_parser_tables[757]
-#define COLOR_parser_tables___Parser___action_table_row753 SFT_parser_tables[758]
-#define COLOR_parser_tables___Parser___action_table_row754 SFT_parser_tables[759]
-#define COLOR_parser_tables___Parser___action_table_row755 SFT_parser_tables[760]
-#define COLOR_parser_tables___Parser___action_table_row756 SFT_parser_tables[761]
-#define COLOR_parser_tables___Parser___action_table_row757 SFT_parser_tables[762]
-#define COLOR_parser_tables___Parser___action_table_row758 SFT_parser_tables[763]
-#define COLOR_parser_tables___Parser___action_table_row759 SFT_parser_tables[764]
-#define COLOR_parser_tables___Parser___action_table_row760 SFT_parser_tables[765]
-#define COLOR_parser_tables___Parser___action_table_row761 SFT_parser_tables[766]
-#define COLOR_parser_tables___Parser___action_table_row762 SFT_parser_tables[767]
-#define COLOR_parser_tables___Parser___action_table_row763 SFT_parser_tables[768]
-#define COLOR_parser_tables___Parser___action_table_row764 SFT_parser_tables[769]
-#define COLOR_parser_tables___Parser___action_table_row765 SFT_parser_tables[770]
-#define COLOR_parser_tables___Parser___action_table_row766 SFT_parser_tables[771]
-#define COLOR_parser_tables___Parser___action_table_row767 SFT_parser_tables[772]
-#define COLOR_parser_tables___Parser___action_table_row768 SFT_parser_tables[773]
-#define COLOR_parser_tables___Parser___action_table_row769 SFT_parser_tables[774]
-#define COLOR_parser_tables___Parser___action_table_row770 SFT_parser_tables[775]
-#define COLOR_parser_tables___Parser___action_table_row771 SFT_parser_tables[776]
-#define COLOR_parser_tables___Parser___action_table_row772 SFT_parser_tables[777]
-#define COLOR_parser_tables___Parser___action_table_row773 SFT_parser_tables[778]
-#define COLOR_parser_tables___Parser___action_table_row774 SFT_parser_tables[779]
-#define COLOR_parser_tables___Parser___action_table_row775 SFT_parser_tables[780]
-#define COLOR_parser_tables___Parser___action_table_row776 SFT_parser_tables[781]
-#define COLOR_parser_tables___Parser___action_table_row777 SFT_parser_tables[782]
-#define COLOR_parser_tables___Parser___action_table_row778 SFT_parser_tables[783]
-#define COLOR_parser_tables___Parser___action_table_row779 SFT_parser_tables[784]
-#define COLOR_parser_tables___Parser___action_table_row780 SFT_parser_tables[785]
-#define COLOR_parser_tables___Parser___action_table_row781 SFT_parser_tables[786]
-#define COLOR_parser_tables___Parser___action_table_row782 SFT_parser_tables[787]
-#define COLOR_parser_tables___Parser___action_table_row783 SFT_parser_tables[788]
-#define COLOR_parser_tables___Parser___action_table_row784 SFT_parser_tables[789]
-#define COLOR_parser_tables___Parser___action_table_row785 SFT_parser_tables[790]
-#define COLOR_parser_tables___Parser___action_table_row786 SFT_parser_tables[791]
-#define COLOR_parser_tables___Parser___action_table_row787 SFT_parser_tables[792]
-#define COLOR_parser_tables___Parser___action_table_row788 SFT_parser_tables[793]
-#define COLOR_parser_tables___Parser___action_table_row789 SFT_parser_tables[794]
-#define COLOR_parser_tables___Parser___action_table_row790 SFT_parser_tables[795]
-#define COLOR_parser_tables___Parser___action_table_row791 SFT_parser_tables[796]
-#define COLOR_parser_tables___Parser___action_table_row792 SFT_parser_tables[797]
-#define COLOR_parser_tables___Parser___action_table_row793 SFT_parser_tables[798]
-#define COLOR_parser_tables___Parser___action_table_row794 SFT_parser_tables[799]
-#define COLOR_parser_tables___Parser___action_table_row795 SFT_parser_tables[800]
-#define COLOR_parser_tables___Parser___action_table_row796 SFT_parser_tables[801]
-#define COLOR_parser_tables___Parser___action_table_row797 SFT_parser_tables[802]
-#define COLOR_parser_tables___Parser___action_table_row798 SFT_parser_tables[803]
-#define COLOR_parser_tables___Parser___action_table_row799 SFT_parser_tables[804]
-#define COLOR_parser_tables___Parser___action_table_row800 SFT_parser_tables[805]
-#define COLOR_parser_tables___Parser___action_table_row801 SFT_parser_tables[806]
-#define COLOR_parser_tables___Parser___action_table_row802 SFT_parser_tables[807]
-#define COLOR_parser_tables___Parser___action_table_row803 SFT_parser_tables[808]
-#define COLOR_parser_tables___Parser___action_table_row804 SFT_parser_tables[809]
-#define COLOR_parser_tables___Parser___action_table_row805 SFT_parser_tables[810]
-#define COLOR_parser_tables___Parser___action_table_row806 SFT_parser_tables[811]
-#define COLOR_parser_tables___Parser___action_table_row807 SFT_parser_tables[812]
-#define COLOR_parser_tables___Parser___action_table_row808 SFT_parser_tables[813]
-#define COLOR_parser_tables___Parser___action_table_row809 SFT_parser_tables[814]
-#define COLOR_parser_tables___Parser___action_table_row810 SFT_parser_tables[815]
-#define COLOR_parser_tables___Parser___action_table_row811 SFT_parser_tables[816]
-#define COLOR_parser_tables___Parser___action_table_row812 SFT_parser_tables[817]
-#define COLOR_parser_tables___Parser___action_table_row813 SFT_parser_tables[818]
-#define COLOR_parser_tables___Parser___action_table_row814 SFT_parser_tables[819]
-#define COLOR_parser_tables___Parser___action_table_row815 SFT_parser_tables[820]
-#define COLOR_parser_tables___Parser___action_table_row816 SFT_parser_tables[821]
-#define COLOR_parser_tables___Parser___action_table_row817 SFT_parser_tables[822]
-#define COLOR_parser_tables___Parser___action_table_row818 SFT_parser_tables[823]
-#define COLOR_parser_tables___Parser___action_table_row819 SFT_parser_tables[824]
-#define COLOR_parser_tables___Parser___action_table_row820 SFT_parser_tables[825]
-#define COLOR_parser_tables___Parser___action_table_row821 SFT_parser_tables[826]
-#define COLOR_parser_tables___Parser___action_table_row822 SFT_parser_tables[827]
-#define COLOR_parser_tables___Parser___action_table_row823 SFT_parser_tables[828]
-#define COLOR_parser_tables___Parser___action_table_row824 SFT_parser_tables[829]
-#define COLOR_parser_tables___Parser___action_table_row825 SFT_parser_tables[830]
-#define COLOR_parser_tables___Parser___action_table_row826 SFT_parser_tables[831]
-#define COLOR_parser_tables___Parser___action_table_row827 SFT_parser_tables[832]
-#define COLOR_parser_tables___Parser___action_table_row828 SFT_parser_tables[833]
-#define COLOR_parser_tables___Parser___action_table_row829 SFT_parser_tables[834]
-#define COLOR_parser_tables___Parser___action_table_row830 SFT_parser_tables[835]
-#define COLOR_parser_tables___Parser___action_table_row831 SFT_parser_tables[836]
-#define COLOR_parser_tables___Parser___action_table_row832 SFT_parser_tables[837]
-#define COLOR_parser_tables___Parser___action_table_row833 SFT_parser_tables[838]
-#define COLOR_parser_tables___Parser___action_table_row834 SFT_parser_tables[839]
-#define COLOR_parser_tables___Parser___action_table_row835 SFT_parser_tables[840]
-#define COLOR_parser_tables___Parser___action_table_row836 SFT_parser_tables[841]
-#define COLOR_parser_tables___Parser___action_table_row837 SFT_parser_tables[842]
-#define COLOR_parser_tables___Parser___action_table_row838 SFT_parser_tables[843]
-#define COLOR_parser_tables___Parser___action_table_row839 SFT_parser_tables[844]
-#define COLOR_parser_tables___Parser___action_table_row840 SFT_parser_tables[845]
-#define COLOR_parser_tables___Parser___action_table_row841 SFT_parser_tables[846]
-#define COLOR_parser_tables___Parser___action_table_row842 SFT_parser_tables[847]
-#define COLOR_parser_tables___Parser___action_table_row843 SFT_parser_tables[848]
-#define COLOR_parser_tables___Parser___action_table_row844 SFT_parser_tables[849]
-#define COLOR_parser_tables___Parser___action_table_row845 SFT_parser_tables[850]
-#define COLOR_parser_tables___Parser___action_table_row846 SFT_parser_tables[851]
-#define COLOR_parser_tables___Parser___action_table_row847 SFT_parser_tables[852]
-#define COLOR_parser_tables___Parser___action_table_row848 SFT_parser_tables[853]
-#define COLOR_parser_tables___Parser___action_table_row849 SFT_parser_tables[854]
-#define COLOR_parser_tables___Parser___action_table_row850 SFT_parser_tables[855]
-#define COLOR_parser_tables___Parser___action_table_row851 SFT_parser_tables[856]
-#define COLOR_parser_tables___Parser___action_table_row852 SFT_parser_tables[857]
-#define COLOR_parser_tables___Parser___action_table_row853 SFT_parser_tables[858]
-#define COLOR_parser_tables___Parser___action_table_row854 SFT_parser_tables[859]
-#define COLOR_parser_tables___Parser___action_table_row855 SFT_parser_tables[860]
-#define COLOR_parser_tables___Parser___action_table_row856 SFT_parser_tables[861]
-#define COLOR_parser_tables___Parser___action_table_row857 SFT_parser_tables[862]
-#define COLOR_parser_tables___Parser___action_table_row858 SFT_parser_tables[863]
-#define COLOR_parser_tables___Parser___action_table_row859 SFT_parser_tables[864]
-#define COLOR_parser_tables___Parser___action_table_row860 SFT_parser_tables[865]
-#define COLOR_parser_tables___Parser___action_table_row861 SFT_parser_tables[866]
-#define COLOR_parser_tables___Parser___action_table_row862 SFT_parser_tables[867]
-#define COLOR_parser_tables___Parser___action_table_row863 SFT_parser_tables[868]
-#define COLOR_parser_tables___Parser___action_table_row864 SFT_parser_tables[869]
-#define COLOR_parser_tables___Parser___action_table_row865 SFT_parser_tables[870]
-#define COLOR_parser_tables___Parser___action_table_row866 SFT_parser_tables[871]
-#define COLOR_parser_tables___Parser___action_table_row867 SFT_parser_tables[872]
-#define COLOR_parser_tables___Parser___action_table_row868 SFT_parser_tables[873]
-#define COLOR_parser_tables___Parser___action_table_row869 SFT_parser_tables[874]
-#define COLOR_parser_tables___Parser___action_table_row870 SFT_parser_tables[875]
-#define COLOR_parser_tables___Parser___action_table_row871 SFT_parser_tables[876]
-#define COLOR_parser_tables___Parser___action_table_row872 SFT_parser_tables[877]
-#define COLOR_parser_tables___Parser___action_table_row873 SFT_parser_tables[878]
-#define COLOR_parser_tables___Parser___action_table_row874 SFT_parser_tables[879]
-#define COLOR_parser_tables___Parser___action_table_row875 SFT_parser_tables[880]
-#define COLOR_parser_tables___Parser___action_table_row876 SFT_parser_tables[881]
-#define COLOR_parser_tables___Parser___action_table_row877 SFT_parser_tables[882]
-#define COLOR_parser_tables___Parser___action_table_row878 SFT_parser_tables[883]
-#define COLOR_parser_tables___Parser___action_table_row879 SFT_parser_tables[884]
-#define COLOR_parser_tables___Parser___action_table_row880 SFT_parser_tables[885]
-#define COLOR_parser_tables___Parser___action_table_row881 SFT_parser_tables[886]
-#define COLOR_parser_tables___Parser___action_table_row882 SFT_parser_tables[887]
-#define COLOR_parser_tables___Parser___action_table_row883 SFT_parser_tables[888]
-#define COLOR_parser_tables___Parser___action_table_row884 SFT_parser_tables[889]
-#define COLOR_parser_tables___Parser___action_table_row885 SFT_parser_tables[890]
-#define COLOR_parser_tables___Parser___action_table_row886 SFT_parser_tables[891]
-#define COLOR_parser_tables___Parser___action_table_row887 SFT_parser_tables[892]
-#define COLOR_parser_tables___Parser___action_table_row888 SFT_parser_tables[893]
-#define COLOR_parser_tables___Parser___action_table_row889 SFT_parser_tables[894]
-#define COLOR_parser_tables___Parser___action_table_row890 SFT_parser_tables[895]
-#define COLOR_parser_tables___Parser___action_table_row891 SFT_parser_tables[896]
-#define COLOR_parser_tables___Parser___action_table_row892 SFT_parser_tables[897]
-#define COLOR_parser_tables___Parser___action_table_row893 SFT_parser_tables[898]
-#define COLOR_parser_tables___Parser___action_table_row894 SFT_parser_tables[899]
-#define COLOR_parser_tables___Parser___action_table_row895 SFT_parser_tables[900]
-#define COLOR_parser_tables___Parser___action_table_row896 SFT_parser_tables[901]
-#define COLOR_parser_tables___Parser___action_table_row897 SFT_parser_tables[902]
-#define COLOR_parser_tables___Parser___action_table_row898 SFT_parser_tables[903]
-#define COLOR_parser_tables___Parser___action_table_row899 SFT_parser_tables[904]
-#define COLOR_parser_tables___Parser___action_table_row900 SFT_parser_tables[905]
-#define COLOR_parser_tables___Parser___action_table_row901 SFT_parser_tables[906]
-#define COLOR_parser_tables___Parser___action_table_row902 SFT_parser_tables[907]
-#define COLOR_parser_tables___Parser___action_table_row903 SFT_parser_tables[908]
-#define COLOR_parser_tables___Parser___action_table_row904 SFT_parser_tables[909]
-#define COLOR_parser_tables___Parser___action_table_row905 SFT_parser_tables[910]
-#define COLOR_parser_tables___Parser___action_table_row906 SFT_parser_tables[911]
-#define COLOR_parser_tables___Parser___action_table_row907 SFT_parser_tables[912]
-#define COLOR_parser_tables___Parser___action_table_row908 SFT_parser_tables[913]
-#define COLOR_parser_tables___Parser___action_table_row909 SFT_parser_tables[914]
-#define COLOR_parser_tables___Parser___action_table_row910 SFT_parser_tables[915]
-#define COLOR_parser_tables___Parser___action_table_row911 SFT_parser_tables[916]
-#define COLOR_parser_tables___Parser___action_table_row912 SFT_parser_tables[917]
-#define COLOR_parser_tables___Parser___action_table_row913 SFT_parser_tables[918]
-#define COLOR_parser_tables___Parser___action_table_row914 SFT_parser_tables[919]
-#define COLOR_parser_tables___Parser___action_table_row915 SFT_parser_tables[920]
-#define COLOR_parser_tables___Parser___action_table_row916 SFT_parser_tables[921]
-#define COLOR_parser_tables___Parser___action_table_row917 SFT_parser_tables[922]
-#define COLOR_parser_tables___Parser___action_table_row918 SFT_parser_tables[923]
-#define COLOR_parser_tables___Parser___action_table_row919 SFT_parser_tables[924]
-#define COLOR_parser_tables___Parser___action_table_row920 SFT_parser_tables[925]
-#define COLOR_parser_tables___Parser___action_table_row921 SFT_parser_tables[926]
-#define COLOR_parser_tables___Parser___action_table_row922 SFT_parser_tables[927]
-#define COLOR_parser_tables___Parser___action_table_row923 SFT_parser_tables[928]
-#define COLOR_parser_tables___Parser___action_table_row924 SFT_parser_tables[929]
-#define COLOR_parser_tables___Parser___action_table_row925 SFT_parser_tables[930]
-#define COLOR_parser_tables___Parser___action_table_row926 SFT_parser_tables[931]
-#define COLOR_parser_tables___Parser___action_table_row927 SFT_parser_tables[932]
-#define COLOR_parser_tables___Parser___action_table_row928 SFT_parser_tables[933]
-#define COLOR_parser_tables___Parser___action_table_row929 SFT_parser_tables[934]
-#define COLOR_parser_tables___Parser___action_table_row930 SFT_parser_tables[935]
-#define COLOR_parser_tables___Parser___action_table_row931 SFT_parser_tables[936]
-#define COLOR_parser_tables___Parser___action_table_row932 SFT_parser_tables[937]
-#define COLOR_parser_tables___Parser___action_table_row933 SFT_parser_tables[938]
-#define COLOR_parser_tables___Parser___action_table_row934 SFT_parser_tables[939]
-#define COLOR_parser_tables___Parser___action_table_row935 SFT_parser_tables[940]
-#define COLOR_parser_tables___Parser___action_table_row936 SFT_parser_tables[941]
-#define COLOR_parser_tables___Parser___action_table_row937 SFT_parser_tables[942]
-#define COLOR_parser_tables___Parser___action_table_row938 SFT_parser_tables[943]
-#define COLOR_parser_tables___Parser___action_table_row939 SFT_parser_tables[944]
-#define COLOR_parser_tables___Parser___action_table_row940 SFT_parser_tables[945]
-#define COLOR_parser_tables___Parser___action_table_row941 SFT_parser_tables[946]
-#define COLOR_parser_tables___Parser___action_table_row942 SFT_parser_tables[947]
-#define COLOR_parser_tables___Parser___action_table_row943 SFT_parser_tables[948]
-#define COLOR_parser_tables___Parser___action_table_row944 SFT_parser_tables[949]
-#define COLOR_parser_tables___Parser___action_table_row945 SFT_parser_tables[950]
-#define COLOR_parser_tables___Parser___action_table_row946 SFT_parser_tables[951]
-#define COLOR_parser_tables___Parser___action_table_row947 SFT_parser_tables[952]
-#define COLOR_parser_tables___Parser___action_table_row948 SFT_parser_tables[953]
-#define COLOR_parser_tables___Parser___action_table_row949 SFT_parser_tables[954]
-#define COLOR_parser_tables___Parser___action_table_row950 SFT_parser_tables[955]
-#define COLOR_parser_tables___Parser___action_table_row951 SFT_parser_tables[956]
-#define COLOR_parser_tables___Parser___action_table_row952 SFT_parser_tables[957]
-#define COLOR_parser_tables___Parser___action_table_row953 SFT_parser_tables[958]
-#define COLOR_parser_tables___Parser___action_table_row954 SFT_parser_tables[959]
-#define COLOR_parser_tables___Parser___action_table_row955 SFT_parser_tables[960]
-#define COLOR_parser_tables___Parser___action_table_row956 SFT_parser_tables[961]
-#define COLOR_parser_tables___Parser___action_table_row957 SFT_parser_tables[962]
-#define COLOR_parser_tables___Parser___action_table_row958 SFT_parser_tables[963]
-#define COLOR_parser_tables___Parser___action_table_row959 SFT_parser_tables[964]
-#define COLOR_parser_tables___Parser___action_table_row960 SFT_parser_tables[965]
-#define COLOR_parser_tables___Parser___action_table_row961 SFT_parser_tables[966]
-#define COLOR_parser_tables___Parser___action_table_row962 SFT_parser_tables[967]
-#define COLOR_parser_tables___Parser___action_table_row963 SFT_parser_tables[968]
-#define COLOR_parser_tables___Parser___action_table_row964 SFT_parser_tables[969]
-#define COLOR_parser_tables___Parser___action_table_row965 SFT_parser_tables[970]
-#define COLOR_parser_tables___Parser___action_table_row966 SFT_parser_tables[971]
-#define COLOR_parser_tables___Parser___action_table_row967 SFT_parser_tables[972]
-#define COLOR_parser_tables___Parser___action_table_row968 SFT_parser_tables[973]
-#define COLOR_parser_tables___Parser___action_table_row969 SFT_parser_tables[974]
-#define COLOR_parser_tables___Parser___action_table_row970 SFT_parser_tables[975]
-#define COLOR_parser_tables___Parser___action_table_row971 SFT_parser_tables[976]
-#define COLOR_parser_tables___Parser___action_table_row972 SFT_parser_tables[977]
-#define COLOR_parser_tables___Parser___action_table_row973 SFT_parser_tables[978]
-#define COLOR_parser_tables___Parser___action_table_row974 SFT_parser_tables[979]
-#define COLOR_parser_tables___Parser___action_table_row975 SFT_parser_tables[980]
-#define COLOR_parser_tables___Parser___action_table_row976 SFT_parser_tables[981]
-#define COLOR_parser_tables___Parser___action_table_row977 SFT_parser_tables[982]
-#define COLOR_parser_tables___Parser___action_table_row978 SFT_parser_tables[983]
-#define COLOR_parser_tables___Parser___action_table_row979 SFT_parser_tables[984]
-#define COLOR_parser_tables___Parser___action_table_row980 SFT_parser_tables[985]
-#define COLOR_parser_tables___Parser___action_table_row981 SFT_parser_tables[986]
-#define COLOR_parser_tables___Parser___action_table_row982 SFT_parser_tables[987]
-#define COLOR_parser_tables___Parser___action_table_row983 SFT_parser_tables[988]
-#define COLOR_parser_tables___Parser___action_table_row984 SFT_parser_tables[989]
-#define COLOR_parser_tables___Parser___action_table_row985 SFT_parser_tables[990]
-#define COLOR_parser_tables___Parser___action_table_row986 SFT_parser_tables[991]
-#define COLOR_parser_tables___Parser___action_table_row987 SFT_parser_tables[992]
-#define COLOR_parser_tables___Parser___action_table_row988 SFT_parser_tables[993]
-#define COLOR_parser_tables___Parser___action_table_row989 SFT_parser_tables[994]
-#define COLOR_parser_tables___Parser___action_table_row990 SFT_parser_tables[995]
-#define COLOR_parser_tables___Parser___action_table_row991 SFT_parser_tables[996]
-#define COLOR_parser_tables___Parser___action_table_row992 SFT_parser_tables[997]
-#define COLOR_parser_tables___Parser___action_table_row993 SFT_parser_tables[998]
-#define COLOR_parser_tables___Parser___action_table_row994 SFT_parser_tables[999]
-#define COLOR_parser_tables___Parser___action_table_row995 SFT_parser_tables[1000]
-#define COLOR_parser_tables___Parser___action_table_row996 SFT_parser_tables[1001]
-#define COLOR_parser_tables___Parser___action_table_row997 SFT_parser_tables[1002]
-#define COLOR_parser_tables___Parser___action_table_row998 SFT_parser_tables[1003]
-#define COLOR_parser_tables___Parser___action_table_row999 SFT_parser_tables[1004]
-#define COLOR_parser_tables___Parser___action_table_row1000 SFT_parser_tables[1005]
-#define COLOR_parser_tables___Parser___action_table_row1001 SFT_parser_tables[1006]
-#define COLOR_parser_tables___Parser___action_table_row1002 SFT_parser_tables[1007]
-#define COLOR_parser_tables___Parser___action_table_row1003 SFT_parser_tables[1008]
-#define COLOR_parser_tables___Parser___action_table_row1004 SFT_parser_tables[1009]
-#define COLOR_parser_tables___Parser___action_table_row1005 SFT_parser_tables[1010]
-#define COLOR_parser_tables___Parser___action_table_row1006 SFT_parser_tables[1011]
-#define COLOR_parser_tables___Parser___action_table_row1007 SFT_parser_tables[1012]
-#define COLOR_parser_tables___Parser___action_table_row1008 SFT_parser_tables[1013]
-#define COLOR_parser_tables___Parser___action_table_row1009 SFT_parser_tables[1014]
-#define COLOR_parser_tables___Parser___action_table_row1010 SFT_parser_tables[1015]
-#define COLOR_parser_tables___Parser___action_table_row1011 SFT_parser_tables[1016]
-#define COLOR_parser_tables___Parser___action_table_row1012 SFT_parser_tables[1017]
-#define COLOR_parser_tables___Parser___action_table_row1013 SFT_parser_tables[1018]
-#define COLOR_parser_tables___Parser___action_table_row1014 SFT_parser_tables[1019]
-#define COLOR_parser_tables___Parser___action_table_row1015 SFT_parser_tables[1020]
-#define COLOR_parser_tables___Parser___action_table_row1016 SFT_parser_tables[1021]
-#define COLOR_parser_tables___Parser___action_table_row1017 SFT_parser_tables[1022]
-#define COLOR_parser_tables___Parser___action_table_row1018 SFT_parser_tables[1023]
-#define COLOR_parser_tables___Parser___action_table_row1019 SFT_parser_tables[1024]
-#define COLOR_parser_tables___Parser___action_table_row1020 SFT_parser_tables[1025]
-#define COLOR_parser_tables___Parser___action_table_row1021 SFT_parser_tables[1026]
-#define COLOR_parser_tables___Parser___action_table_row1022 SFT_parser_tables[1027]
-#define COLOR_parser_tables___Parser___action_table_row1023 SFT_parser_tables[1028]
-#define COLOR_parser_tables___Parser___action_table_row1024 SFT_parser_tables[1029]
-#define COLOR_parser_tables___Parser___action_table_row1025 SFT_parser_tables[1030]
-#define COLOR_parser_tables___Parser___action_table_row1026 SFT_parser_tables[1031]
-#define COLOR_parser_tables___Parser___action_table_row1027 SFT_parser_tables[1032]
-#define COLOR_parser_tables___Parser___action_table_row1028 SFT_parser_tables[1033]
-#define COLOR_parser_tables___Parser___action_table_row1029 SFT_parser_tables[1034]
-#define COLOR_parser_tables___Parser___action_table_row1030 SFT_parser_tables[1035]
-#define COLOR_parser_tables___Parser___action_table_row1031 SFT_parser_tables[1036]
-#define COLOR_parser_tables___Parser___action_table_row1032 SFT_parser_tables[1037]
-#define COLOR_parser_tables___Parser___action_table_row1033 SFT_parser_tables[1038]
-#define COLOR_parser_tables___Parser___action_table_row1034 SFT_parser_tables[1039]
-#define COLOR_parser_tables___Parser___action_table_row1035 SFT_parser_tables[1040]
-#define COLOR_parser_tables___Parser___action_table_row1036 SFT_parser_tables[1041]
-#define COLOR_parser_tables___Parser___action_table_row1037 SFT_parser_tables[1042]
-#define COLOR_parser_tables___Parser___action_table_row1038 SFT_parser_tables[1043]
-#define COLOR_parser_tables___Parser___action_table_row1039 SFT_parser_tables[1044]
-#define COLOR_parser_tables___Parser___action_table_row1040 SFT_parser_tables[1045]
-#define COLOR_parser_tables___Parser___action_table_row1041 SFT_parser_tables[1046]
-#define COLOR_parser_tables___Parser___action_table_row1042 SFT_parser_tables[1047]
-#define COLOR_parser_tables___Parser___action_table_row1043 SFT_parser_tables[1048]
-#define COLOR_parser_tables___Parser___action_table_row1044 SFT_parser_tables[1049]
-#define COLOR_parser_tables___Parser___action_table_row1045 SFT_parser_tables[1050]
-#define COLOR_parser_tables___Parser___action_table_row1046 SFT_parser_tables[1051]
-#define COLOR_parser_tables___Parser___action_table_row1047 SFT_parser_tables[1052]
-#define COLOR_parser_tables___Parser___action_table_row1048 SFT_parser_tables[1053]
-#define COLOR_parser_tables___Parser___action_table_row1049 SFT_parser_tables[1054]
-#define COLOR_parser_tables___Parser___action_table_row1050 SFT_parser_tables[1055]
-#define COLOR_parser_tables___Parser___action_table_row1051 SFT_parser_tables[1056]
-#define COLOR_parser_tables___Parser___action_table_row1052 SFT_parser_tables[1057]
-#define COLOR_parser_tables___Parser___action_table_row1053 SFT_parser_tables[1058]
-#define COLOR_parser_tables___Parser___action_table_row1054 SFT_parser_tables[1059]
-#define COLOR_parser_tables___Parser___action_table_row1055 SFT_parser_tables[1060]
-#define COLOR_parser_tables___Parser___action_table_row1056 SFT_parser_tables[1061]
-#define COLOR_parser_tables___Parser___action_table_row1057 SFT_parser_tables[1062]
-#define COLOR_parser_tables___Parser___action_table_row1058 SFT_parser_tables[1063]
-#define COLOR_parser_tables___Parser___action_table_row1059 SFT_parser_tables[1064]
-#define COLOR_parser_tables___Parser___action_table_row1060 SFT_parser_tables[1065]
-#define COLOR_parser_tables___Parser___action_table_row1061 SFT_parser_tables[1066]
-#define COLOR_parser_tables___Parser___action_table_row1062 SFT_parser_tables[1067]
-#define COLOR_parser_tables___Parser___action_table_row1063 SFT_parser_tables[1068]
-#define COLOR_parser_tables___Parser___action_table_row1064 SFT_parser_tables[1069]
-#define COLOR_parser_tables___Parser___action_table_row1065 SFT_parser_tables[1070]
-#define COLOR_parser_tables___Parser___action_table_row1066 SFT_parser_tables[1071]
-#define COLOR_parser_tables___Parser___action_table_row1067 SFT_parser_tables[1072]
-#define COLOR_parser_tables___Parser___action_table_row1068 SFT_parser_tables[1073]
-#define COLOR_parser_tables___Parser___action_table_row1069 SFT_parser_tables[1074]
-#define COLOR_parser_tables___Parser___action_table_row1070 SFT_parser_tables[1075]
-#define COLOR_parser_tables___Parser___action_table_row1071 SFT_parser_tables[1076]
-#define COLOR_parser_tables___Parser___action_table_row1072 SFT_parser_tables[1077]
-#define COLOR_parser_tables___Parser___action_table_row1073 SFT_parser_tables[1078]
-#define COLOR_parser_tables___Parser___action_table_row1074 SFT_parser_tables[1079]
-#define COLOR_parser_tables___Parser___action_table_row1075 SFT_parser_tables[1080]
-#define COLOR_parser_tables___Parser___action_table_row1076 SFT_parser_tables[1081]
-#define COLOR_parser_tables___Parser___action_table_row1077 SFT_parser_tables[1082]
-#define COLOR_parser_tables___Parser___action_table_row1078 SFT_parser_tables[1083]
-#define COLOR_parser_tables___Parser___action_table_row1079 SFT_parser_tables[1084]
-#define COLOR_parser_tables___Parser___action_table_row1080 SFT_parser_tables[1085]
-#define COLOR_parser_tables___Parser___action_table_row1081 SFT_parser_tables[1086]
-#define COLOR_parser_tables___Parser___action_table_row1082 SFT_parser_tables[1087]
-#define COLOR_parser_tables___Parser___action_table_row1083 SFT_parser_tables[1088]
-#define COLOR_parser_tables___Parser___action_table_row1084 SFT_parser_tables[1089]
-#define COLOR_parser_tables___Parser___action_table_row1085 SFT_parser_tables[1090]
-#define COLOR_parser_tables___Parser___action_table_row1086 SFT_parser_tables[1091]
-#define COLOR_parser_tables___Parser___action_table_row1087 SFT_parser_tables[1092]
-#define COLOR_parser_tables___Parser___action_table_row1088 SFT_parser_tables[1093]
-#define COLOR_parser_tables___Parser___action_table_row1089 SFT_parser_tables[1094]
-#define COLOR_parser_tables___Parser___action_table_row1090 SFT_parser_tables[1095]
-#define COLOR_parser_tables___Parser___action_table_row1091 SFT_parser_tables[1096]
-#define COLOR_parser_tables___Parser___action_table_row1092 SFT_parser_tables[1097]
-#define COLOR_parser_tables___Parser___action_table_row1093 SFT_parser_tables[1098]
-#define COLOR_parser_tables___Parser___action_table_row1094 SFT_parser_tables[1099]
-#define COLOR_parser_tables___Parser___action_table_row1095 SFT_parser_tables[1100]
-#define COLOR_parser_tables___Parser___action_table_row1096 SFT_parser_tables[1101]
-#define COLOR_parser_tables___Parser___action_table_row1097 SFT_parser_tables[1102]
-#define COLOR_parser_tables___Parser___action_table_row1098 SFT_parser_tables[1103]
-#define COLOR_parser_tables___Parser___action_table_row1099 SFT_parser_tables[1104]
-#define COLOR_parser_tables___Parser___action_table_row1100 SFT_parser_tables[1105]
-#define COLOR_parser_tables___Parser___action_table_row1101 SFT_parser_tables[1106]
-#define COLOR_parser_tables___Parser___action_table_row1102 SFT_parser_tables[1107]
-#define COLOR_parser_tables___Parser___action_table_row1103 SFT_parser_tables[1108]
-#define COLOR_parser_tables___Parser___action_table_row1104 SFT_parser_tables[1109]
-#define COLOR_parser_tables___Parser___action_table_row1105 SFT_parser_tables[1110]
-#define COLOR_parser_tables___Parser___action_table_row1106 SFT_parser_tables[1111]
-#define COLOR_parser_tables___Parser___action_table_row1107 SFT_parser_tables[1112]
-#define COLOR_parser_tables___Parser___action_table_row1108 SFT_parser_tables[1113]
-#define COLOR_parser_tables___Parser___action_table_row1109 SFT_parser_tables[1114]
-#define COLOR_parser_tables___Parser___action_table_row1110 SFT_parser_tables[1115]
-#define COLOR_parser_tables___Parser___action_table_row1111 SFT_parser_tables[1116]
-#define COLOR_parser_tables___Parser___action_table_row1112 SFT_parser_tables[1117]
-#define COLOR_parser_tables___Parser___action_table_row1113 SFT_parser_tables[1118]
-#define COLOR_parser_tables___Parser___action_table_row1114 SFT_parser_tables[1119]
-#define COLOR_parser_tables___Parser___action_table_row1115 SFT_parser_tables[1120]
-#define COLOR_parser_tables___Parser___action_table_row1116 SFT_parser_tables[1121]
-#define COLOR_parser_tables___Parser___action_table_row1117 SFT_parser_tables[1122]
-#define COLOR_parser_tables___Parser___action_table_row1118 SFT_parser_tables[1123]
-#define COLOR_parser_tables___Parser___action_table_row1119 SFT_parser_tables[1124]
-#define COLOR_parser_tables___Parser___action_table_row1120 SFT_parser_tables[1125]
-#define COLOR_parser_tables___Parser___action_table_row1121 SFT_parser_tables[1126]
-#define COLOR_parser_tables___Parser___action_table_row1122 SFT_parser_tables[1127]
-#define COLOR_parser_tables___Parser___action_table_row1123 SFT_parser_tables[1128]
-#define COLOR_parser_tables___Parser___action_table_row1124 SFT_parser_tables[1129]
-#define COLOR_parser_tables___Parser___action_table_row1125 SFT_parser_tables[1130]
-#define COLOR_parser_tables___Parser___action_table_row1126 SFT_parser_tables[1131]
-#define COLOR_parser_tables___Parser___action_table_row1127 SFT_parser_tables[1132]
-#define COLOR_parser_tables___Parser___action_table_row1128 SFT_parser_tables[1133]
-#define COLOR_parser_tables___Parser___action_table_row1129 SFT_parser_tables[1134]
-#define COLOR_parser_tables___Parser___action_table_row1130 SFT_parser_tables[1135]
-#define COLOR_parser_tables___Parser___action_table_row1131 SFT_parser_tables[1136]
-#define COLOR_parser_tables___Parser___action_table_row1132 SFT_parser_tables[1137]
-#define COLOR_parser_tables___Parser___action_table_row1133 SFT_parser_tables[1138]
-#define COLOR_parser_tables___Parser___action_table_row1134 SFT_parser_tables[1139]
-#define COLOR_parser_tables___Parser___action_table_row1135 SFT_parser_tables[1140]
-#define COLOR_parser_tables___Parser___action_table_row1136 SFT_parser_tables[1141]
-#define COLOR_parser_tables___Parser___action_table_row1137 SFT_parser_tables[1142]
-#define COLOR_parser_tables___Parser___action_table_row1138 SFT_parser_tables[1143]
-#define COLOR_parser_tables___Parser___action_table_row1139 SFT_parser_tables[1144]
-#define COLOR_parser_tables___Parser___action_table_row1140 SFT_parser_tables[1145]
-#define COLOR_parser_tables___Parser___action_table_row1141 SFT_parser_tables[1146]
-#define COLOR_parser_tables___Parser___action_table_row1142 SFT_parser_tables[1147]
-#define COLOR_parser_tables___Parser___action_table_row1143 SFT_parser_tables[1148]
-#define COLOR_parser_tables___Parser___action_table_row1144 SFT_parser_tables[1149]
-#define COLOR_parser_tables___Parser___build_goto_table SFT_parser_tables[1150]
-#define COLOR_parser_tables___Parser___error_messages SFT_parser_tables[1151]
-#define COLOR_parser_tables___Parser___errors SFT_parser_tables[1152]
-#define ATTR_parser_tables___Parser____action_table(recv) ATTR(recv, COLOR_parser_tables___Parser____action_table)
-typedef void (* parser_tables___Parser___build_action_table_t)(val_t  self);
-void parser_tables___Parser___build_action_table(val_t  self);
-#define LOCATE_parser_tables___Parser___build_action_table "parser_tables::Parser::build_action_table"
-typedef val_t (* parser_tables___Parser___action_table_row1_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1 "parser_tables::Parser::action_table_row1"
-typedef val_t (* parser_tables___Parser___action_table_row2_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row2(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row2 "parser_tables::Parser::action_table_row2"
-typedef val_t (* parser_tables___Parser___action_table_row3_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row3(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row3 "parser_tables::Parser::action_table_row3"
-typedef val_t (* parser_tables___Parser___action_table_row4_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row4(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row4 "parser_tables::Parser::action_table_row4"
-typedef val_t (* parser_tables___Parser___action_table_row5_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row5(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row5 "parser_tables::Parser::action_table_row5"
-typedef val_t (* parser_tables___Parser___action_table_row6_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row6(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row6 "parser_tables::Parser::action_table_row6"
-typedef val_t (* parser_tables___Parser___action_table_row7_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row7(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row7 "parser_tables::Parser::action_table_row7"
-typedef val_t (* parser_tables___Parser___action_table_row8_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row8(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row8 "parser_tables::Parser::action_table_row8"
-typedef val_t (* parser_tables___Parser___action_table_row9_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row9(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row9 "parser_tables::Parser::action_table_row9"
-typedef val_t (* parser_tables___Parser___action_table_row10_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row10(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row10 "parser_tables::Parser::action_table_row10"
-typedef val_t (* parser_tables___Parser___action_table_row11_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row11(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row11 "parser_tables::Parser::action_table_row11"
-typedef val_t (* parser_tables___Parser___action_table_row12_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row12(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row12 "parser_tables::Parser::action_table_row12"
-typedef val_t (* parser_tables___Parser___action_table_row13_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row13(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row13 "parser_tables::Parser::action_table_row13"
-typedef val_t (* parser_tables___Parser___action_table_row14_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row14(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row14 "parser_tables::Parser::action_table_row14"
-typedef val_t (* parser_tables___Parser___action_table_row15_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row15(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row15 "parser_tables::Parser::action_table_row15"
-typedef val_t (* parser_tables___Parser___action_table_row16_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row16(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row16 "parser_tables::Parser::action_table_row16"
-typedef val_t (* parser_tables___Parser___action_table_row17_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row17(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row17 "parser_tables::Parser::action_table_row17"
-typedef val_t (* parser_tables___Parser___action_table_row18_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row18(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row18 "parser_tables::Parser::action_table_row18"
-typedef val_t (* parser_tables___Parser___action_table_row19_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row19(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row19 "parser_tables::Parser::action_table_row19"
-typedef val_t (* parser_tables___Parser___action_table_row20_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row20(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row20 "parser_tables::Parser::action_table_row20"
-typedef val_t (* parser_tables___Parser___action_table_row21_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row21(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row21 "parser_tables::Parser::action_table_row21"
-typedef val_t (* parser_tables___Parser___action_table_row22_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row22(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row22 "parser_tables::Parser::action_table_row22"
-typedef val_t (* parser_tables___Parser___action_table_row23_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row23(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row23 "parser_tables::Parser::action_table_row23"
-typedef val_t (* parser_tables___Parser___action_table_row24_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row24(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row24 "parser_tables::Parser::action_table_row24"
-typedef val_t (* parser_tables___Parser___action_table_row25_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row25(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row25 "parser_tables::Parser::action_table_row25"
-typedef val_t (* parser_tables___Parser___action_table_row26_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row26(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row26 "parser_tables::Parser::action_table_row26"
-typedef val_t (* parser_tables___Parser___action_table_row27_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row27(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row27 "parser_tables::Parser::action_table_row27"
-typedef val_t (* parser_tables___Parser___action_table_row28_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row28(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row28 "parser_tables::Parser::action_table_row28"
-typedef val_t (* parser_tables___Parser___action_table_row29_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row29(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row29 "parser_tables::Parser::action_table_row29"
-typedef val_t (* parser_tables___Parser___action_table_row30_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row30(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row30 "parser_tables::Parser::action_table_row30"
-typedef val_t (* parser_tables___Parser___action_table_row31_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row31(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row31 "parser_tables::Parser::action_table_row31"
-typedef val_t (* parser_tables___Parser___action_table_row32_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row32(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row32 "parser_tables::Parser::action_table_row32"
-typedef val_t (* parser_tables___Parser___action_table_row33_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row33(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row33 "parser_tables::Parser::action_table_row33"
-typedef val_t (* parser_tables___Parser___action_table_row34_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row34(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row34 "parser_tables::Parser::action_table_row34"
-typedef val_t (* parser_tables___Parser___action_table_row35_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row35(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row35 "parser_tables::Parser::action_table_row35"
-typedef val_t (* parser_tables___Parser___action_table_row36_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row36(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row36 "parser_tables::Parser::action_table_row36"
-typedef val_t (* parser_tables___Parser___action_table_row37_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row37(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row37 "parser_tables::Parser::action_table_row37"
-typedef val_t (* parser_tables___Parser___action_table_row38_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row38(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row38 "parser_tables::Parser::action_table_row38"
-typedef val_t (* parser_tables___Parser___action_table_row39_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row39(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row39 "parser_tables::Parser::action_table_row39"
-typedef val_t (* parser_tables___Parser___action_table_row40_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row40(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row40 "parser_tables::Parser::action_table_row40"
-typedef val_t (* parser_tables___Parser___action_table_row41_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row41(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row41 "parser_tables::Parser::action_table_row41"
-typedef val_t (* parser_tables___Parser___action_table_row42_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row42(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row42 "parser_tables::Parser::action_table_row42"
-typedef val_t (* parser_tables___Parser___action_table_row43_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row43(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row43 "parser_tables::Parser::action_table_row43"
-typedef val_t (* parser_tables___Parser___action_table_row44_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row44(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row44 "parser_tables::Parser::action_table_row44"
-typedef val_t (* parser_tables___Parser___action_table_row45_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row45(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row45 "parser_tables::Parser::action_table_row45"
-typedef val_t (* parser_tables___Parser___action_table_row46_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row46(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row46 "parser_tables::Parser::action_table_row46"
-typedef val_t (* parser_tables___Parser___action_table_row47_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row47(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row47 "parser_tables::Parser::action_table_row47"
-typedef val_t (* parser_tables___Parser___action_table_row48_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row48(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row48 "parser_tables::Parser::action_table_row48"
-typedef val_t (* parser_tables___Parser___action_table_row49_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row49(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row49 "parser_tables::Parser::action_table_row49"
-typedef val_t (* parser_tables___Parser___action_table_row50_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row50(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row50 "parser_tables::Parser::action_table_row50"
-typedef val_t (* parser_tables___Parser___action_table_row51_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row51(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row51 "parser_tables::Parser::action_table_row51"
-typedef val_t (* parser_tables___Parser___action_table_row52_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row52(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row52 "parser_tables::Parser::action_table_row52"
-typedef val_t (* parser_tables___Parser___action_table_row53_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row53(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row53 "parser_tables::Parser::action_table_row53"
-typedef val_t (* parser_tables___Parser___action_table_row54_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row54(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row54 "parser_tables::Parser::action_table_row54"
-typedef val_t (* parser_tables___Parser___action_table_row55_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row55(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row55 "parser_tables::Parser::action_table_row55"
-typedef val_t (* parser_tables___Parser___action_table_row56_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row56(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row56 "parser_tables::Parser::action_table_row56"
-typedef val_t (* parser_tables___Parser___action_table_row57_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row57(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row57 "parser_tables::Parser::action_table_row57"
-typedef val_t (* parser_tables___Parser___action_table_row58_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row58(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row58 "parser_tables::Parser::action_table_row58"
-typedef val_t (* parser_tables___Parser___action_table_row59_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row59(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row59 "parser_tables::Parser::action_table_row59"
-typedef val_t (* parser_tables___Parser___action_table_row60_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row60(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row60 "parser_tables::Parser::action_table_row60"
-typedef val_t (* parser_tables___Parser___action_table_row61_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row61(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row61 "parser_tables::Parser::action_table_row61"
-typedef val_t (* parser_tables___Parser___action_table_row62_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row62(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row62 "parser_tables::Parser::action_table_row62"
-typedef val_t (* parser_tables___Parser___action_table_row63_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row63(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row63 "parser_tables::Parser::action_table_row63"
-typedef val_t (* parser_tables___Parser___action_table_row64_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row64(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row64 "parser_tables::Parser::action_table_row64"
-typedef val_t (* parser_tables___Parser___action_table_row65_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row65(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row65 "parser_tables::Parser::action_table_row65"
-typedef val_t (* parser_tables___Parser___action_table_row66_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row66(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row66 "parser_tables::Parser::action_table_row66"
-typedef val_t (* parser_tables___Parser___action_table_row67_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row67(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row67 "parser_tables::Parser::action_table_row67"
-typedef val_t (* parser_tables___Parser___action_table_row68_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row68(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row68 "parser_tables::Parser::action_table_row68"
-typedef val_t (* parser_tables___Parser___action_table_row69_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row69(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row69 "parser_tables::Parser::action_table_row69"
-typedef val_t (* parser_tables___Parser___action_table_row70_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row70(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row70 "parser_tables::Parser::action_table_row70"
-typedef val_t (* parser_tables___Parser___action_table_row71_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row71(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row71 "parser_tables::Parser::action_table_row71"
-typedef val_t (* parser_tables___Parser___action_table_row72_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row72(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row72 "parser_tables::Parser::action_table_row72"
-typedef val_t (* parser_tables___Parser___action_table_row73_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row73(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row73 "parser_tables::Parser::action_table_row73"
-typedef val_t (* parser_tables___Parser___action_table_row74_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row74(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row74 "parser_tables::Parser::action_table_row74"
-typedef val_t (* parser_tables___Parser___action_table_row75_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row75(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row75 "parser_tables::Parser::action_table_row75"
-typedef val_t (* parser_tables___Parser___action_table_row76_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row76(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row76 "parser_tables::Parser::action_table_row76"
-typedef val_t (* parser_tables___Parser___action_table_row77_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row77(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row77 "parser_tables::Parser::action_table_row77"
-typedef val_t (* parser_tables___Parser___action_table_row78_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row78(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row78 "parser_tables::Parser::action_table_row78"
-typedef val_t (* parser_tables___Parser___action_table_row79_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row79(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row79 "parser_tables::Parser::action_table_row79"
-typedef val_t (* parser_tables___Parser___action_table_row80_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row80(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row80 "parser_tables::Parser::action_table_row80"
-typedef val_t (* parser_tables___Parser___action_table_row81_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row81(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row81 "parser_tables::Parser::action_table_row81"
-typedef val_t (* parser_tables___Parser___action_table_row82_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row82(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row82 "parser_tables::Parser::action_table_row82"
-typedef val_t (* parser_tables___Parser___action_table_row83_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row83(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row83 "parser_tables::Parser::action_table_row83"
-typedef val_t (* parser_tables___Parser___action_table_row84_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row84(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row84 "parser_tables::Parser::action_table_row84"
-typedef val_t (* parser_tables___Parser___action_table_row85_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row85(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row85 "parser_tables::Parser::action_table_row85"
-typedef val_t (* parser_tables___Parser___action_table_row86_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row86(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row86 "parser_tables::Parser::action_table_row86"
-typedef val_t (* parser_tables___Parser___action_table_row87_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row87(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row87 "parser_tables::Parser::action_table_row87"
-typedef val_t (* parser_tables___Parser___action_table_row88_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row88(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row88 "parser_tables::Parser::action_table_row88"
-typedef val_t (* parser_tables___Parser___action_table_row89_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row89(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row89 "parser_tables::Parser::action_table_row89"
-typedef val_t (* parser_tables___Parser___action_table_row90_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row90(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row90 "parser_tables::Parser::action_table_row90"
-typedef val_t (* parser_tables___Parser___action_table_row91_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row91(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row91 "parser_tables::Parser::action_table_row91"
-typedef val_t (* parser_tables___Parser___action_table_row92_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row92(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row92 "parser_tables::Parser::action_table_row92"
-typedef val_t (* parser_tables___Parser___action_table_row93_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row93(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row93 "parser_tables::Parser::action_table_row93"
-typedef val_t (* parser_tables___Parser___action_table_row94_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row94(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row94 "parser_tables::Parser::action_table_row94"
-typedef val_t (* parser_tables___Parser___action_table_row95_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row95(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row95 "parser_tables::Parser::action_table_row95"
-typedef val_t (* parser_tables___Parser___action_table_row96_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row96(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row96 "parser_tables::Parser::action_table_row96"
-typedef val_t (* parser_tables___Parser___action_table_row97_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row97(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row97 "parser_tables::Parser::action_table_row97"
-typedef val_t (* parser_tables___Parser___action_table_row98_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row98(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row98 "parser_tables::Parser::action_table_row98"
-typedef val_t (* parser_tables___Parser___action_table_row99_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row99(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row99 "parser_tables::Parser::action_table_row99"
-typedef val_t (* parser_tables___Parser___action_table_row100_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row100(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row100 "parser_tables::Parser::action_table_row100"
-typedef val_t (* parser_tables___Parser___action_table_row101_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row101(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row101 "parser_tables::Parser::action_table_row101"
-typedef val_t (* parser_tables___Parser___action_table_row102_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row102(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row102 "parser_tables::Parser::action_table_row102"
-typedef val_t (* parser_tables___Parser___action_table_row103_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row103(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row103 "parser_tables::Parser::action_table_row103"
-typedef val_t (* parser_tables___Parser___action_table_row104_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row104(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row104 "parser_tables::Parser::action_table_row104"
-typedef val_t (* parser_tables___Parser___action_table_row105_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row105(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row105 "parser_tables::Parser::action_table_row105"
-typedef val_t (* parser_tables___Parser___action_table_row106_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row106(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row106 "parser_tables::Parser::action_table_row106"
-typedef val_t (* parser_tables___Parser___action_table_row107_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row107(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row107 "parser_tables::Parser::action_table_row107"
-typedef val_t (* parser_tables___Parser___action_table_row108_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row108(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row108 "parser_tables::Parser::action_table_row108"
-typedef val_t (* parser_tables___Parser___action_table_row109_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row109(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row109 "parser_tables::Parser::action_table_row109"
-typedef val_t (* parser_tables___Parser___action_table_row110_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row110(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row110 "parser_tables::Parser::action_table_row110"
-typedef val_t (* parser_tables___Parser___action_table_row111_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row111(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row111 "parser_tables::Parser::action_table_row111"
-typedef val_t (* parser_tables___Parser___action_table_row112_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row112(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row112 "parser_tables::Parser::action_table_row112"
-typedef val_t (* parser_tables___Parser___action_table_row113_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row113(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row113 "parser_tables::Parser::action_table_row113"
-typedef val_t (* parser_tables___Parser___action_table_row114_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row114(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row114 "parser_tables::Parser::action_table_row114"
-typedef val_t (* parser_tables___Parser___action_table_row115_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row115(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row115 "parser_tables::Parser::action_table_row115"
-typedef val_t (* parser_tables___Parser___action_table_row116_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row116(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row116 "parser_tables::Parser::action_table_row116"
-typedef val_t (* parser_tables___Parser___action_table_row117_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row117(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row117 "parser_tables::Parser::action_table_row117"
-typedef val_t (* parser_tables___Parser___action_table_row118_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row118(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row118 "parser_tables::Parser::action_table_row118"
-typedef val_t (* parser_tables___Parser___action_table_row119_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row119(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row119 "parser_tables::Parser::action_table_row119"
-typedef val_t (* parser_tables___Parser___action_table_row120_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row120(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row120 "parser_tables::Parser::action_table_row120"
-typedef val_t (* parser_tables___Parser___action_table_row121_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row121(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row121 "parser_tables::Parser::action_table_row121"
-typedef val_t (* parser_tables___Parser___action_table_row122_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row122(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row122 "parser_tables::Parser::action_table_row122"
-typedef val_t (* parser_tables___Parser___action_table_row123_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row123(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row123 "parser_tables::Parser::action_table_row123"
-typedef val_t (* parser_tables___Parser___action_table_row124_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row124(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row124 "parser_tables::Parser::action_table_row124"
-typedef val_t (* parser_tables___Parser___action_table_row125_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row125(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row125 "parser_tables::Parser::action_table_row125"
-typedef val_t (* parser_tables___Parser___action_table_row126_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row126(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row126 "parser_tables::Parser::action_table_row126"
-typedef val_t (* parser_tables___Parser___action_table_row127_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row127(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row127 "parser_tables::Parser::action_table_row127"
-typedef val_t (* parser_tables___Parser___action_table_row128_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row128(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row128 "parser_tables::Parser::action_table_row128"
-typedef val_t (* parser_tables___Parser___action_table_row129_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row129(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row129 "parser_tables::Parser::action_table_row129"
-typedef val_t (* parser_tables___Parser___action_table_row130_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row130(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row130 "parser_tables::Parser::action_table_row130"
-typedef val_t (* parser_tables___Parser___action_table_row131_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row131(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row131 "parser_tables::Parser::action_table_row131"
-typedef val_t (* parser_tables___Parser___action_table_row132_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row132(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row132 "parser_tables::Parser::action_table_row132"
-typedef val_t (* parser_tables___Parser___action_table_row133_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row133(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row133 "parser_tables::Parser::action_table_row133"
-typedef val_t (* parser_tables___Parser___action_table_row134_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row134(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row134 "parser_tables::Parser::action_table_row134"
-typedef val_t (* parser_tables___Parser___action_table_row135_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row135(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row135 "parser_tables::Parser::action_table_row135"
-typedef val_t (* parser_tables___Parser___action_table_row136_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row136(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row136 "parser_tables::Parser::action_table_row136"
-typedef val_t (* parser_tables___Parser___action_table_row137_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row137(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row137 "parser_tables::Parser::action_table_row137"
-typedef val_t (* parser_tables___Parser___action_table_row138_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row138(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row138 "parser_tables::Parser::action_table_row138"
-typedef val_t (* parser_tables___Parser___action_table_row139_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row139(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row139 "parser_tables::Parser::action_table_row139"
-typedef val_t (* parser_tables___Parser___action_table_row140_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row140(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row140 "parser_tables::Parser::action_table_row140"
-typedef val_t (* parser_tables___Parser___action_table_row141_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row141(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row141 "parser_tables::Parser::action_table_row141"
-typedef val_t (* parser_tables___Parser___action_table_row142_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row142(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row142 "parser_tables::Parser::action_table_row142"
-typedef val_t (* parser_tables___Parser___action_table_row143_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row143(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row143 "parser_tables::Parser::action_table_row143"
-typedef val_t (* parser_tables___Parser___action_table_row144_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row144(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row144 "parser_tables::Parser::action_table_row144"
-typedef val_t (* parser_tables___Parser___action_table_row145_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row145(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row145 "parser_tables::Parser::action_table_row145"
-typedef val_t (* parser_tables___Parser___action_table_row146_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row146(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row146 "parser_tables::Parser::action_table_row146"
-typedef val_t (* parser_tables___Parser___action_table_row147_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row147(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row147 "parser_tables::Parser::action_table_row147"
-typedef val_t (* parser_tables___Parser___action_table_row148_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row148(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row148 "parser_tables::Parser::action_table_row148"
-typedef val_t (* parser_tables___Parser___action_table_row149_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row149(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row149 "parser_tables::Parser::action_table_row149"
-typedef val_t (* parser_tables___Parser___action_table_row150_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row150(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row150 "parser_tables::Parser::action_table_row150"
-typedef val_t (* parser_tables___Parser___action_table_row151_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row151(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row151 "parser_tables::Parser::action_table_row151"
-typedef val_t (* parser_tables___Parser___action_table_row152_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row152(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row152 "parser_tables::Parser::action_table_row152"
-typedef val_t (* parser_tables___Parser___action_table_row153_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row153(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row153 "parser_tables::Parser::action_table_row153"
-typedef val_t (* parser_tables___Parser___action_table_row154_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row154(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row154 "parser_tables::Parser::action_table_row154"
-typedef val_t (* parser_tables___Parser___action_table_row155_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row155(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row155 "parser_tables::Parser::action_table_row155"
-typedef val_t (* parser_tables___Parser___action_table_row156_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row156(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row156 "parser_tables::Parser::action_table_row156"
-typedef val_t (* parser_tables___Parser___action_table_row157_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row157(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row157 "parser_tables::Parser::action_table_row157"
-typedef val_t (* parser_tables___Parser___action_table_row158_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row158(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row158 "parser_tables::Parser::action_table_row158"
-typedef val_t (* parser_tables___Parser___action_table_row159_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row159(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row159 "parser_tables::Parser::action_table_row159"
-typedef val_t (* parser_tables___Parser___action_table_row160_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row160(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row160 "parser_tables::Parser::action_table_row160"
-typedef val_t (* parser_tables___Parser___action_table_row161_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row161(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row161 "parser_tables::Parser::action_table_row161"
-typedef val_t (* parser_tables___Parser___action_table_row162_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row162(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row162 "parser_tables::Parser::action_table_row162"
-typedef val_t (* parser_tables___Parser___action_table_row163_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row163(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row163 "parser_tables::Parser::action_table_row163"
-typedef val_t (* parser_tables___Parser___action_table_row164_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row164(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row164 "parser_tables::Parser::action_table_row164"
-typedef val_t (* parser_tables___Parser___action_table_row165_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row165(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row165 "parser_tables::Parser::action_table_row165"
-typedef val_t (* parser_tables___Parser___action_table_row166_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row166(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row166 "parser_tables::Parser::action_table_row166"
-typedef val_t (* parser_tables___Parser___action_table_row167_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row167(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row167 "parser_tables::Parser::action_table_row167"
-typedef val_t (* parser_tables___Parser___action_table_row168_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row168(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row168 "parser_tables::Parser::action_table_row168"
-typedef val_t (* parser_tables___Parser___action_table_row169_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row169(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row169 "parser_tables::Parser::action_table_row169"
-typedef val_t (* parser_tables___Parser___action_table_row170_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row170(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row170 "parser_tables::Parser::action_table_row170"
-typedef val_t (* parser_tables___Parser___action_table_row171_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row171(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row171 "parser_tables::Parser::action_table_row171"
-typedef val_t (* parser_tables___Parser___action_table_row172_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row172(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row172 "parser_tables::Parser::action_table_row172"
-typedef val_t (* parser_tables___Parser___action_table_row173_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row173(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row173 "parser_tables::Parser::action_table_row173"
-typedef val_t (* parser_tables___Parser___action_table_row174_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row174(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row174 "parser_tables::Parser::action_table_row174"
-typedef val_t (* parser_tables___Parser___action_table_row175_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row175(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row175 "parser_tables::Parser::action_table_row175"
-typedef val_t (* parser_tables___Parser___action_table_row176_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row176(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row176 "parser_tables::Parser::action_table_row176"
-typedef val_t (* parser_tables___Parser___action_table_row177_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row177(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row177 "parser_tables::Parser::action_table_row177"
-typedef val_t (* parser_tables___Parser___action_table_row178_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row178(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row178 "parser_tables::Parser::action_table_row178"
-typedef val_t (* parser_tables___Parser___action_table_row179_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row179(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row179 "parser_tables::Parser::action_table_row179"
-typedef val_t (* parser_tables___Parser___action_table_row180_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row180(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row180 "parser_tables::Parser::action_table_row180"
-typedef val_t (* parser_tables___Parser___action_table_row181_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row181(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row181 "parser_tables::Parser::action_table_row181"
-typedef val_t (* parser_tables___Parser___action_table_row182_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row182(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row182 "parser_tables::Parser::action_table_row182"
-typedef val_t (* parser_tables___Parser___action_table_row183_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row183(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row183 "parser_tables::Parser::action_table_row183"
-typedef val_t (* parser_tables___Parser___action_table_row184_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row184(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row184 "parser_tables::Parser::action_table_row184"
-typedef val_t (* parser_tables___Parser___action_table_row185_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row185(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row185 "parser_tables::Parser::action_table_row185"
-typedef val_t (* parser_tables___Parser___action_table_row186_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row186(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row186 "parser_tables::Parser::action_table_row186"
-typedef val_t (* parser_tables___Parser___action_table_row187_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row187(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row187 "parser_tables::Parser::action_table_row187"
-typedef val_t (* parser_tables___Parser___action_table_row188_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row188(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row188 "parser_tables::Parser::action_table_row188"
-typedef val_t (* parser_tables___Parser___action_table_row189_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row189(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row189 "parser_tables::Parser::action_table_row189"
-typedef val_t (* parser_tables___Parser___action_table_row190_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row190(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row190 "parser_tables::Parser::action_table_row190"
-typedef val_t (* parser_tables___Parser___action_table_row191_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row191(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row191 "parser_tables::Parser::action_table_row191"
-typedef val_t (* parser_tables___Parser___action_table_row192_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row192(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row192 "parser_tables::Parser::action_table_row192"
-typedef val_t (* parser_tables___Parser___action_table_row193_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row193(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row193 "parser_tables::Parser::action_table_row193"
-typedef val_t (* parser_tables___Parser___action_table_row194_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row194(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row194 "parser_tables::Parser::action_table_row194"
-typedef val_t (* parser_tables___Parser___action_table_row195_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row195(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row195 "parser_tables::Parser::action_table_row195"
-typedef val_t (* parser_tables___Parser___action_table_row196_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row196(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row196 "parser_tables::Parser::action_table_row196"
-typedef val_t (* parser_tables___Parser___action_table_row197_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row197(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row197 "parser_tables::Parser::action_table_row197"
-typedef val_t (* parser_tables___Parser___action_table_row198_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row198(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row198 "parser_tables::Parser::action_table_row198"
-typedef val_t (* parser_tables___Parser___action_table_row199_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row199(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row199 "parser_tables::Parser::action_table_row199"
-typedef val_t (* parser_tables___Parser___action_table_row200_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row200(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row200 "parser_tables::Parser::action_table_row200"
-typedef val_t (* parser_tables___Parser___action_table_row201_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row201(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row201 "parser_tables::Parser::action_table_row201"
-typedef val_t (* parser_tables___Parser___action_table_row202_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row202(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row202 "parser_tables::Parser::action_table_row202"
-typedef val_t (* parser_tables___Parser___action_table_row203_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row203(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row203 "parser_tables::Parser::action_table_row203"
-typedef val_t (* parser_tables___Parser___action_table_row204_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row204(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row204 "parser_tables::Parser::action_table_row204"
-typedef val_t (* parser_tables___Parser___action_table_row205_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row205(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row205 "parser_tables::Parser::action_table_row205"
-typedef val_t (* parser_tables___Parser___action_table_row206_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row206(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row206 "parser_tables::Parser::action_table_row206"
-typedef val_t (* parser_tables___Parser___action_table_row207_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row207(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row207 "parser_tables::Parser::action_table_row207"
-typedef val_t (* parser_tables___Parser___action_table_row208_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row208(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row208 "parser_tables::Parser::action_table_row208"
-typedef val_t (* parser_tables___Parser___action_table_row209_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row209(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row209 "parser_tables::Parser::action_table_row209"
-typedef val_t (* parser_tables___Parser___action_table_row210_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row210(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row210 "parser_tables::Parser::action_table_row210"
-typedef val_t (* parser_tables___Parser___action_table_row211_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row211(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row211 "parser_tables::Parser::action_table_row211"
-typedef val_t (* parser_tables___Parser___action_table_row212_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row212(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row212 "parser_tables::Parser::action_table_row212"
-typedef val_t (* parser_tables___Parser___action_table_row213_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row213(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row213 "parser_tables::Parser::action_table_row213"
-typedef val_t (* parser_tables___Parser___action_table_row214_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row214(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row214 "parser_tables::Parser::action_table_row214"
-typedef val_t (* parser_tables___Parser___action_table_row215_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row215(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row215 "parser_tables::Parser::action_table_row215"
-typedef val_t (* parser_tables___Parser___action_table_row216_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row216(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row216 "parser_tables::Parser::action_table_row216"
-typedef val_t (* parser_tables___Parser___action_table_row217_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row217(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row217 "parser_tables::Parser::action_table_row217"
-typedef val_t (* parser_tables___Parser___action_table_row218_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row218(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row218 "parser_tables::Parser::action_table_row218"
-typedef val_t (* parser_tables___Parser___action_table_row219_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row219(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row219 "parser_tables::Parser::action_table_row219"
-typedef val_t (* parser_tables___Parser___action_table_row220_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row220(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row220 "parser_tables::Parser::action_table_row220"
-typedef val_t (* parser_tables___Parser___action_table_row221_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row221(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row221 "parser_tables::Parser::action_table_row221"
-typedef val_t (* parser_tables___Parser___action_table_row222_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row222(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row222 "parser_tables::Parser::action_table_row222"
-typedef val_t (* parser_tables___Parser___action_table_row223_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row223(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row223 "parser_tables::Parser::action_table_row223"
-typedef val_t (* parser_tables___Parser___action_table_row224_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row224(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row224 "parser_tables::Parser::action_table_row224"
-typedef val_t (* parser_tables___Parser___action_table_row225_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row225(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row225 "parser_tables::Parser::action_table_row225"
-typedef val_t (* parser_tables___Parser___action_table_row226_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row226(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row226 "parser_tables::Parser::action_table_row226"
-typedef val_t (* parser_tables___Parser___action_table_row227_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row227(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row227 "parser_tables::Parser::action_table_row227"
-typedef val_t (* parser_tables___Parser___action_table_row228_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row228(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row228 "parser_tables::Parser::action_table_row228"
-typedef val_t (* parser_tables___Parser___action_table_row229_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row229(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row229 "parser_tables::Parser::action_table_row229"
-typedef val_t (* parser_tables___Parser___action_table_row230_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row230(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row230 "parser_tables::Parser::action_table_row230"
-typedef val_t (* parser_tables___Parser___action_table_row231_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row231(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row231 "parser_tables::Parser::action_table_row231"
-typedef val_t (* parser_tables___Parser___action_table_row232_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row232(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row232 "parser_tables::Parser::action_table_row232"
-typedef val_t (* parser_tables___Parser___action_table_row233_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row233(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row233 "parser_tables::Parser::action_table_row233"
-typedef val_t (* parser_tables___Parser___action_table_row234_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row234(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row234 "parser_tables::Parser::action_table_row234"
-typedef val_t (* parser_tables___Parser___action_table_row235_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row235(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row235 "parser_tables::Parser::action_table_row235"
-typedef val_t (* parser_tables___Parser___action_table_row236_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row236(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row236 "parser_tables::Parser::action_table_row236"
-typedef val_t (* parser_tables___Parser___action_table_row237_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row237(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row237 "parser_tables::Parser::action_table_row237"
-typedef val_t (* parser_tables___Parser___action_table_row238_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row238(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row238 "parser_tables::Parser::action_table_row238"
-typedef val_t (* parser_tables___Parser___action_table_row239_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row239(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row239 "parser_tables::Parser::action_table_row239"
-typedef val_t (* parser_tables___Parser___action_table_row240_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row240(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row240 "parser_tables::Parser::action_table_row240"
-typedef val_t (* parser_tables___Parser___action_table_row241_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row241(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row241 "parser_tables::Parser::action_table_row241"
-typedef val_t (* parser_tables___Parser___action_table_row242_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row242(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row242 "parser_tables::Parser::action_table_row242"
-typedef val_t (* parser_tables___Parser___action_table_row243_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row243(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row243 "parser_tables::Parser::action_table_row243"
-typedef val_t (* parser_tables___Parser___action_table_row244_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row244(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row244 "parser_tables::Parser::action_table_row244"
-typedef val_t (* parser_tables___Parser___action_table_row245_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row245(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row245 "parser_tables::Parser::action_table_row245"
-typedef val_t (* parser_tables___Parser___action_table_row246_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row246(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row246 "parser_tables::Parser::action_table_row246"
-typedef val_t (* parser_tables___Parser___action_table_row247_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row247(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row247 "parser_tables::Parser::action_table_row247"
-typedef val_t (* parser_tables___Parser___action_table_row248_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row248(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row248 "parser_tables::Parser::action_table_row248"
-typedef val_t (* parser_tables___Parser___action_table_row249_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row249(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row249 "parser_tables::Parser::action_table_row249"
-typedef val_t (* parser_tables___Parser___action_table_row250_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row250(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row250 "parser_tables::Parser::action_table_row250"
-typedef val_t (* parser_tables___Parser___action_table_row251_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row251(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row251 "parser_tables::Parser::action_table_row251"
-typedef val_t (* parser_tables___Parser___action_table_row252_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row252(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row252 "parser_tables::Parser::action_table_row252"
-typedef val_t (* parser_tables___Parser___action_table_row253_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row253(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row253 "parser_tables::Parser::action_table_row253"
-typedef val_t (* parser_tables___Parser___action_table_row254_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row254(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row254 "parser_tables::Parser::action_table_row254"
-typedef val_t (* parser_tables___Parser___action_table_row255_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row255(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row255 "parser_tables::Parser::action_table_row255"
-typedef val_t (* parser_tables___Parser___action_table_row256_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row256(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row256 "parser_tables::Parser::action_table_row256"
-typedef val_t (* parser_tables___Parser___action_table_row257_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row257(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row257 "parser_tables::Parser::action_table_row257"
-typedef val_t (* parser_tables___Parser___action_table_row258_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row258(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row258 "parser_tables::Parser::action_table_row258"
-typedef val_t (* parser_tables___Parser___action_table_row259_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row259(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row259 "parser_tables::Parser::action_table_row259"
-typedef val_t (* parser_tables___Parser___action_table_row260_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row260(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row260 "parser_tables::Parser::action_table_row260"
-typedef val_t (* parser_tables___Parser___action_table_row261_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row261(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row261 "parser_tables::Parser::action_table_row261"
-typedef val_t (* parser_tables___Parser___action_table_row262_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row262(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row262 "parser_tables::Parser::action_table_row262"
-typedef val_t (* parser_tables___Parser___action_table_row263_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row263(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row263 "parser_tables::Parser::action_table_row263"
-typedef val_t (* parser_tables___Parser___action_table_row264_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row264(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row264 "parser_tables::Parser::action_table_row264"
-typedef val_t (* parser_tables___Parser___action_table_row265_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row265(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row265 "parser_tables::Parser::action_table_row265"
-typedef val_t (* parser_tables___Parser___action_table_row266_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row266(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row266 "parser_tables::Parser::action_table_row266"
-typedef val_t (* parser_tables___Parser___action_table_row267_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row267(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row267 "parser_tables::Parser::action_table_row267"
-typedef val_t (* parser_tables___Parser___action_table_row268_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row268(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row268 "parser_tables::Parser::action_table_row268"
-typedef val_t (* parser_tables___Parser___action_table_row269_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row269(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row269 "parser_tables::Parser::action_table_row269"
-typedef val_t (* parser_tables___Parser___action_table_row270_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row270(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row270 "parser_tables::Parser::action_table_row270"
-typedef val_t (* parser_tables___Parser___action_table_row271_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row271(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row271 "parser_tables::Parser::action_table_row271"
-typedef val_t (* parser_tables___Parser___action_table_row272_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row272(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row272 "parser_tables::Parser::action_table_row272"
-typedef val_t (* parser_tables___Parser___action_table_row273_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row273(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row273 "parser_tables::Parser::action_table_row273"
-typedef val_t (* parser_tables___Parser___action_table_row274_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row274(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row274 "parser_tables::Parser::action_table_row274"
-typedef val_t (* parser_tables___Parser___action_table_row275_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row275(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row275 "parser_tables::Parser::action_table_row275"
-typedef val_t (* parser_tables___Parser___action_table_row276_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row276(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row276 "parser_tables::Parser::action_table_row276"
-typedef val_t (* parser_tables___Parser___action_table_row277_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row277(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row277 "parser_tables::Parser::action_table_row277"
-typedef val_t (* parser_tables___Parser___action_table_row278_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row278(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row278 "parser_tables::Parser::action_table_row278"
-typedef val_t (* parser_tables___Parser___action_table_row279_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row279(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row279 "parser_tables::Parser::action_table_row279"
-typedef val_t (* parser_tables___Parser___action_table_row280_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row280(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row280 "parser_tables::Parser::action_table_row280"
-typedef val_t (* parser_tables___Parser___action_table_row281_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row281(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row281 "parser_tables::Parser::action_table_row281"
-typedef val_t (* parser_tables___Parser___action_table_row282_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row282(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row282 "parser_tables::Parser::action_table_row282"
-typedef val_t (* parser_tables___Parser___action_table_row283_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row283(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row283 "parser_tables::Parser::action_table_row283"
-typedef val_t (* parser_tables___Parser___action_table_row284_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row284(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row284 "parser_tables::Parser::action_table_row284"
-typedef val_t (* parser_tables___Parser___action_table_row285_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row285(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row285 "parser_tables::Parser::action_table_row285"
-typedef val_t (* parser_tables___Parser___action_table_row286_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row286(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row286 "parser_tables::Parser::action_table_row286"
-typedef val_t (* parser_tables___Parser___action_table_row287_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row287(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row287 "parser_tables::Parser::action_table_row287"
-typedef val_t (* parser_tables___Parser___action_table_row288_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row288(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row288 "parser_tables::Parser::action_table_row288"
-typedef val_t (* parser_tables___Parser___action_table_row289_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row289(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row289 "parser_tables::Parser::action_table_row289"
-typedef val_t (* parser_tables___Parser___action_table_row290_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row290(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row290 "parser_tables::Parser::action_table_row290"
-typedef val_t (* parser_tables___Parser___action_table_row291_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row291(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row291 "parser_tables::Parser::action_table_row291"
-typedef val_t (* parser_tables___Parser___action_table_row292_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row292(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row292 "parser_tables::Parser::action_table_row292"
-typedef val_t (* parser_tables___Parser___action_table_row293_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row293(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row293 "parser_tables::Parser::action_table_row293"
-typedef val_t (* parser_tables___Parser___action_table_row294_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row294(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row294 "parser_tables::Parser::action_table_row294"
-typedef val_t (* parser_tables___Parser___action_table_row295_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row295(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row295 "parser_tables::Parser::action_table_row295"
-typedef val_t (* parser_tables___Parser___action_table_row296_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row296(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row296 "parser_tables::Parser::action_table_row296"
-typedef val_t (* parser_tables___Parser___action_table_row297_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row297(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row297 "parser_tables::Parser::action_table_row297"
-typedef val_t (* parser_tables___Parser___action_table_row298_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row298(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row298 "parser_tables::Parser::action_table_row298"
-typedef val_t (* parser_tables___Parser___action_table_row299_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row299(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row299 "parser_tables::Parser::action_table_row299"
-typedef val_t (* parser_tables___Parser___action_table_row300_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row300(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row300 "parser_tables::Parser::action_table_row300"
-typedef val_t (* parser_tables___Parser___action_table_row301_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row301(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row301 "parser_tables::Parser::action_table_row301"
-typedef val_t (* parser_tables___Parser___action_table_row302_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row302(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row302 "parser_tables::Parser::action_table_row302"
-typedef val_t (* parser_tables___Parser___action_table_row303_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row303(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row303 "parser_tables::Parser::action_table_row303"
-typedef val_t (* parser_tables___Parser___action_table_row304_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row304(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row304 "parser_tables::Parser::action_table_row304"
-typedef val_t (* parser_tables___Parser___action_table_row305_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row305(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row305 "parser_tables::Parser::action_table_row305"
-typedef val_t (* parser_tables___Parser___action_table_row306_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row306(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row306 "parser_tables::Parser::action_table_row306"
-typedef val_t (* parser_tables___Parser___action_table_row307_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row307(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row307 "parser_tables::Parser::action_table_row307"
-typedef val_t (* parser_tables___Parser___action_table_row308_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row308(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row308 "parser_tables::Parser::action_table_row308"
-typedef val_t (* parser_tables___Parser___action_table_row309_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row309(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row309 "parser_tables::Parser::action_table_row309"
-typedef val_t (* parser_tables___Parser___action_table_row310_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row310(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row310 "parser_tables::Parser::action_table_row310"
-typedef val_t (* parser_tables___Parser___action_table_row311_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row311(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row311 "parser_tables::Parser::action_table_row311"
-typedef val_t (* parser_tables___Parser___action_table_row312_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row312(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row312 "parser_tables::Parser::action_table_row312"
-typedef val_t (* parser_tables___Parser___action_table_row313_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row313(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row313 "parser_tables::Parser::action_table_row313"
-typedef val_t (* parser_tables___Parser___action_table_row314_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row314(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row314 "parser_tables::Parser::action_table_row314"
-typedef val_t (* parser_tables___Parser___action_table_row315_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row315(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row315 "parser_tables::Parser::action_table_row315"
-typedef val_t (* parser_tables___Parser___action_table_row316_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row316(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row316 "parser_tables::Parser::action_table_row316"
-typedef val_t (* parser_tables___Parser___action_table_row317_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row317(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row317 "parser_tables::Parser::action_table_row317"
-typedef val_t (* parser_tables___Parser___action_table_row318_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row318(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row318 "parser_tables::Parser::action_table_row318"
-typedef val_t (* parser_tables___Parser___action_table_row319_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row319(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row319 "parser_tables::Parser::action_table_row319"
-typedef val_t (* parser_tables___Parser___action_table_row320_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row320(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row320 "parser_tables::Parser::action_table_row320"
-typedef val_t (* parser_tables___Parser___action_table_row321_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row321(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row321 "parser_tables::Parser::action_table_row321"
-typedef val_t (* parser_tables___Parser___action_table_row322_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row322(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row322 "parser_tables::Parser::action_table_row322"
-typedef val_t (* parser_tables___Parser___action_table_row323_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row323(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row323 "parser_tables::Parser::action_table_row323"
-typedef val_t (* parser_tables___Parser___action_table_row324_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row324(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row324 "parser_tables::Parser::action_table_row324"
-typedef val_t (* parser_tables___Parser___action_table_row325_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row325(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row325 "parser_tables::Parser::action_table_row325"
-typedef val_t (* parser_tables___Parser___action_table_row326_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row326(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row326 "parser_tables::Parser::action_table_row326"
-typedef val_t (* parser_tables___Parser___action_table_row327_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row327(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row327 "parser_tables::Parser::action_table_row327"
-typedef val_t (* parser_tables___Parser___action_table_row328_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row328(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row328 "parser_tables::Parser::action_table_row328"
-typedef val_t (* parser_tables___Parser___action_table_row329_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row329(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row329 "parser_tables::Parser::action_table_row329"
-typedef val_t (* parser_tables___Parser___action_table_row330_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row330(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row330 "parser_tables::Parser::action_table_row330"
-typedef val_t (* parser_tables___Parser___action_table_row331_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row331(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row331 "parser_tables::Parser::action_table_row331"
-typedef val_t (* parser_tables___Parser___action_table_row332_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row332(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row332 "parser_tables::Parser::action_table_row332"
-typedef val_t (* parser_tables___Parser___action_table_row333_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row333(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row333 "parser_tables::Parser::action_table_row333"
-typedef val_t (* parser_tables___Parser___action_table_row334_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row334(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row334 "parser_tables::Parser::action_table_row334"
-typedef val_t (* parser_tables___Parser___action_table_row335_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row335(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row335 "parser_tables::Parser::action_table_row335"
-typedef val_t (* parser_tables___Parser___action_table_row336_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row336(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row336 "parser_tables::Parser::action_table_row336"
-typedef val_t (* parser_tables___Parser___action_table_row337_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row337(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row337 "parser_tables::Parser::action_table_row337"
-typedef val_t (* parser_tables___Parser___action_table_row338_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row338(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row338 "parser_tables::Parser::action_table_row338"
-typedef val_t (* parser_tables___Parser___action_table_row339_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row339(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row339 "parser_tables::Parser::action_table_row339"
-typedef val_t (* parser_tables___Parser___action_table_row340_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row340(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row340 "parser_tables::Parser::action_table_row340"
-typedef val_t (* parser_tables___Parser___action_table_row341_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row341(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row341 "parser_tables::Parser::action_table_row341"
-typedef val_t (* parser_tables___Parser___action_table_row342_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row342(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row342 "parser_tables::Parser::action_table_row342"
-typedef val_t (* parser_tables___Parser___action_table_row343_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row343(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row343 "parser_tables::Parser::action_table_row343"
-typedef val_t (* parser_tables___Parser___action_table_row344_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row344(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row344 "parser_tables::Parser::action_table_row344"
-typedef val_t (* parser_tables___Parser___action_table_row345_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row345(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row345 "parser_tables::Parser::action_table_row345"
-typedef val_t (* parser_tables___Parser___action_table_row346_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row346(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row346 "parser_tables::Parser::action_table_row346"
-typedef val_t (* parser_tables___Parser___action_table_row347_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row347(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row347 "parser_tables::Parser::action_table_row347"
-typedef val_t (* parser_tables___Parser___action_table_row348_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row348(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row348 "parser_tables::Parser::action_table_row348"
-typedef val_t (* parser_tables___Parser___action_table_row349_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row349(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row349 "parser_tables::Parser::action_table_row349"
-typedef val_t (* parser_tables___Parser___action_table_row350_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row350(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row350 "parser_tables::Parser::action_table_row350"
-typedef val_t (* parser_tables___Parser___action_table_row351_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row351(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row351 "parser_tables::Parser::action_table_row351"
-typedef val_t (* parser_tables___Parser___action_table_row352_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row352(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row352 "parser_tables::Parser::action_table_row352"
-typedef val_t (* parser_tables___Parser___action_table_row353_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row353(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row353 "parser_tables::Parser::action_table_row353"
-typedef val_t (* parser_tables___Parser___action_table_row354_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row354(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row354 "parser_tables::Parser::action_table_row354"
-typedef val_t (* parser_tables___Parser___action_table_row355_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row355(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row355 "parser_tables::Parser::action_table_row355"
-typedef val_t (* parser_tables___Parser___action_table_row356_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row356(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row356 "parser_tables::Parser::action_table_row356"
-typedef val_t (* parser_tables___Parser___action_table_row357_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row357(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row357 "parser_tables::Parser::action_table_row357"
-typedef val_t (* parser_tables___Parser___action_table_row358_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row358(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row358 "parser_tables::Parser::action_table_row358"
-typedef val_t (* parser_tables___Parser___action_table_row359_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row359(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row359 "parser_tables::Parser::action_table_row359"
-typedef val_t (* parser_tables___Parser___action_table_row360_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row360(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row360 "parser_tables::Parser::action_table_row360"
-typedef val_t (* parser_tables___Parser___action_table_row361_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row361(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row361 "parser_tables::Parser::action_table_row361"
-typedef val_t (* parser_tables___Parser___action_table_row362_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row362(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row362 "parser_tables::Parser::action_table_row362"
-typedef val_t (* parser_tables___Parser___action_table_row363_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row363(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row363 "parser_tables::Parser::action_table_row363"
-typedef val_t (* parser_tables___Parser___action_table_row364_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row364(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row364 "parser_tables::Parser::action_table_row364"
-typedef val_t (* parser_tables___Parser___action_table_row365_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row365(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row365 "parser_tables::Parser::action_table_row365"
-typedef val_t (* parser_tables___Parser___action_table_row366_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row366(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row366 "parser_tables::Parser::action_table_row366"
-typedef val_t (* parser_tables___Parser___action_table_row367_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row367(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row367 "parser_tables::Parser::action_table_row367"
-typedef val_t (* parser_tables___Parser___action_table_row368_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row368(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row368 "parser_tables::Parser::action_table_row368"
-typedef val_t (* parser_tables___Parser___action_table_row369_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row369(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row369 "parser_tables::Parser::action_table_row369"
-typedef val_t (* parser_tables___Parser___action_table_row370_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row370(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row370 "parser_tables::Parser::action_table_row370"
-typedef val_t (* parser_tables___Parser___action_table_row371_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row371(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row371 "parser_tables::Parser::action_table_row371"
-typedef val_t (* parser_tables___Parser___action_table_row372_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row372(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row372 "parser_tables::Parser::action_table_row372"
-typedef val_t (* parser_tables___Parser___action_table_row373_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row373(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row373 "parser_tables::Parser::action_table_row373"
-typedef val_t (* parser_tables___Parser___action_table_row374_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row374(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row374 "parser_tables::Parser::action_table_row374"
-typedef val_t (* parser_tables___Parser___action_table_row375_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row375(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row375 "parser_tables::Parser::action_table_row375"
-typedef val_t (* parser_tables___Parser___action_table_row376_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row376(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row376 "parser_tables::Parser::action_table_row376"
-typedef val_t (* parser_tables___Parser___action_table_row377_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row377(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row377 "parser_tables::Parser::action_table_row377"
-typedef val_t (* parser_tables___Parser___action_table_row378_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row378(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row378 "parser_tables::Parser::action_table_row378"
-typedef val_t (* parser_tables___Parser___action_table_row379_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row379(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row379 "parser_tables::Parser::action_table_row379"
-typedef val_t (* parser_tables___Parser___action_table_row380_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row380(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row380 "parser_tables::Parser::action_table_row380"
-typedef val_t (* parser_tables___Parser___action_table_row381_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row381(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row381 "parser_tables::Parser::action_table_row381"
-typedef val_t (* parser_tables___Parser___action_table_row382_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row382(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row382 "parser_tables::Parser::action_table_row382"
-typedef val_t (* parser_tables___Parser___action_table_row383_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row383(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row383 "parser_tables::Parser::action_table_row383"
-typedef val_t (* parser_tables___Parser___action_table_row384_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row384(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row384 "parser_tables::Parser::action_table_row384"
-typedef val_t (* parser_tables___Parser___action_table_row385_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row385(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row385 "parser_tables::Parser::action_table_row385"
-typedef val_t (* parser_tables___Parser___action_table_row386_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row386(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row386 "parser_tables::Parser::action_table_row386"
-typedef val_t (* parser_tables___Parser___action_table_row387_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row387(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row387 "parser_tables::Parser::action_table_row387"
-typedef val_t (* parser_tables___Parser___action_table_row388_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row388(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row388 "parser_tables::Parser::action_table_row388"
-typedef val_t (* parser_tables___Parser___action_table_row389_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row389(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row389 "parser_tables::Parser::action_table_row389"
-typedef val_t (* parser_tables___Parser___action_table_row390_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row390(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row390 "parser_tables::Parser::action_table_row390"
-typedef val_t (* parser_tables___Parser___action_table_row391_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row391(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row391 "parser_tables::Parser::action_table_row391"
-typedef val_t (* parser_tables___Parser___action_table_row392_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row392(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row392 "parser_tables::Parser::action_table_row392"
-typedef val_t (* parser_tables___Parser___action_table_row393_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row393(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row393 "parser_tables::Parser::action_table_row393"
-typedef val_t (* parser_tables___Parser___action_table_row394_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row394(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row394 "parser_tables::Parser::action_table_row394"
-typedef val_t (* parser_tables___Parser___action_table_row395_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row395(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row395 "parser_tables::Parser::action_table_row395"
-typedef val_t (* parser_tables___Parser___action_table_row396_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row396(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row396 "parser_tables::Parser::action_table_row396"
-typedef val_t (* parser_tables___Parser___action_table_row397_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row397(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row397 "parser_tables::Parser::action_table_row397"
-typedef val_t (* parser_tables___Parser___action_table_row398_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row398(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row398 "parser_tables::Parser::action_table_row398"
-typedef val_t (* parser_tables___Parser___action_table_row399_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row399(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row399 "parser_tables::Parser::action_table_row399"
-typedef val_t (* parser_tables___Parser___action_table_row400_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row400(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row400 "parser_tables::Parser::action_table_row400"
-typedef val_t (* parser_tables___Parser___action_table_row401_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row401(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row401 "parser_tables::Parser::action_table_row401"
-typedef val_t (* parser_tables___Parser___action_table_row402_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row402(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row402 "parser_tables::Parser::action_table_row402"
-typedef val_t (* parser_tables___Parser___action_table_row403_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row403(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row403 "parser_tables::Parser::action_table_row403"
-typedef val_t (* parser_tables___Parser___action_table_row404_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row404(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row404 "parser_tables::Parser::action_table_row404"
-typedef val_t (* parser_tables___Parser___action_table_row405_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row405(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row405 "parser_tables::Parser::action_table_row405"
-typedef val_t (* parser_tables___Parser___action_table_row406_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row406(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row406 "parser_tables::Parser::action_table_row406"
-typedef val_t (* parser_tables___Parser___action_table_row407_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row407(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row407 "parser_tables::Parser::action_table_row407"
-typedef val_t (* parser_tables___Parser___action_table_row408_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row408(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row408 "parser_tables::Parser::action_table_row408"
-typedef val_t (* parser_tables___Parser___action_table_row409_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row409(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row409 "parser_tables::Parser::action_table_row409"
-typedef val_t (* parser_tables___Parser___action_table_row410_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row410(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row410 "parser_tables::Parser::action_table_row410"
-typedef val_t (* parser_tables___Parser___action_table_row411_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row411(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row411 "parser_tables::Parser::action_table_row411"
-typedef val_t (* parser_tables___Parser___action_table_row412_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row412(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row412 "parser_tables::Parser::action_table_row412"
-typedef val_t (* parser_tables___Parser___action_table_row413_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row413(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row413 "parser_tables::Parser::action_table_row413"
-typedef val_t (* parser_tables___Parser___action_table_row414_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row414(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row414 "parser_tables::Parser::action_table_row414"
-typedef val_t (* parser_tables___Parser___action_table_row415_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row415(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row415 "parser_tables::Parser::action_table_row415"
-typedef val_t (* parser_tables___Parser___action_table_row416_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row416(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row416 "parser_tables::Parser::action_table_row416"
-typedef val_t (* parser_tables___Parser___action_table_row417_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row417(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row417 "parser_tables::Parser::action_table_row417"
-typedef val_t (* parser_tables___Parser___action_table_row418_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row418(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row418 "parser_tables::Parser::action_table_row418"
-typedef val_t (* parser_tables___Parser___action_table_row419_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row419(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row419 "parser_tables::Parser::action_table_row419"
-typedef val_t (* parser_tables___Parser___action_table_row420_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row420(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row420 "parser_tables::Parser::action_table_row420"
-typedef val_t (* parser_tables___Parser___action_table_row421_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row421(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row421 "parser_tables::Parser::action_table_row421"
-typedef val_t (* parser_tables___Parser___action_table_row422_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row422(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row422 "parser_tables::Parser::action_table_row422"
-typedef val_t (* parser_tables___Parser___action_table_row423_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row423(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row423 "parser_tables::Parser::action_table_row423"
-typedef val_t (* parser_tables___Parser___action_table_row424_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row424(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row424 "parser_tables::Parser::action_table_row424"
-typedef val_t (* parser_tables___Parser___action_table_row425_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row425(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row425 "parser_tables::Parser::action_table_row425"
-typedef val_t (* parser_tables___Parser___action_table_row426_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row426(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row426 "parser_tables::Parser::action_table_row426"
-typedef val_t (* parser_tables___Parser___action_table_row427_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row427(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row427 "parser_tables::Parser::action_table_row427"
-typedef val_t (* parser_tables___Parser___action_table_row428_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row428(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row428 "parser_tables::Parser::action_table_row428"
-typedef val_t (* parser_tables___Parser___action_table_row429_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row429(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row429 "parser_tables::Parser::action_table_row429"
-typedef val_t (* parser_tables___Parser___action_table_row430_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row430(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row430 "parser_tables::Parser::action_table_row430"
-typedef val_t (* parser_tables___Parser___action_table_row431_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row431(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row431 "parser_tables::Parser::action_table_row431"
-typedef val_t (* parser_tables___Parser___action_table_row432_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row432(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row432 "parser_tables::Parser::action_table_row432"
-typedef val_t (* parser_tables___Parser___action_table_row433_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row433(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row433 "parser_tables::Parser::action_table_row433"
-typedef val_t (* parser_tables___Parser___action_table_row434_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row434(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row434 "parser_tables::Parser::action_table_row434"
-typedef val_t (* parser_tables___Parser___action_table_row435_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row435(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row435 "parser_tables::Parser::action_table_row435"
-typedef val_t (* parser_tables___Parser___action_table_row436_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row436(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row436 "parser_tables::Parser::action_table_row436"
-typedef val_t (* parser_tables___Parser___action_table_row437_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row437(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row437 "parser_tables::Parser::action_table_row437"
-typedef val_t (* parser_tables___Parser___action_table_row438_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row438(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row438 "parser_tables::Parser::action_table_row438"
-typedef val_t (* parser_tables___Parser___action_table_row439_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row439(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row439 "parser_tables::Parser::action_table_row439"
-typedef val_t (* parser_tables___Parser___action_table_row440_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row440(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row440 "parser_tables::Parser::action_table_row440"
-typedef val_t (* parser_tables___Parser___action_table_row441_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row441(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row441 "parser_tables::Parser::action_table_row441"
-typedef val_t (* parser_tables___Parser___action_table_row442_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row442(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row442 "parser_tables::Parser::action_table_row442"
-typedef val_t (* parser_tables___Parser___action_table_row443_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row443(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row443 "parser_tables::Parser::action_table_row443"
-typedef val_t (* parser_tables___Parser___action_table_row444_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row444(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row444 "parser_tables::Parser::action_table_row444"
-typedef val_t (* parser_tables___Parser___action_table_row445_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row445(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row445 "parser_tables::Parser::action_table_row445"
-typedef val_t (* parser_tables___Parser___action_table_row446_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row446(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row446 "parser_tables::Parser::action_table_row446"
-typedef val_t (* parser_tables___Parser___action_table_row447_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row447(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row447 "parser_tables::Parser::action_table_row447"
-typedef val_t (* parser_tables___Parser___action_table_row448_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row448(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row448 "parser_tables::Parser::action_table_row448"
-typedef val_t (* parser_tables___Parser___action_table_row449_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row449(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row449 "parser_tables::Parser::action_table_row449"
-typedef val_t (* parser_tables___Parser___action_table_row450_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row450(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row450 "parser_tables::Parser::action_table_row450"
-typedef val_t (* parser_tables___Parser___action_table_row451_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row451(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row451 "parser_tables::Parser::action_table_row451"
-typedef val_t (* parser_tables___Parser___action_table_row452_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row452(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row452 "parser_tables::Parser::action_table_row452"
-typedef val_t (* parser_tables___Parser___action_table_row453_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row453(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row453 "parser_tables::Parser::action_table_row453"
-typedef val_t (* parser_tables___Parser___action_table_row454_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row454(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row454 "parser_tables::Parser::action_table_row454"
-typedef val_t (* parser_tables___Parser___action_table_row455_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row455(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row455 "parser_tables::Parser::action_table_row455"
-typedef val_t (* parser_tables___Parser___action_table_row456_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row456(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row456 "parser_tables::Parser::action_table_row456"
-typedef val_t (* parser_tables___Parser___action_table_row457_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row457(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row457 "parser_tables::Parser::action_table_row457"
-typedef val_t (* parser_tables___Parser___action_table_row458_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row458(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row458 "parser_tables::Parser::action_table_row458"
-typedef val_t (* parser_tables___Parser___action_table_row459_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row459(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row459 "parser_tables::Parser::action_table_row459"
-typedef val_t (* parser_tables___Parser___action_table_row460_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row460(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row460 "parser_tables::Parser::action_table_row460"
-typedef val_t (* parser_tables___Parser___action_table_row461_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row461(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row461 "parser_tables::Parser::action_table_row461"
-typedef val_t (* parser_tables___Parser___action_table_row462_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row462(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row462 "parser_tables::Parser::action_table_row462"
-typedef val_t (* parser_tables___Parser___action_table_row463_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row463(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row463 "parser_tables::Parser::action_table_row463"
-typedef val_t (* parser_tables___Parser___action_table_row464_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row464(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row464 "parser_tables::Parser::action_table_row464"
-typedef val_t (* parser_tables___Parser___action_table_row465_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row465(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row465 "parser_tables::Parser::action_table_row465"
-typedef val_t (* parser_tables___Parser___action_table_row466_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row466(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row466 "parser_tables::Parser::action_table_row466"
-typedef val_t (* parser_tables___Parser___action_table_row467_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row467(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row467 "parser_tables::Parser::action_table_row467"
-typedef val_t (* parser_tables___Parser___action_table_row468_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row468(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row468 "parser_tables::Parser::action_table_row468"
-typedef val_t (* parser_tables___Parser___action_table_row469_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row469(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row469 "parser_tables::Parser::action_table_row469"
-typedef val_t (* parser_tables___Parser___action_table_row470_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row470(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row470 "parser_tables::Parser::action_table_row470"
-typedef val_t (* parser_tables___Parser___action_table_row471_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row471(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row471 "parser_tables::Parser::action_table_row471"
-typedef val_t (* parser_tables___Parser___action_table_row472_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row472(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row472 "parser_tables::Parser::action_table_row472"
-typedef val_t (* parser_tables___Parser___action_table_row473_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row473(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row473 "parser_tables::Parser::action_table_row473"
-typedef val_t (* parser_tables___Parser___action_table_row474_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row474(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row474 "parser_tables::Parser::action_table_row474"
-typedef val_t (* parser_tables___Parser___action_table_row475_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row475(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row475 "parser_tables::Parser::action_table_row475"
-typedef val_t (* parser_tables___Parser___action_table_row476_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row476(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row476 "parser_tables::Parser::action_table_row476"
-typedef val_t (* parser_tables___Parser___action_table_row477_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row477(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row477 "parser_tables::Parser::action_table_row477"
-typedef val_t (* parser_tables___Parser___action_table_row478_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row478(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row478 "parser_tables::Parser::action_table_row478"
-typedef val_t (* parser_tables___Parser___action_table_row479_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row479(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row479 "parser_tables::Parser::action_table_row479"
-typedef val_t (* parser_tables___Parser___action_table_row480_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row480(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row480 "parser_tables::Parser::action_table_row480"
-typedef val_t (* parser_tables___Parser___action_table_row481_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row481(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row481 "parser_tables::Parser::action_table_row481"
-typedef val_t (* parser_tables___Parser___action_table_row482_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row482(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row482 "parser_tables::Parser::action_table_row482"
-typedef val_t (* parser_tables___Parser___action_table_row483_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row483(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row483 "parser_tables::Parser::action_table_row483"
-typedef val_t (* parser_tables___Parser___action_table_row484_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row484(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row484 "parser_tables::Parser::action_table_row484"
-typedef val_t (* parser_tables___Parser___action_table_row485_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row485(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row485 "parser_tables::Parser::action_table_row485"
-typedef val_t (* parser_tables___Parser___action_table_row486_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row486(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row486 "parser_tables::Parser::action_table_row486"
-typedef val_t (* parser_tables___Parser___action_table_row487_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row487(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row487 "parser_tables::Parser::action_table_row487"
-typedef val_t (* parser_tables___Parser___action_table_row488_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row488(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row488 "parser_tables::Parser::action_table_row488"
-typedef val_t (* parser_tables___Parser___action_table_row489_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row489(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row489 "parser_tables::Parser::action_table_row489"
-typedef val_t (* parser_tables___Parser___action_table_row490_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row490(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row490 "parser_tables::Parser::action_table_row490"
-typedef val_t (* parser_tables___Parser___action_table_row491_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row491(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row491 "parser_tables::Parser::action_table_row491"
-typedef val_t (* parser_tables___Parser___action_table_row492_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row492(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row492 "parser_tables::Parser::action_table_row492"
-typedef val_t (* parser_tables___Parser___action_table_row493_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row493(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row493 "parser_tables::Parser::action_table_row493"
-typedef val_t (* parser_tables___Parser___action_table_row494_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row494(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row494 "parser_tables::Parser::action_table_row494"
-typedef val_t (* parser_tables___Parser___action_table_row495_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row495(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row495 "parser_tables::Parser::action_table_row495"
-typedef val_t (* parser_tables___Parser___action_table_row496_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row496(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row496 "parser_tables::Parser::action_table_row496"
-typedef val_t (* parser_tables___Parser___action_table_row497_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row497(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row497 "parser_tables::Parser::action_table_row497"
-typedef val_t (* parser_tables___Parser___action_table_row498_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row498(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row498 "parser_tables::Parser::action_table_row498"
-typedef val_t (* parser_tables___Parser___action_table_row499_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row499(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row499 "parser_tables::Parser::action_table_row499"
-typedef val_t (* parser_tables___Parser___action_table_row500_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row500(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row500 "parser_tables::Parser::action_table_row500"
-typedef val_t (* parser_tables___Parser___action_table_row501_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row501(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row501 "parser_tables::Parser::action_table_row501"
-typedef val_t (* parser_tables___Parser___action_table_row502_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row502(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row502 "parser_tables::Parser::action_table_row502"
-typedef val_t (* parser_tables___Parser___action_table_row503_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row503(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row503 "parser_tables::Parser::action_table_row503"
-typedef val_t (* parser_tables___Parser___action_table_row504_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row504(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row504 "parser_tables::Parser::action_table_row504"
-typedef val_t (* parser_tables___Parser___action_table_row505_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row505(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row505 "parser_tables::Parser::action_table_row505"
-typedef val_t (* parser_tables___Parser___action_table_row506_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row506(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row506 "parser_tables::Parser::action_table_row506"
-typedef val_t (* parser_tables___Parser___action_table_row507_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row507(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row507 "parser_tables::Parser::action_table_row507"
-typedef val_t (* parser_tables___Parser___action_table_row508_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row508(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row508 "parser_tables::Parser::action_table_row508"
-typedef val_t (* parser_tables___Parser___action_table_row509_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row509(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row509 "parser_tables::Parser::action_table_row509"
-typedef val_t (* parser_tables___Parser___action_table_row510_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row510(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row510 "parser_tables::Parser::action_table_row510"
-typedef val_t (* parser_tables___Parser___action_table_row511_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row511(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row511 "parser_tables::Parser::action_table_row511"
-typedef val_t (* parser_tables___Parser___action_table_row512_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row512(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row512 "parser_tables::Parser::action_table_row512"
-typedef val_t (* parser_tables___Parser___action_table_row513_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row513(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row513 "parser_tables::Parser::action_table_row513"
-typedef val_t (* parser_tables___Parser___action_table_row514_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row514(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row514 "parser_tables::Parser::action_table_row514"
-typedef val_t (* parser_tables___Parser___action_table_row515_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row515(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row515 "parser_tables::Parser::action_table_row515"
-typedef val_t (* parser_tables___Parser___action_table_row516_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row516(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row516 "parser_tables::Parser::action_table_row516"
-typedef val_t (* parser_tables___Parser___action_table_row517_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row517(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row517 "parser_tables::Parser::action_table_row517"
-typedef val_t (* parser_tables___Parser___action_table_row518_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row518(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row518 "parser_tables::Parser::action_table_row518"
-typedef val_t (* parser_tables___Parser___action_table_row519_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row519(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row519 "parser_tables::Parser::action_table_row519"
-typedef val_t (* parser_tables___Parser___action_table_row520_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row520(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row520 "parser_tables::Parser::action_table_row520"
-typedef val_t (* parser_tables___Parser___action_table_row521_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row521(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row521 "parser_tables::Parser::action_table_row521"
-typedef val_t (* parser_tables___Parser___action_table_row522_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row522(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row522 "parser_tables::Parser::action_table_row522"
-typedef val_t (* parser_tables___Parser___action_table_row523_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row523(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row523 "parser_tables::Parser::action_table_row523"
-typedef val_t (* parser_tables___Parser___action_table_row524_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row524(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row524 "parser_tables::Parser::action_table_row524"
-typedef val_t (* parser_tables___Parser___action_table_row525_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row525(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row525 "parser_tables::Parser::action_table_row525"
-typedef val_t (* parser_tables___Parser___action_table_row526_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row526(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row526 "parser_tables::Parser::action_table_row526"
-typedef val_t (* parser_tables___Parser___action_table_row527_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row527(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row527 "parser_tables::Parser::action_table_row527"
-typedef val_t (* parser_tables___Parser___action_table_row528_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row528(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row528 "parser_tables::Parser::action_table_row528"
-typedef val_t (* parser_tables___Parser___action_table_row529_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row529(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row529 "parser_tables::Parser::action_table_row529"
-typedef val_t (* parser_tables___Parser___action_table_row530_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row530(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row530 "parser_tables::Parser::action_table_row530"
-typedef val_t (* parser_tables___Parser___action_table_row531_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row531(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row531 "parser_tables::Parser::action_table_row531"
-typedef val_t (* parser_tables___Parser___action_table_row532_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row532(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row532 "parser_tables::Parser::action_table_row532"
-typedef val_t (* parser_tables___Parser___action_table_row533_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row533(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row533 "parser_tables::Parser::action_table_row533"
-typedef val_t (* parser_tables___Parser___action_table_row534_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row534(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row534 "parser_tables::Parser::action_table_row534"
-typedef val_t (* parser_tables___Parser___action_table_row535_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row535(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row535 "parser_tables::Parser::action_table_row535"
-typedef val_t (* parser_tables___Parser___action_table_row536_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row536(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row536 "parser_tables::Parser::action_table_row536"
-typedef val_t (* parser_tables___Parser___action_table_row537_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row537(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row537 "parser_tables::Parser::action_table_row537"
-typedef val_t (* parser_tables___Parser___action_table_row538_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row538(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row538 "parser_tables::Parser::action_table_row538"
-typedef val_t (* parser_tables___Parser___action_table_row539_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row539(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row539 "parser_tables::Parser::action_table_row539"
-typedef val_t (* parser_tables___Parser___action_table_row540_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row540(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row540 "parser_tables::Parser::action_table_row540"
-typedef val_t (* parser_tables___Parser___action_table_row541_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row541(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row541 "parser_tables::Parser::action_table_row541"
-typedef val_t (* parser_tables___Parser___action_table_row542_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row542(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row542 "parser_tables::Parser::action_table_row542"
-typedef val_t (* parser_tables___Parser___action_table_row543_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row543(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row543 "parser_tables::Parser::action_table_row543"
-typedef val_t (* parser_tables___Parser___action_table_row544_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row544(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row544 "parser_tables::Parser::action_table_row544"
-typedef val_t (* parser_tables___Parser___action_table_row545_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row545(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row545 "parser_tables::Parser::action_table_row545"
-typedef val_t (* parser_tables___Parser___action_table_row546_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row546(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row546 "parser_tables::Parser::action_table_row546"
-typedef val_t (* parser_tables___Parser___action_table_row547_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row547(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row547 "parser_tables::Parser::action_table_row547"
-typedef val_t (* parser_tables___Parser___action_table_row548_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row548(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row548 "parser_tables::Parser::action_table_row548"
-typedef val_t (* parser_tables___Parser___action_table_row549_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row549(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row549 "parser_tables::Parser::action_table_row549"
-typedef val_t (* parser_tables___Parser___action_table_row550_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row550(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row550 "parser_tables::Parser::action_table_row550"
-typedef val_t (* parser_tables___Parser___action_table_row551_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row551(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row551 "parser_tables::Parser::action_table_row551"
-typedef val_t (* parser_tables___Parser___action_table_row552_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row552(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row552 "parser_tables::Parser::action_table_row552"
-typedef val_t (* parser_tables___Parser___action_table_row553_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row553(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row553 "parser_tables::Parser::action_table_row553"
-typedef val_t (* parser_tables___Parser___action_table_row554_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row554(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row554 "parser_tables::Parser::action_table_row554"
-typedef val_t (* parser_tables___Parser___action_table_row555_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row555(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row555 "parser_tables::Parser::action_table_row555"
-typedef val_t (* parser_tables___Parser___action_table_row556_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row556(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row556 "parser_tables::Parser::action_table_row556"
-typedef val_t (* parser_tables___Parser___action_table_row557_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row557(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row557 "parser_tables::Parser::action_table_row557"
-typedef val_t (* parser_tables___Parser___action_table_row558_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row558(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row558 "parser_tables::Parser::action_table_row558"
-typedef val_t (* parser_tables___Parser___action_table_row559_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row559(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row559 "parser_tables::Parser::action_table_row559"
-typedef val_t (* parser_tables___Parser___action_table_row560_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row560(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row560 "parser_tables::Parser::action_table_row560"
-typedef val_t (* parser_tables___Parser___action_table_row561_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row561(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row561 "parser_tables::Parser::action_table_row561"
-typedef val_t (* parser_tables___Parser___action_table_row562_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row562(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row562 "parser_tables::Parser::action_table_row562"
-typedef val_t (* parser_tables___Parser___action_table_row563_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row563(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row563 "parser_tables::Parser::action_table_row563"
-typedef val_t (* parser_tables___Parser___action_table_row564_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row564(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row564 "parser_tables::Parser::action_table_row564"
-typedef val_t (* parser_tables___Parser___action_table_row565_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row565(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row565 "parser_tables::Parser::action_table_row565"
-typedef val_t (* parser_tables___Parser___action_table_row566_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row566(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row566 "parser_tables::Parser::action_table_row566"
-typedef val_t (* parser_tables___Parser___action_table_row567_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row567(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row567 "parser_tables::Parser::action_table_row567"
-typedef val_t (* parser_tables___Parser___action_table_row568_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row568(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row568 "parser_tables::Parser::action_table_row568"
-typedef val_t (* parser_tables___Parser___action_table_row569_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row569(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row569 "parser_tables::Parser::action_table_row569"
-typedef val_t (* parser_tables___Parser___action_table_row570_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row570(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row570 "parser_tables::Parser::action_table_row570"
-typedef val_t (* parser_tables___Parser___action_table_row571_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row571(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row571 "parser_tables::Parser::action_table_row571"
-typedef val_t (* parser_tables___Parser___action_table_row572_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row572(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row572 "parser_tables::Parser::action_table_row572"
-typedef val_t (* parser_tables___Parser___action_table_row573_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row573(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row573 "parser_tables::Parser::action_table_row573"
-typedef val_t (* parser_tables___Parser___action_table_row574_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row574(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row574 "parser_tables::Parser::action_table_row574"
-typedef val_t (* parser_tables___Parser___action_table_row575_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row575(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row575 "parser_tables::Parser::action_table_row575"
-typedef val_t (* parser_tables___Parser___action_table_row576_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row576(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row576 "parser_tables::Parser::action_table_row576"
-typedef val_t (* parser_tables___Parser___action_table_row577_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row577(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row577 "parser_tables::Parser::action_table_row577"
-typedef val_t (* parser_tables___Parser___action_table_row578_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row578(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row578 "parser_tables::Parser::action_table_row578"
-typedef val_t (* parser_tables___Parser___action_table_row579_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row579(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row579 "parser_tables::Parser::action_table_row579"
-typedef val_t (* parser_tables___Parser___action_table_row580_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row580(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row580 "parser_tables::Parser::action_table_row580"
-typedef val_t (* parser_tables___Parser___action_table_row581_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row581(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row581 "parser_tables::Parser::action_table_row581"
-typedef val_t (* parser_tables___Parser___action_table_row582_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row582(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row582 "parser_tables::Parser::action_table_row582"
-typedef val_t (* parser_tables___Parser___action_table_row583_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row583(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row583 "parser_tables::Parser::action_table_row583"
-typedef val_t (* parser_tables___Parser___action_table_row584_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row584(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row584 "parser_tables::Parser::action_table_row584"
-typedef val_t (* parser_tables___Parser___action_table_row585_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row585(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row585 "parser_tables::Parser::action_table_row585"
-typedef val_t (* parser_tables___Parser___action_table_row586_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row586(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row586 "parser_tables::Parser::action_table_row586"
-typedef val_t (* parser_tables___Parser___action_table_row587_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row587(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row587 "parser_tables::Parser::action_table_row587"
-typedef val_t (* parser_tables___Parser___action_table_row588_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row588(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row588 "parser_tables::Parser::action_table_row588"
-typedef val_t (* parser_tables___Parser___action_table_row589_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row589(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row589 "parser_tables::Parser::action_table_row589"
-typedef val_t (* parser_tables___Parser___action_table_row590_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row590(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row590 "parser_tables::Parser::action_table_row590"
-typedef val_t (* parser_tables___Parser___action_table_row591_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row591(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row591 "parser_tables::Parser::action_table_row591"
-typedef val_t (* parser_tables___Parser___action_table_row592_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row592(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row592 "parser_tables::Parser::action_table_row592"
-typedef val_t (* parser_tables___Parser___action_table_row593_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row593(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row593 "parser_tables::Parser::action_table_row593"
-typedef val_t (* parser_tables___Parser___action_table_row594_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row594(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row594 "parser_tables::Parser::action_table_row594"
-typedef val_t (* parser_tables___Parser___action_table_row595_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row595(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row595 "parser_tables::Parser::action_table_row595"
-typedef val_t (* parser_tables___Parser___action_table_row596_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row596(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row596 "parser_tables::Parser::action_table_row596"
-typedef val_t (* parser_tables___Parser___action_table_row597_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row597(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row597 "parser_tables::Parser::action_table_row597"
-typedef val_t (* parser_tables___Parser___action_table_row598_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row598(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row598 "parser_tables::Parser::action_table_row598"
-typedef val_t (* parser_tables___Parser___action_table_row599_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row599(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row599 "parser_tables::Parser::action_table_row599"
-typedef val_t (* parser_tables___Parser___action_table_row600_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row600(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row600 "parser_tables::Parser::action_table_row600"
-typedef val_t (* parser_tables___Parser___action_table_row601_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row601(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row601 "parser_tables::Parser::action_table_row601"
-typedef val_t (* parser_tables___Parser___action_table_row602_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row602(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row602 "parser_tables::Parser::action_table_row602"
-typedef val_t (* parser_tables___Parser___action_table_row603_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row603(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row603 "parser_tables::Parser::action_table_row603"
-typedef val_t (* parser_tables___Parser___action_table_row604_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row604(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row604 "parser_tables::Parser::action_table_row604"
-typedef val_t (* parser_tables___Parser___action_table_row605_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row605(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row605 "parser_tables::Parser::action_table_row605"
-typedef val_t (* parser_tables___Parser___action_table_row606_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row606(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row606 "parser_tables::Parser::action_table_row606"
-typedef val_t (* parser_tables___Parser___action_table_row607_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row607(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row607 "parser_tables::Parser::action_table_row607"
-typedef val_t (* parser_tables___Parser___action_table_row608_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row608(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row608 "parser_tables::Parser::action_table_row608"
-typedef val_t (* parser_tables___Parser___action_table_row609_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row609(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row609 "parser_tables::Parser::action_table_row609"
-typedef val_t (* parser_tables___Parser___action_table_row610_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row610(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row610 "parser_tables::Parser::action_table_row610"
-typedef val_t (* parser_tables___Parser___action_table_row611_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row611(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row611 "parser_tables::Parser::action_table_row611"
-typedef val_t (* parser_tables___Parser___action_table_row612_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row612(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row612 "parser_tables::Parser::action_table_row612"
-typedef val_t (* parser_tables___Parser___action_table_row613_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row613(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row613 "parser_tables::Parser::action_table_row613"
-typedef val_t (* parser_tables___Parser___action_table_row614_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row614(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row614 "parser_tables::Parser::action_table_row614"
-typedef val_t (* parser_tables___Parser___action_table_row615_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row615(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row615 "parser_tables::Parser::action_table_row615"
-typedef val_t (* parser_tables___Parser___action_table_row616_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row616(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row616 "parser_tables::Parser::action_table_row616"
-typedef val_t (* parser_tables___Parser___action_table_row617_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row617(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row617 "parser_tables::Parser::action_table_row617"
-typedef val_t (* parser_tables___Parser___action_table_row618_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row618(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row618 "parser_tables::Parser::action_table_row618"
-typedef val_t (* parser_tables___Parser___action_table_row619_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row619(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row619 "parser_tables::Parser::action_table_row619"
-typedef val_t (* parser_tables___Parser___action_table_row620_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row620(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row620 "parser_tables::Parser::action_table_row620"
-typedef val_t (* parser_tables___Parser___action_table_row621_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row621(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row621 "parser_tables::Parser::action_table_row621"
-typedef val_t (* parser_tables___Parser___action_table_row622_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row622(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row622 "parser_tables::Parser::action_table_row622"
-typedef val_t (* parser_tables___Parser___action_table_row623_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row623(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row623 "parser_tables::Parser::action_table_row623"
-typedef val_t (* parser_tables___Parser___action_table_row624_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row624(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row624 "parser_tables::Parser::action_table_row624"
-typedef val_t (* parser_tables___Parser___action_table_row625_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row625(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row625 "parser_tables::Parser::action_table_row625"
-typedef val_t (* parser_tables___Parser___action_table_row626_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row626(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row626 "parser_tables::Parser::action_table_row626"
-typedef val_t (* parser_tables___Parser___action_table_row627_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row627(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row627 "parser_tables::Parser::action_table_row627"
-typedef val_t (* parser_tables___Parser___action_table_row628_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row628(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row628 "parser_tables::Parser::action_table_row628"
-typedef val_t (* parser_tables___Parser___action_table_row629_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row629(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row629 "parser_tables::Parser::action_table_row629"
-typedef val_t (* parser_tables___Parser___action_table_row630_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row630(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row630 "parser_tables::Parser::action_table_row630"
-typedef val_t (* parser_tables___Parser___action_table_row631_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row631(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row631 "parser_tables::Parser::action_table_row631"
-typedef val_t (* parser_tables___Parser___action_table_row632_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row632(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row632 "parser_tables::Parser::action_table_row632"
-typedef val_t (* parser_tables___Parser___action_table_row633_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row633(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row633 "parser_tables::Parser::action_table_row633"
-typedef val_t (* parser_tables___Parser___action_table_row634_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row634(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row634 "parser_tables::Parser::action_table_row634"
-typedef val_t (* parser_tables___Parser___action_table_row635_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row635(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row635 "parser_tables::Parser::action_table_row635"
-typedef val_t (* parser_tables___Parser___action_table_row636_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row636(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row636 "parser_tables::Parser::action_table_row636"
-typedef val_t (* parser_tables___Parser___action_table_row637_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row637(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row637 "parser_tables::Parser::action_table_row637"
-typedef val_t (* parser_tables___Parser___action_table_row638_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row638(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row638 "parser_tables::Parser::action_table_row638"
-typedef val_t (* parser_tables___Parser___action_table_row639_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row639(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row639 "parser_tables::Parser::action_table_row639"
-typedef val_t (* parser_tables___Parser___action_table_row640_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row640(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row640 "parser_tables::Parser::action_table_row640"
-typedef val_t (* parser_tables___Parser___action_table_row641_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row641(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row641 "parser_tables::Parser::action_table_row641"
-typedef val_t (* parser_tables___Parser___action_table_row642_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row642(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row642 "parser_tables::Parser::action_table_row642"
-typedef val_t (* parser_tables___Parser___action_table_row643_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row643(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row643 "parser_tables::Parser::action_table_row643"
-typedef val_t (* parser_tables___Parser___action_table_row644_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row644(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row644 "parser_tables::Parser::action_table_row644"
-typedef val_t (* parser_tables___Parser___action_table_row645_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row645(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row645 "parser_tables::Parser::action_table_row645"
-typedef val_t (* parser_tables___Parser___action_table_row646_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row646(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row646 "parser_tables::Parser::action_table_row646"
-typedef val_t (* parser_tables___Parser___action_table_row647_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row647(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row647 "parser_tables::Parser::action_table_row647"
-typedef val_t (* parser_tables___Parser___action_table_row648_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row648(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row648 "parser_tables::Parser::action_table_row648"
-typedef val_t (* parser_tables___Parser___action_table_row649_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row649(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row649 "parser_tables::Parser::action_table_row649"
-typedef val_t (* parser_tables___Parser___action_table_row650_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row650(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row650 "parser_tables::Parser::action_table_row650"
-typedef val_t (* parser_tables___Parser___action_table_row651_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row651(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row651 "parser_tables::Parser::action_table_row651"
-typedef val_t (* parser_tables___Parser___action_table_row652_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row652(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row652 "parser_tables::Parser::action_table_row652"
-typedef val_t (* parser_tables___Parser___action_table_row653_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row653(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row653 "parser_tables::Parser::action_table_row653"
-typedef val_t (* parser_tables___Parser___action_table_row654_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row654(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row654 "parser_tables::Parser::action_table_row654"
-typedef val_t (* parser_tables___Parser___action_table_row655_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row655(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row655 "parser_tables::Parser::action_table_row655"
-typedef val_t (* parser_tables___Parser___action_table_row656_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row656(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row656 "parser_tables::Parser::action_table_row656"
-typedef val_t (* parser_tables___Parser___action_table_row657_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row657(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row657 "parser_tables::Parser::action_table_row657"
-typedef val_t (* parser_tables___Parser___action_table_row658_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row658(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row658 "parser_tables::Parser::action_table_row658"
-typedef val_t (* parser_tables___Parser___action_table_row659_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row659(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row659 "parser_tables::Parser::action_table_row659"
-typedef val_t (* parser_tables___Parser___action_table_row660_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row660(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row660 "parser_tables::Parser::action_table_row660"
-typedef val_t (* parser_tables___Parser___action_table_row661_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row661(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row661 "parser_tables::Parser::action_table_row661"
-typedef val_t (* parser_tables___Parser___action_table_row662_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row662(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row662 "parser_tables::Parser::action_table_row662"
-typedef val_t (* parser_tables___Parser___action_table_row663_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row663(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row663 "parser_tables::Parser::action_table_row663"
-typedef val_t (* parser_tables___Parser___action_table_row664_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row664(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row664 "parser_tables::Parser::action_table_row664"
-typedef val_t (* parser_tables___Parser___action_table_row665_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row665(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row665 "parser_tables::Parser::action_table_row665"
-typedef val_t (* parser_tables___Parser___action_table_row666_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row666(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row666 "parser_tables::Parser::action_table_row666"
-typedef val_t (* parser_tables___Parser___action_table_row667_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row667(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row667 "parser_tables::Parser::action_table_row667"
-typedef val_t (* parser_tables___Parser___action_table_row668_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row668(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row668 "parser_tables::Parser::action_table_row668"
-typedef val_t (* parser_tables___Parser___action_table_row669_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row669(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row669 "parser_tables::Parser::action_table_row669"
-typedef val_t (* parser_tables___Parser___action_table_row670_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row670(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row670 "parser_tables::Parser::action_table_row670"
-typedef val_t (* parser_tables___Parser___action_table_row671_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row671(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row671 "parser_tables::Parser::action_table_row671"
-typedef val_t (* parser_tables___Parser___action_table_row672_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row672(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row672 "parser_tables::Parser::action_table_row672"
-typedef val_t (* parser_tables___Parser___action_table_row673_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row673(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row673 "parser_tables::Parser::action_table_row673"
-typedef val_t (* parser_tables___Parser___action_table_row674_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row674(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row674 "parser_tables::Parser::action_table_row674"
-typedef val_t (* parser_tables___Parser___action_table_row675_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row675(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row675 "parser_tables::Parser::action_table_row675"
-typedef val_t (* parser_tables___Parser___action_table_row676_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row676(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row676 "parser_tables::Parser::action_table_row676"
-typedef val_t (* parser_tables___Parser___action_table_row677_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row677(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row677 "parser_tables::Parser::action_table_row677"
-typedef val_t (* parser_tables___Parser___action_table_row678_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row678(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row678 "parser_tables::Parser::action_table_row678"
-typedef val_t (* parser_tables___Parser___action_table_row679_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row679(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row679 "parser_tables::Parser::action_table_row679"
-typedef val_t (* parser_tables___Parser___action_table_row680_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row680(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row680 "parser_tables::Parser::action_table_row680"
-typedef val_t (* parser_tables___Parser___action_table_row681_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row681(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row681 "parser_tables::Parser::action_table_row681"
-typedef val_t (* parser_tables___Parser___action_table_row682_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row682(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row682 "parser_tables::Parser::action_table_row682"
-typedef val_t (* parser_tables___Parser___action_table_row683_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row683(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row683 "parser_tables::Parser::action_table_row683"
-typedef val_t (* parser_tables___Parser___action_table_row684_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row684(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row684 "parser_tables::Parser::action_table_row684"
-typedef val_t (* parser_tables___Parser___action_table_row685_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row685(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row685 "parser_tables::Parser::action_table_row685"
-typedef val_t (* parser_tables___Parser___action_table_row686_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row686(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row686 "parser_tables::Parser::action_table_row686"
-typedef val_t (* parser_tables___Parser___action_table_row687_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row687(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row687 "parser_tables::Parser::action_table_row687"
-typedef val_t (* parser_tables___Parser___action_table_row688_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row688(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row688 "parser_tables::Parser::action_table_row688"
-typedef val_t (* parser_tables___Parser___action_table_row689_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row689(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row689 "parser_tables::Parser::action_table_row689"
-typedef val_t (* parser_tables___Parser___action_table_row690_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row690(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row690 "parser_tables::Parser::action_table_row690"
-typedef val_t (* parser_tables___Parser___action_table_row691_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row691(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row691 "parser_tables::Parser::action_table_row691"
-typedef val_t (* parser_tables___Parser___action_table_row692_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row692(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row692 "parser_tables::Parser::action_table_row692"
-typedef val_t (* parser_tables___Parser___action_table_row693_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row693(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row693 "parser_tables::Parser::action_table_row693"
-typedef val_t (* parser_tables___Parser___action_table_row694_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row694(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row694 "parser_tables::Parser::action_table_row694"
-typedef val_t (* parser_tables___Parser___action_table_row695_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row695(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row695 "parser_tables::Parser::action_table_row695"
-typedef val_t (* parser_tables___Parser___action_table_row696_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row696(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row696 "parser_tables::Parser::action_table_row696"
-typedef val_t (* parser_tables___Parser___action_table_row697_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row697(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row697 "parser_tables::Parser::action_table_row697"
-typedef val_t (* parser_tables___Parser___action_table_row698_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row698(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row698 "parser_tables::Parser::action_table_row698"
-typedef val_t (* parser_tables___Parser___action_table_row699_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row699(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row699 "parser_tables::Parser::action_table_row699"
-typedef val_t (* parser_tables___Parser___action_table_row700_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row700(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row700 "parser_tables::Parser::action_table_row700"
-typedef val_t (* parser_tables___Parser___action_table_row701_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row701(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row701 "parser_tables::Parser::action_table_row701"
-typedef val_t (* parser_tables___Parser___action_table_row702_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row702(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row702 "parser_tables::Parser::action_table_row702"
-typedef val_t (* parser_tables___Parser___action_table_row703_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row703(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row703 "parser_tables::Parser::action_table_row703"
-typedef val_t (* parser_tables___Parser___action_table_row704_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row704(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row704 "parser_tables::Parser::action_table_row704"
-typedef val_t (* parser_tables___Parser___action_table_row705_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row705(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row705 "parser_tables::Parser::action_table_row705"
-typedef val_t (* parser_tables___Parser___action_table_row706_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row706(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row706 "parser_tables::Parser::action_table_row706"
-typedef val_t (* parser_tables___Parser___action_table_row707_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row707(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row707 "parser_tables::Parser::action_table_row707"
-typedef val_t (* parser_tables___Parser___action_table_row708_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row708(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row708 "parser_tables::Parser::action_table_row708"
-typedef val_t (* parser_tables___Parser___action_table_row709_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row709(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row709 "parser_tables::Parser::action_table_row709"
-typedef val_t (* parser_tables___Parser___action_table_row710_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row710(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row710 "parser_tables::Parser::action_table_row710"
-typedef val_t (* parser_tables___Parser___action_table_row711_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row711(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row711 "parser_tables::Parser::action_table_row711"
-typedef val_t (* parser_tables___Parser___action_table_row712_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row712(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row712 "parser_tables::Parser::action_table_row712"
-typedef val_t (* parser_tables___Parser___action_table_row713_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row713(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row713 "parser_tables::Parser::action_table_row713"
-typedef val_t (* parser_tables___Parser___action_table_row714_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row714(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row714 "parser_tables::Parser::action_table_row714"
-typedef val_t (* parser_tables___Parser___action_table_row715_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row715(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row715 "parser_tables::Parser::action_table_row715"
-typedef val_t (* parser_tables___Parser___action_table_row716_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row716(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row716 "parser_tables::Parser::action_table_row716"
-typedef val_t (* parser_tables___Parser___action_table_row717_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row717(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row717 "parser_tables::Parser::action_table_row717"
-typedef val_t (* parser_tables___Parser___action_table_row718_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row718(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row718 "parser_tables::Parser::action_table_row718"
-typedef val_t (* parser_tables___Parser___action_table_row719_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row719(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row719 "parser_tables::Parser::action_table_row719"
-typedef val_t (* parser_tables___Parser___action_table_row720_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row720(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row720 "parser_tables::Parser::action_table_row720"
-typedef val_t (* parser_tables___Parser___action_table_row721_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row721(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row721 "parser_tables::Parser::action_table_row721"
-typedef val_t (* parser_tables___Parser___action_table_row722_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row722(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row722 "parser_tables::Parser::action_table_row722"
-typedef val_t (* parser_tables___Parser___action_table_row723_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row723(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row723 "parser_tables::Parser::action_table_row723"
-typedef val_t (* parser_tables___Parser___action_table_row724_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row724(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row724 "parser_tables::Parser::action_table_row724"
-typedef val_t (* parser_tables___Parser___action_table_row725_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row725(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row725 "parser_tables::Parser::action_table_row725"
-typedef val_t (* parser_tables___Parser___action_table_row726_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row726(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row726 "parser_tables::Parser::action_table_row726"
-typedef val_t (* parser_tables___Parser___action_table_row727_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row727(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row727 "parser_tables::Parser::action_table_row727"
-typedef val_t (* parser_tables___Parser___action_table_row728_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row728(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row728 "parser_tables::Parser::action_table_row728"
-typedef val_t (* parser_tables___Parser___action_table_row729_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row729(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row729 "parser_tables::Parser::action_table_row729"
-typedef val_t (* parser_tables___Parser___action_table_row730_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row730(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row730 "parser_tables::Parser::action_table_row730"
-typedef val_t (* parser_tables___Parser___action_table_row731_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row731(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row731 "parser_tables::Parser::action_table_row731"
-typedef val_t (* parser_tables___Parser___action_table_row732_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row732(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row732 "parser_tables::Parser::action_table_row732"
-typedef val_t (* parser_tables___Parser___action_table_row733_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row733(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row733 "parser_tables::Parser::action_table_row733"
-typedef val_t (* parser_tables___Parser___action_table_row734_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row734(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row734 "parser_tables::Parser::action_table_row734"
-typedef val_t (* parser_tables___Parser___action_table_row735_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row735(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row735 "parser_tables::Parser::action_table_row735"
-typedef val_t (* parser_tables___Parser___action_table_row736_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row736(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row736 "parser_tables::Parser::action_table_row736"
-typedef val_t (* parser_tables___Parser___action_table_row737_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row737(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row737 "parser_tables::Parser::action_table_row737"
-typedef val_t (* parser_tables___Parser___action_table_row738_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row738(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row738 "parser_tables::Parser::action_table_row738"
-typedef val_t (* parser_tables___Parser___action_table_row739_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row739(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row739 "parser_tables::Parser::action_table_row739"
-typedef val_t (* parser_tables___Parser___action_table_row740_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row740(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row740 "parser_tables::Parser::action_table_row740"
-typedef val_t (* parser_tables___Parser___action_table_row741_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row741(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row741 "parser_tables::Parser::action_table_row741"
-typedef val_t (* parser_tables___Parser___action_table_row742_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row742(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row742 "parser_tables::Parser::action_table_row742"
-typedef val_t (* parser_tables___Parser___action_table_row743_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row743(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row743 "parser_tables::Parser::action_table_row743"
-typedef val_t (* parser_tables___Parser___action_table_row744_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row744(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row744 "parser_tables::Parser::action_table_row744"
-typedef val_t (* parser_tables___Parser___action_table_row745_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row745(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row745 "parser_tables::Parser::action_table_row745"
-typedef val_t (* parser_tables___Parser___action_table_row746_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row746(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row746 "parser_tables::Parser::action_table_row746"
-typedef val_t (* parser_tables___Parser___action_table_row747_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row747(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row747 "parser_tables::Parser::action_table_row747"
-typedef val_t (* parser_tables___Parser___action_table_row748_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row748(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row748 "parser_tables::Parser::action_table_row748"
-typedef val_t (* parser_tables___Parser___action_table_row749_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row749(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row749 "parser_tables::Parser::action_table_row749"
-typedef val_t (* parser_tables___Parser___action_table_row750_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row750(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row750 "parser_tables::Parser::action_table_row750"
-typedef val_t (* parser_tables___Parser___action_table_row751_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row751(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row751 "parser_tables::Parser::action_table_row751"
-typedef val_t (* parser_tables___Parser___action_table_row752_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row752(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row752 "parser_tables::Parser::action_table_row752"
-typedef val_t (* parser_tables___Parser___action_table_row753_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row753(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row753 "parser_tables::Parser::action_table_row753"
-typedef val_t (* parser_tables___Parser___action_table_row754_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row754(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row754 "parser_tables::Parser::action_table_row754"
-typedef val_t (* parser_tables___Parser___action_table_row755_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row755(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row755 "parser_tables::Parser::action_table_row755"
-typedef val_t (* parser_tables___Parser___action_table_row756_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row756(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row756 "parser_tables::Parser::action_table_row756"
-typedef val_t (* parser_tables___Parser___action_table_row757_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row757(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row757 "parser_tables::Parser::action_table_row757"
-typedef val_t (* parser_tables___Parser___action_table_row758_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row758(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row758 "parser_tables::Parser::action_table_row758"
-typedef val_t (* parser_tables___Parser___action_table_row759_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row759(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row759 "parser_tables::Parser::action_table_row759"
-typedef val_t (* parser_tables___Parser___action_table_row760_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row760(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row760 "parser_tables::Parser::action_table_row760"
-typedef val_t (* parser_tables___Parser___action_table_row761_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row761(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row761 "parser_tables::Parser::action_table_row761"
-typedef val_t (* parser_tables___Parser___action_table_row762_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row762(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row762 "parser_tables::Parser::action_table_row762"
-typedef val_t (* parser_tables___Parser___action_table_row763_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row763(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row763 "parser_tables::Parser::action_table_row763"
-typedef val_t (* parser_tables___Parser___action_table_row764_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row764(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row764 "parser_tables::Parser::action_table_row764"
-typedef val_t (* parser_tables___Parser___action_table_row765_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row765(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row765 "parser_tables::Parser::action_table_row765"
-typedef val_t (* parser_tables___Parser___action_table_row766_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row766(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row766 "parser_tables::Parser::action_table_row766"
-typedef val_t (* parser_tables___Parser___action_table_row767_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row767(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row767 "parser_tables::Parser::action_table_row767"
-typedef val_t (* parser_tables___Parser___action_table_row768_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row768(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row768 "parser_tables::Parser::action_table_row768"
-typedef val_t (* parser_tables___Parser___action_table_row769_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row769(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row769 "parser_tables::Parser::action_table_row769"
-typedef val_t (* parser_tables___Parser___action_table_row770_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row770(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row770 "parser_tables::Parser::action_table_row770"
-typedef val_t (* parser_tables___Parser___action_table_row771_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row771(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row771 "parser_tables::Parser::action_table_row771"
-typedef val_t (* parser_tables___Parser___action_table_row772_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row772(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row772 "parser_tables::Parser::action_table_row772"
-typedef val_t (* parser_tables___Parser___action_table_row773_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row773(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row773 "parser_tables::Parser::action_table_row773"
-typedef val_t (* parser_tables___Parser___action_table_row774_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row774(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row774 "parser_tables::Parser::action_table_row774"
-typedef val_t (* parser_tables___Parser___action_table_row775_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row775(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row775 "parser_tables::Parser::action_table_row775"
-typedef val_t (* parser_tables___Parser___action_table_row776_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row776(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row776 "parser_tables::Parser::action_table_row776"
-typedef val_t (* parser_tables___Parser___action_table_row777_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row777(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row777 "parser_tables::Parser::action_table_row777"
-typedef val_t (* parser_tables___Parser___action_table_row778_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row778(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row778 "parser_tables::Parser::action_table_row778"
-typedef val_t (* parser_tables___Parser___action_table_row779_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row779(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row779 "parser_tables::Parser::action_table_row779"
-typedef val_t (* parser_tables___Parser___action_table_row780_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row780(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row780 "parser_tables::Parser::action_table_row780"
-typedef val_t (* parser_tables___Parser___action_table_row781_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row781(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row781 "parser_tables::Parser::action_table_row781"
-typedef val_t (* parser_tables___Parser___action_table_row782_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row782(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row782 "parser_tables::Parser::action_table_row782"
-typedef val_t (* parser_tables___Parser___action_table_row783_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row783(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row783 "parser_tables::Parser::action_table_row783"
-typedef val_t (* parser_tables___Parser___action_table_row784_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row784(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row784 "parser_tables::Parser::action_table_row784"
-typedef val_t (* parser_tables___Parser___action_table_row785_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row785(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row785 "parser_tables::Parser::action_table_row785"
-typedef val_t (* parser_tables___Parser___action_table_row786_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row786(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row786 "parser_tables::Parser::action_table_row786"
-typedef val_t (* parser_tables___Parser___action_table_row787_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row787(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row787 "parser_tables::Parser::action_table_row787"
-typedef val_t (* parser_tables___Parser___action_table_row788_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row788(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row788 "parser_tables::Parser::action_table_row788"
-typedef val_t (* parser_tables___Parser___action_table_row789_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row789(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row789 "parser_tables::Parser::action_table_row789"
-typedef val_t (* parser_tables___Parser___action_table_row790_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row790(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row790 "parser_tables::Parser::action_table_row790"
-typedef val_t (* parser_tables___Parser___action_table_row791_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row791(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row791 "parser_tables::Parser::action_table_row791"
-typedef val_t (* parser_tables___Parser___action_table_row792_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row792(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row792 "parser_tables::Parser::action_table_row792"
-typedef val_t (* parser_tables___Parser___action_table_row793_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row793(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row793 "parser_tables::Parser::action_table_row793"
-typedef val_t (* parser_tables___Parser___action_table_row794_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row794(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row794 "parser_tables::Parser::action_table_row794"
-typedef val_t (* parser_tables___Parser___action_table_row795_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row795(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row795 "parser_tables::Parser::action_table_row795"
-typedef val_t (* parser_tables___Parser___action_table_row796_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row796(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row796 "parser_tables::Parser::action_table_row796"
-typedef val_t (* parser_tables___Parser___action_table_row797_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row797(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row797 "parser_tables::Parser::action_table_row797"
-typedef val_t (* parser_tables___Parser___action_table_row798_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row798(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row798 "parser_tables::Parser::action_table_row798"
-typedef val_t (* parser_tables___Parser___action_table_row799_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row799(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row799 "parser_tables::Parser::action_table_row799"
-typedef val_t (* parser_tables___Parser___action_table_row800_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row800(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row800 "parser_tables::Parser::action_table_row800"
-typedef val_t (* parser_tables___Parser___action_table_row801_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row801(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row801 "parser_tables::Parser::action_table_row801"
-typedef val_t (* parser_tables___Parser___action_table_row802_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row802(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row802 "parser_tables::Parser::action_table_row802"
-typedef val_t (* parser_tables___Parser___action_table_row803_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row803(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row803 "parser_tables::Parser::action_table_row803"
-typedef val_t (* parser_tables___Parser___action_table_row804_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row804(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row804 "parser_tables::Parser::action_table_row804"
-typedef val_t (* parser_tables___Parser___action_table_row805_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row805(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row805 "parser_tables::Parser::action_table_row805"
-typedef val_t (* parser_tables___Parser___action_table_row806_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row806(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row806 "parser_tables::Parser::action_table_row806"
-typedef val_t (* parser_tables___Parser___action_table_row807_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row807(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row807 "parser_tables::Parser::action_table_row807"
-typedef val_t (* parser_tables___Parser___action_table_row808_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row808(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row808 "parser_tables::Parser::action_table_row808"
-typedef val_t (* parser_tables___Parser___action_table_row809_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row809(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row809 "parser_tables::Parser::action_table_row809"
-typedef val_t (* parser_tables___Parser___action_table_row810_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row810(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row810 "parser_tables::Parser::action_table_row810"
-typedef val_t (* parser_tables___Parser___action_table_row811_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row811(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row811 "parser_tables::Parser::action_table_row811"
-typedef val_t (* parser_tables___Parser___action_table_row812_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row812(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row812 "parser_tables::Parser::action_table_row812"
-typedef val_t (* parser_tables___Parser___action_table_row813_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row813(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row813 "parser_tables::Parser::action_table_row813"
-typedef val_t (* parser_tables___Parser___action_table_row814_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row814(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row814 "parser_tables::Parser::action_table_row814"
-typedef val_t (* parser_tables___Parser___action_table_row815_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row815(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row815 "parser_tables::Parser::action_table_row815"
-typedef val_t (* parser_tables___Parser___action_table_row816_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row816(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row816 "parser_tables::Parser::action_table_row816"
-typedef val_t (* parser_tables___Parser___action_table_row817_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row817(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row817 "parser_tables::Parser::action_table_row817"
-typedef val_t (* parser_tables___Parser___action_table_row818_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row818(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row818 "parser_tables::Parser::action_table_row818"
-typedef val_t (* parser_tables___Parser___action_table_row819_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row819(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row819 "parser_tables::Parser::action_table_row819"
-typedef val_t (* parser_tables___Parser___action_table_row820_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row820(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row820 "parser_tables::Parser::action_table_row820"
-typedef val_t (* parser_tables___Parser___action_table_row821_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row821(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row821 "parser_tables::Parser::action_table_row821"
-typedef val_t (* parser_tables___Parser___action_table_row822_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row822(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row822 "parser_tables::Parser::action_table_row822"
-typedef val_t (* parser_tables___Parser___action_table_row823_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row823(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row823 "parser_tables::Parser::action_table_row823"
-typedef val_t (* parser_tables___Parser___action_table_row824_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row824(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row824 "parser_tables::Parser::action_table_row824"
-typedef val_t (* parser_tables___Parser___action_table_row825_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row825(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row825 "parser_tables::Parser::action_table_row825"
-typedef val_t (* parser_tables___Parser___action_table_row826_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row826(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row826 "parser_tables::Parser::action_table_row826"
-typedef val_t (* parser_tables___Parser___action_table_row827_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row827(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row827 "parser_tables::Parser::action_table_row827"
-typedef val_t (* parser_tables___Parser___action_table_row828_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row828(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row828 "parser_tables::Parser::action_table_row828"
-typedef val_t (* parser_tables___Parser___action_table_row829_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row829(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row829 "parser_tables::Parser::action_table_row829"
-typedef val_t (* parser_tables___Parser___action_table_row830_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row830(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row830 "parser_tables::Parser::action_table_row830"
-typedef val_t (* parser_tables___Parser___action_table_row831_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row831(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row831 "parser_tables::Parser::action_table_row831"
-typedef val_t (* parser_tables___Parser___action_table_row832_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row832(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row832 "parser_tables::Parser::action_table_row832"
-typedef val_t (* parser_tables___Parser___action_table_row833_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row833(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row833 "parser_tables::Parser::action_table_row833"
-typedef val_t (* parser_tables___Parser___action_table_row834_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row834(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row834 "parser_tables::Parser::action_table_row834"
-typedef val_t (* parser_tables___Parser___action_table_row835_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row835(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row835 "parser_tables::Parser::action_table_row835"
-typedef val_t (* parser_tables___Parser___action_table_row836_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row836(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row836 "parser_tables::Parser::action_table_row836"
-typedef val_t (* parser_tables___Parser___action_table_row837_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row837(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row837 "parser_tables::Parser::action_table_row837"
-typedef val_t (* parser_tables___Parser___action_table_row838_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row838(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row838 "parser_tables::Parser::action_table_row838"
-typedef val_t (* parser_tables___Parser___action_table_row839_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row839(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row839 "parser_tables::Parser::action_table_row839"
-typedef val_t (* parser_tables___Parser___action_table_row840_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row840(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row840 "parser_tables::Parser::action_table_row840"
-typedef val_t (* parser_tables___Parser___action_table_row841_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row841(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row841 "parser_tables::Parser::action_table_row841"
-typedef val_t (* parser_tables___Parser___action_table_row842_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row842(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row842 "parser_tables::Parser::action_table_row842"
-typedef val_t (* parser_tables___Parser___action_table_row843_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row843(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row843 "parser_tables::Parser::action_table_row843"
-typedef val_t (* parser_tables___Parser___action_table_row844_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row844(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row844 "parser_tables::Parser::action_table_row844"
-typedef val_t (* parser_tables___Parser___action_table_row845_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row845(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row845 "parser_tables::Parser::action_table_row845"
-typedef val_t (* parser_tables___Parser___action_table_row846_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row846(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row846 "parser_tables::Parser::action_table_row846"
-typedef val_t (* parser_tables___Parser___action_table_row847_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row847(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row847 "parser_tables::Parser::action_table_row847"
-typedef val_t (* parser_tables___Parser___action_table_row848_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row848(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row848 "parser_tables::Parser::action_table_row848"
-typedef val_t (* parser_tables___Parser___action_table_row849_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row849(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row849 "parser_tables::Parser::action_table_row849"
-typedef val_t (* parser_tables___Parser___action_table_row850_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row850(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row850 "parser_tables::Parser::action_table_row850"
-typedef val_t (* parser_tables___Parser___action_table_row851_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row851(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row851 "parser_tables::Parser::action_table_row851"
-typedef val_t (* parser_tables___Parser___action_table_row852_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row852(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row852 "parser_tables::Parser::action_table_row852"
-typedef val_t (* parser_tables___Parser___action_table_row853_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row853(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row853 "parser_tables::Parser::action_table_row853"
-typedef val_t (* parser_tables___Parser___action_table_row854_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row854(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row854 "parser_tables::Parser::action_table_row854"
-typedef val_t (* parser_tables___Parser___action_table_row855_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row855(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row855 "parser_tables::Parser::action_table_row855"
-typedef val_t (* parser_tables___Parser___action_table_row856_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row856(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row856 "parser_tables::Parser::action_table_row856"
-typedef val_t (* parser_tables___Parser___action_table_row857_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row857(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row857 "parser_tables::Parser::action_table_row857"
-typedef val_t (* parser_tables___Parser___action_table_row858_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row858(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row858 "parser_tables::Parser::action_table_row858"
-typedef val_t (* parser_tables___Parser___action_table_row859_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row859(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row859 "parser_tables::Parser::action_table_row859"
-typedef val_t (* parser_tables___Parser___action_table_row860_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row860(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row860 "parser_tables::Parser::action_table_row860"
-typedef val_t (* parser_tables___Parser___action_table_row861_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row861(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row861 "parser_tables::Parser::action_table_row861"
-typedef val_t (* parser_tables___Parser___action_table_row862_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row862(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row862 "parser_tables::Parser::action_table_row862"
-typedef val_t (* parser_tables___Parser___action_table_row863_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row863(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row863 "parser_tables::Parser::action_table_row863"
-typedef val_t (* parser_tables___Parser___action_table_row864_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row864(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row864 "parser_tables::Parser::action_table_row864"
-typedef val_t (* parser_tables___Parser___action_table_row865_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row865(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row865 "parser_tables::Parser::action_table_row865"
-typedef val_t (* parser_tables___Parser___action_table_row866_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row866(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row866 "parser_tables::Parser::action_table_row866"
-typedef val_t (* parser_tables___Parser___action_table_row867_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row867(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row867 "parser_tables::Parser::action_table_row867"
-typedef val_t (* parser_tables___Parser___action_table_row868_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row868(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row868 "parser_tables::Parser::action_table_row868"
-typedef val_t (* parser_tables___Parser___action_table_row869_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row869(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row869 "parser_tables::Parser::action_table_row869"
-typedef val_t (* parser_tables___Parser___action_table_row870_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row870(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row870 "parser_tables::Parser::action_table_row870"
-typedef val_t (* parser_tables___Parser___action_table_row871_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row871(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row871 "parser_tables::Parser::action_table_row871"
-typedef val_t (* parser_tables___Parser___action_table_row872_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row872(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row872 "parser_tables::Parser::action_table_row872"
-typedef val_t (* parser_tables___Parser___action_table_row873_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row873(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row873 "parser_tables::Parser::action_table_row873"
-typedef val_t (* parser_tables___Parser___action_table_row874_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row874(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row874 "parser_tables::Parser::action_table_row874"
-typedef val_t (* parser_tables___Parser___action_table_row875_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row875(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row875 "parser_tables::Parser::action_table_row875"
-typedef val_t (* parser_tables___Parser___action_table_row876_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row876(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row876 "parser_tables::Parser::action_table_row876"
-typedef val_t (* parser_tables___Parser___action_table_row877_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row877(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row877 "parser_tables::Parser::action_table_row877"
-typedef val_t (* parser_tables___Parser___action_table_row878_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row878(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row878 "parser_tables::Parser::action_table_row878"
-typedef val_t (* parser_tables___Parser___action_table_row879_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row879(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row879 "parser_tables::Parser::action_table_row879"
-typedef val_t (* parser_tables___Parser___action_table_row880_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row880(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row880 "parser_tables::Parser::action_table_row880"
-typedef val_t (* parser_tables___Parser___action_table_row881_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row881(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row881 "parser_tables::Parser::action_table_row881"
-typedef val_t (* parser_tables___Parser___action_table_row882_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row882(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row882 "parser_tables::Parser::action_table_row882"
-typedef val_t (* parser_tables___Parser___action_table_row883_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row883(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row883 "parser_tables::Parser::action_table_row883"
-typedef val_t (* parser_tables___Parser___action_table_row884_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row884(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row884 "parser_tables::Parser::action_table_row884"
-typedef val_t (* parser_tables___Parser___action_table_row885_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row885(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row885 "parser_tables::Parser::action_table_row885"
-typedef val_t (* parser_tables___Parser___action_table_row886_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row886(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row886 "parser_tables::Parser::action_table_row886"
-typedef val_t (* parser_tables___Parser___action_table_row887_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row887(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row887 "parser_tables::Parser::action_table_row887"
-typedef val_t (* parser_tables___Parser___action_table_row888_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row888(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row888 "parser_tables::Parser::action_table_row888"
-typedef val_t (* parser_tables___Parser___action_table_row889_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row889(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row889 "parser_tables::Parser::action_table_row889"
-typedef val_t (* parser_tables___Parser___action_table_row890_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row890(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row890 "parser_tables::Parser::action_table_row890"
-typedef val_t (* parser_tables___Parser___action_table_row891_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row891(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row891 "parser_tables::Parser::action_table_row891"
-typedef val_t (* parser_tables___Parser___action_table_row892_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row892(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row892 "parser_tables::Parser::action_table_row892"
-typedef val_t (* parser_tables___Parser___action_table_row893_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row893(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row893 "parser_tables::Parser::action_table_row893"
-typedef val_t (* parser_tables___Parser___action_table_row894_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row894(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row894 "parser_tables::Parser::action_table_row894"
-typedef val_t (* parser_tables___Parser___action_table_row895_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row895(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row895 "parser_tables::Parser::action_table_row895"
-typedef val_t (* parser_tables___Parser___action_table_row896_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row896(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row896 "parser_tables::Parser::action_table_row896"
-typedef val_t (* parser_tables___Parser___action_table_row897_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row897(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row897 "parser_tables::Parser::action_table_row897"
-typedef val_t (* parser_tables___Parser___action_table_row898_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row898(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row898 "parser_tables::Parser::action_table_row898"
-typedef val_t (* parser_tables___Parser___action_table_row899_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row899(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row899 "parser_tables::Parser::action_table_row899"
-typedef val_t (* parser_tables___Parser___action_table_row900_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row900(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row900 "parser_tables::Parser::action_table_row900"
-typedef val_t (* parser_tables___Parser___action_table_row901_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row901(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row901 "parser_tables::Parser::action_table_row901"
-typedef val_t (* parser_tables___Parser___action_table_row902_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row902(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row902 "parser_tables::Parser::action_table_row902"
-typedef val_t (* parser_tables___Parser___action_table_row903_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row903(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row903 "parser_tables::Parser::action_table_row903"
-typedef val_t (* parser_tables___Parser___action_table_row904_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row904(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row904 "parser_tables::Parser::action_table_row904"
-typedef val_t (* parser_tables___Parser___action_table_row905_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row905(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row905 "parser_tables::Parser::action_table_row905"
-typedef val_t (* parser_tables___Parser___action_table_row906_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row906(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row906 "parser_tables::Parser::action_table_row906"
-typedef val_t (* parser_tables___Parser___action_table_row907_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row907(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row907 "parser_tables::Parser::action_table_row907"
-typedef val_t (* parser_tables___Parser___action_table_row908_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row908(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row908 "parser_tables::Parser::action_table_row908"
-typedef val_t (* parser_tables___Parser___action_table_row909_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row909(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row909 "parser_tables::Parser::action_table_row909"
-typedef val_t (* parser_tables___Parser___action_table_row910_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row910(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row910 "parser_tables::Parser::action_table_row910"
-typedef val_t (* parser_tables___Parser___action_table_row911_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row911(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row911 "parser_tables::Parser::action_table_row911"
-typedef val_t (* parser_tables___Parser___action_table_row912_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row912(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row912 "parser_tables::Parser::action_table_row912"
-typedef val_t (* parser_tables___Parser___action_table_row913_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row913(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row913 "parser_tables::Parser::action_table_row913"
-typedef val_t (* parser_tables___Parser___action_table_row914_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row914(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row914 "parser_tables::Parser::action_table_row914"
-typedef val_t (* parser_tables___Parser___action_table_row915_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row915(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row915 "parser_tables::Parser::action_table_row915"
-typedef val_t (* parser_tables___Parser___action_table_row916_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row916(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row916 "parser_tables::Parser::action_table_row916"
-typedef val_t (* parser_tables___Parser___action_table_row917_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row917(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row917 "parser_tables::Parser::action_table_row917"
-typedef val_t (* parser_tables___Parser___action_table_row918_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row918(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row918 "parser_tables::Parser::action_table_row918"
-typedef val_t (* parser_tables___Parser___action_table_row919_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row919(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row919 "parser_tables::Parser::action_table_row919"
-typedef val_t (* parser_tables___Parser___action_table_row920_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row920(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row920 "parser_tables::Parser::action_table_row920"
-typedef val_t (* parser_tables___Parser___action_table_row921_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row921(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row921 "parser_tables::Parser::action_table_row921"
-typedef val_t (* parser_tables___Parser___action_table_row922_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row922(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row922 "parser_tables::Parser::action_table_row922"
-typedef val_t (* parser_tables___Parser___action_table_row923_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row923(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row923 "parser_tables::Parser::action_table_row923"
-typedef val_t (* parser_tables___Parser___action_table_row924_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row924(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row924 "parser_tables::Parser::action_table_row924"
-typedef val_t (* parser_tables___Parser___action_table_row925_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row925(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row925 "parser_tables::Parser::action_table_row925"
-typedef val_t (* parser_tables___Parser___action_table_row926_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row926(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row926 "parser_tables::Parser::action_table_row926"
-typedef val_t (* parser_tables___Parser___action_table_row927_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row927(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row927 "parser_tables::Parser::action_table_row927"
-typedef val_t (* parser_tables___Parser___action_table_row928_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row928(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row928 "parser_tables::Parser::action_table_row928"
-typedef val_t (* parser_tables___Parser___action_table_row929_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row929(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row929 "parser_tables::Parser::action_table_row929"
-typedef val_t (* parser_tables___Parser___action_table_row930_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row930(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row930 "parser_tables::Parser::action_table_row930"
-typedef val_t (* parser_tables___Parser___action_table_row931_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row931(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row931 "parser_tables::Parser::action_table_row931"
-typedef val_t (* parser_tables___Parser___action_table_row932_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row932(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row932 "parser_tables::Parser::action_table_row932"
-typedef val_t (* parser_tables___Parser___action_table_row933_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row933(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row933 "parser_tables::Parser::action_table_row933"
-typedef val_t (* parser_tables___Parser___action_table_row934_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row934(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row934 "parser_tables::Parser::action_table_row934"
-typedef val_t (* parser_tables___Parser___action_table_row935_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row935(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row935 "parser_tables::Parser::action_table_row935"
-typedef val_t (* parser_tables___Parser___action_table_row936_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row936(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row936 "parser_tables::Parser::action_table_row936"
-typedef val_t (* parser_tables___Parser___action_table_row937_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row937(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row937 "parser_tables::Parser::action_table_row937"
-typedef val_t (* parser_tables___Parser___action_table_row938_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row938(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row938 "parser_tables::Parser::action_table_row938"
-typedef val_t (* parser_tables___Parser___action_table_row939_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row939(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row939 "parser_tables::Parser::action_table_row939"
-typedef val_t (* parser_tables___Parser___action_table_row940_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row940(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row940 "parser_tables::Parser::action_table_row940"
-typedef val_t (* parser_tables___Parser___action_table_row941_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row941(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row941 "parser_tables::Parser::action_table_row941"
-typedef val_t (* parser_tables___Parser___action_table_row942_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row942(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row942 "parser_tables::Parser::action_table_row942"
-typedef val_t (* parser_tables___Parser___action_table_row943_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row943(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row943 "parser_tables::Parser::action_table_row943"
-typedef val_t (* parser_tables___Parser___action_table_row944_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row944(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row944 "parser_tables::Parser::action_table_row944"
-typedef val_t (* parser_tables___Parser___action_table_row945_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row945(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row945 "parser_tables::Parser::action_table_row945"
-typedef val_t (* parser_tables___Parser___action_table_row946_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row946(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row946 "parser_tables::Parser::action_table_row946"
-typedef val_t (* parser_tables___Parser___action_table_row947_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row947(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row947 "parser_tables::Parser::action_table_row947"
-typedef val_t (* parser_tables___Parser___action_table_row948_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row948(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row948 "parser_tables::Parser::action_table_row948"
-typedef val_t (* parser_tables___Parser___action_table_row949_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row949(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row949 "parser_tables::Parser::action_table_row949"
-typedef val_t (* parser_tables___Parser___action_table_row950_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row950(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row950 "parser_tables::Parser::action_table_row950"
-typedef val_t (* parser_tables___Parser___action_table_row951_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row951(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row951 "parser_tables::Parser::action_table_row951"
-typedef val_t (* parser_tables___Parser___action_table_row952_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row952(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row952 "parser_tables::Parser::action_table_row952"
-typedef val_t (* parser_tables___Parser___action_table_row953_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row953(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row953 "parser_tables::Parser::action_table_row953"
-typedef val_t (* parser_tables___Parser___action_table_row954_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row954(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row954 "parser_tables::Parser::action_table_row954"
-typedef val_t (* parser_tables___Parser___action_table_row955_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row955(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row955 "parser_tables::Parser::action_table_row955"
-typedef val_t (* parser_tables___Parser___action_table_row956_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row956(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row956 "parser_tables::Parser::action_table_row956"
-typedef val_t (* parser_tables___Parser___action_table_row957_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row957(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row957 "parser_tables::Parser::action_table_row957"
-typedef val_t (* parser_tables___Parser___action_table_row958_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row958(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row958 "parser_tables::Parser::action_table_row958"
-typedef val_t (* parser_tables___Parser___action_table_row959_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row959(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row959 "parser_tables::Parser::action_table_row959"
-typedef val_t (* parser_tables___Parser___action_table_row960_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row960(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row960 "parser_tables::Parser::action_table_row960"
-typedef val_t (* parser_tables___Parser___action_table_row961_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row961(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row961 "parser_tables::Parser::action_table_row961"
-typedef val_t (* parser_tables___Parser___action_table_row962_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row962(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row962 "parser_tables::Parser::action_table_row962"
-typedef val_t (* parser_tables___Parser___action_table_row963_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row963(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row963 "parser_tables::Parser::action_table_row963"
-typedef val_t (* parser_tables___Parser___action_table_row964_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row964(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row964 "parser_tables::Parser::action_table_row964"
-typedef val_t (* parser_tables___Parser___action_table_row965_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row965(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row965 "parser_tables::Parser::action_table_row965"
-typedef val_t (* parser_tables___Parser___action_table_row966_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row966(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row966 "parser_tables::Parser::action_table_row966"
-typedef val_t (* parser_tables___Parser___action_table_row967_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row967(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row967 "parser_tables::Parser::action_table_row967"
-typedef val_t (* parser_tables___Parser___action_table_row968_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row968(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row968 "parser_tables::Parser::action_table_row968"
-typedef val_t (* parser_tables___Parser___action_table_row969_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row969(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row969 "parser_tables::Parser::action_table_row969"
-typedef val_t (* parser_tables___Parser___action_table_row970_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row970(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row970 "parser_tables::Parser::action_table_row970"
-typedef val_t (* parser_tables___Parser___action_table_row971_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row971(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row971 "parser_tables::Parser::action_table_row971"
-typedef val_t (* parser_tables___Parser___action_table_row972_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row972(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row972 "parser_tables::Parser::action_table_row972"
-typedef val_t (* parser_tables___Parser___action_table_row973_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row973(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row973 "parser_tables::Parser::action_table_row973"
-typedef val_t (* parser_tables___Parser___action_table_row974_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row974(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row974 "parser_tables::Parser::action_table_row974"
-typedef val_t (* parser_tables___Parser___action_table_row975_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row975(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row975 "parser_tables::Parser::action_table_row975"
-typedef val_t (* parser_tables___Parser___action_table_row976_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row976(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row976 "parser_tables::Parser::action_table_row976"
-typedef val_t (* parser_tables___Parser___action_table_row977_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row977(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row977 "parser_tables::Parser::action_table_row977"
-typedef val_t (* parser_tables___Parser___action_table_row978_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row978(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row978 "parser_tables::Parser::action_table_row978"
-typedef val_t (* parser_tables___Parser___action_table_row979_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row979(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row979 "parser_tables::Parser::action_table_row979"
-typedef val_t (* parser_tables___Parser___action_table_row980_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row980(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row980 "parser_tables::Parser::action_table_row980"
-typedef val_t (* parser_tables___Parser___action_table_row981_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row981(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row981 "parser_tables::Parser::action_table_row981"
-typedef val_t (* parser_tables___Parser___action_table_row982_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row982(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row982 "parser_tables::Parser::action_table_row982"
-typedef val_t (* parser_tables___Parser___action_table_row983_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row983(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row983 "parser_tables::Parser::action_table_row983"
-typedef val_t (* parser_tables___Parser___action_table_row984_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row984(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row984 "parser_tables::Parser::action_table_row984"
-typedef val_t (* parser_tables___Parser___action_table_row985_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row985(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row985 "parser_tables::Parser::action_table_row985"
-typedef val_t (* parser_tables___Parser___action_table_row986_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row986(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row986 "parser_tables::Parser::action_table_row986"
-typedef val_t (* parser_tables___Parser___action_table_row987_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row987(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row987 "parser_tables::Parser::action_table_row987"
-typedef val_t (* parser_tables___Parser___action_table_row988_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row988(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row988 "parser_tables::Parser::action_table_row988"
-typedef val_t (* parser_tables___Parser___action_table_row989_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row989(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row989 "parser_tables::Parser::action_table_row989"
-typedef val_t (* parser_tables___Parser___action_table_row990_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row990(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row990 "parser_tables::Parser::action_table_row990"
-typedef val_t (* parser_tables___Parser___action_table_row991_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row991(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row991 "parser_tables::Parser::action_table_row991"
-typedef val_t (* parser_tables___Parser___action_table_row992_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row992(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row992 "parser_tables::Parser::action_table_row992"
-typedef val_t (* parser_tables___Parser___action_table_row993_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row993(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row993 "parser_tables::Parser::action_table_row993"
-typedef val_t (* parser_tables___Parser___action_table_row994_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row994(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row994 "parser_tables::Parser::action_table_row994"
-typedef val_t (* parser_tables___Parser___action_table_row995_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row995(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row995 "parser_tables::Parser::action_table_row995"
-typedef val_t (* parser_tables___Parser___action_table_row996_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row996(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row996 "parser_tables::Parser::action_table_row996"
-typedef val_t (* parser_tables___Parser___action_table_row997_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row997(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row997 "parser_tables::Parser::action_table_row997"
-typedef val_t (* parser_tables___Parser___action_table_row998_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row998(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row998 "parser_tables::Parser::action_table_row998"
-typedef val_t (* parser_tables___Parser___action_table_row999_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row999(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row999 "parser_tables::Parser::action_table_row999"
-typedef val_t (* parser_tables___Parser___action_table_row1000_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1000(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1000 "parser_tables::Parser::action_table_row1000"
-typedef val_t (* parser_tables___Parser___action_table_row1001_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1001(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1001 "parser_tables::Parser::action_table_row1001"
-typedef val_t (* parser_tables___Parser___action_table_row1002_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1002(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1002 "parser_tables::Parser::action_table_row1002"
-typedef val_t (* parser_tables___Parser___action_table_row1003_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1003(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1003 "parser_tables::Parser::action_table_row1003"
-typedef val_t (* parser_tables___Parser___action_table_row1004_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1004(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1004 "parser_tables::Parser::action_table_row1004"
-typedef val_t (* parser_tables___Parser___action_table_row1005_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1005(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1005 "parser_tables::Parser::action_table_row1005"
-typedef val_t (* parser_tables___Parser___action_table_row1006_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1006(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1006 "parser_tables::Parser::action_table_row1006"
-typedef val_t (* parser_tables___Parser___action_table_row1007_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1007(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1007 "parser_tables::Parser::action_table_row1007"
-typedef val_t (* parser_tables___Parser___action_table_row1008_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1008(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1008 "parser_tables::Parser::action_table_row1008"
-typedef val_t (* parser_tables___Parser___action_table_row1009_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1009(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1009 "parser_tables::Parser::action_table_row1009"
-typedef val_t (* parser_tables___Parser___action_table_row1010_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1010(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1010 "parser_tables::Parser::action_table_row1010"
-typedef val_t (* parser_tables___Parser___action_table_row1011_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1011(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1011 "parser_tables::Parser::action_table_row1011"
-typedef val_t (* parser_tables___Parser___action_table_row1012_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1012(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1012 "parser_tables::Parser::action_table_row1012"
-typedef val_t (* parser_tables___Parser___action_table_row1013_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1013(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1013 "parser_tables::Parser::action_table_row1013"
-typedef val_t (* parser_tables___Parser___action_table_row1014_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1014(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1014 "parser_tables::Parser::action_table_row1014"
-typedef val_t (* parser_tables___Parser___action_table_row1015_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1015(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1015 "parser_tables::Parser::action_table_row1015"
-typedef val_t (* parser_tables___Parser___action_table_row1016_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1016(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1016 "parser_tables::Parser::action_table_row1016"
-typedef val_t (* parser_tables___Parser___action_table_row1017_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1017(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1017 "parser_tables::Parser::action_table_row1017"
-typedef val_t (* parser_tables___Parser___action_table_row1018_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1018(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1018 "parser_tables::Parser::action_table_row1018"
-typedef val_t (* parser_tables___Parser___action_table_row1019_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1019(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1019 "parser_tables::Parser::action_table_row1019"
-typedef val_t (* parser_tables___Parser___action_table_row1020_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1020(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1020 "parser_tables::Parser::action_table_row1020"
-typedef val_t (* parser_tables___Parser___action_table_row1021_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1021(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1021 "parser_tables::Parser::action_table_row1021"
-typedef val_t (* parser_tables___Parser___action_table_row1022_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1022(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1022 "parser_tables::Parser::action_table_row1022"
-typedef val_t (* parser_tables___Parser___action_table_row1023_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1023(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1023 "parser_tables::Parser::action_table_row1023"
-typedef val_t (* parser_tables___Parser___action_table_row1024_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1024(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1024 "parser_tables::Parser::action_table_row1024"
-typedef val_t (* parser_tables___Parser___action_table_row1025_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1025(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1025 "parser_tables::Parser::action_table_row1025"
-typedef val_t (* parser_tables___Parser___action_table_row1026_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1026(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1026 "parser_tables::Parser::action_table_row1026"
-typedef val_t (* parser_tables___Parser___action_table_row1027_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1027(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1027 "parser_tables::Parser::action_table_row1027"
-typedef val_t (* parser_tables___Parser___action_table_row1028_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1028(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1028 "parser_tables::Parser::action_table_row1028"
-typedef val_t (* parser_tables___Parser___action_table_row1029_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1029(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1029 "parser_tables::Parser::action_table_row1029"
-typedef val_t (* parser_tables___Parser___action_table_row1030_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1030(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1030 "parser_tables::Parser::action_table_row1030"
-typedef val_t (* parser_tables___Parser___action_table_row1031_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1031(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1031 "parser_tables::Parser::action_table_row1031"
-typedef val_t (* parser_tables___Parser___action_table_row1032_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1032(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1032 "parser_tables::Parser::action_table_row1032"
-typedef val_t (* parser_tables___Parser___action_table_row1033_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1033(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1033 "parser_tables::Parser::action_table_row1033"
-typedef val_t (* parser_tables___Parser___action_table_row1034_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1034(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1034 "parser_tables::Parser::action_table_row1034"
-typedef val_t (* parser_tables___Parser___action_table_row1035_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1035(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1035 "parser_tables::Parser::action_table_row1035"
-typedef val_t (* parser_tables___Parser___action_table_row1036_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1036(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1036 "parser_tables::Parser::action_table_row1036"
-typedef val_t (* parser_tables___Parser___action_table_row1037_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1037(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1037 "parser_tables::Parser::action_table_row1037"
-typedef val_t (* parser_tables___Parser___action_table_row1038_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1038(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1038 "parser_tables::Parser::action_table_row1038"
-typedef val_t (* parser_tables___Parser___action_table_row1039_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1039(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1039 "parser_tables::Parser::action_table_row1039"
-typedef val_t (* parser_tables___Parser___action_table_row1040_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1040(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1040 "parser_tables::Parser::action_table_row1040"
-typedef val_t (* parser_tables___Parser___action_table_row1041_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1041(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1041 "parser_tables::Parser::action_table_row1041"
-typedef val_t (* parser_tables___Parser___action_table_row1042_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1042(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1042 "parser_tables::Parser::action_table_row1042"
-typedef val_t (* parser_tables___Parser___action_table_row1043_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1043(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1043 "parser_tables::Parser::action_table_row1043"
-typedef val_t (* parser_tables___Parser___action_table_row1044_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1044(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1044 "parser_tables::Parser::action_table_row1044"
-typedef val_t (* parser_tables___Parser___action_table_row1045_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1045(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1045 "parser_tables::Parser::action_table_row1045"
-typedef val_t (* parser_tables___Parser___action_table_row1046_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1046(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1046 "parser_tables::Parser::action_table_row1046"
-typedef val_t (* parser_tables___Parser___action_table_row1047_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1047(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1047 "parser_tables::Parser::action_table_row1047"
-typedef val_t (* parser_tables___Parser___action_table_row1048_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1048(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1048 "parser_tables::Parser::action_table_row1048"
-typedef val_t (* parser_tables___Parser___action_table_row1049_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1049(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1049 "parser_tables::Parser::action_table_row1049"
-typedef val_t (* parser_tables___Parser___action_table_row1050_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1050(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1050 "parser_tables::Parser::action_table_row1050"
-typedef val_t (* parser_tables___Parser___action_table_row1051_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1051(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1051 "parser_tables::Parser::action_table_row1051"
-typedef val_t (* parser_tables___Parser___action_table_row1052_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1052(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1052 "parser_tables::Parser::action_table_row1052"
-typedef val_t (* parser_tables___Parser___action_table_row1053_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1053(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1053 "parser_tables::Parser::action_table_row1053"
-typedef val_t (* parser_tables___Parser___action_table_row1054_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1054(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1054 "parser_tables::Parser::action_table_row1054"
-typedef val_t (* parser_tables___Parser___action_table_row1055_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1055(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1055 "parser_tables::Parser::action_table_row1055"
-typedef val_t (* parser_tables___Parser___action_table_row1056_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1056(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1056 "parser_tables::Parser::action_table_row1056"
-typedef val_t (* parser_tables___Parser___action_table_row1057_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1057(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1057 "parser_tables::Parser::action_table_row1057"
-typedef val_t (* parser_tables___Parser___action_table_row1058_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1058(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1058 "parser_tables::Parser::action_table_row1058"
-typedef val_t (* parser_tables___Parser___action_table_row1059_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1059(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1059 "parser_tables::Parser::action_table_row1059"
-typedef val_t (* parser_tables___Parser___action_table_row1060_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1060(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1060 "parser_tables::Parser::action_table_row1060"
-typedef val_t (* parser_tables___Parser___action_table_row1061_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1061(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1061 "parser_tables::Parser::action_table_row1061"
-typedef val_t (* parser_tables___Parser___action_table_row1062_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1062(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1062 "parser_tables::Parser::action_table_row1062"
-typedef val_t (* parser_tables___Parser___action_table_row1063_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1063(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1063 "parser_tables::Parser::action_table_row1063"
-typedef val_t (* parser_tables___Parser___action_table_row1064_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1064(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1064 "parser_tables::Parser::action_table_row1064"
-typedef val_t (* parser_tables___Parser___action_table_row1065_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1065(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1065 "parser_tables::Parser::action_table_row1065"
-typedef val_t (* parser_tables___Parser___action_table_row1066_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1066(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1066 "parser_tables::Parser::action_table_row1066"
-typedef val_t (* parser_tables___Parser___action_table_row1067_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1067(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1067 "parser_tables::Parser::action_table_row1067"
-typedef val_t (* parser_tables___Parser___action_table_row1068_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1068(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1068 "parser_tables::Parser::action_table_row1068"
-typedef val_t (* parser_tables___Parser___action_table_row1069_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1069(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1069 "parser_tables::Parser::action_table_row1069"
-typedef val_t (* parser_tables___Parser___action_table_row1070_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1070(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1070 "parser_tables::Parser::action_table_row1070"
-typedef val_t (* parser_tables___Parser___action_table_row1071_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1071(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1071 "parser_tables::Parser::action_table_row1071"
-typedef val_t (* parser_tables___Parser___action_table_row1072_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1072(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1072 "parser_tables::Parser::action_table_row1072"
-typedef val_t (* parser_tables___Parser___action_table_row1073_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1073(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1073 "parser_tables::Parser::action_table_row1073"
-typedef val_t (* parser_tables___Parser___action_table_row1074_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1074(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1074 "parser_tables::Parser::action_table_row1074"
-typedef val_t (* parser_tables___Parser___action_table_row1075_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1075(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1075 "parser_tables::Parser::action_table_row1075"
-typedef val_t (* parser_tables___Parser___action_table_row1076_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1076(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1076 "parser_tables::Parser::action_table_row1076"
-typedef val_t (* parser_tables___Parser___action_table_row1077_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1077(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1077 "parser_tables::Parser::action_table_row1077"
-typedef val_t (* parser_tables___Parser___action_table_row1078_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1078(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1078 "parser_tables::Parser::action_table_row1078"
-typedef val_t (* parser_tables___Parser___action_table_row1079_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1079(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1079 "parser_tables::Parser::action_table_row1079"
-typedef val_t (* parser_tables___Parser___action_table_row1080_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1080(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1080 "parser_tables::Parser::action_table_row1080"
-typedef val_t (* parser_tables___Parser___action_table_row1081_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1081(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1081 "parser_tables::Parser::action_table_row1081"
-typedef val_t (* parser_tables___Parser___action_table_row1082_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1082(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1082 "parser_tables::Parser::action_table_row1082"
-typedef val_t (* parser_tables___Parser___action_table_row1083_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1083(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1083 "parser_tables::Parser::action_table_row1083"
-typedef val_t (* parser_tables___Parser___action_table_row1084_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1084(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1084 "parser_tables::Parser::action_table_row1084"
-typedef val_t (* parser_tables___Parser___action_table_row1085_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1085(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1085 "parser_tables::Parser::action_table_row1085"
-typedef val_t (* parser_tables___Parser___action_table_row1086_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1086(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1086 "parser_tables::Parser::action_table_row1086"
-typedef val_t (* parser_tables___Parser___action_table_row1087_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1087(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1087 "parser_tables::Parser::action_table_row1087"
-typedef val_t (* parser_tables___Parser___action_table_row1088_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1088(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1088 "parser_tables::Parser::action_table_row1088"
-typedef val_t (* parser_tables___Parser___action_table_row1089_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1089(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1089 "parser_tables::Parser::action_table_row1089"
-typedef val_t (* parser_tables___Parser___action_table_row1090_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1090(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1090 "parser_tables::Parser::action_table_row1090"
-typedef val_t (* parser_tables___Parser___action_table_row1091_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1091(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1091 "parser_tables::Parser::action_table_row1091"
-typedef val_t (* parser_tables___Parser___action_table_row1092_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1092(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1092 "parser_tables::Parser::action_table_row1092"
-typedef val_t (* parser_tables___Parser___action_table_row1093_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1093(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1093 "parser_tables::Parser::action_table_row1093"
-typedef val_t (* parser_tables___Parser___action_table_row1094_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1094(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1094 "parser_tables::Parser::action_table_row1094"
-typedef val_t (* parser_tables___Parser___action_table_row1095_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1095(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1095 "parser_tables::Parser::action_table_row1095"
-typedef val_t (* parser_tables___Parser___action_table_row1096_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1096(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1096 "parser_tables::Parser::action_table_row1096"
-typedef val_t (* parser_tables___Parser___action_table_row1097_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1097(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1097 "parser_tables::Parser::action_table_row1097"
-typedef val_t (* parser_tables___Parser___action_table_row1098_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1098(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1098 "parser_tables::Parser::action_table_row1098"
-typedef val_t (* parser_tables___Parser___action_table_row1099_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1099(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1099 "parser_tables::Parser::action_table_row1099"
-typedef val_t (* parser_tables___Parser___action_table_row1100_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1100(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1100 "parser_tables::Parser::action_table_row1100"
-typedef val_t (* parser_tables___Parser___action_table_row1101_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1101(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1101 "parser_tables::Parser::action_table_row1101"
-typedef val_t (* parser_tables___Parser___action_table_row1102_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1102(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1102 "parser_tables::Parser::action_table_row1102"
-typedef val_t (* parser_tables___Parser___action_table_row1103_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1103(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1103 "parser_tables::Parser::action_table_row1103"
-typedef val_t (* parser_tables___Parser___action_table_row1104_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1104(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1104 "parser_tables::Parser::action_table_row1104"
-typedef val_t (* parser_tables___Parser___action_table_row1105_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1105(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1105 "parser_tables::Parser::action_table_row1105"
-typedef val_t (* parser_tables___Parser___action_table_row1106_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1106(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1106 "parser_tables::Parser::action_table_row1106"
-typedef val_t (* parser_tables___Parser___action_table_row1107_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1107(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1107 "parser_tables::Parser::action_table_row1107"
-typedef val_t (* parser_tables___Parser___action_table_row1108_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1108(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1108 "parser_tables::Parser::action_table_row1108"
-typedef val_t (* parser_tables___Parser___action_table_row1109_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1109(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1109 "parser_tables::Parser::action_table_row1109"
-typedef val_t (* parser_tables___Parser___action_table_row1110_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1110(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1110 "parser_tables::Parser::action_table_row1110"
-typedef val_t (* parser_tables___Parser___action_table_row1111_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1111(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1111 "parser_tables::Parser::action_table_row1111"
-typedef val_t (* parser_tables___Parser___action_table_row1112_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1112(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1112 "parser_tables::Parser::action_table_row1112"
-typedef val_t (* parser_tables___Parser___action_table_row1113_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1113(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1113 "parser_tables::Parser::action_table_row1113"
-typedef val_t (* parser_tables___Parser___action_table_row1114_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1114(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1114 "parser_tables::Parser::action_table_row1114"
-typedef val_t (* parser_tables___Parser___action_table_row1115_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1115(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1115 "parser_tables::Parser::action_table_row1115"
-typedef val_t (* parser_tables___Parser___action_table_row1116_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1116(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1116 "parser_tables::Parser::action_table_row1116"
-typedef val_t (* parser_tables___Parser___action_table_row1117_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1117(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1117 "parser_tables::Parser::action_table_row1117"
-typedef val_t (* parser_tables___Parser___action_table_row1118_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1118(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1118 "parser_tables::Parser::action_table_row1118"
-typedef val_t (* parser_tables___Parser___action_table_row1119_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1119(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1119 "parser_tables::Parser::action_table_row1119"
-typedef val_t (* parser_tables___Parser___action_table_row1120_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1120(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1120 "parser_tables::Parser::action_table_row1120"
-typedef val_t (* parser_tables___Parser___action_table_row1121_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1121(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1121 "parser_tables::Parser::action_table_row1121"
-typedef val_t (* parser_tables___Parser___action_table_row1122_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1122(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1122 "parser_tables::Parser::action_table_row1122"
-typedef val_t (* parser_tables___Parser___action_table_row1123_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1123(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1123 "parser_tables::Parser::action_table_row1123"
-typedef val_t (* parser_tables___Parser___action_table_row1124_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1124(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1124 "parser_tables::Parser::action_table_row1124"
-typedef val_t (* parser_tables___Parser___action_table_row1125_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1125(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1125 "parser_tables::Parser::action_table_row1125"
-typedef val_t (* parser_tables___Parser___action_table_row1126_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1126(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1126 "parser_tables::Parser::action_table_row1126"
-typedef val_t (* parser_tables___Parser___action_table_row1127_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1127(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1127 "parser_tables::Parser::action_table_row1127"
-typedef val_t (* parser_tables___Parser___action_table_row1128_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1128(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1128 "parser_tables::Parser::action_table_row1128"
-typedef val_t (* parser_tables___Parser___action_table_row1129_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1129(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1129 "parser_tables::Parser::action_table_row1129"
-typedef val_t (* parser_tables___Parser___action_table_row1130_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1130(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1130 "parser_tables::Parser::action_table_row1130"
-typedef val_t (* parser_tables___Parser___action_table_row1131_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1131(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1131 "parser_tables::Parser::action_table_row1131"
-typedef val_t (* parser_tables___Parser___action_table_row1132_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1132(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1132 "parser_tables::Parser::action_table_row1132"
-typedef val_t (* parser_tables___Parser___action_table_row1133_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1133(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1133 "parser_tables::Parser::action_table_row1133"
-typedef val_t (* parser_tables___Parser___action_table_row1134_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1134(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1134 "parser_tables::Parser::action_table_row1134"
-typedef val_t (* parser_tables___Parser___action_table_row1135_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1135(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1135 "parser_tables::Parser::action_table_row1135"
-typedef val_t (* parser_tables___Parser___action_table_row1136_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1136(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1136 "parser_tables::Parser::action_table_row1136"
-typedef val_t (* parser_tables___Parser___action_table_row1137_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1137(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1137 "parser_tables::Parser::action_table_row1137"
-typedef val_t (* parser_tables___Parser___action_table_row1138_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1138(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1138 "parser_tables::Parser::action_table_row1138"
-typedef val_t (* parser_tables___Parser___action_table_row1139_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1139(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1139 "parser_tables::Parser::action_table_row1139"
-typedef val_t (* parser_tables___Parser___action_table_row1140_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1140(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1140 "parser_tables::Parser::action_table_row1140"
-typedef val_t (* parser_tables___Parser___action_table_row1141_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1141(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1141 "parser_tables::Parser::action_table_row1141"
-typedef val_t (* parser_tables___Parser___action_table_row1142_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1142(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1142 "parser_tables::Parser::action_table_row1142"
-typedef val_t (* parser_tables___Parser___action_table_row1143_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1143(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1143 "parser_tables::Parser::action_table_row1143"
-typedef val_t (* parser_tables___Parser___action_table_row1144_t)(val_t  self);
-val_t parser_tables___Parser___action_table_row1144(val_t  self);
-#define LOCATE_parser_tables___Parser___action_table_row1144 "parser_tables::Parser::action_table_row1144"
-#define ATTR_parser_tables___Parser____goto_table(recv) ATTR(recv, COLOR_parser_tables___Parser____goto_table)
-typedef void (* parser_tables___Parser___build_goto_table_t)(val_t  self);
-void parser_tables___Parser___build_goto_table(val_t  self);
-#define LOCATE_parser_tables___Parser___build_goto_table "parser_tables::Parser::build_goto_table"
-typedef val_t (* parser_tables___Parser___error_messages_t)(val_t  self);
-val_t parser_tables___Parser___error_messages(val_t  self);
-#define LOCATE_parser_tables___Parser___error_messages "parser_tables::Parser::error_messages"
-typedef val_t (* parser_tables___Parser___errors_t)(val_t  self);
-val_t parser_tables___Parser___errors(val_t  self);
-#define LOCATE_parser_tables___Parser___errors "parser_tables::Parser::errors"
+#define ID_ParserTable SFT_parser_tables[0]
+#define COLOR_ParserTable SFT_parser_tables[1]
+#define COLOR_parser_tables___ParserTable____action_table SFT_parser_tables[2]
+#define COLOR_parser_tables___ParserTable____goto_table SFT_parser_tables[3]
+#define INIT_TABLE_POS_ParserTable SFT_parser_tables[4]
+#define COLOR_parser_tables___ParserTable___build_action_table SFT_parser_tables[5]
+#define COLOR_parser_tables___ParserTable___action_table_row1 SFT_parser_tables[6]
+#define COLOR_parser_tables___ParserTable___action_table_row2 SFT_parser_tables[7]
+#define COLOR_parser_tables___ParserTable___action_table_row3 SFT_parser_tables[8]
+#define COLOR_parser_tables___ParserTable___action_table_row4 SFT_parser_tables[9]
+#define COLOR_parser_tables___ParserTable___action_table_row5 SFT_parser_tables[10]
+#define COLOR_parser_tables___ParserTable___action_table_row6 SFT_parser_tables[11]
+#define COLOR_parser_tables___ParserTable___action_table_row7 SFT_parser_tables[12]
+#define COLOR_parser_tables___ParserTable___action_table_row8 SFT_parser_tables[13]
+#define COLOR_parser_tables___ParserTable___action_table_row9 SFT_parser_tables[14]
+#define COLOR_parser_tables___ParserTable___action_table_row10 SFT_parser_tables[15]
+#define COLOR_parser_tables___ParserTable___action_table_row11 SFT_parser_tables[16]
+#define COLOR_parser_tables___ParserTable___action_table_row12 SFT_parser_tables[17]
+#define COLOR_parser_tables___ParserTable___action_table_row13 SFT_parser_tables[18]
+#define COLOR_parser_tables___ParserTable___action_table_row14 SFT_parser_tables[19]
+#define COLOR_parser_tables___ParserTable___action_table_row15 SFT_parser_tables[20]
+#define COLOR_parser_tables___ParserTable___action_table_row16 SFT_parser_tables[21]
+#define COLOR_parser_tables___ParserTable___action_table_row17 SFT_parser_tables[22]
+#define COLOR_parser_tables___ParserTable___action_table_row18 SFT_parser_tables[23]
+#define COLOR_parser_tables___ParserTable___action_table_row19 SFT_parser_tables[24]
+#define COLOR_parser_tables___ParserTable___action_table_row20 SFT_parser_tables[25]
+#define COLOR_parser_tables___ParserTable___action_table_row21 SFT_parser_tables[26]
+#define COLOR_parser_tables___ParserTable___action_table_row22 SFT_parser_tables[27]
+#define COLOR_parser_tables___ParserTable___action_table_row23 SFT_parser_tables[28]
+#define COLOR_parser_tables___ParserTable___action_table_row24 SFT_parser_tables[29]
+#define COLOR_parser_tables___ParserTable___action_table_row25 SFT_parser_tables[30]
+#define COLOR_parser_tables___ParserTable___action_table_row26 SFT_parser_tables[31]
+#define COLOR_parser_tables___ParserTable___action_table_row27 SFT_parser_tables[32]
+#define COLOR_parser_tables___ParserTable___action_table_row28 SFT_parser_tables[33]
+#define COLOR_parser_tables___ParserTable___action_table_row29 SFT_parser_tables[34]
+#define COLOR_parser_tables___ParserTable___action_table_row30 SFT_parser_tables[35]
+#define COLOR_parser_tables___ParserTable___action_table_row31 SFT_parser_tables[36]
+#define COLOR_parser_tables___ParserTable___action_table_row32 SFT_parser_tables[37]
+#define COLOR_parser_tables___ParserTable___action_table_row33 SFT_parser_tables[38]
+#define COLOR_parser_tables___ParserTable___action_table_row34 SFT_parser_tables[39]
+#define COLOR_parser_tables___ParserTable___action_table_row35 SFT_parser_tables[40]
+#define COLOR_parser_tables___ParserTable___action_table_row36 SFT_parser_tables[41]
+#define COLOR_parser_tables___ParserTable___action_table_row37 SFT_parser_tables[42]
+#define COLOR_parser_tables___ParserTable___action_table_row38 SFT_parser_tables[43]
+#define COLOR_parser_tables___ParserTable___action_table_row39 SFT_parser_tables[44]
+#define COLOR_parser_tables___ParserTable___action_table_row40 SFT_parser_tables[45]
+#define COLOR_parser_tables___ParserTable___action_table_row41 SFT_parser_tables[46]
+#define COLOR_parser_tables___ParserTable___action_table_row42 SFT_parser_tables[47]
+#define COLOR_parser_tables___ParserTable___action_table_row43 SFT_parser_tables[48]
+#define COLOR_parser_tables___ParserTable___action_table_row44 SFT_parser_tables[49]
+#define COLOR_parser_tables___ParserTable___action_table_row45 SFT_parser_tables[50]
+#define COLOR_parser_tables___ParserTable___action_table_row46 SFT_parser_tables[51]
+#define COLOR_parser_tables___ParserTable___action_table_row47 SFT_parser_tables[52]
+#define COLOR_parser_tables___ParserTable___action_table_row48 SFT_parser_tables[53]
+#define COLOR_parser_tables___ParserTable___action_table_row49 SFT_parser_tables[54]
+#define COLOR_parser_tables___ParserTable___action_table_row50 SFT_parser_tables[55]
+#define COLOR_parser_tables___ParserTable___action_table_row51 SFT_parser_tables[56]
+#define COLOR_parser_tables___ParserTable___action_table_row52 SFT_parser_tables[57]
+#define COLOR_parser_tables___ParserTable___action_table_row53 SFT_parser_tables[58]
+#define COLOR_parser_tables___ParserTable___action_table_row54 SFT_parser_tables[59]
+#define COLOR_parser_tables___ParserTable___action_table_row55 SFT_parser_tables[60]
+#define COLOR_parser_tables___ParserTable___action_table_row56 SFT_parser_tables[61]
+#define COLOR_parser_tables___ParserTable___action_table_row57 SFT_parser_tables[62]
+#define COLOR_parser_tables___ParserTable___action_table_row58 SFT_parser_tables[63]
+#define COLOR_parser_tables___ParserTable___action_table_row59 SFT_parser_tables[64]
+#define COLOR_parser_tables___ParserTable___action_table_row60 SFT_parser_tables[65]
+#define COLOR_parser_tables___ParserTable___action_table_row61 SFT_parser_tables[66]
+#define COLOR_parser_tables___ParserTable___action_table_row62 SFT_parser_tables[67]
+#define COLOR_parser_tables___ParserTable___action_table_row63 SFT_parser_tables[68]
+#define COLOR_parser_tables___ParserTable___action_table_row64 SFT_parser_tables[69]
+#define COLOR_parser_tables___ParserTable___action_table_row65 SFT_parser_tables[70]
+#define COLOR_parser_tables___ParserTable___action_table_row66 SFT_parser_tables[71]
+#define COLOR_parser_tables___ParserTable___action_table_row67 SFT_parser_tables[72]
+#define COLOR_parser_tables___ParserTable___action_table_row68 SFT_parser_tables[73]
+#define COLOR_parser_tables___ParserTable___action_table_row69 SFT_parser_tables[74]
+#define COLOR_parser_tables___ParserTable___action_table_row70 SFT_parser_tables[75]
+#define COLOR_parser_tables___ParserTable___action_table_row71 SFT_parser_tables[76]
+#define COLOR_parser_tables___ParserTable___action_table_row72 SFT_parser_tables[77]
+#define COLOR_parser_tables___ParserTable___action_table_row73 SFT_parser_tables[78]
+#define COLOR_parser_tables___ParserTable___action_table_row74 SFT_parser_tables[79]
+#define COLOR_parser_tables___ParserTable___action_table_row75 SFT_parser_tables[80]
+#define COLOR_parser_tables___ParserTable___action_table_row76 SFT_parser_tables[81]
+#define COLOR_parser_tables___ParserTable___action_table_row77 SFT_parser_tables[82]
+#define COLOR_parser_tables___ParserTable___action_table_row78 SFT_parser_tables[83]
+#define COLOR_parser_tables___ParserTable___action_table_row79 SFT_parser_tables[84]
+#define COLOR_parser_tables___ParserTable___action_table_row80 SFT_parser_tables[85]
+#define COLOR_parser_tables___ParserTable___action_table_row81 SFT_parser_tables[86]
+#define COLOR_parser_tables___ParserTable___action_table_row82 SFT_parser_tables[87]
+#define COLOR_parser_tables___ParserTable___action_table_row83 SFT_parser_tables[88]
+#define COLOR_parser_tables___ParserTable___action_table_row84 SFT_parser_tables[89]
+#define COLOR_parser_tables___ParserTable___action_table_row85 SFT_parser_tables[90]
+#define COLOR_parser_tables___ParserTable___action_table_row86 SFT_parser_tables[91]
+#define COLOR_parser_tables___ParserTable___action_table_row87 SFT_parser_tables[92]
+#define COLOR_parser_tables___ParserTable___action_table_row88 SFT_parser_tables[93]
+#define COLOR_parser_tables___ParserTable___action_table_row89 SFT_parser_tables[94]
+#define COLOR_parser_tables___ParserTable___action_table_row90 SFT_parser_tables[95]
+#define COLOR_parser_tables___ParserTable___action_table_row91 SFT_parser_tables[96]
+#define COLOR_parser_tables___ParserTable___action_table_row92 SFT_parser_tables[97]
+#define COLOR_parser_tables___ParserTable___action_table_row93 SFT_parser_tables[98]
+#define COLOR_parser_tables___ParserTable___action_table_row94 SFT_parser_tables[99]
+#define COLOR_parser_tables___ParserTable___action_table_row95 SFT_parser_tables[100]
+#define COLOR_parser_tables___ParserTable___action_table_row96 SFT_parser_tables[101]
+#define COLOR_parser_tables___ParserTable___action_table_row97 SFT_parser_tables[102]
+#define COLOR_parser_tables___ParserTable___action_table_row98 SFT_parser_tables[103]
+#define COLOR_parser_tables___ParserTable___action_table_row99 SFT_parser_tables[104]
+#define COLOR_parser_tables___ParserTable___action_table_row100 SFT_parser_tables[105]
+#define COLOR_parser_tables___ParserTable___action_table_row101 SFT_parser_tables[106]
+#define COLOR_parser_tables___ParserTable___action_table_row102 SFT_parser_tables[107]
+#define COLOR_parser_tables___ParserTable___action_table_row103 SFT_parser_tables[108]
+#define COLOR_parser_tables___ParserTable___action_table_row104 SFT_parser_tables[109]
+#define COLOR_parser_tables___ParserTable___action_table_row105 SFT_parser_tables[110]
+#define COLOR_parser_tables___ParserTable___action_table_row106 SFT_parser_tables[111]
+#define COLOR_parser_tables___ParserTable___action_table_row107 SFT_parser_tables[112]
+#define COLOR_parser_tables___ParserTable___action_table_row108 SFT_parser_tables[113]
+#define COLOR_parser_tables___ParserTable___action_table_row109 SFT_parser_tables[114]
+#define COLOR_parser_tables___ParserTable___action_table_row110 SFT_parser_tables[115]
+#define COLOR_parser_tables___ParserTable___action_table_row111 SFT_parser_tables[116]
+#define COLOR_parser_tables___ParserTable___action_table_row112 SFT_parser_tables[117]
+#define COLOR_parser_tables___ParserTable___action_table_row113 SFT_parser_tables[118]
+#define COLOR_parser_tables___ParserTable___action_table_row114 SFT_parser_tables[119]
+#define COLOR_parser_tables___ParserTable___action_table_row115 SFT_parser_tables[120]
+#define COLOR_parser_tables___ParserTable___action_table_row116 SFT_parser_tables[121]
+#define COLOR_parser_tables___ParserTable___action_table_row117 SFT_parser_tables[122]
+#define COLOR_parser_tables___ParserTable___action_table_row118 SFT_parser_tables[123]
+#define COLOR_parser_tables___ParserTable___action_table_row119 SFT_parser_tables[124]
+#define COLOR_parser_tables___ParserTable___action_table_row120 SFT_parser_tables[125]
+#define COLOR_parser_tables___ParserTable___action_table_row121 SFT_parser_tables[126]
+#define COLOR_parser_tables___ParserTable___action_table_row122 SFT_parser_tables[127]
+#define COLOR_parser_tables___ParserTable___action_table_row123 SFT_parser_tables[128]
+#define COLOR_parser_tables___ParserTable___action_table_row124 SFT_parser_tables[129]
+#define COLOR_parser_tables___ParserTable___action_table_row125 SFT_parser_tables[130]
+#define COLOR_parser_tables___ParserTable___action_table_row126 SFT_parser_tables[131]
+#define COLOR_parser_tables___ParserTable___action_table_row127 SFT_parser_tables[132]
+#define COLOR_parser_tables___ParserTable___action_table_row128 SFT_parser_tables[133]
+#define COLOR_parser_tables___ParserTable___action_table_row129 SFT_parser_tables[134]
+#define COLOR_parser_tables___ParserTable___action_table_row130 SFT_parser_tables[135]
+#define COLOR_parser_tables___ParserTable___action_table_row131 SFT_parser_tables[136]
+#define COLOR_parser_tables___ParserTable___action_table_row132 SFT_parser_tables[137]
+#define COLOR_parser_tables___ParserTable___action_table_row133 SFT_parser_tables[138]
+#define COLOR_parser_tables___ParserTable___action_table_row134 SFT_parser_tables[139]
+#define COLOR_parser_tables___ParserTable___action_table_row135 SFT_parser_tables[140]
+#define COLOR_parser_tables___ParserTable___action_table_row136 SFT_parser_tables[141]
+#define COLOR_parser_tables___ParserTable___action_table_row137 SFT_parser_tables[142]
+#define COLOR_parser_tables___ParserTable___action_table_row138 SFT_parser_tables[143]
+#define COLOR_parser_tables___ParserTable___action_table_row139 SFT_parser_tables[144]
+#define COLOR_parser_tables___ParserTable___action_table_row140 SFT_parser_tables[145]
+#define COLOR_parser_tables___ParserTable___action_table_row141 SFT_parser_tables[146]
+#define COLOR_parser_tables___ParserTable___action_table_row142 SFT_parser_tables[147]
+#define COLOR_parser_tables___ParserTable___action_table_row143 SFT_parser_tables[148]
+#define COLOR_parser_tables___ParserTable___action_table_row144 SFT_parser_tables[149]
+#define COLOR_parser_tables___ParserTable___action_table_row145 SFT_parser_tables[150]
+#define COLOR_parser_tables___ParserTable___action_table_row146 SFT_parser_tables[151]
+#define COLOR_parser_tables___ParserTable___action_table_row147 SFT_parser_tables[152]
+#define COLOR_parser_tables___ParserTable___action_table_row148 SFT_parser_tables[153]
+#define COLOR_parser_tables___ParserTable___action_table_row149 SFT_parser_tables[154]
+#define COLOR_parser_tables___ParserTable___action_table_row150 SFT_parser_tables[155]
+#define COLOR_parser_tables___ParserTable___action_table_row151 SFT_parser_tables[156]
+#define COLOR_parser_tables___ParserTable___action_table_row152 SFT_parser_tables[157]
+#define COLOR_parser_tables___ParserTable___action_table_row153 SFT_parser_tables[158]
+#define COLOR_parser_tables___ParserTable___action_table_row154 SFT_parser_tables[159]
+#define COLOR_parser_tables___ParserTable___action_table_row155 SFT_parser_tables[160]
+#define COLOR_parser_tables___ParserTable___action_table_row156 SFT_parser_tables[161]
+#define COLOR_parser_tables___ParserTable___action_table_row157 SFT_parser_tables[162]
+#define COLOR_parser_tables___ParserTable___action_table_row158 SFT_parser_tables[163]
+#define COLOR_parser_tables___ParserTable___action_table_row159 SFT_parser_tables[164]
+#define COLOR_parser_tables___ParserTable___action_table_row160 SFT_parser_tables[165]
+#define COLOR_parser_tables___ParserTable___action_table_row161 SFT_parser_tables[166]
+#define COLOR_parser_tables___ParserTable___action_table_row162 SFT_parser_tables[167]
+#define COLOR_parser_tables___ParserTable___action_table_row163 SFT_parser_tables[168]
+#define COLOR_parser_tables___ParserTable___action_table_row164 SFT_parser_tables[169]
+#define COLOR_parser_tables___ParserTable___action_table_row165 SFT_parser_tables[170]
+#define COLOR_parser_tables___ParserTable___action_table_row166 SFT_parser_tables[171]
+#define COLOR_parser_tables___ParserTable___action_table_row167 SFT_parser_tables[172]
+#define COLOR_parser_tables___ParserTable___action_table_row168 SFT_parser_tables[173]
+#define COLOR_parser_tables___ParserTable___action_table_row169 SFT_parser_tables[174]
+#define COLOR_parser_tables___ParserTable___action_table_row170 SFT_parser_tables[175]
+#define COLOR_parser_tables___ParserTable___action_table_row171 SFT_parser_tables[176]
+#define COLOR_parser_tables___ParserTable___action_table_row172 SFT_parser_tables[177]
+#define COLOR_parser_tables___ParserTable___action_table_row173 SFT_parser_tables[178]
+#define COLOR_parser_tables___ParserTable___action_table_row174 SFT_parser_tables[179]
+#define COLOR_parser_tables___ParserTable___action_table_row175 SFT_parser_tables[180]
+#define COLOR_parser_tables___ParserTable___action_table_row176 SFT_parser_tables[181]
+#define COLOR_parser_tables___ParserTable___action_table_row177 SFT_parser_tables[182]
+#define COLOR_parser_tables___ParserTable___action_table_row178 SFT_parser_tables[183]
+#define COLOR_parser_tables___ParserTable___action_table_row179 SFT_parser_tables[184]
+#define COLOR_parser_tables___ParserTable___action_table_row180 SFT_parser_tables[185]
+#define COLOR_parser_tables___ParserTable___action_table_row181 SFT_parser_tables[186]
+#define COLOR_parser_tables___ParserTable___action_table_row182 SFT_parser_tables[187]
+#define COLOR_parser_tables___ParserTable___action_table_row183 SFT_parser_tables[188]
+#define COLOR_parser_tables___ParserTable___action_table_row184 SFT_parser_tables[189]
+#define COLOR_parser_tables___ParserTable___action_table_row185 SFT_parser_tables[190]
+#define COLOR_parser_tables___ParserTable___action_table_row186 SFT_parser_tables[191]
+#define COLOR_parser_tables___ParserTable___action_table_row187 SFT_parser_tables[192]
+#define COLOR_parser_tables___ParserTable___action_table_row188 SFT_parser_tables[193]
+#define COLOR_parser_tables___ParserTable___action_table_row189 SFT_parser_tables[194]
+#define COLOR_parser_tables___ParserTable___action_table_row190 SFT_parser_tables[195]
+#define COLOR_parser_tables___ParserTable___action_table_row191 SFT_parser_tables[196]
+#define COLOR_parser_tables___ParserTable___action_table_row192 SFT_parser_tables[197]
+#define COLOR_parser_tables___ParserTable___action_table_row193 SFT_parser_tables[198]
+#define COLOR_parser_tables___ParserTable___action_table_row194 SFT_parser_tables[199]
+#define COLOR_parser_tables___ParserTable___action_table_row195 SFT_parser_tables[200]
+#define COLOR_parser_tables___ParserTable___action_table_row196 SFT_parser_tables[201]
+#define COLOR_parser_tables___ParserTable___action_table_row197 SFT_parser_tables[202]
+#define COLOR_parser_tables___ParserTable___action_table_row198 SFT_parser_tables[203]
+#define COLOR_parser_tables___ParserTable___action_table_row199 SFT_parser_tables[204]
+#define COLOR_parser_tables___ParserTable___action_table_row200 SFT_parser_tables[205]
+#define COLOR_parser_tables___ParserTable___action_table_row201 SFT_parser_tables[206]
+#define COLOR_parser_tables___ParserTable___action_table_row202 SFT_parser_tables[207]
+#define COLOR_parser_tables___ParserTable___action_table_row203 SFT_parser_tables[208]
+#define COLOR_parser_tables___ParserTable___action_table_row204 SFT_parser_tables[209]
+#define COLOR_parser_tables___ParserTable___action_table_row205 SFT_parser_tables[210]
+#define COLOR_parser_tables___ParserTable___action_table_row206 SFT_parser_tables[211]
+#define COLOR_parser_tables___ParserTable___action_table_row207 SFT_parser_tables[212]
+#define COLOR_parser_tables___ParserTable___action_table_row208 SFT_parser_tables[213]
+#define COLOR_parser_tables___ParserTable___action_table_row209 SFT_parser_tables[214]
+#define COLOR_parser_tables___ParserTable___action_table_row210 SFT_parser_tables[215]
+#define COLOR_parser_tables___ParserTable___action_table_row211 SFT_parser_tables[216]
+#define COLOR_parser_tables___ParserTable___action_table_row212 SFT_parser_tables[217]
+#define COLOR_parser_tables___ParserTable___action_table_row213 SFT_parser_tables[218]
+#define COLOR_parser_tables___ParserTable___action_table_row214 SFT_parser_tables[219]
+#define COLOR_parser_tables___ParserTable___action_table_row215 SFT_parser_tables[220]
+#define COLOR_parser_tables___ParserTable___action_table_row216 SFT_parser_tables[221]
+#define COLOR_parser_tables___ParserTable___action_table_row217 SFT_parser_tables[222]
+#define COLOR_parser_tables___ParserTable___action_table_row218 SFT_parser_tables[223]
+#define COLOR_parser_tables___ParserTable___action_table_row219 SFT_parser_tables[224]
+#define COLOR_parser_tables___ParserTable___action_table_row220 SFT_parser_tables[225]
+#define COLOR_parser_tables___ParserTable___action_table_row221 SFT_parser_tables[226]
+#define COLOR_parser_tables___ParserTable___action_table_row222 SFT_parser_tables[227]
+#define COLOR_parser_tables___ParserTable___action_table_row223 SFT_parser_tables[228]
+#define COLOR_parser_tables___ParserTable___action_table_row224 SFT_parser_tables[229]
+#define COLOR_parser_tables___ParserTable___action_table_row225 SFT_parser_tables[230]
+#define COLOR_parser_tables___ParserTable___action_table_row226 SFT_parser_tables[231]
+#define COLOR_parser_tables___ParserTable___action_table_row227 SFT_parser_tables[232]
+#define COLOR_parser_tables___ParserTable___action_table_row228 SFT_parser_tables[233]
+#define COLOR_parser_tables___ParserTable___action_table_row229 SFT_parser_tables[234]
+#define COLOR_parser_tables___ParserTable___action_table_row230 SFT_parser_tables[235]
+#define COLOR_parser_tables___ParserTable___action_table_row231 SFT_parser_tables[236]
+#define COLOR_parser_tables___ParserTable___action_table_row232 SFT_parser_tables[237]
+#define COLOR_parser_tables___ParserTable___action_table_row233 SFT_parser_tables[238]
+#define COLOR_parser_tables___ParserTable___action_table_row234 SFT_parser_tables[239]
+#define COLOR_parser_tables___ParserTable___action_table_row235 SFT_parser_tables[240]
+#define COLOR_parser_tables___ParserTable___action_table_row236 SFT_parser_tables[241]
+#define COLOR_parser_tables___ParserTable___action_table_row237 SFT_parser_tables[242]
+#define COLOR_parser_tables___ParserTable___action_table_row238 SFT_parser_tables[243]
+#define COLOR_parser_tables___ParserTable___action_table_row239 SFT_parser_tables[244]
+#define COLOR_parser_tables___ParserTable___action_table_row240 SFT_parser_tables[245]
+#define COLOR_parser_tables___ParserTable___action_table_row241 SFT_parser_tables[246]
+#define COLOR_parser_tables___ParserTable___action_table_row242 SFT_parser_tables[247]
+#define COLOR_parser_tables___ParserTable___action_table_row243 SFT_parser_tables[248]
+#define COLOR_parser_tables___ParserTable___action_table_row244 SFT_parser_tables[249]
+#define COLOR_parser_tables___ParserTable___action_table_row245 SFT_parser_tables[250]
+#define COLOR_parser_tables___ParserTable___action_table_row246 SFT_parser_tables[251]
+#define COLOR_parser_tables___ParserTable___action_table_row247 SFT_parser_tables[252]
+#define COLOR_parser_tables___ParserTable___action_table_row248 SFT_parser_tables[253]
+#define COLOR_parser_tables___ParserTable___action_table_row249 SFT_parser_tables[254]
+#define COLOR_parser_tables___ParserTable___action_table_row250 SFT_parser_tables[255]
+#define COLOR_parser_tables___ParserTable___action_table_row251 SFT_parser_tables[256]
+#define COLOR_parser_tables___ParserTable___action_table_row252 SFT_parser_tables[257]
+#define COLOR_parser_tables___ParserTable___action_table_row253 SFT_parser_tables[258]
+#define COLOR_parser_tables___ParserTable___action_table_row254 SFT_parser_tables[259]
+#define COLOR_parser_tables___ParserTable___action_table_row255 SFT_parser_tables[260]
+#define COLOR_parser_tables___ParserTable___action_table_row256 SFT_parser_tables[261]
+#define COLOR_parser_tables___ParserTable___action_table_row257 SFT_parser_tables[262]
+#define COLOR_parser_tables___ParserTable___action_table_row258 SFT_parser_tables[263]
+#define COLOR_parser_tables___ParserTable___action_table_row259 SFT_parser_tables[264]
+#define COLOR_parser_tables___ParserTable___action_table_row260 SFT_parser_tables[265]
+#define COLOR_parser_tables___ParserTable___action_table_row261 SFT_parser_tables[266]
+#define COLOR_parser_tables___ParserTable___action_table_row262 SFT_parser_tables[267]
+#define COLOR_parser_tables___ParserTable___action_table_row263 SFT_parser_tables[268]
+#define COLOR_parser_tables___ParserTable___action_table_row264 SFT_parser_tables[269]
+#define COLOR_parser_tables___ParserTable___action_table_row265 SFT_parser_tables[270]
+#define COLOR_parser_tables___ParserTable___action_table_row266 SFT_parser_tables[271]
+#define COLOR_parser_tables___ParserTable___action_table_row267 SFT_parser_tables[272]
+#define COLOR_parser_tables___ParserTable___action_table_row268 SFT_parser_tables[273]
+#define COLOR_parser_tables___ParserTable___action_table_row269 SFT_parser_tables[274]
+#define COLOR_parser_tables___ParserTable___action_table_row270 SFT_parser_tables[275]
+#define COLOR_parser_tables___ParserTable___action_table_row271 SFT_parser_tables[276]
+#define COLOR_parser_tables___ParserTable___action_table_row272 SFT_parser_tables[277]
+#define COLOR_parser_tables___ParserTable___action_table_row273 SFT_parser_tables[278]
+#define COLOR_parser_tables___ParserTable___action_table_row274 SFT_parser_tables[279]
+#define COLOR_parser_tables___ParserTable___action_table_row275 SFT_parser_tables[280]
+#define COLOR_parser_tables___ParserTable___action_table_row276 SFT_parser_tables[281]
+#define COLOR_parser_tables___ParserTable___action_table_row277 SFT_parser_tables[282]
+#define COLOR_parser_tables___ParserTable___action_table_row278 SFT_parser_tables[283]
+#define COLOR_parser_tables___ParserTable___action_table_row279 SFT_parser_tables[284]
+#define COLOR_parser_tables___ParserTable___action_table_row280 SFT_parser_tables[285]
+#define COLOR_parser_tables___ParserTable___action_table_row281 SFT_parser_tables[286]
+#define COLOR_parser_tables___ParserTable___action_table_row282 SFT_parser_tables[287]
+#define COLOR_parser_tables___ParserTable___action_table_row283 SFT_parser_tables[288]
+#define COLOR_parser_tables___ParserTable___action_table_row284 SFT_parser_tables[289]
+#define COLOR_parser_tables___ParserTable___action_table_row285 SFT_parser_tables[290]
+#define COLOR_parser_tables___ParserTable___action_table_row286 SFT_parser_tables[291]
+#define COLOR_parser_tables___ParserTable___action_table_row287 SFT_parser_tables[292]
+#define COLOR_parser_tables___ParserTable___action_table_row288 SFT_parser_tables[293]
+#define COLOR_parser_tables___ParserTable___action_table_row289 SFT_parser_tables[294]
+#define COLOR_parser_tables___ParserTable___action_table_row290 SFT_parser_tables[295]
+#define COLOR_parser_tables___ParserTable___action_table_row291 SFT_parser_tables[296]
+#define COLOR_parser_tables___ParserTable___action_table_row292 SFT_parser_tables[297]
+#define COLOR_parser_tables___ParserTable___action_table_row293 SFT_parser_tables[298]
+#define COLOR_parser_tables___ParserTable___action_table_row294 SFT_parser_tables[299]
+#define COLOR_parser_tables___ParserTable___action_table_row295 SFT_parser_tables[300]
+#define COLOR_parser_tables___ParserTable___action_table_row296 SFT_parser_tables[301]
+#define COLOR_parser_tables___ParserTable___action_table_row297 SFT_parser_tables[302]
+#define COLOR_parser_tables___ParserTable___action_table_row298 SFT_parser_tables[303]
+#define COLOR_parser_tables___ParserTable___action_table_row299 SFT_parser_tables[304]
+#define COLOR_parser_tables___ParserTable___action_table_row300 SFT_parser_tables[305]
+#define COLOR_parser_tables___ParserTable___action_table_row301 SFT_parser_tables[306]
+#define COLOR_parser_tables___ParserTable___action_table_row302 SFT_parser_tables[307]
+#define COLOR_parser_tables___ParserTable___action_table_row303 SFT_parser_tables[308]
+#define COLOR_parser_tables___ParserTable___action_table_row304 SFT_parser_tables[309]
+#define COLOR_parser_tables___ParserTable___action_table_row305 SFT_parser_tables[310]
+#define COLOR_parser_tables___ParserTable___action_table_row306 SFT_parser_tables[311]
+#define COLOR_parser_tables___ParserTable___action_table_row307 SFT_parser_tables[312]
+#define COLOR_parser_tables___ParserTable___action_table_row308 SFT_parser_tables[313]
+#define COLOR_parser_tables___ParserTable___action_table_row309 SFT_parser_tables[314]
+#define COLOR_parser_tables___ParserTable___action_table_row310 SFT_parser_tables[315]
+#define COLOR_parser_tables___ParserTable___action_table_row311 SFT_parser_tables[316]
+#define COLOR_parser_tables___ParserTable___action_table_row312 SFT_parser_tables[317]
+#define COLOR_parser_tables___ParserTable___action_table_row313 SFT_parser_tables[318]
+#define COLOR_parser_tables___ParserTable___action_table_row314 SFT_parser_tables[319]
+#define COLOR_parser_tables___ParserTable___action_table_row315 SFT_parser_tables[320]
+#define COLOR_parser_tables___ParserTable___action_table_row316 SFT_parser_tables[321]
+#define COLOR_parser_tables___ParserTable___action_table_row317 SFT_parser_tables[322]
+#define COLOR_parser_tables___ParserTable___action_table_row318 SFT_parser_tables[323]
+#define COLOR_parser_tables___ParserTable___action_table_row319 SFT_parser_tables[324]
+#define COLOR_parser_tables___ParserTable___action_table_row320 SFT_parser_tables[325]
+#define COLOR_parser_tables___ParserTable___action_table_row321 SFT_parser_tables[326]
+#define COLOR_parser_tables___ParserTable___action_table_row322 SFT_parser_tables[327]
+#define COLOR_parser_tables___ParserTable___action_table_row323 SFT_parser_tables[328]
+#define COLOR_parser_tables___ParserTable___action_table_row324 SFT_parser_tables[329]
+#define COLOR_parser_tables___ParserTable___action_table_row325 SFT_parser_tables[330]
+#define COLOR_parser_tables___ParserTable___action_table_row326 SFT_parser_tables[331]
+#define COLOR_parser_tables___ParserTable___action_table_row327 SFT_parser_tables[332]
+#define COLOR_parser_tables___ParserTable___action_table_row328 SFT_parser_tables[333]
+#define COLOR_parser_tables___ParserTable___action_table_row329 SFT_parser_tables[334]
+#define COLOR_parser_tables___ParserTable___action_table_row330 SFT_parser_tables[335]
+#define COLOR_parser_tables___ParserTable___action_table_row331 SFT_parser_tables[336]
+#define COLOR_parser_tables___ParserTable___action_table_row332 SFT_parser_tables[337]
+#define COLOR_parser_tables___ParserTable___action_table_row333 SFT_parser_tables[338]
+#define COLOR_parser_tables___ParserTable___action_table_row334 SFT_parser_tables[339]
+#define COLOR_parser_tables___ParserTable___action_table_row335 SFT_parser_tables[340]
+#define COLOR_parser_tables___ParserTable___action_table_row336 SFT_parser_tables[341]
+#define COLOR_parser_tables___ParserTable___action_table_row337 SFT_parser_tables[342]
+#define COLOR_parser_tables___ParserTable___action_table_row338 SFT_parser_tables[343]
+#define COLOR_parser_tables___ParserTable___action_table_row339 SFT_parser_tables[344]
+#define COLOR_parser_tables___ParserTable___action_table_row340 SFT_parser_tables[345]
+#define COLOR_parser_tables___ParserTable___action_table_row341 SFT_parser_tables[346]
+#define COLOR_parser_tables___ParserTable___action_table_row342 SFT_parser_tables[347]
+#define COLOR_parser_tables___ParserTable___action_table_row343 SFT_parser_tables[348]
+#define COLOR_parser_tables___ParserTable___action_table_row344 SFT_parser_tables[349]
+#define COLOR_parser_tables___ParserTable___action_table_row345 SFT_parser_tables[350]
+#define COLOR_parser_tables___ParserTable___action_table_row346 SFT_parser_tables[351]
+#define COLOR_parser_tables___ParserTable___action_table_row347 SFT_parser_tables[352]
+#define COLOR_parser_tables___ParserTable___action_table_row348 SFT_parser_tables[353]
+#define COLOR_parser_tables___ParserTable___action_table_row349 SFT_parser_tables[354]
+#define COLOR_parser_tables___ParserTable___action_table_row350 SFT_parser_tables[355]
+#define COLOR_parser_tables___ParserTable___action_table_row351 SFT_parser_tables[356]
+#define COLOR_parser_tables___ParserTable___action_table_row352 SFT_parser_tables[357]
+#define COLOR_parser_tables___ParserTable___action_table_row353 SFT_parser_tables[358]
+#define COLOR_parser_tables___ParserTable___action_table_row354 SFT_parser_tables[359]
+#define COLOR_parser_tables___ParserTable___action_table_row355 SFT_parser_tables[360]
+#define COLOR_parser_tables___ParserTable___action_table_row356 SFT_parser_tables[361]
+#define COLOR_parser_tables___ParserTable___action_table_row357 SFT_parser_tables[362]
+#define COLOR_parser_tables___ParserTable___action_table_row358 SFT_parser_tables[363]
+#define COLOR_parser_tables___ParserTable___action_table_row359 SFT_parser_tables[364]
+#define COLOR_parser_tables___ParserTable___action_table_row360 SFT_parser_tables[365]
+#define COLOR_parser_tables___ParserTable___action_table_row361 SFT_parser_tables[366]
+#define COLOR_parser_tables___ParserTable___action_table_row362 SFT_parser_tables[367]
+#define COLOR_parser_tables___ParserTable___action_table_row363 SFT_parser_tables[368]
+#define COLOR_parser_tables___ParserTable___action_table_row364 SFT_parser_tables[369]
+#define COLOR_parser_tables___ParserTable___action_table_row365 SFT_parser_tables[370]
+#define COLOR_parser_tables___ParserTable___action_table_row366 SFT_parser_tables[371]
+#define COLOR_parser_tables___ParserTable___action_table_row367 SFT_parser_tables[372]
+#define COLOR_parser_tables___ParserTable___action_table_row368 SFT_parser_tables[373]
+#define COLOR_parser_tables___ParserTable___action_table_row369 SFT_parser_tables[374]
+#define COLOR_parser_tables___ParserTable___action_table_row370 SFT_parser_tables[375]
+#define COLOR_parser_tables___ParserTable___action_table_row371 SFT_parser_tables[376]
+#define COLOR_parser_tables___ParserTable___action_table_row372 SFT_parser_tables[377]
+#define COLOR_parser_tables___ParserTable___action_table_row373 SFT_parser_tables[378]
+#define COLOR_parser_tables___ParserTable___action_table_row374 SFT_parser_tables[379]
+#define COLOR_parser_tables___ParserTable___action_table_row375 SFT_parser_tables[380]
+#define COLOR_parser_tables___ParserTable___action_table_row376 SFT_parser_tables[381]
+#define COLOR_parser_tables___ParserTable___action_table_row377 SFT_parser_tables[382]
+#define COLOR_parser_tables___ParserTable___action_table_row378 SFT_parser_tables[383]
+#define COLOR_parser_tables___ParserTable___action_table_row379 SFT_parser_tables[384]
+#define COLOR_parser_tables___ParserTable___action_table_row380 SFT_parser_tables[385]
+#define COLOR_parser_tables___ParserTable___action_table_row381 SFT_parser_tables[386]
+#define COLOR_parser_tables___ParserTable___action_table_row382 SFT_parser_tables[387]
+#define COLOR_parser_tables___ParserTable___action_table_row383 SFT_parser_tables[388]
+#define COLOR_parser_tables___ParserTable___action_table_row384 SFT_parser_tables[389]
+#define COLOR_parser_tables___ParserTable___action_table_row385 SFT_parser_tables[390]
+#define COLOR_parser_tables___ParserTable___action_table_row386 SFT_parser_tables[391]
+#define COLOR_parser_tables___ParserTable___action_table_row387 SFT_parser_tables[392]
+#define COLOR_parser_tables___ParserTable___action_table_row388 SFT_parser_tables[393]
+#define COLOR_parser_tables___ParserTable___action_table_row389 SFT_parser_tables[394]
+#define COLOR_parser_tables___ParserTable___action_table_row390 SFT_parser_tables[395]
+#define COLOR_parser_tables___ParserTable___action_table_row391 SFT_parser_tables[396]
+#define COLOR_parser_tables___ParserTable___action_table_row392 SFT_parser_tables[397]
+#define COLOR_parser_tables___ParserTable___action_table_row393 SFT_parser_tables[398]
+#define COLOR_parser_tables___ParserTable___action_table_row394 SFT_parser_tables[399]
+#define COLOR_parser_tables___ParserTable___action_table_row395 SFT_parser_tables[400]
+#define COLOR_parser_tables___ParserTable___action_table_row396 SFT_parser_tables[401]
+#define COLOR_parser_tables___ParserTable___action_table_row397 SFT_parser_tables[402]
+#define COLOR_parser_tables___ParserTable___action_table_row398 SFT_parser_tables[403]
+#define COLOR_parser_tables___ParserTable___action_table_row399 SFT_parser_tables[404]
+#define COLOR_parser_tables___ParserTable___action_table_row400 SFT_parser_tables[405]
+#define COLOR_parser_tables___ParserTable___action_table_row401 SFT_parser_tables[406]
+#define COLOR_parser_tables___ParserTable___action_table_row402 SFT_parser_tables[407]
+#define COLOR_parser_tables___ParserTable___action_table_row403 SFT_parser_tables[408]
+#define COLOR_parser_tables___ParserTable___action_table_row404 SFT_parser_tables[409]
+#define COLOR_parser_tables___ParserTable___action_table_row405 SFT_parser_tables[410]
+#define COLOR_parser_tables___ParserTable___action_table_row406 SFT_parser_tables[411]
+#define COLOR_parser_tables___ParserTable___action_table_row407 SFT_parser_tables[412]
+#define COLOR_parser_tables___ParserTable___action_table_row408 SFT_parser_tables[413]
+#define COLOR_parser_tables___ParserTable___action_table_row409 SFT_parser_tables[414]
+#define COLOR_parser_tables___ParserTable___action_table_row410 SFT_parser_tables[415]
+#define COLOR_parser_tables___ParserTable___action_table_row411 SFT_parser_tables[416]
+#define COLOR_parser_tables___ParserTable___action_table_row412 SFT_parser_tables[417]
+#define COLOR_parser_tables___ParserTable___action_table_row413 SFT_parser_tables[418]
+#define COLOR_parser_tables___ParserTable___action_table_row414 SFT_parser_tables[419]
+#define COLOR_parser_tables___ParserTable___action_table_row415 SFT_parser_tables[420]
+#define COLOR_parser_tables___ParserTable___action_table_row416 SFT_parser_tables[421]
+#define COLOR_parser_tables___ParserTable___action_table_row417 SFT_parser_tables[422]
+#define COLOR_parser_tables___ParserTable___action_table_row418 SFT_parser_tables[423]
+#define COLOR_parser_tables___ParserTable___action_table_row419 SFT_parser_tables[424]
+#define COLOR_parser_tables___ParserTable___action_table_row420 SFT_parser_tables[425]
+#define COLOR_parser_tables___ParserTable___action_table_row421 SFT_parser_tables[426]
+#define COLOR_parser_tables___ParserTable___action_table_row422 SFT_parser_tables[427]
+#define COLOR_parser_tables___ParserTable___action_table_row423 SFT_parser_tables[428]
+#define COLOR_parser_tables___ParserTable___action_table_row424 SFT_parser_tables[429]
+#define COLOR_parser_tables___ParserTable___action_table_row425 SFT_parser_tables[430]
+#define COLOR_parser_tables___ParserTable___action_table_row426 SFT_parser_tables[431]
+#define COLOR_parser_tables___ParserTable___action_table_row427 SFT_parser_tables[432]
+#define COLOR_parser_tables___ParserTable___action_table_row428 SFT_parser_tables[433]
+#define COLOR_parser_tables___ParserTable___action_table_row429 SFT_parser_tables[434]
+#define COLOR_parser_tables___ParserTable___action_table_row430 SFT_parser_tables[435]
+#define COLOR_parser_tables___ParserTable___action_table_row431 SFT_parser_tables[436]
+#define COLOR_parser_tables___ParserTable___action_table_row432 SFT_parser_tables[437]
+#define COLOR_parser_tables___ParserTable___action_table_row433 SFT_parser_tables[438]
+#define COLOR_parser_tables___ParserTable___action_table_row434 SFT_parser_tables[439]
+#define COLOR_parser_tables___ParserTable___action_table_row435 SFT_parser_tables[440]
+#define COLOR_parser_tables___ParserTable___action_table_row436 SFT_parser_tables[441]
+#define COLOR_parser_tables___ParserTable___action_table_row437 SFT_parser_tables[442]
+#define COLOR_parser_tables___ParserTable___action_table_row438 SFT_parser_tables[443]
+#define COLOR_parser_tables___ParserTable___action_table_row439 SFT_parser_tables[444]
+#define COLOR_parser_tables___ParserTable___action_table_row440 SFT_parser_tables[445]
+#define COLOR_parser_tables___ParserTable___action_table_row441 SFT_parser_tables[446]
+#define COLOR_parser_tables___ParserTable___action_table_row442 SFT_parser_tables[447]
+#define COLOR_parser_tables___ParserTable___action_table_row443 SFT_parser_tables[448]
+#define COLOR_parser_tables___ParserTable___action_table_row444 SFT_parser_tables[449]
+#define COLOR_parser_tables___ParserTable___action_table_row445 SFT_parser_tables[450]
+#define COLOR_parser_tables___ParserTable___action_table_row446 SFT_parser_tables[451]
+#define COLOR_parser_tables___ParserTable___action_table_row447 SFT_parser_tables[452]
+#define COLOR_parser_tables___ParserTable___action_table_row448 SFT_parser_tables[453]
+#define COLOR_parser_tables___ParserTable___action_table_row449 SFT_parser_tables[454]
+#define COLOR_parser_tables___ParserTable___action_table_row450 SFT_parser_tables[455]
+#define COLOR_parser_tables___ParserTable___action_table_row451 SFT_parser_tables[456]
+#define COLOR_parser_tables___ParserTable___action_table_row452 SFT_parser_tables[457]
+#define COLOR_parser_tables___ParserTable___action_table_row453 SFT_parser_tables[458]
+#define COLOR_parser_tables___ParserTable___action_table_row454 SFT_parser_tables[459]
+#define COLOR_parser_tables___ParserTable___action_table_row455 SFT_parser_tables[460]
+#define COLOR_parser_tables___ParserTable___action_table_row456 SFT_parser_tables[461]
+#define COLOR_parser_tables___ParserTable___action_table_row457 SFT_parser_tables[462]
+#define COLOR_parser_tables___ParserTable___action_table_row458 SFT_parser_tables[463]
+#define COLOR_parser_tables___ParserTable___action_table_row459 SFT_parser_tables[464]
+#define COLOR_parser_tables___ParserTable___action_table_row460 SFT_parser_tables[465]
+#define COLOR_parser_tables___ParserTable___action_table_row461 SFT_parser_tables[466]
+#define COLOR_parser_tables___ParserTable___action_table_row462 SFT_parser_tables[467]
+#define COLOR_parser_tables___ParserTable___action_table_row463 SFT_parser_tables[468]
+#define COLOR_parser_tables___ParserTable___action_table_row464 SFT_parser_tables[469]
+#define COLOR_parser_tables___ParserTable___action_table_row465 SFT_parser_tables[470]
+#define COLOR_parser_tables___ParserTable___action_table_row466 SFT_parser_tables[471]
+#define COLOR_parser_tables___ParserTable___action_table_row467 SFT_parser_tables[472]
+#define COLOR_parser_tables___ParserTable___action_table_row468 SFT_parser_tables[473]
+#define COLOR_parser_tables___ParserTable___action_table_row469 SFT_parser_tables[474]
+#define COLOR_parser_tables___ParserTable___action_table_row470 SFT_parser_tables[475]
+#define COLOR_parser_tables___ParserTable___action_table_row471 SFT_parser_tables[476]
+#define COLOR_parser_tables___ParserTable___action_table_row472 SFT_parser_tables[477]
+#define COLOR_parser_tables___ParserTable___action_table_row473 SFT_parser_tables[478]
+#define COLOR_parser_tables___ParserTable___action_table_row474 SFT_parser_tables[479]
+#define COLOR_parser_tables___ParserTable___action_table_row475 SFT_parser_tables[480]
+#define COLOR_parser_tables___ParserTable___action_table_row476 SFT_parser_tables[481]
+#define COLOR_parser_tables___ParserTable___action_table_row477 SFT_parser_tables[482]
+#define COLOR_parser_tables___ParserTable___action_table_row478 SFT_parser_tables[483]
+#define COLOR_parser_tables___ParserTable___action_table_row479 SFT_parser_tables[484]
+#define COLOR_parser_tables___ParserTable___action_table_row480 SFT_parser_tables[485]
+#define COLOR_parser_tables___ParserTable___action_table_row481 SFT_parser_tables[486]
+#define COLOR_parser_tables___ParserTable___action_table_row482 SFT_parser_tables[487]
+#define COLOR_parser_tables___ParserTable___action_table_row483 SFT_parser_tables[488]
+#define COLOR_parser_tables___ParserTable___action_table_row484 SFT_parser_tables[489]
+#define COLOR_parser_tables___ParserTable___action_table_row485 SFT_parser_tables[490]
+#define COLOR_parser_tables___ParserTable___action_table_row486 SFT_parser_tables[491]
+#define COLOR_parser_tables___ParserTable___action_table_row487 SFT_parser_tables[492]
+#define COLOR_parser_tables___ParserTable___action_table_row488 SFT_parser_tables[493]
+#define COLOR_parser_tables___ParserTable___action_table_row489 SFT_parser_tables[494]
+#define COLOR_parser_tables___ParserTable___action_table_row490 SFT_parser_tables[495]
+#define COLOR_parser_tables___ParserTable___action_table_row491 SFT_parser_tables[496]
+#define COLOR_parser_tables___ParserTable___action_table_row492 SFT_parser_tables[497]
+#define COLOR_parser_tables___ParserTable___action_table_row493 SFT_parser_tables[498]
+#define COLOR_parser_tables___ParserTable___action_table_row494 SFT_parser_tables[499]
+#define COLOR_parser_tables___ParserTable___action_table_row495 SFT_parser_tables[500]
+#define COLOR_parser_tables___ParserTable___action_table_row496 SFT_parser_tables[501]
+#define COLOR_parser_tables___ParserTable___action_table_row497 SFT_parser_tables[502]
+#define COLOR_parser_tables___ParserTable___action_table_row498 SFT_parser_tables[503]
+#define COLOR_parser_tables___ParserTable___action_table_row499 SFT_parser_tables[504]
+#define COLOR_parser_tables___ParserTable___action_table_row500 SFT_parser_tables[505]
+#define COLOR_parser_tables___ParserTable___action_table_row501 SFT_parser_tables[506]
+#define COLOR_parser_tables___ParserTable___action_table_row502 SFT_parser_tables[507]
+#define COLOR_parser_tables___ParserTable___action_table_row503 SFT_parser_tables[508]
+#define COLOR_parser_tables___ParserTable___action_table_row504 SFT_parser_tables[509]
+#define COLOR_parser_tables___ParserTable___action_table_row505 SFT_parser_tables[510]
+#define COLOR_parser_tables___ParserTable___action_table_row506 SFT_parser_tables[511]
+#define COLOR_parser_tables___ParserTable___action_table_row507 SFT_parser_tables[512]
+#define COLOR_parser_tables___ParserTable___action_table_row508 SFT_parser_tables[513]
+#define COLOR_parser_tables___ParserTable___action_table_row509 SFT_parser_tables[514]
+#define COLOR_parser_tables___ParserTable___action_table_row510 SFT_parser_tables[515]
+#define COLOR_parser_tables___ParserTable___action_table_row511 SFT_parser_tables[516]
+#define COLOR_parser_tables___ParserTable___action_table_row512 SFT_parser_tables[517]
+#define COLOR_parser_tables___ParserTable___action_table_row513 SFT_parser_tables[518]
+#define COLOR_parser_tables___ParserTable___action_table_row514 SFT_parser_tables[519]
+#define COLOR_parser_tables___ParserTable___action_table_row515 SFT_parser_tables[520]
+#define COLOR_parser_tables___ParserTable___action_table_row516 SFT_parser_tables[521]
+#define COLOR_parser_tables___ParserTable___action_table_row517 SFT_parser_tables[522]
+#define COLOR_parser_tables___ParserTable___action_table_row518 SFT_parser_tables[523]
+#define COLOR_parser_tables___ParserTable___action_table_row519 SFT_parser_tables[524]
+#define COLOR_parser_tables___ParserTable___action_table_row520 SFT_parser_tables[525]
+#define COLOR_parser_tables___ParserTable___action_table_row521 SFT_parser_tables[526]
+#define COLOR_parser_tables___ParserTable___action_table_row522 SFT_parser_tables[527]
+#define COLOR_parser_tables___ParserTable___action_table_row523 SFT_parser_tables[528]
+#define COLOR_parser_tables___ParserTable___action_table_row524 SFT_parser_tables[529]
+#define COLOR_parser_tables___ParserTable___action_table_row525 SFT_parser_tables[530]
+#define COLOR_parser_tables___ParserTable___action_table_row526 SFT_parser_tables[531]
+#define COLOR_parser_tables___ParserTable___action_table_row527 SFT_parser_tables[532]
+#define COLOR_parser_tables___ParserTable___action_table_row528 SFT_parser_tables[533]
+#define COLOR_parser_tables___ParserTable___action_table_row529 SFT_parser_tables[534]
+#define COLOR_parser_tables___ParserTable___action_table_row530 SFT_parser_tables[535]
+#define COLOR_parser_tables___ParserTable___action_table_row531 SFT_parser_tables[536]
+#define COLOR_parser_tables___ParserTable___action_table_row532 SFT_parser_tables[537]
+#define COLOR_parser_tables___ParserTable___action_table_row533 SFT_parser_tables[538]
+#define COLOR_parser_tables___ParserTable___action_table_row534 SFT_parser_tables[539]
+#define COLOR_parser_tables___ParserTable___action_table_row535 SFT_parser_tables[540]
+#define COLOR_parser_tables___ParserTable___action_table_row536 SFT_parser_tables[541]
+#define COLOR_parser_tables___ParserTable___action_table_row537 SFT_parser_tables[542]
+#define COLOR_parser_tables___ParserTable___action_table_row538 SFT_parser_tables[543]
+#define COLOR_parser_tables___ParserTable___action_table_row539 SFT_parser_tables[544]
+#define COLOR_parser_tables___ParserTable___action_table_row540 SFT_parser_tables[545]
+#define COLOR_parser_tables___ParserTable___action_table_row541 SFT_parser_tables[546]
+#define COLOR_parser_tables___ParserTable___action_table_row542 SFT_parser_tables[547]
+#define COLOR_parser_tables___ParserTable___action_table_row543 SFT_parser_tables[548]
+#define COLOR_parser_tables___ParserTable___action_table_row544 SFT_parser_tables[549]
+#define COLOR_parser_tables___ParserTable___action_table_row545 SFT_parser_tables[550]
+#define COLOR_parser_tables___ParserTable___action_table_row546 SFT_parser_tables[551]
+#define COLOR_parser_tables___ParserTable___action_table_row547 SFT_parser_tables[552]
+#define COLOR_parser_tables___ParserTable___action_table_row548 SFT_parser_tables[553]
+#define COLOR_parser_tables___ParserTable___action_table_row549 SFT_parser_tables[554]
+#define COLOR_parser_tables___ParserTable___action_table_row550 SFT_parser_tables[555]
+#define COLOR_parser_tables___ParserTable___action_table_row551 SFT_parser_tables[556]
+#define COLOR_parser_tables___ParserTable___action_table_row552 SFT_parser_tables[557]
+#define COLOR_parser_tables___ParserTable___action_table_row553 SFT_parser_tables[558]
+#define COLOR_parser_tables___ParserTable___action_table_row554 SFT_parser_tables[559]
+#define COLOR_parser_tables___ParserTable___action_table_row555 SFT_parser_tables[560]
+#define COLOR_parser_tables___ParserTable___action_table_row556 SFT_parser_tables[561]
+#define COLOR_parser_tables___ParserTable___action_table_row557 SFT_parser_tables[562]
+#define COLOR_parser_tables___ParserTable___action_table_row558 SFT_parser_tables[563]
+#define COLOR_parser_tables___ParserTable___action_table_row559 SFT_parser_tables[564]
+#define COLOR_parser_tables___ParserTable___action_table_row560 SFT_parser_tables[565]
+#define COLOR_parser_tables___ParserTable___action_table_row561 SFT_parser_tables[566]
+#define COLOR_parser_tables___ParserTable___action_table_row562 SFT_parser_tables[567]
+#define COLOR_parser_tables___ParserTable___action_table_row563 SFT_parser_tables[568]
+#define COLOR_parser_tables___ParserTable___action_table_row564 SFT_parser_tables[569]
+#define COLOR_parser_tables___ParserTable___action_table_row565 SFT_parser_tables[570]
+#define COLOR_parser_tables___ParserTable___action_table_row566 SFT_parser_tables[571]
+#define COLOR_parser_tables___ParserTable___action_table_row567 SFT_parser_tables[572]
+#define COLOR_parser_tables___ParserTable___action_table_row568 SFT_parser_tables[573]
+#define COLOR_parser_tables___ParserTable___action_table_row569 SFT_parser_tables[574]
+#define COLOR_parser_tables___ParserTable___action_table_row570 SFT_parser_tables[575]
+#define COLOR_parser_tables___ParserTable___action_table_row571 SFT_parser_tables[576]
+#define COLOR_parser_tables___ParserTable___action_table_row572 SFT_parser_tables[577]
+#define COLOR_parser_tables___ParserTable___action_table_row573 SFT_parser_tables[578]
+#define COLOR_parser_tables___ParserTable___action_table_row574 SFT_parser_tables[579]
+#define COLOR_parser_tables___ParserTable___action_table_row575 SFT_parser_tables[580]
+#define COLOR_parser_tables___ParserTable___action_table_row576 SFT_parser_tables[581]
+#define COLOR_parser_tables___ParserTable___action_table_row577 SFT_parser_tables[582]
+#define COLOR_parser_tables___ParserTable___action_table_row578 SFT_parser_tables[583]
+#define COLOR_parser_tables___ParserTable___action_table_row579 SFT_parser_tables[584]
+#define COLOR_parser_tables___ParserTable___action_table_row580 SFT_parser_tables[585]
+#define COLOR_parser_tables___ParserTable___action_table_row581 SFT_parser_tables[586]
+#define COLOR_parser_tables___ParserTable___action_table_row582 SFT_parser_tables[587]
+#define COLOR_parser_tables___ParserTable___action_table_row583 SFT_parser_tables[588]
+#define COLOR_parser_tables___ParserTable___action_table_row584 SFT_parser_tables[589]
+#define COLOR_parser_tables___ParserTable___action_table_row585 SFT_parser_tables[590]
+#define COLOR_parser_tables___ParserTable___action_table_row586 SFT_parser_tables[591]
+#define COLOR_parser_tables___ParserTable___action_table_row587 SFT_parser_tables[592]
+#define COLOR_parser_tables___ParserTable___action_table_row588 SFT_parser_tables[593]
+#define COLOR_parser_tables___ParserTable___action_table_row589 SFT_parser_tables[594]
+#define COLOR_parser_tables___ParserTable___action_table_row590 SFT_parser_tables[595]
+#define COLOR_parser_tables___ParserTable___action_table_row591 SFT_parser_tables[596]
+#define COLOR_parser_tables___ParserTable___action_table_row592 SFT_parser_tables[597]
+#define COLOR_parser_tables___ParserTable___action_table_row593 SFT_parser_tables[598]
+#define COLOR_parser_tables___ParserTable___action_table_row594 SFT_parser_tables[599]
+#define COLOR_parser_tables___ParserTable___action_table_row595 SFT_parser_tables[600]
+#define COLOR_parser_tables___ParserTable___action_table_row596 SFT_parser_tables[601]
+#define COLOR_parser_tables___ParserTable___action_table_row597 SFT_parser_tables[602]
+#define COLOR_parser_tables___ParserTable___action_table_row598 SFT_parser_tables[603]
+#define COLOR_parser_tables___ParserTable___action_table_row599 SFT_parser_tables[604]
+#define COLOR_parser_tables___ParserTable___action_table_row600 SFT_parser_tables[605]
+#define COLOR_parser_tables___ParserTable___action_table_row601 SFT_parser_tables[606]
+#define COLOR_parser_tables___ParserTable___action_table_row602 SFT_parser_tables[607]
+#define COLOR_parser_tables___ParserTable___action_table_row603 SFT_parser_tables[608]
+#define COLOR_parser_tables___ParserTable___action_table_row604 SFT_parser_tables[609]
+#define COLOR_parser_tables___ParserTable___action_table_row605 SFT_parser_tables[610]
+#define COLOR_parser_tables___ParserTable___action_table_row606 SFT_parser_tables[611]
+#define COLOR_parser_tables___ParserTable___action_table_row607 SFT_parser_tables[612]
+#define COLOR_parser_tables___ParserTable___action_table_row608 SFT_parser_tables[613]
+#define COLOR_parser_tables___ParserTable___action_table_row609 SFT_parser_tables[614]
+#define COLOR_parser_tables___ParserTable___action_table_row610 SFT_parser_tables[615]
+#define COLOR_parser_tables___ParserTable___action_table_row611 SFT_parser_tables[616]
+#define COLOR_parser_tables___ParserTable___action_table_row612 SFT_parser_tables[617]
+#define COLOR_parser_tables___ParserTable___action_table_row613 SFT_parser_tables[618]
+#define COLOR_parser_tables___ParserTable___action_table_row614 SFT_parser_tables[619]
+#define COLOR_parser_tables___ParserTable___action_table_row615 SFT_parser_tables[620]
+#define COLOR_parser_tables___ParserTable___action_table_row616 SFT_parser_tables[621]
+#define COLOR_parser_tables___ParserTable___action_table_row617 SFT_parser_tables[622]
+#define COLOR_parser_tables___ParserTable___action_table_row618 SFT_parser_tables[623]
+#define COLOR_parser_tables___ParserTable___action_table_row619 SFT_parser_tables[624]
+#define COLOR_parser_tables___ParserTable___action_table_row620 SFT_parser_tables[625]
+#define COLOR_parser_tables___ParserTable___action_table_row621 SFT_parser_tables[626]
+#define COLOR_parser_tables___ParserTable___action_table_row622 SFT_parser_tables[627]
+#define COLOR_parser_tables___ParserTable___action_table_row623 SFT_parser_tables[628]
+#define COLOR_parser_tables___ParserTable___action_table_row624 SFT_parser_tables[629]
+#define COLOR_parser_tables___ParserTable___action_table_row625 SFT_parser_tables[630]
+#define COLOR_parser_tables___ParserTable___action_table_row626 SFT_parser_tables[631]
+#define COLOR_parser_tables___ParserTable___action_table_row627 SFT_parser_tables[632]
+#define COLOR_parser_tables___ParserTable___action_table_row628 SFT_parser_tables[633]
+#define COLOR_parser_tables___ParserTable___action_table_row629 SFT_parser_tables[634]
+#define COLOR_parser_tables___ParserTable___action_table_row630 SFT_parser_tables[635]
+#define COLOR_parser_tables___ParserTable___action_table_row631 SFT_parser_tables[636]
+#define COLOR_parser_tables___ParserTable___action_table_row632 SFT_parser_tables[637]
+#define COLOR_parser_tables___ParserTable___action_table_row633 SFT_parser_tables[638]
+#define COLOR_parser_tables___ParserTable___action_table_row634 SFT_parser_tables[639]
+#define COLOR_parser_tables___ParserTable___action_table_row635 SFT_parser_tables[640]
+#define COLOR_parser_tables___ParserTable___action_table_row636 SFT_parser_tables[641]
+#define COLOR_parser_tables___ParserTable___action_table_row637 SFT_parser_tables[642]
+#define COLOR_parser_tables___ParserTable___action_table_row638 SFT_parser_tables[643]
+#define COLOR_parser_tables___ParserTable___action_table_row639 SFT_parser_tables[644]
+#define COLOR_parser_tables___ParserTable___action_table_row640 SFT_parser_tables[645]
+#define COLOR_parser_tables___ParserTable___action_table_row641 SFT_parser_tables[646]
+#define COLOR_parser_tables___ParserTable___action_table_row642 SFT_parser_tables[647]
+#define COLOR_parser_tables___ParserTable___action_table_row643 SFT_parser_tables[648]
+#define COLOR_parser_tables___ParserTable___action_table_row644 SFT_parser_tables[649]
+#define COLOR_parser_tables___ParserTable___action_table_row645 SFT_parser_tables[650]
+#define COLOR_parser_tables___ParserTable___action_table_row646 SFT_parser_tables[651]
+#define COLOR_parser_tables___ParserTable___action_table_row647 SFT_parser_tables[652]
+#define COLOR_parser_tables___ParserTable___action_table_row648 SFT_parser_tables[653]
+#define COLOR_parser_tables___ParserTable___action_table_row649 SFT_parser_tables[654]
+#define COLOR_parser_tables___ParserTable___action_table_row650 SFT_parser_tables[655]
+#define COLOR_parser_tables___ParserTable___action_table_row651 SFT_parser_tables[656]
+#define COLOR_parser_tables___ParserTable___action_table_row652 SFT_parser_tables[657]
+#define COLOR_parser_tables___ParserTable___action_table_row653 SFT_parser_tables[658]
+#define COLOR_parser_tables___ParserTable___action_table_row654 SFT_parser_tables[659]
+#define COLOR_parser_tables___ParserTable___action_table_row655 SFT_parser_tables[660]
+#define COLOR_parser_tables___ParserTable___action_table_row656 SFT_parser_tables[661]
+#define COLOR_parser_tables___ParserTable___action_table_row657 SFT_parser_tables[662]
+#define COLOR_parser_tables___ParserTable___action_table_row658 SFT_parser_tables[663]
+#define COLOR_parser_tables___ParserTable___action_table_row659 SFT_parser_tables[664]
+#define COLOR_parser_tables___ParserTable___action_table_row660 SFT_parser_tables[665]
+#define COLOR_parser_tables___ParserTable___action_table_row661 SFT_parser_tables[666]
+#define COLOR_parser_tables___ParserTable___action_table_row662 SFT_parser_tables[667]
+#define COLOR_parser_tables___ParserTable___action_table_row663 SFT_parser_tables[668]
+#define COLOR_parser_tables___ParserTable___action_table_row664 SFT_parser_tables[669]
+#define COLOR_parser_tables___ParserTable___action_table_row665 SFT_parser_tables[670]
+#define COLOR_parser_tables___ParserTable___action_table_row666 SFT_parser_tables[671]
+#define COLOR_parser_tables___ParserTable___action_table_row667 SFT_parser_tables[672]
+#define COLOR_parser_tables___ParserTable___action_table_row668 SFT_parser_tables[673]
+#define COLOR_parser_tables___ParserTable___action_table_row669 SFT_parser_tables[674]
+#define COLOR_parser_tables___ParserTable___action_table_row670 SFT_parser_tables[675]
+#define COLOR_parser_tables___ParserTable___action_table_row671 SFT_parser_tables[676]
+#define COLOR_parser_tables___ParserTable___action_table_row672 SFT_parser_tables[677]
+#define COLOR_parser_tables___ParserTable___action_table_row673 SFT_parser_tables[678]
+#define COLOR_parser_tables___ParserTable___action_table_row674 SFT_parser_tables[679]
+#define COLOR_parser_tables___ParserTable___action_table_row675 SFT_parser_tables[680]
+#define COLOR_parser_tables___ParserTable___action_table_row676 SFT_parser_tables[681]
+#define COLOR_parser_tables___ParserTable___action_table_row677 SFT_parser_tables[682]
+#define COLOR_parser_tables___ParserTable___action_table_row678 SFT_parser_tables[683]
+#define COLOR_parser_tables___ParserTable___action_table_row679 SFT_parser_tables[684]
+#define COLOR_parser_tables___ParserTable___action_table_row680 SFT_parser_tables[685]
+#define COLOR_parser_tables___ParserTable___action_table_row681 SFT_parser_tables[686]
+#define COLOR_parser_tables___ParserTable___action_table_row682 SFT_parser_tables[687]
+#define COLOR_parser_tables___ParserTable___action_table_row683 SFT_parser_tables[688]
+#define COLOR_parser_tables___ParserTable___action_table_row684 SFT_parser_tables[689]
+#define COLOR_parser_tables___ParserTable___action_table_row685 SFT_parser_tables[690]
+#define COLOR_parser_tables___ParserTable___action_table_row686 SFT_parser_tables[691]
+#define COLOR_parser_tables___ParserTable___action_table_row687 SFT_parser_tables[692]
+#define COLOR_parser_tables___ParserTable___action_table_row688 SFT_parser_tables[693]
+#define COLOR_parser_tables___ParserTable___action_table_row689 SFT_parser_tables[694]
+#define COLOR_parser_tables___ParserTable___action_table_row690 SFT_parser_tables[695]
+#define COLOR_parser_tables___ParserTable___action_table_row691 SFT_parser_tables[696]
+#define COLOR_parser_tables___ParserTable___action_table_row692 SFT_parser_tables[697]
+#define COLOR_parser_tables___ParserTable___action_table_row693 SFT_parser_tables[698]
+#define COLOR_parser_tables___ParserTable___action_table_row694 SFT_parser_tables[699]
+#define COLOR_parser_tables___ParserTable___action_table_row695 SFT_parser_tables[700]
+#define COLOR_parser_tables___ParserTable___action_table_row696 SFT_parser_tables[701]
+#define COLOR_parser_tables___ParserTable___action_table_row697 SFT_parser_tables[702]
+#define COLOR_parser_tables___ParserTable___action_table_row698 SFT_parser_tables[703]
+#define COLOR_parser_tables___ParserTable___action_table_row699 SFT_parser_tables[704]
+#define COLOR_parser_tables___ParserTable___action_table_row700 SFT_parser_tables[705]
+#define COLOR_parser_tables___ParserTable___action_table_row701 SFT_parser_tables[706]
+#define COLOR_parser_tables___ParserTable___action_table_row702 SFT_parser_tables[707]
+#define COLOR_parser_tables___ParserTable___action_table_row703 SFT_parser_tables[708]
+#define COLOR_parser_tables___ParserTable___action_table_row704 SFT_parser_tables[709]
+#define COLOR_parser_tables___ParserTable___action_table_row705 SFT_parser_tables[710]
+#define COLOR_parser_tables___ParserTable___action_table_row706 SFT_parser_tables[711]
+#define COLOR_parser_tables___ParserTable___action_table_row707 SFT_parser_tables[712]
+#define COLOR_parser_tables___ParserTable___action_table_row708 SFT_parser_tables[713]
+#define COLOR_parser_tables___ParserTable___action_table_row709 SFT_parser_tables[714]
+#define COLOR_parser_tables___ParserTable___action_table_row710 SFT_parser_tables[715]
+#define COLOR_parser_tables___ParserTable___action_table_row711 SFT_parser_tables[716]
+#define COLOR_parser_tables___ParserTable___action_table_row712 SFT_parser_tables[717]
+#define COLOR_parser_tables___ParserTable___action_table_row713 SFT_parser_tables[718]
+#define COLOR_parser_tables___ParserTable___action_table_row714 SFT_parser_tables[719]
+#define COLOR_parser_tables___ParserTable___action_table_row715 SFT_parser_tables[720]
+#define COLOR_parser_tables___ParserTable___action_table_row716 SFT_parser_tables[721]
+#define COLOR_parser_tables___ParserTable___action_table_row717 SFT_parser_tables[722]
+#define COLOR_parser_tables___ParserTable___action_table_row718 SFT_parser_tables[723]
+#define COLOR_parser_tables___ParserTable___action_table_row719 SFT_parser_tables[724]
+#define COLOR_parser_tables___ParserTable___action_table_row720 SFT_parser_tables[725]
+#define COLOR_parser_tables___ParserTable___action_table_row721 SFT_parser_tables[726]
+#define COLOR_parser_tables___ParserTable___action_table_row722 SFT_parser_tables[727]
+#define COLOR_parser_tables___ParserTable___action_table_row723 SFT_parser_tables[728]
+#define COLOR_parser_tables___ParserTable___action_table_row724 SFT_parser_tables[729]
+#define COLOR_parser_tables___ParserTable___action_table_row725 SFT_parser_tables[730]
+#define COLOR_parser_tables___ParserTable___action_table_row726 SFT_parser_tables[731]
+#define COLOR_parser_tables___ParserTable___action_table_row727 SFT_parser_tables[732]
+#define COLOR_parser_tables___ParserTable___action_table_row728 SFT_parser_tables[733]
+#define COLOR_parser_tables___ParserTable___action_table_row729 SFT_parser_tables[734]
+#define COLOR_parser_tables___ParserTable___action_table_row730 SFT_parser_tables[735]
+#define COLOR_parser_tables___ParserTable___action_table_row731 SFT_parser_tables[736]
+#define COLOR_parser_tables___ParserTable___action_table_row732 SFT_parser_tables[737]
+#define COLOR_parser_tables___ParserTable___action_table_row733 SFT_parser_tables[738]
+#define COLOR_parser_tables___ParserTable___action_table_row734 SFT_parser_tables[739]
+#define COLOR_parser_tables___ParserTable___action_table_row735 SFT_parser_tables[740]
+#define COLOR_parser_tables___ParserTable___action_table_row736 SFT_parser_tables[741]
+#define COLOR_parser_tables___ParserTable___action_table_row737 SFT_parser_tables[742]
+#define COLOR_parser_tables___ParserTable___action_table_row738 SFT_parser_tables[743]
+#define COLOR_parser_tables___ParserTable___action_table_row739 SFT_parser_tables[744]
+#define COLOR_parser_tables___ParserTable___action_table_row740 SFT_parser_tables[745]
+#define COLOR_parser_tables___ParserTable___action_table_row741 SFT_parser_tables[746]
+#define COLOR_parser_tables___ParserTable___action_table_row742 SFT_parser_tables[747]
+#define COLOR_parser_tables___ParserTable___action_table_row743 SFT_parser_tables[748]
+#define COLOR_parser_tables___ParserTable___action_table_row744 SFT_parser_tables[749]
+#define COLOR_parser_tables___ParserTable___action_table_row745 SFT_parser_tables[750]
+#define COLOR_parser_tables___ParserTable___action_table_row746 SFT_parser_tables[751]
+#define COLOR_parser_tables___ParserTable___action_table_row747 SFT_parser_tables[752]
+#define COLOR_parser_tables___ParserTable___action_table_row748 SFT_parser_tables[753]
+#define COLOR_parser_tables___ParserTable___action_table_row749 SFT_parser_tables[754]
+#define COLOR_parser_tables___ParserTable___action_table_row750 SFT_parser_tables[755]
+#define COLOR_parser_tables___ParserTable___action_table_row751 SFT_parser_tables[756]
+#define COLOR_parser_tables___ParserTable___action_table_row752 SFT_parser_tables[757]
+#define COLOR_parser_tables___ParserTable___action_table_row753 SFT_parser_tables[758]
+#define COLOR_parser_tables___ParserTable___action_table_row754 SFT_parser_tables[759]
+#define COLOR_parser_tables___ParserTable___action_table_row755 SFT_parser_tables[760]
+#define COLOR_parser_tables___ParserTable___action_table_row756 SFT_parser_tables[761]
+#define COLOR_parser_tables___ParserTable___action_table_row757 SFT_parser_tables[762]
+#define COLOR_parser_tables___ParserTable___action_table_row758 SFT_parser_tables[763]
+#define COLOR_parser_tables___ParserTable___action_table_row759 SFT_parser_tables[764]
+#define COLOR_parser_tables___ParserTable___action_table_row760 SFT_parser_tables[765]
+#define COLOR_parser_tables___ParserTable___action_table_row761 SFT_parser_tables[766]
+#define COLOR_parser_tables___ParserTable___action_table_row762 SFT_parser_tables[767]
+#define COLOR_parser_tables___ParserTable___action_table_row763 SFT_parser_tables[768]
+#define COLOR_parser_tables___ParserTable___action_table_row764 SFT_parser_tables[769]
+#define COLOR_parser_tables___ParserTable___action_table_row765 SFT_parser_tables[770]
+#define COLOR_parser_tables___ParserTable___action_table_row766 SFT_parser_tables[771]
+#define COLOR_parser_tables___ParserTable___action_table_row767 SFT_parser_tables[772]
+#define COLOR_parser_tables___ParserTable___action_table_row768 SFT_parser_tables[773]
+#define COLOR_parser_tables___ParserTable___action_table_row769 SFT_parser_tables[774]
+#define COLOR_parser_tables___ParserTable___action_table_row770 SFT_parser_tables[775]
+#define COLOR_parser_tables___ParserTable___action_table_row771 SFT_parser_tables[776]
+#define COLOR_parser_tables___ParserTable___action_table_row772 SFT_parser_tables[777]
+#define COLOR_parser_tables___ParserTable___action_table_row773 SFT_parser_tables[778]
+#define COLOR_parser_tables___ParserTable___action_table_row774 SFT_parser_tables[779]
+#define COLOR_parser_tables___ParserTable___action_table_row775 SFT_parser_tables[780]
+#define COLOR_parser_tables___ParserTable___action_table_row776 SFT_parser_tables[781]
+#define COLOR_parser_tables___ParserTable___action_table_row777 SFT_parser_tables[782]
+#define COLOR_parser_tables___ParserTable___action_table_row778 SFT_parser_tables[783]
+#define COLOR_parser_tables___ParserTable___action_table_row779 SFT_parser_tables[784]
+#define COLOR_parser_tables___ParserTable___action_table_row780 SFT_parser_tables[785]
+#define COLOR_parser_tables___ParserTable___action_table_row781 SFT_parser_tables[786]
+#define COLOR_parser_tables___ParserTable___action_table_row782 SFT_parser_tables[787]
+#define COLOR_parser_tables___ParserTable___action_table_row783 SFT_parser_tables[788]
+#define COLOR_parser_tables___ParserTable___action_table_row784 SFT_parser_tables[789]
+#define COLOR_parser_tables___ParserTable___action_table_row785 SFT_parser_tables[790]
+#define COLOR_parser_tables___ParserTable___action_table_row786 SFT_parser_tables[791]
+#define COLOR_parser_tables___ParserTable___action_table_row787 SFT_parser_tables[792]
+#define COLOR_parser_tables___ParserTable___action_table_row788 SFT_parser_tables[793]
+#define COLOR_parser_tables___ParserTable___action_table_row789 SFT_parser_tables[794]
+#define COLOR_parser_tables___ParserTable___action_table_row790 SFT_parser_tables[795]
+#define COLOR_parser_tables___ParserTable___action_table_row791 SFT_parser_tables[796]
+#define COLOR_parser_tables___ParserTable___action_table_row792 SFT_parser_tables[797]
+#define COLOR_parser_tables___ParserTable___action_table_row793 SFT_parser_tables[798]
+#define COLOR_parser_tables___ParserTable___action_table_row794 SFT_parser_tables[799]
+#define COLOR_parser_tables___ParserTable___action_table_row795 SFT_parser_tables[800]
+#define COLOR_parser_tables___ParserTable___action_table_row796 SFT_parser_tables[801]
+#define COLOR_parser_tables___ParserTable___action_table_row797 SFT_parser_tables[802]
+#define COLOR_parser_tables___ParserTable___action_table_row798 SFT_parser_tables[803]
+#define COLOR_parser_tables___ParserTable___action_table_row799 SFT_parser_tables[804]
+#define COLOR_parser_tables___ParserTable___action_table_row800 SFT_parser_tables[805]
+#define COLOR_parser_tables___ParserTable___action_table_row801 SFT_parser_tables[806]
+#define COLOR_parser_tables___ParserTable___action_table_row802 SFT_parser_tables[807]
+#define COLOR_parser_tables___ParserTable___action_table_row803 SFT_parser_tables[808]
+#define COLOR_parser_tables___ParserTable___action_table_row804 SFT_parser_tables[809]
+#define COLOR_parser_tables___ParserTable___action_table_row805 SFT_parser_tables[810]
+#define COLOR_parser_tables___ParserTable___action_table_row806 SFT_parser_tables[811]
+#define COLOR_parser_tables___ParserTable___action_table_row807 SFT_parser_tables[812]
+#define COLOR_parser_tables___ParserTable___action_table_row808 SFT_parser_tables[813]
+#define COLOR_parser_tables___ParserTable___action_table_row809 SFT_parser_tables[814]
+#define COLOR_parser_tables___ParserTable___action_table_row810 SFT_parser_tables[815]
+#define COLOR_parser_tables___ParserTable___action_table_row811 SFT_parser_tables[816]
+#define COLOR_parser_tables___ParserTable___action_table_row812 SFT_parser_tables[817]
+#define COLOR_parser_tables___ParserTable___action_table_row813 SFT_parser_tables[818]
+#define COLOR_parser_tables___ParserTable___action_table_row814 SFT_parser_tables[819]
+#define COLOR_parser_tables___ParserTable___action_table_row815 SFT_parser_tables[820]
+#define COLOR_parser_tables___ParserTable___action_table_row816 SFT_parser_tables[821]
+#define COLOR_parser_tables___ParserTable___action_table_row817 SFT_parser_tables[822]
+#define COLOR_parser_tables___ParserTable___action_table_row818 SFT_parser_tables[823]
+#define COLOR_parser_tables___ParserTable___action_table_row819 SFT_parser_tables[824]
+#define COLOR_parser_tables___ParserTable___action_table_row820 SFT_parser_tables[825]
+#define COLOR_parser_tables___ParserTable___action_table_row821 SFT_parser_tables[826]
+#define COLOR_parser_tables___ParserTable___action_table_row822 SFT_parser_tables[827]
+#define COLOR_parser_tables___ParserTable___action_table_row823 SFT_parser_tables[828]
+#define COLOR_parser_tables___ParserTable___action_table_row824 SFT_parser_tables[829]
+#define COLOR_parser_tables___ParserTable___action_table_row825 SFT_parser_tables[830]
+#define COLOR_parser_tables___ParserTable___action_table_row826 SFT_parser_tables[831]
+#define COLOR_parser_tables___ParserTable___action_table_row827 SFT_parser_tables[832]
+#define COLOR_parser_tables___ParserTable___action_table_row828 SFT_parser_tables[833]
+#define COLOR_parser_tables___ParserTable___action_table_row829 SFT_parser_tables[834]
+#define COLOR_parser_tables___ParserTable___action_table_row830 SFT_parser_tables[835]
+#define COLOR_parser_tables___ParserTable___action_table_row831 SFT_parser_tables[836]
+#define COLOR_parser_tables___ParserTable___action_table_row832 SFT_parser_tables[837]
+#define COLOR_parser_tables___ParserTable___action_table_row833 SFT_parser_tables[838]
+#define COLOR_parser_tables___ParserTable___action_table_row834 SFT_parser_tables[839]
+#define COLOR_parser_tables___ParserTable___action_table_row835 SFT_parser_tables[840]
+#define COLOR_parser_tables___ParserTable___action_table_row836 SFT_parser_tables[841]
+#define COLOR_parser_tables___ParserTable___action_table_row837 SFT_parser_tables[842]
+#define COLOR_parser_tables___ParserTable___action_table_row838 SFT_parser_tables[843]
+#define COLOR_parser_tables___ParserTable___action_table_row839 SFT_parser_tables[844]
+#define COLOR_parser_tables___ParserTable___action_table_row840 SFT_parser_tables[845]
+#define COLOR_parser_tables___ParserTable___action_table_row841 SFT_parser_tables[846]
+#define COLOR_parser_tables___ParserTable___action_table_row842 SFT_parser_tables[847]
+#define COLOR_parser_tables___ParserTable___action_table_row843 SFT_parser_tables[848]
+#define COLOR_parser_tables___ParserTable___action_table_row844 SFT_parser_tables[849]
+#define COLOR_parser_tables___ParserTable___action_table_row845 SFT_parser_tables[850]
+#define COLOR_parser_tables___ParserTable___action_table_row846 SFT_parser_tables[851]
+#define COLOR_parser_tables___ParserTable___action_table_row847 SFT_parser_tables[852]
+#define COLOR_parser_tables___ParserTable___action_table_row848 SFT_parser_tables[853]
+#define COLOR_parser_tables___ParserTable___action_table_row849 SFT_parser_tables[854]
+#define COLOR_parser_tables___ParserTable___action_table_row850 SFT_parser_tables[855]
+#define COLOR_parser_tables___ParserTable___action_table_row851 SFT_parser_tables[856]
+#define COLOR_parser_tables___ParserTable___action_table_row852 SFT_parser_tables[857]
+#define COLOR_parser_tables___ParserTable___action_table_row853 SFT_parser_tables[858]
+#define COLOR_parser_tables___ParserTable___action_table_row854 SFT_parser_tables[859]
+#define COLOR_parser_tables___ParserTable___action_table_row855 SFT_parser_tables[860]
+#define COLOR_parser_tables___ParserTable___action_table_row856 SFT_parser_tables[861]
+#define COLOR_parser_tables___ParserTable___action_table_row857 SFT_parser_tables[862]
+#define COLOR_parser_tables___ParserTable___action_table_row858 SFT_parser_tables[863]
+#define COLOR_parser_tables___ParserTable___action_table_row859 SFT_parser_tables[864]
+#define COLOR_parser_tables___ParserTable___action_table_row860 SFT_parser_tables[865]
+#define COLOR_parser_tables___ParserTable___action_table_row861 SFT_parser_tables[866]
+#define COLOR_parser_tables___ParserTable___action_table_row862 SFT_parser_tables[867]
+#define COLOR_parser_tables___ParserTable___action_table_row863 SFT_parser_tables[868]
+#define COLOR_parser_tables___ParserTable___action_table_row864 SFT_parser_tables[869]
+#define COLOR_parser_tables___ParserTable___action_table_row865 SFT_parser_tables[870]
+#define COLOR_parser_tables___ParserTable___action_table_row866 SFT_parser_tables[871]
+#define COLOR_parser_tables___ParserTable___action_table_row867 SFT_parser_tables[872]
+#define COLOR_parser_tables___ParserTable___action_table_row868 SFT_parser_tables[873]
+#define COLOR_parser_tables___ParserTable___action_table_row869 SFT_parser_tables[874]
+#define COLOR_parser_tables___ParserTable___action_table_row870 SFT_parser_tables[875]
+#define COLOR_parser_tables___ParserTable___action_table_row871 SFT_parser_tables[876]
+#define COLOR_parser_tables___ParserTable___action_table_row872 SFT_parser_tables[877]
+#define COLOR_parser_tables___ParserTable___action_table_row873 SFT_parser_tables[878]
+#define COLOR_parser_tables___ParserTable___action_table_row874 SFT_parser_tables[879]
+#define COLOR_parser_tables___ParserTable___action_table_row875 SFT_parser_tables[880]
+#define COLOR_parser_tables___ParserTable___action_table_row876 SFT_parser_tables[881]
+#define COLOR_parser_tables___ParserTable___action_table_row877 SFT_parser_tables[882]
+#define COLOR_parser_tables___ParserTable___action_table_row878 SFT_parser_tables[883]
+#define COLOR_parser_tables___ParserTable___action_table_row879 SFT_parser_tables[884]
+#define COLOR_parser_tables___ParserTable___action_table_row880 SFT_parser_tables[885]
+#define COLOR_parser_tables___ParserTable___action_table_row881 SFT_parser_tables[886]
+#define COLOR_parser_tables___ParserTable___action_table_row882 SFT_parser_tables[887]
+#define COLOR_parser_tables___ParserTable___action_table_row883 SFT_parser_tables[888]
+#define COLOR_parser_tables___ParserTable___action_table_row884 SFT_parser_tables[889]
+#define COLOR_parser_tables___ParserTable___action_table_row885 SFT_parser_tables[890]
+#define COLOR_parser_tables___ParserTable___action_table_row886 SFT_parser_tables[891]
+#define COLOR_parser_tables___ParserTable___action_table_row887 SFT_parser_tables[892]
+#define COLOR_parser_tables___ParserTable___action_table_row888 SFT_parser_tables[893]
+#define COLOR_parser_tables___ParserTable___action_table_row889 SFT_parser_tables[894]
+#define COLOR_parser_tables___ParserTable___action_table_row890 SFT_parser_tables[895]
+#define COLOR_parser_tables___ParserTable___action_table_row891 SFT_parser_tables[896]
+#define COLOR_parser_tables___ParserTable___action_table_row892 SFT_parser_tables[897]
+#define COLOR_parser_tables___ParserTable___action_table_row893 SFT_parser_tables[898]
+#define COLOR_parser_tables___ParserTable___action_table_row894 SFT_parser_tables[899]
+#define COLOR_parser_tables___ParserTable___action_table_row895 SFT_parser_tables[900]
+#define COLOR_parser_tables___ParserTable___action_table_row896 SFT_parser_tables[901]
+#define COLOR_parser_tables___ParserTable___action_table_row897 SFT_parser_tables[902]
+#define COLOR_parser_tables___ParserTable___action_table_row898 SFT_parser_tables[903]
+#define COLOR_parser_tables___ParserTable___action_table_row899 SFT_parser_tables[904]
+#define COLOR_parser_tables___ParserTable___action_table_row900 SFT_parser_tables[905]
+#define COLOR_parser_tables___ParserTable___action_table_row901 SFT_parser_tables[906]
+#define COLOR_parser_tables___ParserTable___action_table_row902 SFT_parser_tables[907]
+#define COLOR_parser_tables___ParserTable___action_table_row903 SFT_parser_tables[908]
+#define COLOR_parser_tables___ParserTable___action_table_row904 SFT_parser_tables[909]
+#define COLOR_parser_tables___ParserTable___action_table_row905 SFT_parser_tables[910]
+#define COLOR_parser_tables___ParserTable___action_table_row906 SFT_parser_tables[911]
+#define COLOR_parser_tables___ParserTable___action_table_row907 SFT_parser_tables[912]
+#define COLOR_parser_tables___ParserTable___action_table_row908 SFT_parser_tables[913]
+#define COLOR_parser_tables___ParserTable___action_table_row909 SFT_parser_tables[914]
+#define COLOR_parser_tables___ParserTable___action_table_row910 SFT_parser_tables[915]
+#define COLOR_parser_tables___ParserTable___action_table_row911 SFT_parser_tables[916]
+#define COLOR_parser_tables___ParserTable___action_table_row912 SFT_parser_tables[917]
+#define COLOR_parser_tables___ParserTable___action_table_row913 SFT_parser_tables[918]
+#define COLOR_parser_tables___ParserTable___action_table_row914 SFT_parser_tables[919]
+#define COLOR_parser_tables___ParserTable___action_table_row915 SFT_parser_tables[920]
+#define COLOR_parser_tables___ParserTable___action_table_row916 SFT_parser_tables[921]
+#define COLOR_parser_tables___ParserTable___action_table_row917 SFT_parser_tables[922]
+#define COLOR_parser_tables___ParserTable___action_table_row918 SFT_parser_tables[923]
+#define COLOR_parser_tables___ParserTable___action_table_row919 SFT_parser_tables[924]
+#define COLOR_parser_tables___ParserTable___action_table_row920 SFT_parser_tables[925]
+#define COLOR_parser_tables___ParserTable___action_table_row921 SFT_parser_tables[926]
+#define COLOR_parser_tables___ParserTable___action_table_row922 SFT_parser_tables[927]
+#define COLOR_parser_tables___ParserTable___action_table_row923 SFT_parser_tables[928]
+#define COLOR_parser_tables___ParserTable___action_table_row924 SFT_parser_tables[929]
+#define COLOR_parser_tables___ParserTable___action_table_row925 SFT_parser_tables[930]
+#define COLOR_parser_tables___ParserTable___action_table_row926 SFT_parser_tables[931]
+#define COLOR_parser_tables___ParserTable___action_table_row927 SFT_parser_tables[932]
+#define COLOR_parser_tables___ParserTable___action_table_row928 SFT_parser_tables[933]
+#define COLOR_parser_tables___ParserTable___action_table_row929 SFT_parser_tables[934]
+#define COLOR_parser_tables___ParserTable___action_table_row930 SFT_parser_tables[935]
+#define COLOR_parser_tables___ParserTable___action_table_row931 SFT_parser_tables[936]
+#define COLOR_parser_tables___ParserTable___action_table_row932 SFT_parser_tables[937]
+#define COLOR_parser_tables___ParserTable___action_table_row933 SFT_parser_tables[938]
+#define COLOR_parser_tables___ParserTable___action_table_row934 SFT_parser_tables[939]
+#define COLOR_parser_tables___ParserTable___action_table_row935 SFT_parser_tables[940]
+#define COLOR_parser_tables___ParserTable___action_table_row936 SFT_parser_tables[941]
+#define COLOR_parser_tables___ParserTable___action_table_row937 SFT_parser_tables[942]
+#define COLOR_parser_tables___ParserTable___action_table_row938 SFT_parser_tables[943]
+#define COLOR_parser_tables___ParserTable___action_table_row939 SFT_parser_tables[944]
+#define COLOR_parser_tables___ParserTable___action_table_row940 SFT_parser_tables[945]
+#define COLOR_parser_tables___ParserTable___action_table_row941 SFT_parser_tables[946]
+#define COLOR_parser_tables___ParserTable___action_table_row942 SFT_parser_tables[947]
+#define COLOR_parser_tables___ParserTable___action_table_row943 SFT_parser_tables[948]
+#define COLOR_parser_tables___ParserTable___action_table_row944 SFT_parser_tables[949]
+#define COLOR_parser_tables___ParserTable___action_table_row945 SFT_parser_tables[950]
+#define COLOR_parser_tables___ParserTable___action_table_row946 SFT_parser_tables[951]
+#define COLOR_parser_tables___ParserTable___action_table_row947 SFT_parser_tables[952]
+#define COLOR_parser_tables___ParserTable___action_table_row948 SFT_parser_tables[953]
+#define COLOR_parser_tables___ParserTable___action_table_row949 SFT_parser_tables[954]
+#define COLOR_parser_tables___ParserTable___action_table_row950 SFT_parser_tables[955]
+#define COLOR_parser_tables___ParserTable___action_table_row951 SFT_parser_tables[956]
+#define COLOR_parser_tables___ParserTable___action_table_row952 SFT_parser_tables[957]
+#define COLOR_parser_tables___ParserTable___action_table_row953 SFT_parser_tables[958]
+#define COLOR_parser_tables___ParserTable___action_table_row954 SFT_parser_tables[959]
+#define COLOR_parser_tables___ParserTable___action_table_row955 SFT_parser_tables[960]
+#define COLOR_parser_tables___ParserTable___action_table_row956 SFT_parser_tables[961]
+#define COLOR_parser_tables___ParserTable___action_table_row957 SFT_parser_tables[962]
+#define COLOR_parser_tables___ParserTable___action_table_row958 SFT_parser_tables[963]
+#define COLOR_parser_tables___ParserTable___action_table_row959 SFT_parser_tables[964]
+#define COLOR_parser_tables___ParserTable___action_table_row960 SFT_parser_tables[965]
+#define COLOR_parser_tables___ParserTable___action_table_row961 SFT_parser_tables[966]
+#define COLOR_parser_tables___ParserTable___action_table_row962 SFT_parser_tables[967]
+#define COLOR_parser_tables___ParserTable___action_table_row963 SFT_parser_tables[968]
+#define COLOR_parser_tables___ParserTable___action_table_row964 SFT_parser_tables[969]
+#define COLOR_parser_tables___ParserTable___action_table_row965 SFT_parser_tables[970]
+#define COLOR_parser_tables___ParserTable___action_table_row966 SFT_parser_tables[971]
+#define COLOR_parser_tables___ParserTable___action_table_row967 SFT_parser_tables[972]
+#define COLOR_parser_tables___ParserTable___action_table_row968 SFT_parser_tables[973]
+#define COLOR_parser_tables___ParserTable___action_table_row969 SFT_parser_tables[974]
+#define COLOR_parser_tables___ParserTable___action_table_row970 SFT_parser_tables[975]
+#define COLOR_parser_tables___ParserTable___action_table_row971 SFT_parser_tables[976]
+#define COLOR_parser_tables___ParserTable___action_table_row972 SFT_parser_tables[977]
+#define COLOR_parser_tables___ParserTable___action_table_row973 SFT_parser_tables[978]
+#define COLOR_parser_tables___ParserTable___action_table_row974 SFT_parser_tables[979]
+#define COLOR_parser_tables___ParserTable___action_table_row975 SFT_parser_tables[980]
+#define COLOR_parser_tables___ParserTable___action_table_row976 SFT_parser_tables[981]
+#define COLOR_parser_tables___ParserTable___action_table_row977 SFT_parser_tables[982]
+#define COLOR_parser_tables___ParserTable___action_table_row978 SFT_parser_tables[983]
+#define COLOR_parser_tables___ParserTable___action_table_row979 SFT_parser_tables[984]
+#define COLOR_parser_tables___ParserTable___action_table_row980 SFT_parser_tables[985]
+#define COLOR_parser_tables___ParserTable___action_table_row981 SFT_parser_tables[986]
+#define COLOR_parser_tables___ParserTable___action_table_row982 SFT_parser_tables[987]
+#define COLOR_parser_tables___ParserTable___action_table_row983 SFT_parser_tables[988]
+#define COLOR_parser_tables___ParserTable___action_table_row984 SFT_parser_tables[989]
+#define COLOR_parser_tables___ParserTable___action_table_row985 SFT_parser_tables[990]
+#define COLOR_parser_tables___ParserTable___action_table_row986 SFT_parser_tables[991]
+#define COLOR_parser_tables___ParserTable___action_table_row987 SFT_parser_tables[992]
+#define COLOR_parser_tables___ParserTable___action_table_row988 SFT_parser_tables[993]
+#define COLOR_parser_tables___ParserTable___action_table_row989 SFT_parser_tables[994]
+#define COLOR_parser_tables___ParserTable___action_table_row990 SFT_parser_tables[995]
+#define COLOR_parser_tables___ParserTable___action_table_row991 SFT_parser_tables[996]
+#define COLOR_parser_tables___ParserTable___action_table_row992 SFT_parser_tables[997]
+#define COLOR_parser_tables___ParserTable___action_table_row993 SFT_parser_tables[998]
+#define COLOR_parser_tables___ParserTable___action_table_row994 SFT_parser_tables[999]
+#define COLOR_parser_tables___ParserTable___action_table_row995 SFT_parser_tables[1000]
+#define COLOR_parser_tables___ParserTable___action_table_row996 SFT_parser_tables[1001]
+#define COLOR_parser_tables___ParserTable___action_table_row997 SFT_parser_tables[1002]
+#define COLOR_parser_tables___ParserTable___action_table_row998 SFT_parser_tables[1003]
+#define COLOR_parser_tables___ParserTable___action_table_row999 SFT_parser_tables[1004]
+#define COLOR_parser_tables___ParserTable___action_table_row1000 SFT_parser_tables[1005]
+#define COLOR_parser_tables___ParserTable___action_table_row1001 SFT_parser_tables[1006]
+#define COLOR_parser_tables___ParserTable___action_table_row1002 SFT_parser_tables[1007]
+#define COLOR_parser_tables___ParserTable___action_table_row1003 SFT_parser_tables[1008]
+#define COLOR_parser_tables___ParserTable___action_table_row1004 SFT_parser_tables[1009]
+#define COLOR_parser_tables___ParserTable___action_table_row1005 SFT_parser_tables[1010]
+#define COLOR_parser_tables___ParserTable___action_table_row1006 SFT_parser_tables[1011]
+#define COLOR_parser_tables___ParserTable___action_table_row1007 SFT_parser_tables[1012]
+#define COLOR_parser_tables___ParserTable___action_table_row1008 SFT_parser_tables[1013]
+#define COLOR_parser_tables___ParserTable___action_table_row1009 SFT_parser_tables[1014]
+#define COLOR_parser_tables___ParserTable___action_table_row1010 SFT_parser_tables[1015]
+#define COLOR_parser_tables___ParserTable___action_table_row1011 SFT_parser_tables[1016]
+#define COLOR_parser_tables___ParserTable___action_table_row1012 SFT_parser_tables[1017]
+#define COLOR_parser_tables___ParserTable___action_table_row1013 SFT_parser_tables[1018]
+#define COLOR_parser_tables___ParserTable___action_table_row1014 SFT_parser_tables[1019]
+#define COLOR_parser_tables___ParserTable___action_table_row1015 SFT_parser_tables[1020]
+#define COLOR_parser_tables___ParserTable___action_table_row1016 SFT_parser_tables[1021]
+#define COLOR_parser_tables___ParserTable___action_table_row1017 SFT_parser_tables[1022]
+#define COLOR_parser_tables___ParserTable___action_table_row1018 SFT_parser_tables[1023]
+#define COLOR_parser_tables___ParserTable___action_table_row1019 SFT_parser_tables[1024]
+#define COLOR_parser_tables___ParserTable___action_table_row1020 SFT_parser_tables[1025]
+#define COLOR_parser_tables___ParserTable___action_table_row1021 SFT_parser_tables[1026]
+#define COLOR_parser_tables___ParserTable___action_table_row1022 SFT_parser_tables[1027]
+#define COLOR_parser_tables___ParserTable___action_table_row1023 SFT_parser_tables[1028]
+#define COLOR_parser_tables___ParserTable___action_table_row1024 SFT_parser_tables[1029]
+#define COLOR_parser_tables___ParserTable___action_table_row1025 SFT_parser_tables[1030]
+#define COLOR_parser_tables___ParserTable___action_table_row1026 SFT_parser_tables[1031]
+#define COLOR_parser_tables___ParserTable___action_table_row1027 SFT_parser_tables[1032]
+#define COLOR_parser_tables___ParserTable___action_table_row1028 SFT_parser_tables[1033]
+#define COLOR_parser_tables___ParserTable___action_table_row1029 SFT_parser_tables[1034]
+#define COLOR_parser_tables___ParserTable___action_table_row1030 SFT_parser_tables[1035]
+#define COLOR_parser_tables___ParserTable___action_table_row1031 SFT_parser_tables[1036]
+#define COLOR_parser_tables___ParserTable___action_table_row1032 SFT_parser_tables[1037]
+#define COLOR_parser_tables___ParserTable___action_table_row1033 SFT_parser_tables[1038]
+#define COLOR_parser_tables___ParserTable___action_table_row1034 SFT_parser_tables[1039]
+#define COLOR_parser_tables___ParserTable___action_table_row1035 SFT_parser_tables[1040]
+#define COLOR_parser_tables___ParserTable___action_table_row1036 SFT_parser_tables[1041]
+#define COLOR_parser_tables___ParserTable___action_table_row1037 SFT_parser_tables[1042]
+#define COLOR_parser_tables___ParserTable___action_table_row1038 SFT_parser_tables[1043]
+#define COLOR_parser_tables___ParserTable___action_table_row1039 SFT_parser_tables[1044]
+#define COLOR_parser_tables___ParserTable___action_table_row1040 SFT_parser_tables[1045]
+#define COLOR_parser_tables___ParserTable___action_table_row1041 SFT_parser_tables[1046]
+#define COLOR_parser_tables___ParserTable___action_table_row1042 SFT_parser_tables[1047]
+#define COLOR_parser_tables___ParserTable___action_table_row1043 SFT_parser_tables[1048]
+#define COLOR_parser_tables___ParserTable___action_table_row1044 SFT_parser_tables[1049]
+#define COLOR_parser_tables___ParserTable___action_table_row1045 SFT_parser_tables[1050]
+#define COLOR_parser_tables___ParserTable___action_table_row1046 SFT_parser_tables[1051]
+#define COLOR_parser_tables___ParserTable___action_table_row1047 SFT_parser_tables[1052]
+#define COLOR_parser_tables___ParserTable___action_table_row1048 SFT_parser_tables[1053]
+#define COLOR_parser_tables___ParserTable___action_table_row1049 SFT_parser_tables[1054]
+#define COLOR_parser_tables___ParserTable___action_table_row1050 SFT_parser_tables[1055]
+#define COLOR_parser_tables___ParserTable___action_table_row1051 SFT_parser_tables[1056]
+#define COLOR_parser_tables___ParserTable___action_table_row1052 SFT_parser_tables[1057]
+#define COLOR_parser_tables___ParserTable___action_table_row1053 SFT_parser_tables[1058]
+#define COLOR_parser_tables___ParserTable___action_table_row1054 SFT_parser_tables[1059]
+#define COLOR_parser_tables___ParserTable___action_table_row1055 SFT_parser_tables[1060]
+#define COLOR_parser_tables___ParserTable___action_table_row1056 SFT_parser_tables[1061]
+#define COLOR_parser_tables___ParserTable___action_table_row1057 SFT_parser_tables[1062]
+#define COLOR_parser_tables___ParserTable___action_table_row1058 SFT_parser_tables[1063]
+#define COLOR_parser_tables___ParserTable___action_table_row1059 SFT_parser_tables[1064]
+#define COLOR_parser_tables___ParserTable___action_table_row1060 SFT_parser_tables[1065]
+#define COLOR_parser_tables___ParserTable___action_table_row1061 SFT_parser_tables[1066]
+#define COLOR_parser_tables___ParserTable___action_table_row1062 SFT_parser_tables[1067]
+#define COLOR_parser_tables___ParserTable___action_table_row1063 SFT_parser_tables[1068]
+#define COLOR_parser_tables___ParserTable___action_table_row1064 SFT_parser_tables[1069]
+#define COLOR_parser_tables___ParserTable___action_table_row1065 SFT_parser_tables[1070]
+#define COLOR_parser_tables___ParserTable___action_table_row1066 SFT_parser_tables[1071]
+#define COLOR_parser_tables___ParserTable___action_table_row1067 SFT_parser_tables[1072]
+#define COLOR_parser_tables___ParserTable___action_table_row1068 SFT_parser_tables[1073]
+#define COLOR_parser_tables___ParserTable___action_table_row1069 SFT_parser_tables[1074]
+#define COLOR_parser_tables___ParserTable___action_table_row1070 SFT_parser_tables[1075]
+#define COLOR_parser_tables___ParserTable___action_table_row1071 SFT_parser_tables[1076]
+#define COLOR_parser_tables___ParserTable___action_table_row1072 SFT_parser_tables[1077]
+#define COLOR_parser_tables___ParserTable___action_table_row1073 SFT_parser_tables[1078]
+#define COLOR_parser_tables___ParserTable___action_table_row1074 SFT_parser_tables[1079]
+#define COLOR_parser_tables___ParserTable___action_table_row1075 SFT_parser_tables[1080]
+#define COLOR_parser_tables___ParserTable___action_table_row1076 SFT_parser_tables[1081]
+#define COLOR_parser_tables___ParserTable___action_table_row1077 SFT_parser_tables[1082]
+#define COLOR_parser_tables___ParserTable___action_table_row1078 SFT_parser_tables[1083]
+#define COLOR_parser_tables___ParserTable___action_table_row1079 SFT_parser_tables[1084]
+#define COLOR_parser_tables___ParserTable___action_table_row1080 SFT_parser_tables[1085]
+#define COLOR_parser_tables___ParserTable___action_table_row1081 SFT_parser_tables[1086]
+#define COLOR_parser_tables___ParserTable___action_table_row1082 SFT_parser_tables[1087]
+#define COLOR_parser_tables___ParserTable___action_table_row1083 SFT_parser_tables[1088]
+#define COLOR_parser_tables___ParserTable___action_table_row1084 SFT_parser_tables[1089]
+#define COLOR_parser_tables___ParserTable___action_table_row1085 SFT_parser_tables[1090]
+#define COLOR_parser_tables___ParserTable___action_table_row1086 SFT_parser_tables[1091]
+#define COLOR_parser_tables___ParserTable___action_table_row1087 SFT_parser_tables[1092]
+#define COLOR_parser_tables___ParserTable___action_table_row1088 SFT_parser_tables[1093]
+#define COLOR_parser_tables___ParserTable___action_table_row1089 SFT_parser_tables[1094]
+#define COLOR_parser_tables___ParserTable___action_table_row1090 SFT_parser_tables[1095]
+#define COLOR_parser_tables___ParserTable___action_table_row1091 SFT_parser_tables[1096]
+#define COLOR_parser_tables___ParserTable___action_table_row1092 SFT_parser_tables[1097]
+#define COLOR_parser_tables___ParserTable___action_table_row1093 SFT_parser_tables[1098]
+#define COLOR_parser_tables___ParserTable___action_table_row1094 SFT_parser_tables[1099]
+#define COLOR_parser_tables___ParserTable___action_table_row1095 SFT_parser_tables[1100]
+#define COLOR_parser_tables___ParserTable___action_table_row1096 SFT_parser_tables[1101]
+#define COLOR_parser_tables___ParserTable___action_table_row1097 SFT_parser_tables[1102]
+#define COLOR_parser_tables___ParserTable___action_table_row1098 SFT_parser_tables[1103]
+#define COLOR_parser_tables___ParserTable___action_table_row1099 SFT_parser_tables[1104]
+#define COLOR_parser_tables___ParserTable___action_table_row1100 SFT_parser_tables[1105]
+#define COLOR_parser_tables___ParserTable___action_table_row1101 SFT_parser_tables[1106]
+#define COLOR_parser_tables___ParserTable___action_table_row1102 SFT_parser_tables[1107]
+#define COLOR_parser_tables___ParserTable___action_table_row1103 SFT_parser_tables[1108]
+#define COLOR_parser_tables___ParserTable___action_table_row1104 SFT_parser_tables[1109]
+#define COLOR_parser_tables___ParserTable___action_table_row1105 SFT_parser_tables[1110]
+#define COLOR_parser_tables___ParserTable___action_table_row1106 SFT_parser_tables[1111]
+#define COLOR_parser_tables___ParserTable___action_table_row1107 SFT_parser_tables[1112]
+#define COLOR_parser_tables___ParserTable___action_table_row1108 SFT_parser_tables[1113]
+#define COLOR_parser_tables___ParserTable___action_table_row1109 SFT_parser_tables[1114]
+#define COLOR_parser_tables___ParserTable___action_table_row1110 SFT_parser_tables[1115]
+#define COLOR_parser_tables___ParserTable___action_table_row1111 SFT_parser_tables[1116]
+#define COLOR_parser_tables___ParserTable___action_table_row1112 SFT_parser_tables[1117]
+#define COLOR_parser_tables___ParserTable___action_table_row1113 SFT_parser_tables[1118]
+#define COLOR_parser_tables___ParserTable___action_table_row1114 SFT_parser_tables[1119]
+#define COLOR_parser_tables___ParserTable___action_table_row1115 SFT_parser_tables[1120]
+#define COLOR_parser_tables___ParserTable___action_table_row1116 SFT_parser_tables[1121]
+#define COLOR_parser_tables___ParserTable___action_table_row1117 SFT_parser_tables[1122]
+#define COLOR_parser_tables___ParserTable___action_table_row1118 SFT_parser_tables[1123]
+#define COLOR_parser_tables___ParserTable___action_table_row1119 SFT_parser_tables[1124]
+#define COLOR_parser_tables___ParserTable___action_table_row1120 SFT_parser_tables[1125]
+#define COLOR_parser_tables___ParserTable___action_table_row1121 SFT_parser_tables[1126]
+#define COLOR_parser_tables___ParserTable___action_table_row1122 SFT_parser_tables[1127]
+#define COLOR_parser_tables___ParserTable___action_table_row1123 SFT_parser_tables[1128]
+#define COLOR_parser_tables___ParserTable___action_table_row1124 SFT_parser_tables[1129]
+#define COLOR_parser_tables___ParserTable___action_table_row1125 SFT_parser_tables[1130]
+#define COLOR_parser_tables___ParserTable___action_table_row1126 SFT_parser_tables[1131]
+#define COLOR_parser_tables___ParserTable___action_table_row1127 SFT_parser_tables[1132]
+#define COLOR_parser_tables___ParserTable___action_table_row1128 SFT_parser_tables[1133]
+#define COLOR_parser_tables___ParserTable___action_table_row1129 SFT_parser_tables[1134]
+#define COLOR_parser_tables___ParserTable___action_table_row1130 SFT_parser_tables[1135]
+#define COLOR_parser_tables___ParserTable___action_table_row1131 SFT_parser_tables[1136]
+#define COLOR_parser_tables___ParserTable___action_table_row1132 SFT_parser_tables[1137]
+#define COLOR_parser_tables___ParserTable___action_table_row1133 SFT_parser_tables[1138]
+#define COLOR_parser_tables___ParserTable___action_table_row1134 SFT_parser_tables[1139]
+#define COLOR_parser_tables___ParserTable___action_table_row1135 SFT_parser_tables[1140]
+#define COLOR_parser_tables___ParserTable___action_table_row1136 SFT_parser_tables[1141]
+#define COLOR_parser_tables___ParserTable___action_table_row1137 SFT_parser_tables[1142]
+#define COLOR_parser_tables___ParserTable___action_table_row1138 SFT_parser_tables[1143]
+#define COLOR_parser_tables___ParserTable___action_table_row1139 SFT_parser_tables[1144]
+#define COLOR_parser_tables___ParserTable___action_table_row1140 SFT_parser_tables[1145]
+#define COLOR_parser_tables___ParserTable___action_table_row1141 SFT_parser_tables[1146]
+#define COLOR_parser_tables___ParserTable___action_table_row1142 SFT_parser_tables[1147]
+#define COLOR_parser_tables___ParserTable___action_table_row1143 SFT_parser_tables[1148]
+#define COLOR_parser_tables___ParserTable___action_table_row1144 SFT_parser_tables[1149]
+#define COLOR_parser_tables___ParserTable___action_table_row1145 SFT_parser_tables[1150]
+#define COLOR_parser_tables___ParserTable___action_table_row1146 SFT_parser_tables[1151]
+#define COLOR_parser_tables___ParserTable___action_table_row1147 SFT_parser_tables[1152]
+#define COLOR_parser_tables___ParserTable___action_table_row1148 SFT_parser_tables[1153]
+#define COLOR_parser_tables___ParserTable___action_table_row1149 SFT_parser_tables[1154]
+#define COLOR_parser_tables___ParserTable___action_table_row1150 SFT_parser_tables[1155]
+#define COLOR_parser_tables___ParserTable___action_table_row1151 SFT_parser_tables[1156]
+#define COLOR_parser_tables___ParserTable___action_table_row1152 SFT_parser_tables[1157]
+#define COLOR_parser_tables___ParserTable___action_table_row1153 SFT_parser_tables[1158]
+#define COLOR_parser_tables___ParserTable___action_table_row1154 SFT_parser_tables[1159]
+#define COLOR_parser_tables___ParserTable___action_table_row1155 SFT_parser_tables[1160]
+#define COLOR_parser_tables___ParserTable___action_table_row1156 SFT_parser_tables[1161]
+#define COLOR_parser_tables___ParserTable___action_table_row1157 SFT_parser_tables[1162]
+#define COLOR_parser_tables___ParserTable___action_table_row1158 SFT_parser_tables[1163]
+#define COLOR_parser_tables___ParserTable___action_table_row1159 SFT_parser_tables[1164]
+#define COLOR_parser_tables___ParserTable___action_table_row1160 SFT_parser_tables[1165]
+#define COLOR_parser_tables___ParserTable___action_table_row1161 SFT_parser_tables[1166]
+#define COLOR_parser_tables___ParserTable___action_table_row1162 SFT_parser_tables[1167]
+#define COLOR_parser_tables___ParserTable___action_table_row1163 SFT_parser_tables[1168]
+#define COLOR_parser_tables___ParserTable___action_table_row1164 SFT_parser_tables[1169]
+#define COLOR_parser_tables___ParserTable___action_table_row1165 SFT_parser_tables[1170]
+#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 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);
+#define LOCATE_parser_tables___ParserTable___build_action_table "parser_tables::ParserTable::build_action_table"
+typedef val_t (* parser_tables___ParserTable___action_table_row1_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1 "parser_tables::ParserTable::action_table_row1"
+typedef val_t (* parser_tables___ParserTable___action_table_row2_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row2(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row2 "parser_tables::ParserTable::action_table_row2"
+typedef val_t (* parser_tables___ParserTable___action_table_row3_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row3(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row3 "parser_tables::ParserTable::action_table_row3"
+typedef val_t (* parser_tables___ParserTable___action_table_row4_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row4(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row4 "parser_tables::ParserTable::action_table_row4"
+typedef val_t (* parser_tables___ParserTable___action_table_row5_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row5(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row5 "parser_tables::ParserTable::action_table_row5"
+typedef val_t (* parser_tables___ParserTable___action_table_row6_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row6(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row6 "parser_tables::ParserTable::action_table_row6"
+typedef val_t (* parser_tables___ParserTable___action_table_row7_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row7(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row7 "parser_tables::ParserTable::action_table_row7"
+typedef val_t (* parser_tables___ParserTable___action_table_row8_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row8(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row8 "parser_tables::ParserTable::action_table_row8"
+typedef val_t (* parser_tables___ParserTable___action_table_row9_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row9(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row9 "parser_tables::ParserTable::action_table_row9"
+typedef val_t (* parser_tables___ParserTable___action_table_row10_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row10(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row10 "parser_tables::ParserTable::action_table_row10"
+typedef val_t (* parser_tables___ParserTable___action_table_row11_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row11(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row11 "parser_tables::ParserTable::action_table_row11"
+typedef val_t (* parser_tables___ParserTable___action_table_row12_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row12(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row12 "parser_tables::ParserTable::action_table_row12"
+typedef val_t (* parser_tables___ParserTable___action_table_row13_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row13(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row13 "parser_tables::ParserTable::action_table_row13"
+typedef val_t (* parser_tables___ParserTable___action_table_row14_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row14(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row14 "parser_tables::ParserTable::action_table_row14"
+typedef val_t (* parser_tables___ParserTable___action_table_row15_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row15(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row15 "parser_tables::ParserTable::action_table_row15"
+typedef val_t (* parser_tables___ParserTable___action_table_row16_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row16(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row16 "parser_tables::ParserTable::action_table_row16"
+typedef val_t (* parser_tables___ParserTable___action_table_row17_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row17(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row17 "parser_tables::ParserTable::action_table_row17"
+typedef val_t (* parser_tables___ParserTable___action_table_row18_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row18(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row18 "parser_tables::ParserTable::action_table_row18"
+typedef val_t (* parser_tables___ParserTable___action_table_row19_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row19(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row19 "parser_tables::ParserTable::action_table_row19"
+typedef val_t (* parser_tables___ParserTable___action_table_row20_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row20(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row20 "parser_tables::ParserTable::action_table_row20"
+typedef val_t (* parser_tables___ParserTable___action_table_row21_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row21(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row21 "parser_tables::ParserTable::action_table_row21"
+typedef val_t (* parser_tables___ParserTable___action_table_row22_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row22(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row22 "parser_tables::ParserTable::action_table_row22"
+typedef val_t (* parser_tables___ParserTable___action_table_row23_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row23(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row23 "parser_tables::ParserTable::action_table_row23"
+typedef val_t (* parser_tables___ParserTable___action_table_row24_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row24(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row24 "parser_tables::ParserTable::action_table_row24"
+typedef val_t (* parser_tables___ParserTable___action_table_row25_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row25(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row25 "parser_tables::ParserTable::action_table_row25"
+typedef val_t (* parser_tables___ParserTable___action_table_row26_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row26(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row26 "parser_tables::ParserTable::action_table_row26"
+typedef val_t (* parser_tables___ParserTable___action_table_row27_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row27(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row27 "parser_tables::ParserTable::action_table_row27"
+typedef val_t (* parser_tables___ParserTable___action_table_row28_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row28(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row28 "parser_tables::ParserTable::action_table_row28"
+typedef val_t (* parser_tables___ParserTable___action_table_row29_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row29(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row29 "parser_tables::ParserTable::action_table_row29"
+typedef val_t (* parser_tables___ParserTable___action_table_row30_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row30(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row30 "parser_tables::ParserTable::action_table_row30"
+typedef val_t (* parser_tables___ParserTable___action_table_row31_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row31(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row31 "parser_tables::ParserTable::action_table_row31"
+typedef val_t (* parser_tables___ParserTable___action_table_row32_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row32(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row32 "parser_tables::ParserTable::action_table_row32"
+typedef val_t (* parser_tables___ParserTable___action_table_row33_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row33(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row33 "parser_tables::ParserTable::action_table_row33"
+typedef val_t (* parser_tables___ParserTable___action_table_row34_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row34(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row34 "parser_tables::ParserTable::action_table_row34"
+typedef val_t (* parser_tables___ParserTable___action_table_row35_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row35(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row35 "parser_tables::ParserTable::action_table_row35"
+typedef val_t (* parser_tables___ParserTable___action_table_row36_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row36(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row36 "parser_tables::ParserTable::action_table_row36"
+typedef val_t (* parser_tables___ParserTable___action_table_row37_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row37(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row37 "parser_tables::ParserTable::action_table_row37"
+typedef val_t (* parser_tables___ParserTable___action_table_row38_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row38(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row38 "parser_tables::ParserTable::action_table_row38"
+typedef val_t (* parser_tables___ParserTable___action_table_row39_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row39(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row39 "parser_tables::ParserTable::action_table_row39"
+typedef val_t (* parser_tables___ParserTable___action_table_row40_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row40(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row40 "parser_tables::ParserTable::action_table_row40"
+typedef val_t (* parser_tables___ParserTable___action_table_row41_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row41(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row41 "parser_tables::ParserTable::action_table_row41"
+typedef val_t (* parser_tables___ParserTable___action_table_row42_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row42(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row42 "parser_tables::ParserTable::action_table_row42"
+typedef val_t (* parser_tables___ParserTable___action_table_row43_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row43(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row43 "parser_tables::ParserTable::action_table_row43"
+typedef val_t (* parser_tables___ParserTable___action_table_row44_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row44(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row44 "parser_tables::ParserTable::action_table_row44"
+typedef val_t (* parser_tables___ParserTable___action_table_row45_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row45(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row45 "parser_tables::ParserTable::action_table_row45"
+typedef val_t (* parser_tables___ParserTable___action_table_row46_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row46(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row46 "parser_tables::ParserTable::action_table_row46"
+typedef val_t (* parser_tables___ParserTable___action_table_row47_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row47(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row47 "parser_tables::ParserTable::action_table_row47"
+typedef val_t (* parser_tables___ParserTable___action_table_row48_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row48(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row48 "parser_tables::ParserTable::action_table_row48"
+typedef val_t (* parser_tables___ParserTable___action_table_row49_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row49(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row49 "parser_tables::ParserTable::action_table_row49"
+typedef val_t (* parser_tables___ParserTable___action_table_row50_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row50(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row50 "parser_tables::ParserTable::action_table_row50"
+typedef val_t (* parser_tables___ParserTable___action_table_row51_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row51(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row51 "parser_tables::ParserTable::action_table_row51"
+typedef val_t (* parser_tables___ParserTable___action_table_row52_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row52(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row52 "parser_tables::ParserTable::action_table_row52"
+typedef val_t (* parser_tables___ParserTable___action_table_row53_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row53(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row53 "parser_tables::ParserTable::action_table_row53"
+typedef val_t (* parser_tables___ParserTable___action_table_row54_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row54(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row54 "parser_tables::ParserTable::action_table_row54"
+typedef val_t (* parser_tables___ParserTable___action_table_row55_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row55(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row55 "parser_tables::ParserTable::action_table_row55"
+typedef val_t (* parser_tables___ParserTable___action_table_row56_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row56(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row56 "parser_tables::ParserTable::action_table_row56"
+typedef val_t (* parser_tables___ParserTable___action_table_row57_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row57(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row57 "parser_tables::ParserTable::action_table_row57"
+typedef val_t (* parser_tables___ParserTable___action_table_row58_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row58(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row58 "parser_tables::ParserTable::action_table_row58"
+typedef val_t (* parser_tables___ParserTable___action_table_row59_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row59(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row59 "parser_tables::ParserTable::action_table_row59"
+typedef val_t (* parser_tables___ParserTable___action_table_row60_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row60(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row60 "parser_tables::ParserTable::action_table_row60"
+typedef val_t (* parser_tables___ParserTable___action_table_row61_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row61(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row61 "parser_tables::ParserTable::action_table_row61"
+typedef val_t (* parser_tables___ParserTable___action_table_row62_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row62(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row62 "parser_tables::ParserTable::action_table_row62"
+typedef val_t (* parser_tables___ParserTable___action_table_row63_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row63(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row63 "parser_tables::ParserTable::action_table_row63"
+typedef val_t (* parser_tables___ParserTable___action_table_row64_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row64(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row64 "parser_tables::ParserTable::action_table_row64"
+typedef val_t (* parser_tables___ParserTable___action_table_row65_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row65(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row65 "parser_tables::ParserTable::action_table_row65"
+typedef val_t (* parser_tables___ParserTable___action_table_row66_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row66(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row66 "parser_tables::ParserTable::action_table_row66"
+typedef val_t (* parser_tables___ParserTable___action_table_row67_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row67(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row67 "parser_tables::ParserTable::action_table_row67"
+typedef val_t (* parser_tables___ParserTable___action_table_row68_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row68(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row68 "parser_tables::ParserTable::action_table_row68"
+typedef val_t (* parser_tables___ParserTable___action_table_row69_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row69(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row69 "parser_tables::ParserTable::action_table_row69"
+typedef val_t (* parser_tables___ParserTable___action_table_row70_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row70(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row70 "parser_tables::ParserTable::action_table_row70"
+typedef val_t (* parser_tables___ParserTable___action_table_row71_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row71(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row71 "parser_tables::ParserTable::action_table_row71"
+typedef val_t (* parser_tables___ParserTable___action_table_row72_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row72(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row72 "parser_tables::ParserTable::action_table_row72"
+typedef val_t (* parser_tables___ParserTable___action_table_row73_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row73(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row73 "parser_tables::ParserTable::action_table_row73"
+typedef val_t (* parser_tables___ParserTable___action_table_row74_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row74(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row74 "parser_tables::ParserTable::action_table_row74"
+typedef val_t (* parser_tables___ParserTable___action_table_row75_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row75(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row75 "parser_tables::ParserTable::action_table_row75"
+typedef val_t (* parser_tables___ParserTable___action_table_row76_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row76(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row76 "parser_tables::ParserTable::action_table_row76"
+typedef val_t (* parser_tables___ParserTable___action_table_row77_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row77(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row77 "parser_tables::ParserTable::action_table_row77"
+typedef val_t (* parser_tables___ParserTable___action_table_row78_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row78(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row78 "parser_tables::ParserTable::action_table_row78"
+typedef val_t (* parser_tables___ParserTable___action_table_row79_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row79(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row79 "parser_tables::ParserTable::action_table_row79"
+typedef val_t (* parser_tables___ParserTable___action_table_row80_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row80(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row80 "parser_tables::ParserTable::action_table_row80"
+typedef val_t (* parser_tables___ParserTable___action_table_row81_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row81(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row81 "parser_tables::ParserTable::action_table_row81"
+typedef val_t (* parser_tables___ParserTable___action_table_row82_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row82(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row82 "parser_tables::ParserTable::action_table_row82"
+typedef val_t (* parser_tables___ParserTable___action_table_row83_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row83(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row83 "parser_tables::ParserTable::action_table_row83"
+typedef val_t (* parser_tables___ParserTable___action_table_row84_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row84(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row84 "parser_tables::ParserTable::action_table_row84"
+typedef val_t (* parser_tables___ParserTable___action_table_row85_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row85(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row85 "parser_tables::ParserTable::action_table_row85"
+typedef val_t (* parser_tables___ParserTable___action_table_row86_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row86(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row86 "parser_tables::ParserTable::action_table_row86"
+typedef val_t (* parser_tables___ParserTable___action_table_row87_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row87(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row87 "parser_tables::ParserTable::action_table_row87"
+typedef val_t (* parser_tables___ParserTable___action_table_row88_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row88(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row88 "parser_tables::ParserTable::action_table_row88"
+typedef val_t (* parser_tables___ParserTable___action_table_row89_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row89(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row89 "parser_tables::ParserTable::action_table_row89"
+typedef val_t (* parser_tables___ParserTable___action_table_row90_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row90(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row90 "parser_tables::ParserTable::action_table_row90"
+typedef val_t (* parser_tables___ParserTable___action_table_row91_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row91(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row91 "parser_tables::ParserTable::action_table_row91"
+typedef val_t (* parser_tables___ParserTable___action_table_row92_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row92(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row92 "parser_tables::ParserTable::action_table_row92"
+typedef val_t (* parser_tables___ParserTable___action_table_row93_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row93(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row93 "parser_tables::ParserTable::action_table_row93"
+typedef val_t (* parser_tables___ParserTable___action_table_row94_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row94(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row94 "parser_tables::ParserTable::action_table_row94"
+typedef val_t (* parser_tables___ParserTable___action_table_row95_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row95(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row95 "parser_tables::ParserTable::action_table_row95"
+typedef val_t (* parser_tables___ParserTable___action_table_row96_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row96(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row96 "parser_tables::ParserTable::action_table_row96"
+typedef val_t (* parser_tables___ParserTable___action_table_row97_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row97(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row97 "parser_tables::ParserTable::action_table_row97"
+typedef val_t (* parser_tables___ParserTable___action_table_row98_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row98(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row98 "parser_tables::ParserTable::action_table_row98"
+typedef val_t (* parser_tables___ParserTable___action_table_row99_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row99(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row99 "parser_tables::ParserTable::action_table_row99"
+typedef val_t (* parser_tables___ParserTable___action_table_row100_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row100(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row100 "parser_tables::ParserTable::action_table_row100"
+typedef val_t (* parser_tables___ParserTable___action_table_row101_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row101(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row101 "parser_tables::ParserTable::action_table_row101"
+typedef val_t (* parser_tables___ParserTable___action_table_row102_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row102(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row102 "parser_tables::ParserTable::action_table_row102"
+typedef val_t (* parser_tables___ParserTable___action_table_row103_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row103(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row103 "parser_tables::ParserTable::action_table_row103"
+typedef val_t (* parser_tables___ParserTable___action_table_row104_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row104(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row104 "parser_tables::ParserTable::action_table_row104"
+typedef val_t (* parser_tables___ParserTable___action_table_row105_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row105(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row105 "parser_tables::ParserTable::action_table_row105"
+typedef val_t (* parser_tables___ParserTable___action_table_row106_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row106(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row106 "parser_tables::ParserTable::action_table_row106"
+typedef val_t (* parser_tables___ParserTable___action_table_row107_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row107(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row107 "parser_tables::ParserTable::action_table_row107"
+typedef val_t (* parser_tables___ParserTable___action_table_row108_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row108(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row108 "parser_tables::ParserTable::action_table_row108"
+typedef val_t (* parser_tables___ParserTable___action_table_row109_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row109(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row109 "parser_tables::ParserTable::action_table_row109"
+typedef val_t (* parser_tables___ParserTable___action_table_row110_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row110(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row110 "parser_tables::ParserTable::action_table_row110"
+typedef val_t (* parser_tables___ParserTable___action_table_row111_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row111(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row111 "parser_tables::ParserTable::action_table_row111"
+typedef val_t (* parser_tables___ParserTable___action_table_row112_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row112(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row112 "parser_tables::ParserTable::action_table_row112"
+typedef val_t (* parser_tables___ParserTable___action_table_row113_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row113(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row113 "parser_tables::ParserTable::action_table_row113"
+typedef val_t (* parser_tables___ParserTable___action_table_row114_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row114(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row114 "parser_tables::ParserTable::action_table_row114"
+typedef val_t (* parser_tables___ParserTable___action_table_row115_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row115(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row115 "parser_tables::ParserTable::action_table_row115"
+typedef val_t (* parser_tables___ParserTable___action_table_row116_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row116(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row116 "parser_tables::ParserTable::action_table_row116"
+typedef val_t (* parser_tables___ParserTable___action_table_row117_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row117(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row117 "parser_tables::ParserTable::action_table_row117"
+typedef val_t (* parser_tables___ParserTable___action_table_row118_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row118(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row118 "parser_tables::ParserTable::action_table_row118"
+typedef val_t (* parser_tables___ParserTable___action_table_row119_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row119(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row119 "parser_tables::ParserTable::action_table_row119"
+typedef val_t (* parser_tables___ParserTable___action_table_row120_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row120(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row120 "parser_tables::ParserTable::action_table_row120"
+typedef val_t (* parser_tables___ParserTable___action_table_row121_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row121(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row121 "parser_tables::ParserTable::action_table_row121"
+typedef val_t (* parser_tables___ParserTable___action_table_row122_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row122(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row122 "parser_tables::ParserTable::action_table_row122"
+typedef val_t (* parser_tables___ParserTable___action_table_row123_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row123(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row123 "parser_tables::ParserTable::action_table_row123"
+typedef val_t (* parser_tables___ParserTable___action_table_row124_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row124(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row124 "parser_tables::ParserTable::action_table_row124"
+typedef val_t (* parser_tables___ParserTable___action_table_row125_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row125(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row125 "parser_tables::ParserTable::action_table_row125"
+typedef val_t (* parser_tables___ParserTable___action_table_row126_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row126(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row126 "parser_tables::ParserTable::action_table_row126"
+typedef val_t (* parser_tables___ParserTable___action_table_row127_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row127(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row127 "parser_tables::ParserTable::action_table_row127"
+typedef val_t (* parser_tables___ParserTable___action_table_row128_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row128(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row128 "parser_tables::ParserTable::action_table_row128"
+typedef val_t (* parser_tables___ParserTable___action_table_row129_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row129(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row129 "parser_tables::ParserTable::action_table_row129"
+typedef val_t (* parser_tables___ParserTable___action_table_row130_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row130(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row130 "parser_tables::ParserTable::action_table_row130"
+typedef val_t (* parser_tables___ParserTable___action_table_row131_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row131(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row131 "parser_tables::ParserTable::action_table_row131"
+typedef val_t (* parser_tables___ParserTable___action_table_row132_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row132(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row132 "parser_tables::ParserTable::action_table_row132"
+typedef val_t (* parser_tables___ParserTable___action_table_row133_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row133(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row133 "parser_tables::ParserTable::action_table_row133"
+typedef val_t (* parser_tables___ParserTable___action_table_row134_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row134(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row134 "parser_tables::ParserTable::action_table_row134"
+typedef val_t (* parser_tables___ParserTable___action_table_row135_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row135(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row135 "parser_tables::ParserTable::action_table_row135"
+typedef val_t (* parser_tables___ParserTable___action_table_row136_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row136(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row136 "parser_tables::ParserTable::action_table_row136"
+typedef val_t (* parser_tables___ParserTable___action_table_row137_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row137(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row137 "parser_tables::ParserTable::action_table_row137"
+typedef val_t (* parser_tables___ParserTable___action_table_row138_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row138(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row138 "parser_tables::ParserTable::action_table_row138"
+typedef val_t (* parser_tables___ParserTable___action_table_row139_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row139(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row139 "parser_tables::ParserTable::action_table_row139"
+typedef val_t (* parser_tables___ParserTable___action_table_row140_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row140(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row140 "parser_tables::ParserTable::action_table_row140"
+typedef val_t (* parser_tables___ParserTable___action_table_row141_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row141(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row141 "parser_tables::ParserTable::action_table_row141"
+typedef val_t (* parser_tables___ParserTable___action_table_row142_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row142(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row142 "parser_tables::ParserTable::action_table_row142"
+typedef val_t (* parser_tables___ParserTable___action_table_row143_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row143(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row143 "parser_tables::ParserTable::action_table_row143"
+typedef val_t (* parser_tables___ParserTable___action_table_row144_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row144(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row144 "parser_tables::ParserTable::action_table_row144"
+typedef val_t (* parser_tables___ParserTable___action_table_row145_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row145(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row145 "parser_tables::ParserTable::action_table_row145"
+typedef val_t (* parser_tables___ParserTable___action_table_row146_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row146(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row146 "parser_tables::ParserTable::action_table_row146"
+typedef val_t (* parser_tables___ParserTable___action_table_row147_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row147(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row147 "parser_tables::ParserTable::action_table_row147"
+typedef val_t (* parser_tables___ParserTable___action_table_row148_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row148(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row148 "parser_tables::ParserTable::action_table_row148"
+typedef val_t (* parser_tables___ParserTable___action_table_row149_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row149(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row149 "parser_tables::ParserTable::action_table_row149"
+typedef val_t (* parser_tables___ParserTable___action_table_row150_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row150(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row150 "parser_tables::ParserTable::action_table_row150"
+typedef val_t (* parser_tables___ParserTable___action_table_row151_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row151(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row151 "parser_tables::ParserTable::action_table_row151"
+typedef val_t (* parser_tables___ParserTable___action_table_row152_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row152(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row152 "parser_tables::ParserTable::action_table_row152"
+typedef val_t (* parser_tables___ParserTable___action_table_row153_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row153(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row153 "parser_tables::ParserTable::action_table_row153"
+typedef val_t (* parser_tables___ParserTable___action_table_row154_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row154(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row154 "parser_tables::ParserTable::action_table_row154"
+typedef val_t (* parser_tables___ParserTable___action_table_row155_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row155(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row155 "parser_tables::ParserTable::action_table_row155"
+typedef val_t (* parser_tables___ParserTable___action_table_row156_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row156(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row156 "parser_tables::ParserTable::action_table_row156"
+typedef val_t (* parser_tables___ParserTable___action_table_row157_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row157(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row157 "parser_tables::ParserTable::action_table_row157"
+typedef val_t (* parser_tables___ParserTable___action_table_row158_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row158(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row158 "parser_tables::ParserTable::action_table_row158"
+typedef val_t (* parser_tables___ParserTable___action_table_row159_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row159(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row159 "parser_tables::ParserTable::action_table_row159"
+typedef val_t (* parser_tables___ParserTable___action_table_row160_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row160(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row160 "parser_tables::ParserTable::action_table_row160"
+typedef val_t (* parser_tables___ParserTable___action_table_row161_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row161(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row161 "parser_tables::ParserTable::action_table_row161"
+typedef val_t (* parser_tables___ParserTable___action_table_row162_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row162(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row162 "parser_tables::ParserTable::action_table_row162"
+typedef val_t (* parser_tables___ParserTable___action_table_row163_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row163(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row163 "parser_tables::ParserTable::action_table_row163"
+typedef val_t (* parser_tables___ParserTable___action_table_row164_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row164(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row164 "parser_tables::ParserTable::action_table_row164"
+typedef val_t (* parser_tables___ParserTable___action_table_row165_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row165(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row165 "parser_tables::ParserTable::action_table_row165"
+typedef val_t (* parser_tables___ParserTable___action_table_row166_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row166(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row166 "parser_tables::ParserTable::action_table_row166"
+typedef val_t (* parser_tables___ParserTable___action_table_row167_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row167(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row167 "parser_tables::ParserTable::action_table_row167"
+typedef val_t (* parser_tables___ParserTable___action_table_row168_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row168(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row168 "parser_tables::ParserTable::action_table_row168"
+typedef val_t (* parser_tables___ParserTable___action_table_row169_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row169(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row169 "parser_tables::ParserTable::action_table_row169"
+typedef val_t (* parser_tables___ParserTable___action_table_row170_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row170(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row170 "parser_tables::ParserTable::action_table_row170"
+typedef val_t (* parser_tables___ParserTable___action_table_row171_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row171(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row171 "parser_tables::ParserTable::action_table_row171"
+typedef val_t (* parser_tables___ParserTable___action_table_row172_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row172(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row172 "parser_tables::ParserTable::action_table_row172"
+typedef val_t (* parser_tables___ParserTable___action_table_row173_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row173(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row173 "parser_tables::ParserTable::action_table_row173"
+typedef val_t (* parser_tables___ParserTable___action_table_row174_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row174(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row174 "parser_tables::ParserTable::action_table_row174"
+typedef val_t (* parser_tables___ParserTable___action_table_row175_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row175(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row175 "parser_tables::ParserTable::action_table_row175"
+typedef val_t (* parser_tables___ParserTable___action_table_row176_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row176(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row176 "parser_tables::ParserTable::action_table_row176"
+typedef val_t (* parser_tables___ParserTable___action_table_row177_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row177(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row177 "parser_tables::ParserTable::action_table_row177"
+typedef val_t (* parser_tables___ParserTable___action_table_row178_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row178(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row178 "parser_tables::ParserTable::action_table_row178"
+typedef val_t (* parser_tables___ParserTable___action_table_row179_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row179(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row179 "parser_tables::ParserTable::action_table_row179"
+typedef val_t (* parser_tables___ParserTable___action_table_row180_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row180(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row180 "parser_tables::ParserTable::action_table_row180"
+typedef val_t (* parser_tables___ParserTable___action_table_row181_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row181(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row181 "parser_tables::ParserTable::action_table_row181"
+typedef val_t (* parser_tables___ParserTable___action_table_row182_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row182(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row182 "parser_tables::ParserTable::action_table_row182"
+typedef val_t (* parser_tables___ParserTable___action_table_row183_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row183(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row183 "parser_tables::ParserTable::action_table_row183"
+typedef val_t (* parser_tables___ParserTable___action_table_row184_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row184(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row184 "parser_tables::ParserTable::action_table_row184"
+typedef val_t (* parser_tables___ParserTable___action_table_row185_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row185(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row185 "parser_tables::ParserTable::action_table_row185"
+typedef val_t (* parser_tables___ParserTable___action_table_row186_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row186(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row186 "parser_tables::ParserTable::action_table_row186"
+typedef val_t (* parser_tables___ParserTable___action_table_row187_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row187(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row187 "parser_tables::ParserTable::action_table_row187"
+typedef val_t (* parser_tables___ParserTable___action_table_row188_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row188(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row188 "parser_tables::ParserTable::action_table_row188"
+typedef val_t (* parser_tables___ParserTable___action_table_row189_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row189(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row189 "parser_tables::ParserTable::action_table_row189"
+typedef val_t (* parser_tables___ParserTable___action_table_row190_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row190(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row190 "parser_tables::ParserTable::action_table_row190"
+typedef val_t (* parser_tables___ParserTable___action_table_row191_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row191(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row191 "parser_tables::ParserTable::action_table_row191"
+typedef val_t (* parser_tables___ParserTable___action_table_row192_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row192(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row192 "parser_tables::ParserTable::action_table_row192"
+typedef val_t (* parser_tables___ParserTable___action_table_row193_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row193(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row193 "parser_tables::ParserTable::action_table_row193"
+typedef val_t (* parser_tables___ParserTable___action_table_row194_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row194(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row194 "parser_tables::ParserTable::action_table_row194"
+typedef val_t (* parser_tables___ParserTable___action_table_row195_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row195(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row195 "parser_tables::ParserTable::action_table_row195"
+typedef val_t (* parser_tables___ParserTable___action_table_row196_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row196(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row196 "parser_tables::ParserTable::action_table_row196"
+typedef val_t (* parser_tables___ParserTable___action_table_row197_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row197(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row197 "parser_tables::ParserTable::action_table_row197"
+typedef val_t (* parser_tables___ParserTable___action_table_row198_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row198(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row198 "parser_tables::ParserTable::action_table_row198"
+typedef val_t (* parser_tables___ParserTable___action_table_row199_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row199(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row199 "parser_tables::ParserTable::action_table_row199"
+typedef val_t (* parser_tables___ParserTable___action_table_row200_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row200(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row200 "parser_tables::ParserTable::action_table_row200"
+typedef val_t (* parser_tables___ParserTable___action_table_row201_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row201(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row201 "parser_tables::ParserTable::action_table_row201"
+typedef val_t (* parser_tables___ParserTable___action_table_row202_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row202(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row202 "parser_tables::ParserTable::action_table_row202"
+typedef val_t (* parser_tables___ParserTable___action_table_row203_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row203(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row203 "parser_tables::ParserTable::action_table_row203"
+typedef val_t (* parser_tables___ParserTable___action_table_row204_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row204(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row204 "parser_tables::ParserTable::action_table_row204"
+typedef val_t (* parser_tables___ParserTable___action_table_row205_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row205(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row205 "parser_tables::ParserTable::action_table_row205"
+typedef val_t (* parser_tables___ParserTable___action_table_row206_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row206(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row206 "parser_tables::ParserTable::action_table_row206"
+typedef val_t (* parser_tables___ParserTable___action_table_row207_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row207(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row207 "parser_tables::ParserTable::action_table_row207"
+typedef val_t (* parser_tables___ParserTable___action_table_row208_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row208(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row208 "parser_tables::ParserTable::action_table_row208"
+typedef val_t (* parser_tables___ParserTable___action_table_row209_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row209(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row209 "parser_tables::ParserTable::action_table_row209"
+typedef val_t (* parser_tables___ParserTable___action_table_row210_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row210(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row210 "parser_tables::ParserTable::action_table_row210"
+typedef val_t (* parser_tables___ParserTable___action_table_row211_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row211(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row211 "parser_tables::ParserTable::action_table_row211"
+typedef val_t (* parser_tables___ParserTable___action_table_row212_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row212(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row212 "parser_tables::ParserTable::action_table_row212"
+typedef val_t (* parser_tables___ParserTable___action_table_row213_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row213(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row213 "parser_tables::ParserTable::action_table_row213"
+typedef val_t (* parser_tables___ParserTable___action_table_row214_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row214(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row214 "parser_tables::ParserTable::action_table_row214"
+typedef val_t (* parser_tables___ParserTable___action_table_row215_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row215(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row215 "parser_tables::ParserTable::action_table_row215"
+typedef val_t (* parser_tables___ParserTable___action_table_row216_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row216(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row216 "parser_tables::ParserTable::action_table_row216"
+typedef val_t (* parser_tables___ParserTable___action_table_row217_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row217(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row217 "parser_tables::ParserTable::action_table_row217"
+typedef val_t (* parser_tables___ParserTable___action_table_row218_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row218(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row218 "parser_tables::ParserTable::action_table_row218"
+typedef val_t (* parser_tables___ParserTable___action_table_row219_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row219(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row219 "parser_tables::ParserTable::action_table_row219"
+typedef val_t (* parser_tables___ParserTable___action_table_row220_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row220(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row220 "parser_tables::ParserTable::action_table_row220"
+typedef val_t (* parser_tables___ParserTable___action_table_row221_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row221(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row221 "parser_tables::ParserTable::action_table_row221"
+typedef val_t (* parser_tables___ParserTable___action_table_row222_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row222(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row222 "parser_tables::ParserTable::action_table_row222"
+typedef val_t (* parser_tables___ParserTable___action_table_row223_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row223(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row223 "parser_tables::ParserTable::action_table_row223"
+typedef val_t (* parser_tables___ParserTable___action_table_row224_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row224(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row224 "parser_tables::ParserTable::action_table_row224"
+typedef val_t (* parser_tables___ParserTable___action_table_row225_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row225(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row225 "parser_tables::ParserTable::action_table_row225"
+typedef val_t (* parser_tables___ParserTable___action_table_row226_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row226(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row226 "parser_tables::ParserTable::action_table_row226"
+typedef val_t (* parser_tables___ParserTable___action_table_row227_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row227(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row227 "parser_tables::ParserTable::action_table_row227"
+typedef val_t (* parser_tables___ParserTable___action_table_row228_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row228(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row228 "parser_tables::ParserTable::action_table_row228"
+typedef val_t (* parser_tables___ParserTable___action_table_row229_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row229(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row229 "parser_tables::ParserTable::action_table_row229"
+typedef val_t (* parser_tables___ParserTable___action_table_row230_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row230(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row230 "parser_tables::ParserTable::action_table_row230"
+typedef val_t (* parser_tables___ParserTable___action_table_row231_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row231(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row231 "parser_tables::ParserTable::action_table_row231"
+typedef val_t (* parser_tables___ParserTable___action_table_row232_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row232(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row232 "parser_tables::ParserTable::action_table_row232"
+typedef val_t (* parser_tables___ParserTable___action_table_row233_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row233(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row233 "parser_tables::ParserTable::action_table_row233"
+typedef val_t (* parser_tables___ParserTable___action_table_row234_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row234(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row234 "parser_tables::ParserTable::action_table_row234"
+typedef val_t (* parser_tables___ParserTable___action_table_row235_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row235(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row235 "parser_tables::ParserTable::action_table_row235"
+typedef val_t (* parser_tables___ParserTable___action_table_row236_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row236(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row236 "parser_tables::ParserTable::action_table_row236"
+typedef val_t (* parser_tables___ParserTable___action_table_row237_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row237(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row237 "parser_tables::ParserTable::action_table_row237"
+typedef val_t (* parser_tables___ParserTable___action_table_row238_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row238(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row238 "parser_tables::ParserTable::action_table_row238"
+typedef val_t (* parser_tables___ParserTable___action_table_row239_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row239(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row239 "parser_tables::ParserTable::action_table_row239"
+typedef val_t (* parser_tables___ParserTable___action_table_row240_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row240(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row240 "parser_tables::ParserTable::action_table_row240"
+typedef val_t (* parser_tables___ParserTable___action_table_row241_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row241(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row241 "parser_tables::ParserTable::action_table_row241"
+typedef val_t (* parser_tables___ParserTable___action_table_row242_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row242(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row242 "parser_tables::ParserTable::action_table_row242"
+typedef val_t (* parser_tables___ParserTable___action_table_row243_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row243(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row243 "parser_tables::ParserTable::action_table_row243"
+typedef val_t (* parser_tables___ParserTable___action_table_row244_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row244(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row244 "parser_tables::ParserTable::action_table_row244"
+typedef val_t (* parser_tables___ParserTable___action_table_row245_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row245(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row245 "parser_tables::ParserTable::action_table_row245"
+typedef val_t (* parser_tables___ParserTable___action_table_row246_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row246(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row246 "parser_tables::ParserTable::action_table_row246"
+typedef val_t (* parser_tables___ParserTable___action_table_row247_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row247(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row247 "parser_tables::ParserTable::action_table_row247"
+typedef val_t (* parser_tables___ParserTable___action_table_row248_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row248(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row248 "parser_tables::ParserTable::action_table_row248"
+typedef val_t (* parser_tables___ParserTable___action_table_row249_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row249(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row249 "parser_tables::ParserTable::action_table_row249"
+typedef val_t (* parser_tables___ParserTable___action_table_row250_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row250(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row250 "parser_tables::ParserTable::action_table_row250"
+typedef val_t (* parser_tables___ParserTable___action_table_row251_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row251(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row251 "parser_tables::ParserTable::action_table_row251"
+typedef val_t (* parser_tables___ParserTable___action_table_row252_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row252(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row252 "parser_tables::ParserTable::action_table_row252"
+typedef val_t (* parser_tables___ParserTable___action_table_row253_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row253(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row253 "parser_tables::ParserTable::action_table_row253"
+typedef val_t (* parser_tables___ParserTable___action_table_row254_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row254(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row254 "parser_tables::ParserTable::action_table_row254"
+typedef val_t (* parser_tables___ParserTable___action_table_row255_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row255(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row255 "parser_tables::ParserTable::action_table_row255"
+typedef val_t (* parser_tables___ParserTable___action_table_row256_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row256(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row256 "parser_tables::ParserTable::action_table_row256"
+typedef val_t (* parser_tables___ParserTable___action_table_row257_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row257(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row257 "parser_tables::ParserTable::action_table_row257"
+typedef val_t (* parser_tables___ParserTable___action_table_row258_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row258(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row258 "parser_tables::ParserTable::action_table_row258"
+typedef val_t (* parser_tables___ParserTable___action_table_row259_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row259(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row259 "parser_tables::ParserTable::action_table_row259"
+typedef val_t (* parser_tables___ParserTable___action_table_row260_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row260(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row260 "parser_tables::ParserTable::action_table_row260"
+typedef val_t (* parser_tables___ParserTable___action_table_row261_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row261(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row261 "parser_tables::ParserTable::action_table_row261"
+typedef val_t (* parser_tables___ParserTable___action_table_row262_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row262(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row262 "parser_tables::ParserTable::action_table_row262"
+typedef val_t (* parser_tables___ParserTable___action_table_row263_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row263(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row263 "parser_tables::ParserTable::action_table_row263"
+typedef val_t (* parser_tables___ParserTable___action_table_row264_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row264(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row264 "parser_tables::ParserTable::action_table_row264"
+typedef val_t (* parser_tables___ParserTable___action_table_row265_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row265(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row265 "parser_tables::ParserTable::action_table_row265"
+typedef val_t (* parser_tables___ParserTable___action_table_row266_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row266(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row266 "parser_tables::ParserTable::action_table_row266"
+typedef val_t (* parser_tables___ParserTable___action_table_row267_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row267(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row267 "parser_tables::ParserTable::action_table_row267"
+typedef val_t (* parser_tables___ParserTable___action_table_row268_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row268(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row268 "parser_tables::ParserTable::action_table_row268"
+typedef val_t (* parser_tables___ParserTable___action_table_row269_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row269(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row269 "parser_tables::ParserTable::action_table_row269"
+typedef val_t (* parser_tables___ParserTable___action_table_row270_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row270(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row270 "parser_tables::ParserTable::action_table_row270"
+typedef val_t (* parser_tables___ParserTable___action_table_row271_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row271(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row271 "parser_tables::ParserTable::action_table_row271"
+typedef val_t (* parser_tables___ParserTable___action_table_row272_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row272(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row272 "parser_tables::ParserTable::action_table_row272"
+typedef val_t (* parser_tables___ParserTable___action_table_row273_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row273(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row273 "parser_tables::ParserTable::action_table_row273"
+typedef val_t (* parser_tables___ParserTable___action_table_row274_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row274(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row274 "parser_tables::ParserTable::action_table_row274"
+typedef val_t (* parser_tables___ParserTable___action_table_row275_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row275(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row275 "parser_tables::ParserTable::action_table_row275"
+typedef val_t (* parser_tables___ParserTable___action_table_row276_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row276(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row276 "parser_tables::ParserTable::action_table_row276"
+typedef val_t (* parser_tables___ParserTable___action_table_row277_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row277(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row277 "parser_tables::ParserTable::action_table_row277"
+typedef val_t (* parser_tables___ParserTable___action_table_row278_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row278(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row278 "parser_tables::ParserTable::action_table_row278"
+typedef val_t (* parser_tables___ParserTable___action_table_row279_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row279(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row279 "parser_tables::ParserTable::action_table_row279"
+typedef val_t (* parser_tables___ParserTable___action_table_row280_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row280(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row280 "parser_tables::ParserTable::action_table_row280"
+typedef val_t (* parser_tables___ParserTable___action_table_row281_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row281(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row281 "parser_tables::ParserTable::action_table_row281"
+typedef val_t (* parser_tables___ParserTable___action_table_row282_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row282(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row282 "parser_tables::ParserTable::action_table_row282"
+typedef val_t (* parser_tables___ParserTable___action_table_row283_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row283(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row283 "parser_tables::ParserTable::action_table_row283"
+typedef val_t (* parser_tables___ParserTable___action_table_row284_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row284(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row284 "parser_tables::ParserTable::action_table_row284"
+typedef val_t (* parser_tables___ParserTable___action_table_row285_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row285(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row285 "parser_tables::ParserTable::action_table_row285"
+typedef val_t (* parser_tables___ParserTable___action_table_row286_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row286(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row286 "parser_tables::ParserTable::action_table_row286"
+typedef val_t (* parser_tables___ParserTable___action_table_row287_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row287(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row287 "parser_tables::ParserTable::action_table_row287"
+typedef val_t (* parser_tables___ParserTable___action_table_row288_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row288(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row288 "parser_tables::ParserTable::action_table_row288"
+typedef val_t (* parser_tables___ParserTable___action_table_row289_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row289(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row289 "parser_tables::ParserTable::action_table_row289"
+typedef val_t (* parser_tables___ParserTable___action_table_row290_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row290(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row290 "parser_tables::ParserTable::action_table_row290"
+typedef val_t (* parser_tables___ParserTable___action_table_row291_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row291(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row291 "parser_tables::ParserTable::action_table_row291"
+typedef val_t (* parser_tables___ParserTable___action_table_row292_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row292(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row292 "parser_tables::ParserTable::action_table_row292"
+typedef val_t (* parser_tables___ParserTable___action_table_row293_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row293(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row293 "parser_tables::ParserTable::action_table_row293"
+typedef val_t (* parser_tables___ParserTable___action_table_row294_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row294(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row294 "parser_tables::ParserTable::action_table_row294"
+typedef val_t (* parser_tables___ParserTable___action_table_row295_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row295(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row295 "parser_tables::ParserTable::action_table_row295"
+typedef val_t (* parser_tables___ParserTable___action_table_row296_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row296(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row296 "parser_tables::ParserTable::action_table_row296"
+typedef val_t (* parser_tables___ParserTable___action_table_row297_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row297(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row297 "parser_tables::ParserTable::action_table_row297"
+typedef val_t (* parser_tables___ParserTable___action_table_row298_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row298(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row298 "parser_tables::ParserTable::action_table_row298"
+typedef val_t (* parser_tables___ParserTable___action_table_row299_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row299(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row299 "parser_tables::ParserTable::action_table_row299"
+typedef val_t (* parser_tables___ParserTable___action_table_row300_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row300(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row300 "parser_tables::ParserTable::action_table_row300"
+typedef val_t (* parser_tables___ParserTable___action_table_row301_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row301(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row301 "parser_tables::ParserTable::action_table_row301"
+typedef val_t (* parser_tables___ParserTable___action_table_row302_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row302(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row302 "parser_tables::ParserTable::action_table_row302"
+typedef val_t (* parser_tables___ParserTable___action_table_row303_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row303(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row303 "parser_tables::ParserTable::action_table_row303"
+typedef val_t (* parser_tables___ParserTable___action_table_row304_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row304(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row304 "parser_tables::ParserTable::action_table_row304"
+typedef val_t (* parser_tables___ParserTable___action_table_row305_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row305(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row305 "parser_tables::ParserTable::action_table_row305"
+typedef val_t (* parser_tables___ParserTable___action_table_row306_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row306(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row306 "parser_tables::ParserTable::action_table_row306"
+typedef val_t (* parser_tables___ParserTable___action_table_row307_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row307(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row307 "parser_tables::ParserTable::action_table_row307"
+typedef val_t (* parser_tables___ParserTable___action_table_row308_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row308(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row308 "parser_tables::ParserTable::action_table_row308"
+typedef val_t (* parser_tables___ParserTable___action_table_row309_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row309(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row309 "parser_tables::ParserTable::action_table_row309"
+typedef val_t (* parser_tables___ParserTable___action_table_row310_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row310(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row310 "parser_tables::ParserTable::action_table_row310"
+typedef val_t (* parser_tables___ParserTable___action_table_row311_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row311(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row311 "parser_tables::ParserTable::action_table_row311"
+typedef val_t (* parser_tables___ParserTable___action_table_row312_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row312(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row312 "parser_tables::ParserTable::action_table_row312"
+typedef val_t (* parser_tables___ParserTable___action_table_row313_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row313(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row313 "parser_tables::ParserTable::action_table_row313"
+typedef val_t (* parser_tables___ParserTable___action_table_row314_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row314(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row314 "parser_tables::ParserTable::action_table_row314"
+typedef val_t (* parser_tables___ParserTable___action_table_row315_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row315(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row315 "parser_tables::ParserTable::action_table_row315"
+typedef val_t (* parser_tables___ParserTable___action_table_row316_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row316(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row316 "parser_tables::ParserTable::action_table_row316"
+typedef val_t (* parser_tables___ParserTable___action_table_row317_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row317(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row317 "parser_tables::ParserTable::action_table_row317"
+typedef val_t (* parser_tables___ParserTable___action_table_row318_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row318(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row318 "parser_tables::ParserTable::action_table_row318"
+typedef val_t (* parser_tables___ParserTable___action_table_row319_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row319(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row319 "parser_tables::ParserTable::action_table_row319"
+typedef val_t (* parser_tables___ParserTable___action_table_row320_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row320(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row320 "parser_tables::ParserTable::action_table_row320"
+typedef val_t (* parser_tables___ParserTable___action_table_row321_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row321(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row321 "parser_tables::ParserTable::action_table_row321"
+typedef val_t (* parser_tables___ParserTable___action_table_row322_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row322(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row322 "parser_tables::ParserTable::action_table_row322"
+typedef val_t (* parser_tables___ParserTable___action_table_row323_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row323(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row323 "parser_tables::ParserTable::action_table_row323"
+typedef val_t (* parser_tables___ParserTable___action_table_row324_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row324(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row324 "parser_tables::ParserTable::action_table_row324"
+typedef val_t (* parser_tables___ParserTable___action_table_row325_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row325(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row325 "parser_tables::ParserTable::action_table_row325"
+typedef val_t (* parser_tables___ParserTable___action_table_row326_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row326(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row326 "parser_tables::ParserTable::action_table_row326"
+typedef val_t (* parser_tables___ParserTable___action_table_row327_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row327(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row327 "parser_tables::ParserTable::action_table_row327"
+typedef val_t (* parser_tables___ParserTable___action_table_row328_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row328(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row328 "parser_tables::ParserTable::action_table_row328"
+typedef val_t (* parser_tables___ParserTable___action_table_row329_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row329(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row329 "parser_tables::ParserTable::action_table_row329"
+typedef val_t (* parser_tables___ParserTable___action_table_row330_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row330(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row330 "parser_tables::ParserTable::action_table_row330"
+typedef val_t (* parser_tables___ParserTable___action_table_row331_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row331(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row331 "parser_tables::ParserTable::action_table_row331"
+typedef val_t (* parser_tables___ParserTable___action_table_row332_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row332(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row332 "parser_tables::ParserTable::action_table_row332"
+typedef val_t (* parser_tables___ParserTable___action_table_row333_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row333(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row333 "parser_tables::ParserTable::action_table_row333"
+typedef val_t (* parser_tables___ParserTable___action_table_row334_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row334(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row334 "parser_tables::ParserTable::action_table_row334"
+typedef val_t (* parser_tables___ParserTable___action_table_row335_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row335(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row335 "parser_tables::ParserTable::action_table_row335"
+typedef val_t (* parser_tables___ParserTable___action_table_row336_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row336(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row336 "parser_tables::ParserTable::action_table_row336"
+typedef val_t (* parser_tables___ParserTable___action_table_row337_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row337(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row337 "parser_tables::ParserTable::action_table_row337"
+typedef val_t (* parser_tables___ParserTable___action_table_row338_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row338(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row338 "parser_tables::ParserTable::action_table_row338"
+typedef val_t (* parser_tables___ParserTable___action_table_row339_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row339(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row339 "parser_tables::ParserTable::action_table_row339"
+typedef val_t (* parser_tables___ParserTable___action_table_row340_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row340(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row340 "parser_tables::ParserTable::action_table_row340"
+typedef val_t (* parser_tables___ParserTable___action_table_row341_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row341(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row341 "parser_tables::ParserTable::action_table_row341"
+typedef val_t (* parser_tables___ParserTable___action_table_row342_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row342(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row342 "parser_tables::ParserTable::action_table_row342"
+typedef val_t (* parser_tables___ParserTable___action_table_row343_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row343(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row343 "parser_tables::ParserTable::action_table_row343"
+typedef val_t (* parser_tables___ParserTable___action_table_row344_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row344(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row344 "parser_tables::ParserTable::action_table_row344"
+typedef val_t (* parser_tables___ParserTable___action_table_row345_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row345(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row345 "parser_tables::ParserTable::action_table_row345"
+typedef val_t (* parser_tables___ParserTable___action_table_row346_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row346(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row346 "parser_tables::ParserTable::action_table_row346"
+typedef val_t (* parser_tables___ParserTable___action_table_row347_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row347(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row347 "parser_tables::ParserTable::action_table_row347"
+typedef val_t (* parser_tables___ParserTable___action_table_row348_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row348(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row348 "parser_tables::ParserTable::action_table_row348"
+typedef val_t (* parser_tables___ParserTable___action_table_row349_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row349(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row349 "parser_tables::ParserTable::action_table_row349"
+typedef val_t (* parser_tables___ParserTable___action_table_row350_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row350(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row350 "parser_tables::ParserTable::action_table_row350"
+typedef val_t (* parser_tables___ParserTable___action_table_row351_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row351(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row351 "parser_tables::ParserTable::action_table_row351"
+typedef val_t (* parser_tables___ParserTable___action_table_row352_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row352(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row352 "parser_tables::ParserTable::action_table_row352"
+typedef val_t (* parser_tables___ParserTable___action_table_row353_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row353(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row353 "parser_tables::ParserTable::action_table_row353"
+typedef val_t (* parser_tables___ParserTable___action_table_row354_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row354(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row354 "parser_tables::ParserTable::action_table_row354"
+typedef val_t (* parser_tables___ParserTable___action_table_row355_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row355(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row355 "parser_tables::ParserTable::action_table_row355"
+typedef val_t (* parser_tables___ParserTable___action_table_row356_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row356(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row356 "parser_tables::ParserTable::action_table_row356"
+typedef val_t (* parser_tables___ParserTable___action_table_row357_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row357(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row357 "parser_tables::ParserTable::action_table_row357"
+typedef val_t (* parser_tables___ParserTable___action_table_row358_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row358(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row358 "parser_tables::ParserTable::action_table_row358"
+typedef val_t (* parser_tables___ParserTable___action_table_row359_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row359(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row359 "parser_tables::ParserTable::action_table_row359"
+typedef val_t (* parser_tables___ParserTable___action_table_row360_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row360(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row360 "parser_tables::ParserTable::action_table_row360"
+typedef val_t (* parser_tables___ParserTable___action_table_row361_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row361(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row361 "parser_tables::ParserTable::action_table_row361"
+typedef val_t (* parser_tables___ParserTable___action_table_row362_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row362(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row362 "parser_tables::ParserTable::action_table_row362"
+typedef val_t (* parser_tables___ParserTable___action_table_row363_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row363(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row363 "parser_tables::ParserTable::action_table_row363"
+typedef val_t (* parser_tables___ParserTable___action_table_row364_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row364(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row364 "parser_tables::ParserTable::action_table_row364"
+typedef val_t (* parser_tables___ParserTable___action_table_row365_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row365(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row365 "parser_tables::ParserTable::action_table_row365"
+typedef val_t (* parser_tables___ParserTable___action_table_row366_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row366(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row366 "parser_tables::ParserTable::action_table_row366"
+typedef val_t (* parser_tables___ParserTable___action_table_row367_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row367(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row367 "parser_tables::ParserTable::action_table_row367"
+typedef val_t (* parser_tables___ParserTable___action_table_row368_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row368(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row368 "parser_tables::ParserTable::action_table_row368"
+typedef val_t (* parser_tables___ParserTable___action_table_row369_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row369(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row369 "parser_tables::ParserTable::action_table_row369"
+typedef val_t (* parser_tables___ParserTable___action_table_row370_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row370(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row370 "parser_tables::ParserTable::action_table_row370"
+typedef val_t (* parser_tables___ParserTable___action_table_row371_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row371(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row371 "parser_tables::ParserTable::action_table_row371"
+typedef val_t (* parser_tables___ParserTable___action_table_row372_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row372(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row372 "parser_tables::ParserTable::action_table_row372"
+typedef val_t (* parser_tables___ParserTable___action_table_row373_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row373(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row373 "parser_tables::ParserTable::action_table_row373"
+typedef val_t (* parser_tables___ParserTable___action_table_row374_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row374(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row374 "parser_tables::ParserTable::action_table_row374"
+typedef val_t (* parser_tables___ParserTable___action_table_row375_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row375(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row375 "parser_tables::ParserTable::action_table_row375"
+typedef val_t (* parser_tables___ParserTable___action_table_row376_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row376(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row376 "parser_tables::ParserTable::action_table_row376"
+typedef val_t (* parser_tables___ParserTable___action_table_row377_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row377(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row377 "parser_tables::ParserTable::action_table_row377"
+typedef val_t (* parser_tables___ParserTable___action_table_row378_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row378(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row378 "parser_tables::ParserTable::action_table_row378"
+typedef val_t (* parser_tables___ParserTable___action_table_row379_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row379(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row379 "parser_tables::ParserTable::action_table_row379"
+typedef val_t (* parser_tables___ParserTable___action_table_row380_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row380(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row380 "parser_tables::ParserTable::action_table_row380"
+typedef val_t (* parser_tables___ParserTable___action_table_row381_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row381(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row381 "parser_tables::ParserTable::action_table_row381"
+typedef val_t (* parser_tables___ParserTable___action_table_row382_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row382(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row382 "parser_tables::ParserTable::action_table_row382"
+typedef val_t (* parser_tables___ParserTable___action_table_row383_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row383(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row383 "parser_tables::ParserTable::action_table_row383"
+typedef val_t (* parser_tables___ParserTable___action_table_row384_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row384(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row384 "parser_tables::ParserTable::action_table_row384"
+typedef val_t (* parser_tables___ParserTable___action_table_row385_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row385(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row385 "parser_tables::ParserTable::action_table_row385"
+typedef val_t (* parser_tables___ParserTable___action_table_row386_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row386(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row386 "parser_tables::ParserTable::action_table_row386"
+typedef val_t (* parser_tables___ParserTable___action_table_row387_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row387(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row387 "parser_tables::ParserTable::action_table_row387"
+typedef val_t (* parser_tables___ParserTable___action_table_row388_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row388(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row388 "parser_tables::ParserTable::action_table_row388"
+typedef val_t (* parser_tables___ParserTable___action_table_row389_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row389(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row389 "parser_tables::ParserTable::action_table_row389"
+typedef val_t (* parser_tables___ParserTable___action_table_row390_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row390(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row390 "parser_tables::ParserTable::action_table_row390"
+typedef val_t (* parser_tables___ParserTable___action_table_row391_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row391(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row391 "parser_tables::ParserTable::action_table_row391"
+typedef val_t (* parser_tables___ParserTable___action_table_row392_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row392(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row392 "parser_tables::ParserTable::action_table_row392"
+typedef val_t (* parser_tables___ParserTable___action_table_row393_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row393(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row393 "parser_tables::ParserTable::action_table_row393"
+typedef val_t (* parser_tables___ParserTable___action_table_row394_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row394(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row394 "parser_tables::ParserTable::action_table_row394"
+typedef val_t (* parser_tables___ParserTable___action_table_row395_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row395(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row395 "parser_tables::ParserTable::action_table_row395"
+typedef val_t (* parser_tables___ParserTable___action_table_row396_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row396(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row396 "parser_tables::ParserTable::action_table_row396"
+typedef val_t (* parser_tables___ParserTable___action_table_row397_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row397(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row397 "parser_tables::ParserTable::action_table_row397"
+typedef val_t (* parser_tables___ParserTable___action_table_row398_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row398(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row398 "parser_tables::ParserTable::action_table_row398"
+typedef val_t (* parser_tables___ParserTable___action_table_row399_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row399(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row399 "parser_tables::ParserTable::action_table_row399"
+typedef val_t (* parser_tables___ParserTable___action_table_row400_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row400(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row400 "parser_tables::ParserTable::action_table_row400"
+typedef val_t (* parser_tables___ParserTable___action_table_row401_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row401(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row401 "parser_tables::ParserTable::action_table_row401"
+typedef val_t (* parser_tables___ParserTable___action_table_row402_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row402(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row402 "parser_tables::ParserTable::action_table_row402"
+typedef val_t (* parser_tables___ParserTable___action_table_row403_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row403(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row403 "parser_tables::ParserTable::action_table_row403"
+typedef val_t (* parser_tables___ParserTable___action_table_row404_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row404(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row404 "parser_tables::ParserTable::action_table_row404"
+typedef val_t (* parser_tables___ParserTable___action_table_row405_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row405(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row405 "parser_tables::ParserTable::action_table_row405"
+typedef val_t (* parser_tables___ParserTable___action_table_row406_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row406(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row406 "parser_tables::ParserTable::action_table_row406"
+typedef val_t (* parser_tables___ParserTable___action_table_row407_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row407(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row407 "parser_tables::ParserTable::action_table_row407"
+typedef val_t (* parser_tables___ParserTable___action_table_row408_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row408(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row408 "parser_tables::ParserTable::action_table_row408"
+typedef val_t (* parser_tables___ParserTable___action_table_row409_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row409(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row409 "parser_tables::ParserTable::action_table_row409"
+typedef val_t (* parser_tables___ParserTable___action_table_row410_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row410(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row410 "parser_tables::ParserTable::action_table_row410"
+typedef val_t (* parser_tables___ParserTable___action_table_row411_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row411(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row411 "parser_tables::ParserTable::action_table_row411"
+typedef val_t (* parser_tables___ParserTable___action_table_row412_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row412(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row412 "parser_tables::ParserTable::action_table_row412"
+typedef val_t (* parser_tables___ParserTable___action_table_row413_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row413(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row413 "parser_tables::ParserTable::action_table_row413"
+typedef val_t (* parser_tables___ParserTable___action_table_row414_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row414(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row414 "parser_tables::ParserTable::action_table_row414"
+typedef val_t (* parser_tables___ParserTable___action_table_row415_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row415(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row415 "parser_tables::ParserTable::action_table_row415"
+typedef val_t (* parser_tables___ParserTable___action_table_row416_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row416(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row416 "parser_tables::ParserTable::action_table_row416"
+typedef val_t (* parser_tables___ParserTable___action_table_row417_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row417(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row417 "parser_tables::ParserTable::action_table_row417"
+typedef val_t (* parser_tables___ParserTable___action_table_row418_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row418(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row418 "parser_tables::ParserTable::action_table_row418"
+typedef val_t (* parser_tables___ParserTable___action_table_row419_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row419(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row419 "parser_tables::ParserTable::action_table_row419"
+typedef val_t (* parser_tables___ParserTable___action_table_row420_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row420(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row420 "parser_tables::ParserTable::action_table_row420"
+typedef val_t (* parser_tables___ParserTable___action_table_row421_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row421(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row421 "parser_tables::ParserTable::action_table_row421"
+typedef val_t (* parser_tables___ParserTable___action_table_row422_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row422(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row422 "parser_tables::ParserTable::action_table_row422"
+typedef val_t (* parser_tables___ParserTable___action_table_row423_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row423(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row423 "parser_tables::ParserTable::action_table_row423"
+typedef val_t (* parser_tables___ParserTable___action_table_row424_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row424(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row424 "parser_tables::ParserTable::action_table_row424"
+typedef val_t (* parser_tables___ParserTable___action_table_row425_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row425(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row425 "parser_tables::ParserTable::action_table_row425"
+typedef val_t (* parser_tables___ParserTable___action_table_row426_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row426(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row426 "parser_tables::ParserTable::action_table_row426"
+typedef val_t (* parser_tables___ParserTable___action_table_row427_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row427(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row427 "parser_tables::ParserTable::action_table_row427"
+typedef val_t (* parser_tables___ParserTable___action_table_row428_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row428(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row428 "parser_tables::ParserTable::action_table_row428"
+typedef val_t (* parser_tables___ParserTable___action_table_row429_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row429(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row429 "parser_tables::ParserTable::action_table_row429"
+typedef val_t (* parser_tables___ParserTable___action_table_row430_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row430(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row430 "parser_tables::ParserTable::action_table_row430"
+typedef val_t (* parser_tables___ParserTable___action_table_row431_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row431(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row431 "parser_tables::ParserTable::action_table_row431"
+typedef val_t (* parser_tables___ParserTable___action_table_row432_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row432(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row432 "parser_tables::ParserTable::action_table_row432"
+typedef val_t (* parser_tables___ParserTable___action_table_row433_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row433(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row433 "parser_tables::ParserTable::action_table_row433"
+typedef val_t (* parser_tables___ParserTable___action_table_row434_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row434(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row434 "parser_tables::ParserTable::action_table_row434"
+typedef val_t (* parser_tables___ParserTable___action_table_row435_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row435(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row435 "parser_tables::ParserTable::action_table_row435"
+typedef val_t (* parser_tables___ParserTable___action_table_row436_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row436(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row436 "parser_tables::ParserTable::action_table_row436"
+typedef val_t (* parser_tables___ParserTable___action_table_row437_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row437(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row437 "parser_tables::ParserTable::action_table_row437"
+typedef val_t (* parser_tables___ParserTable___action_table_row438_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row438(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row438 "parser_tables::ParserTable::action_table_row438"
+typedef val_t (* parser_tables___ParserTable___action_table_row439_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row439(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row439 "parser_tables::ParserTable::action_table_row439"
+typedef val_t (* parser_tables___ParserTable___action_table_row440_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row440(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row440 "parser_tables::ParserTable::action_table_row440"
+typedef val_t (* parser_tables___ParserTable___action_table_row441_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row441(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row441 "parser_tables::ParserTable::action_table_row441"
+typedef val_t (* parser_tables___ParserTable___action_table_row442_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row442(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row442 "parser_tables::ParserTable::action_table_row442"
+typedef val_t (* parser_tables___ParserTable___action_table_row443_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row443(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row443 "parser_tables::ParserTable::action_table_row443"
+typedef val_t (* parser_tables___ParserTable___action_table_row444_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row444(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row444 "parser_tables::ParserTable::action_table_row444"
+typedef val_t (* parser_tables___ParserTable___action_table_row445_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row445(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row445 "parser_tables::ParserTable::action_table_row445"
+typedef val_t (* parser_tables___ParserTable___action_table_row446_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row446(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row446 "parser_tables::ParserTable::action_table_row446"
+typedef val_t (* parser_tables___ParserTable___action_table_row447_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row447(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row447 "parser_tables::ParserTable::action_table_row447"
+typedef val_t (* parser_tables___ParserTable___action_table_row448_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row448(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row448 "parser_tables::ParserTable::action_table_row448"
+typedef val_t (* parser_tables___ParserTable___action_table_row449_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row449(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row449 "parser_tables::ParserTable::action_table_row449"
+typedef val_t (* parser_tables___ParserTable___action_table_row450_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row450(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row450 "parser_tables::ParserTable::action_table_row450"
+typedef val_t (* parser_tables___ParserTable___action_table_row451_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row451(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row451 "parser_tables::ParserTable::action_table_row451"
+typedef val_t (* parser_tables___ParserTable___action_table_row452_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row452(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row452 "parser_tables::ParserTable::action_table_row452"
+typedef val_t (* parser_tables___ParserTable___action_table_row453_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row453(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row453 "parser_tables::ParserTable::action_table_row453"
+typedef val_t (* parser_tables___ParserTable___action_table_row454_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row454(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row454 "parser_tables::ParserTable::action_table_row454"
+typedef val_t (* parser_tables___ParserTable___action_table_row455_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row455(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row455 "parser_tables::ParserTable::action_table_row455"
+typedef val_t (* parser_tables___ParserTable___action_table_row456_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row456(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row456 "parser_tables::ParserTable::action_table_row456"
+typedef val_t (* parser_tables___ParserTable___action_table_row457_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row457(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row457 "parser_tables::ParserTable::action_table_row457"
+typedef val_t (* parser_tables___ParserTable___action_table_row458_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row458(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row458 "parser_tables::ParserTable::action_table_row458"
+typedef val_t (* parser_tables___ParserTable___action_table_row459_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row459(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row459 "parser_tables::ParserTable::action_table_row459"
+typedef val_t (* parser_tables___ParserTable___action_table_row460_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row460(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row460 "parser_tables::ParserTable::action_table_row460"
+typedef val_t (* parser_tables___ParserTable___action_table_row461_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row461(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row461 "parser_tables::ParserTable::action_table_row461"
+typedef val_t (* parser_tables___ParserTable___action_table_row462_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row462(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row462 "parser_tables::ParserTable::action_table_row462"
+typedef val_t (* parser_tables___ParserTable___action_table_row463_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row463(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row463 "parser_tables::ParserTable::action_table_row463"
+typedef val_t (* parser_tables___ParserTable___action_table_row464_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row464(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row464 "parser_tables::ParserTable::action_table_row464"
+typedef val_t (* parser_tables___ParserTable___action_table_row465_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row465(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row465 "parser_tables::ParserTable::action_table_row465"
+typedef val_t (* parser_tables___ParserTable___action_table_row466_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row466(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row466 "parser_tables::ParserTable::action_table_row466"
+typedef val_t (* parser_tables___ParserTable___action_table_row467_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row467(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row467 "parser_tables::ParserTable::action_table_row467"
+typedef val_t (* parser_tables___ParserTable___action_table_row468_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row468(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row468 "parser_tables::ParserTable::action_table_row468"
+typedef val_t (* parser_tables___ParserTable___action_table_row469_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row469(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row469 "parser_tables::ParserTable::action_table_row469"
+typedef val_t (* parser_tables___ParserTable___action_table_row470_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row470(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row470 "parser_tables::ParserTable::action_table_row470"
+typedef val_t (* parser_tables___ParserTable___action_table_row471_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row471(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row471 "parser_tables::ParserTable::action_table_row471"
+typedef val_t (* parser_tables___ParserTable___action_table_row472_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row472(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row472 "parser_tables::ParserTable::action_table_row472"
+typedef val_t (* parser_tables___ParserTable___action_table_row473_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row473(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row473 "parser_tables::ParserTable::action_table_row473"
+typedef val_t (* parser_tables___ParserTable___action_table_row474_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row474(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row474 "parser_tables::ParserTable::action_table_row474"
+typedef val_t (* parser_tables___ParserTable___action_table_row475_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row475(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row475 "parser_tables::ParserTable::action_table_row475"
+typedef val_t (* parser_tables___ParserTable___action_table_row476_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row476(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row476 "parser_tables::ParserTable::action_table_row476"
+typedef val_t (* parser_tables___ParserTable___action_table_row477_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row477(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row477 "parser_tables::ParserTable::action_table_row477"
+typedef val_t (* parser_tables___ParserTable___action_table_row478_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row478(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row478 "parser_tables::ParserTable::action_table_row478"
+typedef val_t (* parser_tables___ParserTable___action_table_row479_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row479(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row479 "parser_tables::ParserTable::action_table_row479"
+typedef val_t (* parser_tables___ParserTable___action_table_row480_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row480(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row480 "parser_tables::ParserTable::action_table_row480"
+typedef val_t (* parser_tables___ParserTable___action_table_row481_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row481(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row481 "parser_tables::ParserTable::action_table_row481"
+typedef val_t (* parser_tables___ParserTable___action_table_row482_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row482(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row482 "parser_tables::ParserTable::action_table_row482"
+typedef val_t (* parser_tables___ParserTable___action_table_row483_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row483(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row483 "parser_tables::ParserTable::action_table_row483"
+typedef val_t (* parser_tables___ParserTable___action_table_row484_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row484(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row484 "parser_tables::ParserTable::action_table_row484"
+typedef val_t (* parser_tables___ParserTable___action_table_row485_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row485(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row485 "parser_tables::ParserTable::action_table_row485"
+typedef val_t (* parser_tables___ParserTable___action_table_row486_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row486(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row486 "parser_tables::ParserTable::action_table_row486"
+typedef val_t (* parser_tables___ParserTable___action_table_row487_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row487(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row487 "parser_tables::ParserTable::action_table_row487"
+typedef val_t (* parser_tables___ParserTable___action_table_row488_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row488(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row488 "parser_tables::ParserTable::action_table_row488"
+typedef val_t (* parser_tables___ParserTable___action_table_row489_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row489(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row489 "parser_tables::ParserTable::action_table_row489"
+typedef val_t (* parser_tables___ParserTable___action_table_row490_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row490(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row490 "parser_tables::ParserTable::action_table_row490"
+typedef val_t (* parser_tables___ParserTable___action_table_row491_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row491(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row491 "parser_tables::ParserTable::action_table_row491"
+typedef val_t (* parser_tables___ParserTable___action_table_row492_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row492(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row492 "parser_tables::ParserTable::action_table_row492"
+typedef val_t (* parser_tables___ParserTable___action_table_row493_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row493(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row493 "parser_tables::ParserTable::action_table_row493"
+typedef val_t (* parser_tables___ParserTable___action_table_row494_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row494(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row494 "parser_tables::ParserTable::action_table_row494"
+typedef val_t (* parser_tables___ParserTable___action_table_row495_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row495(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row495 "parser_tables::ParserTable::action_table_row495"
+typedef val_t (* parser_tables___ParserTable___action_table_row496_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row496(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row496 "parser_tables::ParserTable::action_table_row496"
+typedef val_t (* parser_tables___ParserTable___action_table_row497_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row497(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row497 "parser_tables::ParserTable::action_table_row497"
+typedef val_t (* parser_tables___ParserTable___action_table_row498_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row498(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row498 "parser_tables::ParserTable::action_table_row498"
+typedef val_t (* parser_tables___ParserTable___action_table_row499_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row499(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row499 "parser_tables::ParserTable::action_table_row499"
+typedef val_t (* parser_tables___ParserTable___action_table_row500_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row500(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row500 "parser_tables::ParserTable::action_table_row500"
+typedef val_t (* parser_tables___ParserTable___action_table_row501_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row501(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row501 "parser_tables::ParserTable::action_table_row501"
+typedef val_t (* parser_tables___ParserTable___action_table_row502_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row502(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row502 "parser_tables::ParserTable::action_table_row502"
+typedef val_t (* parser_tables___ParserTable___action_table_row503_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row503(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row503 "parser_tables::ParserTable::action_table_row503"
+typedef val_t (* parser_tables___ParserTable___action_table_row504_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row504(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row504 "parser_tables::ParserTable::action_table_row504"
+typedef val_t (* parser_tables___ParserTable___action_table_row505_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row505(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row505 "parser_tables::ParserTable::action_table_row505"
+typedef val_t (* parser_tables___ParserTable___action_table_row506_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row506(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row506 "parser_tables::ParserTable::action_table_row506"
+typedef val_t (* parser_tables___ParserTable___action_table_row507_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row507(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row507 "parser_tables::ParserTable::action_table_row507"
+typedef val_t (* parser_tables___ParserTable___action_table_row508_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row508(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row508 "parser_tables::ParserTable::action_table_row508"
+typedef val_t (* parser_tables___ParserTable___action_table_row509_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row509(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row509 "parser_tables::ParserTable::action_table_row509"
+typedef val_t (* parser_tables___ParserTable___action_table_row510_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row510(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row510 "parser_tables::ParserTable::action_table_row510"
+typedef val_t (* parser_tables___ParserTable___action_table_row511_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row511(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row511 "parser_tables::ParserTable::action_table_row511"
+typedef val_t (* parser_tables___ParserTable___action_table_row512_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row512(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row512 "parser_tables::ParserTable::action_table_row512"
+typedef val_t (* parser_tables___ParserTable___action_table_row513_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row513(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row513 "parser_tables::ParserTable::action_table_row513"
+typedef val_t (* parser_tables___ParserTable___action_table_row514_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row514(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row514 "parser_tables::ParserTable::action_table_row514"
+typedef val_t (* parser_tables___ParserTable___action_table_row515_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row515(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row515 "parser_tables::ParserTable::action_table_row515"
+typedef val_t (* parser_tables___ParserTable___action_table_row516_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row516(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row516 "parser_tables::ParserTable::action_table_row516"
+typedef val_t (* parser_tables___ParserTable___action_table_row517_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row517(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row517 "parser_tables::ParserTable::action_table_row517"
+typedef val_t (* parser_tables___ParserTable___action_table_row518_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row518(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row518 "parser_tables::ParserTable::action_table_row518"
+typedef val_t (* parser_tables___ParserTable___action_table_row519_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row519(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row519 "parser_tables::ParserTable::action_table_row519"
+typedef val_t (* parser_tables___ParserTable___action_table_row520_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row520(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row520 "parser_tables::ParserTable::action_table_row520"
+typedef val_t (* parser_tables___ParserTable___action_table_row521_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row521(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row521 "parser_tables::ParserTable::action_table_row521"
+typedef val_t (* parser_tables___ParserTable___action_table_row522_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row522(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row522 "parser_tables::ParserTable::action_table_row522"
+typedef val_t (* parser_tables___ParserTable___action_table_row523_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row523(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row523 "parser_tables::ParserTable::action_table_row523"
+typedef val_t (* parser_tables___ParserTable___action_table_row524_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row524(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row524 "parser_tables::ParserTable::action_table_row524"
+typedef val_t (* parser_tables___ParserTable___action_table_row525_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row525(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row525 "parser_tables::ParserTable::action_table_row525"
+typedef val_t (* parser_tables___ParserTable___action_table_row526_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row526(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row526 "parser_tables::ParserTable::action_table_row526"
+typedef val_t (* parser_tables___ParserTable___action_table_row527_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row527(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row527 "parser_tables::ParserTable::action_table_row527"
+typedef val_t (* parser_tables___ParserTable___action_table_row528_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row528(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row528 "parser_tables::ParserTable::action_table_row528"
+typedef val_t (* parser_tables___ParserTable___action_table_row529_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row529(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row529 "parser_tables::ParserTable::action_table_row529"
+typedef val_t (* parser_tables___ParserTable___action_table_row530_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row530(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row530 "parser_tables::ParserTable::action_table_row530"
+typedef val_t (* parser_tables___ParserTable___action_table_row531_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row531(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row531 "parser_tables::ParserTable::action_table_row531"
+typedef val_t (* parser_tables___ParserTable___action_table_row532_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row532(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row532 "parser_tables::ParserTable::action_table_row532"
+typedef val_t (* parser_tables___ParserTable___action_table_row533_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row533(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row533 "parser_tables::ParserTable::action_table_row533"
+typedef val_t (* parser_tables___ParserTable___action_table_row534_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row534(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row534 "parser_tables::ParserTable::action_table_row534"
+typedef val_t (* parser_tables___ParserTable___action_table_row535_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row535(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row535 "parser_tables::ParserTable::action_table_row535"
+typedef val_t (* parser_tables___ParserTable___action_table_row536_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row536(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row536 "parser_tables::ParserTable::action_table_row536"
+typedef val_t (* parser_tables___ParserTable___action_table_row537_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row537(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row537 "parser_tables::ParserTable::action_table_row537"
+typedef val_t (* parser_tables___ParserTable___action_table_row538_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row538(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row538 "parser_tables::ParserTable::action_table_row538"
+typedef val_t (* parser_tables___ParserTable___action_table_row539_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row539(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row539 "parser_tables::ParserTable::action_table_row539"
+typedef val_t (* parser_tables___ParserTable___action_table_row540_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row540(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row540 "parser_tables::ParserTable::action_table_row540"
+typedef val_t (* parser_tables___ParserTable___action_table_row541_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row541(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row541 "parser_tables::ParserTable::action_table_row541"
+typedef val_t (* parser_tables___ParserTable___action_table_row542_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row542(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row542 "parser_tables::ParserTable::action_table_row542"
+typedef val_t (* parser_tables___ParserTable___action_table_row543_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row543(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row543 "parser_tables::ParserTable::action_table_row543"
+typedef val_t (* parser_tables___ParserTable___action_table_row544_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row544(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row544 "parser_tables::ParserTable::action_table_row544"
+typedef val_t (* parser_tables___ParserTable___action_table_row545_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row545(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row545 "parser_tables::ParserTable::action_table_row545"
+typedef val_t (* parser_tables___ParserTable___action_table_row546_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row546(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row546 "parser_tables::ParserTable::action_table_row546"
+typedef val_t (* parser_tables___ParserTable___action_table_row547_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row547(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row547 "parser_tables::ParserTable::action_table_row547"
+typedef val_t (* parser_tables___ParserTable___action_table_row548_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row548(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row548 "parser_tables::ParserTable::action_table_row548"
+typedef val_t (* parser_tables___ParserTable___action_table_row549_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row549(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row549 "parser_tables::ParserTable::action_table_row549"
+typedef val_t (* parser_tables___ParserTable___action_table_row550_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row550(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row550 "parser_tables::ParserTable::action_table_row550"
+typedef val_t (* parser_tables___ParserTable___action_table_row551_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row551(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row551 "parser_tables::ParserTable::action_table_row551"
+typedef val_t (* parser_tables___ParserTable___action_table_row552_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row552(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row552 "parser_tables::ParserTable::action_table_row552"
+typedef val_t (* parser_tables___ParserTable___action_table_row553_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row553(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row553 "parser_tables::ParserTable::action_table_row553"
+typedef val_t (* parser_tables___ParserTable___action_table_row554_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row554(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row554 "parser_tables::ParserTable::action_table_row554"
+typedef val_t (* parser_tables___ParserTable___action_table_row555_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row555(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row555 "parser_tables::ParserTable::action_table_row555"
+typedef val_t (* parser_tables___ParserTable___action_table_row556_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row556(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row556 "parser_tables::ParserTable::action_table_row556"
+typedef val_t (* parser_tables___ParserTable___action_table_row557_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row557(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row557 "parser_tables::ParserTable::action_table_row557"
+typedef val_t (* parser_tables___ParserTable___action_table_row558_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row558(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row558 "parser_tables::ParserTable::action_table_row558"
+typedef val_t (* parser_tables___ParserTable___action_table_row559_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row559(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row559 "parser_tables::ParserTable::action_table_row559"
+typedef val_t (* parser_tables___ParserTable___action_table_row560_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row560(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row560 "parser_tables::ParserTable::action_table_row560"
+typedef val_t (* parser_tables___ParserTable___action_table_row561_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row561(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row561 "parser_tables::ParserTable::action_table_row561"
+typedef val_t (* parser_tables___ParserTable___action_table_row562_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row562(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row562 "parser_tables::ParserTable::action_table_row562"
+typedef val_t (* parser_tables___ParserTable___action_table_row563_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row563(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row563 "parser_tables::ParserTable::action_table_row563"
+typedef val_t (* parser_tables___ParserTable___action_table_row564_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row564(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row564 "parser_tables::ParserTable::action_table_row564"
+typedef val_t (* parser_tables___ParserTable___action_table_row565_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row565(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row565 "parser_tables::ParserTable::action_table_row565"
+typedef val_t (* parser_tables___ParserTable___action_table_row566_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row566(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row566 "parser_tables::ParserTable::action_table_row566"
+typedef val_t (* parser_tables___ParserTable___action_table_row567_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row567(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row567 "parser_tables::ParserTable::action_table_row567"
+typedef val_t (* parser_tables___ParserTable___action_table_row568_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row568(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row568 "parser_tables::ParserTable::action_table_row568"
+typedef val_t (* parser_tables___ParserTable___action_table_row569_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row569(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row569 "parser_tables::ParserTable::action_table_row569"
+typedef val_t (* parser_tables___ParserTable___action_table_row570_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row570(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row570 "parser_tables::ParserTable::action_table_row570"
+typedef val_t (* parser_tables___ParserTable___action_table_row571_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row571(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row571 "parser_tables::ParserTable::action_table_row571"
+typedef val_t (* parser_tables___ParserTable___action_table_row572_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row572(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row572 "parser_tables::ParserTable::action_table_row572"
+typedef val_t (* parser_tables___ParserTable___action_table_row573_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row573(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row573 "parser_tables::ParserTable::action_table_row573"
+typedef val_t (* parser_tables___ParserTable___action_table_row574_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row574(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row574 "parser_tables::ParserTable::action_table_row574"
+typedef val_t (* parser_tables___ParserTable___action_table_row575_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row575(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row575 "parser_tables::ParserTable::action_table_row575"
+typedef val_t (* parser_tables___ParserTable___action_table_row576_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row576(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row576 "parser_tables::ParserTable::action_table_row576"
+typedef val_t (* parser_tables___ParserTable___action_table_row577_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row577(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row577 "parser_tables::ParserTable::action_table_row577"
+typedef val_t (* parser_tables___ParserTable___action_table_row578_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row578(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row578 "parser_tables::ParserTable::action_table_row578"
+typedef val_t (* parser_tables___ParserTable___action_table_row579_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row579(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row579 "parser_tables::ParserTable::action_table_row579"
+typedef val_t (* parser_tables___ParserTable___action_table_row580_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row580(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row580 "parser_tables::ParserTable::action_table_row580"
+typedef val_t (* parser_tables___ParserTable___action_table_row581_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row581(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row581 "parser_tables::ParserTable::action_table_row581"
+typedef val_t (* parser_tables___ParserTable___action_table_row582_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row582(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row582 "parser_tables::ParserTable::action_table_row582"
+typedef val_t (* parser_tables___ParserTable___action_table_row583_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row583(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row583 "parser_tables::ParserTable::action_table_row583"
+typedef val_t (* parser_tables___ParserTable___action_table_row584_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row584(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row584 "parser_tables::ParserTable::action_table_row584"
+typedef val_t (* parser_tables___ParserTable___action_table_row585_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row585(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row585 "parser_tables::ParserTable::action_table_row585"
+typedef val_t (* parser_tables___ParserTable___action_table_row586_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row586(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row586 "parser_tables::ParserTable::action_table_row586"
+typedef val_t (* parser_tables___ParserTable___action_table_row587_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row587(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row587 "parser_tables::ParserTable::action_table_row587"
+typedef val_t (* parser_tables___ParserTable___action_table_row588_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row588(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row588 "parser_tables::ParserTable::action_table_row588"
+typedef val_t (* parser_tables___ParserTable___action_table_row589_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row589(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row589 "parser_tables::ParserTable::action_table_row589"
+typedef val_t (* parser_tables___ParserTable___action_table_row590_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row590(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row590 "parser_tables::ParserTable::action_table_row590"
+typedef val_t (* parser_tables___ParserTable___action_table_row591_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row591(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row591 "parser_tables::ParserTable::action_table_row591"
+typedef val_t (* parser_tables___ParserTable___action_table_row592_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row592(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row592 "parser_tables::ParserTable::action_table_row592"
+typedef val_t (* parser_tables___ParserTable___action_table_row593_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row593(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row593 "parser_tables::ParserTable::action_table_row593"
+typedef val_t (* parser_tables___ParserTable___action_table_row594_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row594(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row594 "parser_tables::ParserTable::action_table_row594"
+typedef val_t (* parser_tables___ParserTable___action_table_row595_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row595(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row595 "parser_tables::ParserTable::action_table_row595"
+typedef val_t (* parser_tables___ParserTable___action_table_row596_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row596(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row596 "parser_tables::ParserTable::action_table_row596"
+typedef val_t (* parser_tables___ParserTable___action_table_row597_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row597(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row597 "parser_tables::ParserTable::action_table_row597"
+typedef val_t (* parser_tables___ParserTable___action_table_row598_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row598(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row598 "parser_tables::ParserTable::action_table_row598"
+typedef val_t (* parser_tables___ParserTable___action_table_row599_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row599(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row599 "parser_tables::ParserTable::action_table_row599"
+typedef val_t (* parser_tables___ParserTable___action_table_row600_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row600(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row600 "parser_tables::ParserTable::action_table_row600"
+typedef val_t (* parser_tables___ParserTable___action_table_row601_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row601(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row601 "parser_tables::ParserTable::action_table_row601"
+typedef val_t (* parser_tables___ParserTable___action_table_row602_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row602(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row602 "parser_tables::ParserTable::action_table_row602"
+typedef val_t (* parser_tables___ParserTable___action_table_row603_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row603(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row603 "parser_tables::ParserTable::action_table_row603"
+typedef val_t (* parser_tables___ParserTable___action_table_row604_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row604(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row604 "parser_tables::ParserTable::action_table_row604"
+typedef val_t (* parser_tables___ParserTable___action_table_row605_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row605(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row605 "parser_tables::ParserTable::action_table_row605"
+typedef val_t (* parser_tables___ParserTable___action_table_row606_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row606(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row606 "parser_tables::ParserTable::action_table_row606"
+typedef val_t (* parser_tables___ParserTable___action_table_row607_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row607(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row607 "parser_tables::ParserTable::action_table_row607"
+typedef val_t (* parser_tables___ParserTable___action_table_row608_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row608(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row608 "parser_tables::ParserTable::action_table_row608"
+typedef val_t (* parser_tables___ParserTable___action_table_row609_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row609(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row609 "parser_tables::ParserTable::action_table_row609"
+typedef val_t (* parser_tables___ParserTable___action_table_row610_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row610(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row610 "parser_tables::ParserTable::action_table_row610"
+typedef val_t (* parser_tables___ParserTable___action_table_row611_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row611(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row611 "parser_tables::ParserTable::action_table_row611"
+typedef val_t (* parser_tables___ParserTable___action_table_row612_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row612(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row612 "parser_tables::ParserTable::action_table_row612"
+typedef val_t (* parser_tables___ParserTable___action_table_row613_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row613(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row613 "parser_tables::ParserTable::action_table_row613"
+typedef val_t (* parser_tables___ParserTable___action_table_row614_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row614(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row614 "parser_tables::ParserTable::action_table_row614"
+typedef val_t (* parser_tables___ParserTable___action_table_row615_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row615(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row615 "parser_tables::ParserTable::action_table_row615"
+typedef val_t (* parser_tables___ParserTable___action_table_row616_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row616(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row616 "parser_tables::ParserTable::action_table_row616"
+typedef val_t (* parser_tables___ParserTable___action_table_row617_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row617(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row617 "parser_tables::ParserTable::action_table_row617"
+typedef val_t (* parser_tables___ParserTable___action_table_row618_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row618(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row618 "parser_tables::ParserTable::action_table_row618"
+typedef val_t (* parser_tables___ParserTable___action_table_row619_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row619(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row619 "parser_tables::ParserTable::action_table_row619"
+typedef val_t (* parser_tables___ParserTable___action_table_row620_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row620(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row620 "parser_tables::ParserTable::action_table_row620"
+typedef val_t (* parser_tables___ParserTable___action_table_row621_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row621(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row621 "parser_tables::ParserTable::action_table_row621"
+typedef val_t (* parser_tables___ParserTable___action_table_row622_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row622(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row622 "parser_tables::ParserTable::action_table_row622"
+typedef val_t (* parser_tables___ParserTable___action_table_row623_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row623(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row623 "parser_tables::ParserTable::action_table_row623"
+typedef val_t (* parser_tables___ParserTable___action_table_row624_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row624(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row624 "parser_tables::ParserTable::action_table_row624"
+typedef val_t (* parser_tables___ParserTable___action_table_row625_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row625(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row625 "parser_tables::ParserTable::action_table_row625"
+typedef val_t (* parser_tables___ParserTable___action_table_row626_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row626(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row626 "parser_tables::ParserTable::action_table_row626"
+typedef val_t (* parser_tables___ParserTable___action_table_row627_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row627(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row627 "parser_tables::ParserTable::action_table_row627"
+typedef val_t (* parser_tables___ParserTable___action_table_row628_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row628(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row628 "parser_tables::ParserTable::action_table_row628"
+typedef val_t (* parser_tables___ParserTable___action_table_row629_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row629(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row629 "parser_tables::ParserTable::action_table_row629"
+typedef val_t (* parser_tables___ParserTable___action_table_row630_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row630(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row630 "parser_tables::ParserTable::action_table_row630"
+typedef val_t (* parser_tables___ParserTable___action_table_row631_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row631(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row631 "parser_tables::ParserTable::action_table_row631"
+typedef val_t (* parser_tables___ParserTable___action_table_row632_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row632(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row632 "parser_tables::ParserTable::action_table_row632"
+typedef val_t (* parser_tables___ParserTable___action_table_row633_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row633(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row633 "parser_tables::ParserTable::action_table_row633"
+typedef val_t (* parser_tables___ParserTable___action_table_row634_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row634(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row634 "parser_tables::ParserTable::action_table_row634"
+typedef val_t (* parser_tables___ParserTable___action_table_row635_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row635(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row635 "parser_tables::ParserTable::action_table_row635"
+typedef val_t (* parser_tables___ParserTable___action_table_row636_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row636(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row636 "parser_tables::ParserTable::action_table_row636"
+typedef val_t (* parser_tables___ParserTable___action_table_row637_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row637(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row637 "parser_tables::ParserTable::action_table_row637"
+typedef val_t (* parser_tables___ParserTable___action_table_row638_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row638(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row638 "parser_tables::ParserTable::action_table_row638"
+typedef val_t (* parser_tables___ParserTable___action_table_row639_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row639(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row639 "parser_tables::ParserTable::action_table_row639"
+typedef val_t (* parser_tables___ParserTable___action_table_row640_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row640(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row640 "parser_tables::ParserTable::action_table_row640"
+typedef val_t (* parser_tables___ParserTable___action_table_row641_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row641(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row641 "parser_tables::ParserTable::action_table_row641"
+typedef val_t (* parser_tables___ParserTable___action_table_row642_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row642(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row642 "parser_tables::ParserTable::action_table_row642"
+typedef val_t (* parser_tables___ParserTable___action_table_row643_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row643(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row643 "parser_tables::ParserTable::action_table_row643"
+typedef val_t (* parser_tables___ParserTable___action_table_row644_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row644(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row644 "parser_tables::ParserTable::action_table_row644"
+typedef val_t (* parser_tables___ParserTable___action_table_row645_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row645(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row645 "parser_tables::ParserTable::action_table_row645"
+typedef val_t (* parser_tables___ParserTable___action_table_row646_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row646(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row646 "parser_tables::ParserTable::action_table_row646"
+typedef val_t (* parser_tables___ParserTable___action_table_row647_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row647(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row647 "parser_tables::ParserTable::action_table_row647"
+typedef val_t (* parser_tables___ParserTable___action_table_row648_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row648(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row648 "parser_tables::ParserTable::action_table_row648"
+typedef val_t (* parser_tables___ParserTable___action_table_row649_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row649(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row649 "parser_tables::ParserTable::action_table_row649"
+typedef val_t (* parser_tables___ParserTable___action_table_row650_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row650(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row650 "parser_tables::ParserTable::action_table_row650"
+typedef val_t (* parser_tables___ParserTable___action_table_row651_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row651(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row651 "parser_tables::ParserTable::action_table_row651"
+typedef val_t (* parser_tables___ParserTable___action_table_row652_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row652(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row652 "parser_tables::ParserTable::action_table_row652"
+typedef val_t (* parser_tables___ParserTable___action_table_row653_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row653(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row653 "parser_tables::ParserTable::action_table_row653"
+typedef val_t (* parser_tables___ParserTable___action_table_row654_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row654(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row654 "parser_tables::ParserTable::action_table_row654"
+typedef val_t (* parser_tables___ParserTable___action_table_row655_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row655(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row655 "parser_tables::ParserTable::action_table_row655"
+typedef val_t (* parser_tables___ParserTable___action_table_row656_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row656(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row656 "parser_tables::ParserTable::action_table_row656"
+typedef val_t (* parser_tables___ParserTable___action_table_row657_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row657(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row657 "parser_tables::ParserTable::action_table_row657"
+typedef val_t (* parser_tables___ParserTable___action_table_row658_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row658(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row658 "parser_tables::ParserTable::action_table_row658"
+typedef val_t (* parser_tables___ParserTable___action_table_row659_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row659(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row659 "parser_tables::ParserTable::action_table_row659"
+typedef val_t (* parser_tables___ParserTable___action_table_row660_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row660(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row660 "parser_tables::ParserTable::action_table_row660"
+typedef val_t (* parser_tables___ParserTable___action_table_row661_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row661(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row661 "parser_tables::ParserTable::action_table_row661"
+typedef val_t (* parser_tables___ParserTable___action_table_row662_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row662(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row662 "parser_tables::ParserTable::action_table_row662"
+typedef val_t (* parser_tables___ParserTable___action_table_row663_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row663(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row663 "parser_tables::ParserTable::action_table_row663"
+typedef val_t (* parser_tables___ParserTable___action_table_row664_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row664(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row664 "parser_tables::ParserTable::action_table_row664"
+typedef val_t (* parser_tables___ParserTable___action_table_row665_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row665(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row665 "parser_tables::ParserTable::action_table_row665"
+typedef val_t (* parser_tables___ParserTable___action_table_row666_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row666(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row666 "parser_tables::ParserTable::action_table_row666"
+typedef val_t (* parser_tables___ParserTable___action_table_row667_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row667(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row667 "parser_tables::ParserTable::action_table_row667"
+typedef val_t (* parser_tables___ParserTable___action_table_row668_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row668(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row668 "parser_tables::ParserTable::action_table_row668"
+typedef val_t (* parser_tables___ParserTable___action_table_row669_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row669(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row669 "parser_tables::ParserTable::action_table_row669"
+typedef val_t (* parser_tables___ParserTable___action_table_row670_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row670(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row670 "parser_tables::ParserTable::action_table_row670"
+typedef val_t (* parser_tables___ParserTable___action_table_row671_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row671(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row671 "parser_tables::ParserTable::action_table_row671"
+typedef val_t (* parser_tables___ParserTable___action_table_row672_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row672(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row672 "parser_tables::ParserTable::action_table_row672"
+typedef val_t (* parser_tables___ParserTable___action_table_row673_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row673(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row673 "parser_tables::ParserTable::action_table_row673"
+typedef val_t (* parser_tables___ParserTable___action_table_row674_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row674(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row674 "parser_tables::ParserTable::action_table_row674"
+typedef val_t (* parser_tables___ParserTable___action_table_row675_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row675(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row675 "parser_tables::ParserTable::action_table_row675"
+typedef val_t (* parser_tables___ParserTable___action_table_row676_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row676(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row676 "parser_tables::ParserTable::action_table_row676"
+typedef val_t (* parser_tables___ParserTable___action_table_row677_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row677(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row677 "parser_tables::ParserTable::action_table_row677"
+typedef val_t (* parser_tables___ParserTable___action_table_row678_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row678(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row678 "parser_tables::ParserTable::action_table_row678"
+typedef val_t (* parser_tables___ParserTable___action_table_row679_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row679(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row679 "parser_tables::ParserTable::action_table_row679"
+typedef val_t (* parser_tables___ParserTable___action_table_row680_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row680(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row680 "parser_tables::ParserTable::action_table_row680"
+typedef val_t (* parser_tables___ParserTable___action_table_row681_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row681(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row681 "parser_tables::ParserTable::action_table_row681"
+typedef val_t (* parser_tables___ParserTable___action_table_row682_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row682(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row682 "parser_tables::ParserTable::action_table_row682"
+typedef val_t (* parser_tables___ParserTable___action_table_row683_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row683(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row683 "parser_tables::ParserTable::action_table_row683"
+typedef val_t (* parser_tables___ParserTable___action_table_row684_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row684(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row684 "parser_tables::ParserTable::action_table_row684"
+typedef val_t (* parser_tables___ParserTable___action_table_row685_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row685(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row685 "parser_tables::ParserTable::action_table_row685"
+typedef val_t (* parser_tables___ParserTable___action_table_row686_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row686(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row686 "parser_tables::ParserTable::action_table_row686"
+typedef val_t (* parser_tables___ParserTable___action_table_row687_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row687(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row687 "parser_tables::ParserTable::action_table_row687"
+typedef val_t (* parser_tables___ParserTable___action_table_row688_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row688(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row688 "parser_tables::ParserTable::action_table_row688"
+typedef val_t (* parser_tables___ParserTable___action_table_row689_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row689(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row689 "parser_tables::ParserTable::action_table_row689"
+typedef val_t (* parser_tables___ParserTable___action_table_row690_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row690(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row690 "parser_tables::ParserTable::action_table_row690"
+typedef val_t (* parser_tables___ParserTable___action_table_row691_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row691(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row691 "parser_tables::ParserTable::action_table_row691"
+typedef val_t (* parser_tables___ParserTable___action_table_row692_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row692(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row692 "parser_tables::ParserTable::action_table_row692"
+typedef val_t (* parser_tables___ParserTable___action_table_row693_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row693(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row693 "parser_tables::ParserTable::action_table_row693"
+typedef val_t (* parser_tables___ParserTable___action_table_row694_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row694(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row694 "parser_tables::ParserTable::action_table_row694"
+typedef val_t (* parser_tables___ParserTable___action_table_row695_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row695(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row695 "parser_tables::ParserTable::action_table_row695"
+typedef val_t (* parser_tables___ParserTable___action_table_row696_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row696(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row696 "parser_tables::ParserTable::action_table_row696"
+typedef val_t (* parser_tables___ParserTable___action_table_row697_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row697(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row697 "parser_tables::ParserTable::action_table_row697"
+typedef val_t (* parser_tables___ParserTable___action_table_row698_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row698(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row698 "parser_tables::ParserTable::action_table_row698"
+typedef val_t (* parser_tables___ParserTable___action_table_row699_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row699(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row699 "parser_tables::ParserTable::action_table_row699"
+typedef val_t (* parser_tables___ParserTable___action_table_row700_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row700(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row700 "parser_tables::ParserTable::action_table_row700"
+typedef val_t (* parser_tables___ParserTable___action_table_row701_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row701(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row701 "parser_tables::ParserTable::action_table_row701"
+typedef val_t (* parser_tables___ParserTable___action_table_row702_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row702(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row702 "parser_tables::ParserTable::action_table_row702"
+typedef val_t (* parser_tables___ParserTable___action_table_row703_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row703(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row703 "parser_tables::ParserTable::action_table_row703"
+typedef val_t (* parser_tables___ParserTable___action_table_row704_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row704(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row704 "parser_tables::ParserTable::action_table_row704"
+typedef val_t (* parser_tables___ParserTable___action_table_row705_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row705(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row705 "parser_tables::ParserTable::action_table_row705"
+typedef val_t (* parser_tables___ParserTable___action_table_row706_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row706(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row706 "parser_tables::ParserTable::action_table_row706"
+typedef val_t (* parser_tables___ParserTable___action_table_row707_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row707(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row707 "parser_tables::ParserTable::action_table_row707"
+typedef val_t (* parser_tables___ParserTable___action_table_row708_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row708(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row708 "parser_tables::ParserTable::action_table_row708"
+typedef val_t (* parser_tables___ParserTable___action_table_row709_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row709(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row709 "parser_tables::ParserTable::action_table_row709"
+typedef val_t (* parser_tables___ParserTable___action_table_row710_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row710(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row710 "parser_tables::ParserTable::action_table_row710"
+typedef val_t (* parser_tables___ParserTable___action_table_row711_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row711(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row711 "parser_tables::ParserTable::action_table_row711"
+typedef val_t (* parser_tables___ParserTable___action_table_row712_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row712(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row712 "parser_tables::ParserTable::action_table_row712"
+typedef val_t (* parser_tables___ParserTable___action_table_row713_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row713(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row713 "parser_tables::ParserTable::action_table_row713"
+typedef val_t (* parser_tables___ParserTable___action_table_row714_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row714(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row714 "parser_tables::ParserTable::action_table_row714"
+typedef val_t (* parser_tables___ParserTable___action_table_row715_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row715(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row715 "parser_tables::ParserTable::action_table_row715"
+typedef val_t (* parser_tables___ParserTable___action_table_row716_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row716(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row716 "parser_tables::ParserTable::action_table_row716"
+typedef val_t (* parser_tables___ParserTable___action_table_row717_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row717(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row717 "parser_tables::ParserTable::action_table_row717"
+typedef val_t (* parser_tables___ParserTable___action_table_row718_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row718(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row718 "parser_tables::ParserTable::action_table_row718"
+typedef val_t (* parser_tables___ParserTable___action_table_row719_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row719(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row719 "parser_tables::ParserTable::action_table_row719"
+typedef val_t (* parser_tables___ParserTable___action_table_row720_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row720(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row720 "parser_tables::ParserTable::action_table_row720"
+typedef val_t (* parser_tables___ParserTable___action_table_row721_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row721(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row721 "parser_tables::ParserTable::action_table_row721"
+typedef val_t (* parser_tables___ParserTable___action_table_row722_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row722(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row722 "parser_tables::ParserTable::action_table_row722"
+typedef val_t (* parser_tables___ParserTable___action_table_row723_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row723(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row723 "parser_tables::ParserTable::action_table_row723"
+typedef val_t (* parser_tables___ParserTable___action_table_row724_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row724(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row724 "parser_tables::ParserTable::action_table_row724"
+typedef val_t (* parser_tables___ParserTable___action_table_row725_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row725(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row725 "parser_tables::ParserTable::action_table_row725"
+typedef val_t (* parser_tables___ParserTable___action_table_row726_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row726(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row726 "parser_tables::ParserTable::action_table_row726"
+typedef val_t (* parser_tables___ParserTable___action_table_row727_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row727(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row727 "parser_tables::ParserTable::action_table_row727"
+typedef val_t (* parser_tables___ParserTable___action_table_row728_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row728(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row728 "parser_tables::ParserTable::action_table_row728"
+typedef val_t (* parser_tables___ParserTable___action_table_row729_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row729(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row729 "parser_tables::ParserTable::action_table_row729"
+typedef val_t (* parser_tables___ParserTable___action_table_row730_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row730(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row730 "parser_tables::ParserTable::action_table_row730"
+typedef val_t (* parser_tables___ParserTable___action_table_row731_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row731(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row731 "parser_tables::ParserTable::action_table_row731"
+typedef val_t (* parser_tables___ParserTable___action_table_row732_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row732(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row732 "parser_tables::ParserTable::action_table_row732"
+typedef val_t (* parser_tables___ParserTable___action_table_row733_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row733(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row733 "parser_tables::ParserTable::action_table_row733"
+typedef val_t (* parser_tables___ParserTable___action_table_row734_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row734(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row734 "parser_tables::ParserTable::action_table_row734"
+typedef val_t (* parser_tables___ParserTable___action_table_row735_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row735(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row735 "parser_tables::ParserTable::action_table_row735"
+typedef val_t (* parser_tables___ParserTable___action_table_row736_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row736(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row736 "parser_tables::ParserTable::action_table_row736"
+typedef val_t (* parser_tables___ParserTable___action_table_row737_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row737(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row737 "parser_tables::ParserTable::action_table_row737"
+typedef val_t (* parser_tables___ParserTable___action_table_row738_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row738(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row738 "parser_tables::ParserTable::action_table_row738"
+typedef val_t (* parser_tables___ParserTable___action_table_row739_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row739(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row739 "parser_tables::ParserTable::action_table_row739"
+typedef val_t (* parser_tables___ParserTable___action_table_row740_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row740(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row740 "parser_tables::ParserTable::action_table_row740"
+typedef val_t (* parser_tables___ParserTable___action_table_row741_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row741(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row741 "parser_tables::ParserTable::action_table_row741"
+typedef val_t (* parser_tables___ParserTable___action_table_row742_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row742(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row742 "parser_tables::ParserTable::action_table_row742"
+typedef val_t (* parser_tables___ParserTable___action_table_row743_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row743(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row743 "parser_tables::ParserTable::action_table_row743"
+typedef val_t (* parser_tables___ParserTable___action_table_row744_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row744(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row744 "parser_tables::ParserTable::action_table_row744"
+typedef val_t (* parser_tables___ParserTable___action_table_row745_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row745(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row745 "parser_tables::ParserTable::action_table_row745"
+typedef val_t (* parser_tables___ParserTable___action_table_row746_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row746(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row746 "parser_tables::ParserTable::action_table_row746"
+typedef val_t (* parser_tables___ParserTable___action_table_row747_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row747(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row747 "parser_tables::ParserTable::action_table_row747"
+typedef val_t (* parser_tables___ParserTable___action_table_row748_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row748(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row748 "parser_tables::ParserTable::action_table_row748"
+typedef val_t (* parser_tables___ParserTable___action_table_row749_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row749(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row749 "parser_tables::ParserTable::action_table_row749"
+typedef val_t (* parser_tables___ParserTable___action_table_row750_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row750(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row750 "parser_tables::ParserTable::action_table_row750"
+typedef val_t (* parser_tables___ParserTable___action_table_row751_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row751(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row751 "parser_tables::ParserTable::action_table_row751"
+typedef val_t (* parser_tables___ParserTable___action_table_row752_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row752(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row752 "parser_tables::ParserTable::action_table_row752"
+typedef val_t (* parser_tables___ParserTable___action_table_row753_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row753(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row753 "parser_tables::ParserTable::action_table_row753"
+typedef val_t (* parser_tables___ParserTable___action_table_row754_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row754(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row754 "parser_tables::ParserTable::action_table_row754"
+typedef val_t (* parser_tables___ParserTable___action_table_row755_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row755(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row755 "parser_tables::ParserTable::action_table_row755"
+typedef val_t (* parser_tables___ParserTable___action_table_row756_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row756(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row756 "parser_tables::ParserTable::action_table_row756"
+typedef val_t (* parser_tables___ParserTable___action_table_row757_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row757(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row757 "parser_tables::ParserTable::action_table_row757"
+typedef val_t (* parser_tables___ParserTable___action_table_row758_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row758(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row758 "parser_tables::ParserTable::action_table_row758"
+typedef val_t (* parser_tables___ParserTable___action_table_row759_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row759(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row759 "parser_tables::ParserTable::action_table_row759"
+typedef val_t (* parser_tables___ParserTable___action_table_row760_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row760(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row760 "parser_tables::ParserTable::action_table_row760"
+typedef val_t (* parser_tables___ParserTable___action_table_row761_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row761(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row761 "parser_tables::ParserTable::action_table_row761"
+typedef val_t (* parser_tables___ParserTable___action_table_row762_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row762(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row762 "parser_tables::ParserTable::action_table_row762"
+typedef val_t (* parser_tables___ParserTable___action_table_row763_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row763(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row763 "parser_tables::ParserTable::action_table_row763"
+typedef val_t (* parser_tables___ParserTable___action_table_row764_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row764(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row764 "parser_tables::ParserTable::action_table_row764"
+typedef val_t (* parser_tables___ParserTable___action_table_row765_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row765(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row765 "parser_tables::ParserTable::action_table_row765"
+typedef val_t (* parser_tables___ParserTable___action_table_row766_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row766(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row766 "parser_tables::ParserTable::action_table_row766"
+typedef val_t (* parser_tables___ParserTable___action_table_row767_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row767(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row767 "parser_tables::ParserTable::action_table_row767"
+typedef val_t (* parser_tables___ParserTable___action_table_row768_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row768(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row768 "parser_tables::ParserTable::action_table_row768"
+typedef val_t (* parser_tables___ParserTable___action_table_row769_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row769(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row769 "parser_tables::ParserTable::action_table_row769"
+typedef val_t (* parser_tables___ParserTable___action_table_row770_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row770(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row770 "parser_tables::ParserTable::action_table_row770"
+typedef val_t (* parser_tables___ParserTable___action_table_row771_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row771(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row771 "parser_tables::ParserTable::action_table_row771"
+typedef val_t (* parser_tables___ParserTable___action_table_row772_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row772(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row772 "parser_tables::ParserTable::action_table_row772"
+typedef val_t (* parser_tables___ParserTable___action_table_row773_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row773(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row773 "parser_tables::ParserTable::action_table_row773"
+typedef val_t (* parser_tables___ParserTable___action_table_row774_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row774(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row774 "parser_tables::ParserTable::action_table_row774"
+typedef val_t (* parser_tables___ParserTable___action_table_row775_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row775(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row775 "parser_tables::ParserTable::action_table_row775"
+typedef val_t (* parser_tables___ParserTable___action_table_row776_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row776(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row776 "parser_tables::ParserTable::action_table_row776"
+typedef val_t (* parser_tables___ParserTable___action_table_row777_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row777(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row777 "parser_tables::ParserTable::action_table_row777"
+typedef val_t (* parser_tables___ParserTable___action_table_row778_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row778(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row778 "parser_tables::ParserTable::action_table_row778"
+typedef val_t (* parser_tables___ParserTable___action_table_row779_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row779(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row779 "parser_tables::ParserTable::action_table_row779"
+typedef val_t (* parser_tables___ParserTable___action_table_row780_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row780(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row780 "parser_tables::ParserTable::action_table_row780"
+typedef val_t (* parser_tables___ParserTable___action_table_row781_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row781(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row781 "parser_tables::ParserTable::action_table_row781"
+typedef val_t (* parser_tables___ParserTable___action_table_row782_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row782(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row782 "parser_tables::ParserTable::action_table_row782"
+typedef val_t (* parser_tables___ParserTable___action_table_row783_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row783(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row783 "parser_tables::ParserTable::action_table_row783"
+typedef val_t (* parser_tables___ParserTable___action_table_row784_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row784(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row784 "parser_tables::ParserTable::action_table_row784"
+typedef val_t (* parser_tables___ParserTable___action_table_row785_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row785(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row785 "parser_tables::ParserTable::action_table_row785"
+typedef val_t (* parser_tables___ParserTable___action_table_row786_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row786(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row786 "parser_tables::ParserTable::action_table_row786"
+typedef val_t (* parser_tables___ParserTable___action_table_row787_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row787(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row787 "parser_tables::ParserTable::action_table_row787"
+typedef val_t (* parser_tables___ParserTable___action_table_row788_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row788(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row788 "parser_tables::ParserTable::action_table_row788"
+typedef val_t (* parser_tables___ParserTable___action_table_row789_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row789(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row789 "parser_tables::ParserTable::action_table_row789"
+typedef val_t (* parser_tables___ParserTable___action_table_row790_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row790(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row790 "parser_tables::ParserTable::action_table_row790"
+typedef val_t (* parser_tables___ParserTable___action_table_row791_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row791(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row791 "parser_tables::ParserTable::action_table_row791"
+typedef val_t (* parser_tables___ParserTable___action_table_row792_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row792(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row792 "parser_tables::ParserTable::action_table_row792"
+typedef val_t (* parser_tables___ParserTable___action_table_row793_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row793(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row793 "parser_tables::ParserTable::action_table_row793"
+typedef val_t (* parser_tables___ParserTable___action_table_row794_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row794(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row794 "parser_tables::ParserTable::action_table_row794"
+typedef val_t (* parser_tables___ParserTable___action_table_row795_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row795(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row795 "parser_tables::ParserTable::action_table_row795"
+typedef val_t (* parser_tables___ParserTable___action_table_row796_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row796(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row796 "parser_tables::ParserTable::action_table_row796"
+typedef val_t (* parser_tables___ParserTable___action_table_row797_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row797(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row797 "parser_tables::ParserTable::action_table_row797"
+typedef val_t (* parser_tables___ParserTable___action_table_row798_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row798(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row798 "parser_tables::ParserTable::action_table_row798"
+typedef val_t (* parser_tables___ParserTable___action_table_row799_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row799(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row799 "parser_tables::ParserTable::action_table_row799"
+typedef val_t (* parser_tables___ParserTable___action_table_row800_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row800(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row800 "parser_tables::ParserTable::action_table_row800"
+typedef val_t (* parser_tables___ParserTable___action_table_row801_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row801(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row801 "parser_tables::ParserTable::action_table_row801"
+typedef val_t (* parser_tables___ParserTable___action_table_row802_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row802(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row802 "parser_tables::ParserTable::action_table_row802"
+typedef val_t (* parser_tables___ParserTable___action_table_row803_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row803(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row803 "parser_tables::ParserTable::action_table_row803"
+typedef val_t (* parser_tables___ParserTable___action_table_row804_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row804(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row804 "parser_tables::ParserTable::action_table_row804"
+typedef val_t (* parser_tables___ParserTable___action_table_row805_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row805(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row805 "parser_tables::ParserTable::action_table_row805"
+typedef val_t (* parser_tables___ParserTable___action_table_row806_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row806(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row806 "parser_tables::ParserTable::action_table_row806"
+typedef val_t (* parser_tables___ParserTable___action_table_row807_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row807(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row807 "parser_tables::ParserTable::action_table_row807"
+typedef val_t (* parser_tables___ParserTable___action_table_row808_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row808(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row808 "parser_tables::ParserTable::action_table_row808"
+typedef val_t (* parser_tables___ParserTable___action_table_row809_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row809(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row809 "parser_tables::ParserTable::action_table_row809"
+typedef val_t (* parser_tables___ParserTable___action_table_row810_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row810(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row810 "parser_tables::ParserTable::action_table_row810"
+typedef val_t (* parser_tables___ParserTable___action_table_row811_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row811(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row811 "parser_tables::ParserTable::action_table_row811"
+typedef val_t (* parser_tables___ParserTable___action_table_row812_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row812(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row812 "parser_tables::ParserTable::action_table_row812"
+typedef val_t (* parser_tables___ParserTable___action_table_row813_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row813(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row813 "parser_tables::ParserTable::action_table_row813"
+typedef val_t (* parser_tables___ParserTable___action_table_row814_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row814(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row814 "parser_tables::ParserTable::action_table_row814"
+typedef val_t (* parser_tables___ParserTable___action_table_row815_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row815(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row815 "parser_tables::ParserTable::action_table_row815"
+typedef val_t (* parser_tables___ParserTable___action_table_row816_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row816(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row816 "parser_tables::ParserTable::action_table_row816"
+typedef val_t (* parser_tables___ParserTable___action_table_row817_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row817(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row817 "parser_tables::ParserTable::action_table_row817"
+typedef val_t (* parser_tables___ParserTable___action_table_row818_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row818(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row818 "parser_tables::ParserTable::action_table_row818"
+typedef val_t (* parser_tables___ParserTable___action_table_row819_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row819(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row819 "parser_tables::ParserTable::action_table_row819"
+typedef val_t (* parser_tables___ParserTable___action_table_row820_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row820(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row820 "parser_tables::ParserTable::action_table_row820"
+typedef val_t (* parser_tables___ParserTable___action_table_row821_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row821(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row821 "parser_tables::ParserTable::action_table_row821"
+typedef val_t (* parser_tables___ParserTable___action_table_row822_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row822(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row822 "parser_tables::ParserTable::action_table_row822"
+typedef val_t (* parser_tables___ParserTable___action_table_row823_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row823(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row823 "parser_tables::ParserTable::action_table_row823"
+typedef val_t (* parser_tables___ParserTable___action_table_row824_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row824(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row824 "parser_tables::ParserTable::action_table_row824"
+typedef val_t (* parser_tables___ParserTable___action_table_row825_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row825(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row825 "parser_tables::ParserTable::action_table_row825"
+typedef val_t (* parser_tables___ParserTable___action_table_row826_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row826(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row826 "parser_tables::ParserTable::action_table_row826"
+typedef val_t (* parser_tables___ParserTable___action_table_row827_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row827(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row827 "parser_tables::ParserTable::action_table_row827"
+typedef val_t (* parser_tables___ParserTable___action_table_row828_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row828(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row828 "parser_tables::ParserTable::action_table_row828"
+typedef val_t (* parser_tables___ParserTable___action_table_row829_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row829(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row829 "parser_tables::ParserTable::action_table_row829"
+typedef val_t (* parser_tables___ParserTable___action_table_row830_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row830(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row830 "parser_tables::ParserTable::action_table_row830"
+typedef val_t (* parser_tables___ParserTable___action_table_row831_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row831(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row831 "parser_tables::ParserTable::action_table_row831"
+typedef val_t (* parser_tables___ParserTable___action_table_row832_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row832(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row832 "parser_tables::ParserTable::action_table_row832"
+typedef val_t (* parser_tables___ParserTable___action_table_row833_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row833(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row833 "parser_tables::ParserTable::action_table_row833"
+typedef val_t (* parser_tables___ParserTable___action_table_row834_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row834(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row834 "parser_tables::ParserTable::action_table_row834"
+typedef val_t (* parser_tables___ParserTable___action_table_row835_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row835(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row835 "parser_tables::ParserTable::action_table_row835"
+typedef val_t (* parser_tables___ParserTable___action_table_row836_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row836(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row836 "parser_tables::ParserTable::action_table_row836"
+typedef val_t (* parser_tables___ParserTable___action_table_row837_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row837(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row837 "parser_tables::ParserTable::action_table_row837"
+typedef val_t (* parser_tables___ParserTable___action_table_row838_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row838(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row838 "parser_tables::ParserTable::action_table_row838"
+typedef val_t (* parser_tables___ParserTable___action_table_row839_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row839(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row839 "parser_tables::ParserTable::action_table_row839"
+typedef val_t (* parser_tables___ParserTable___action_table_row840_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row840(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row840 "parser_tables::ParserTable::action_table_row840"
+typedef val_t (* parser_tables___ParserTable___action_table_row841_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row841(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row841 "parser_tables::ParserTable::action_table_row841"
+typedef val_t (* parser_tables___ParserTable___action_table_row842_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row842(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row842 "parser_tables::ParserTable::action_table_row842"
+typedef val_t (* parser_tables___ParserTable___action_table_row843_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row843(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row843 "parser_tables::ParserTable::action_table_row843"
+typedef val_t (* parser_tables___ParserTable___action_table_row844_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row844(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row844 "parser_tables::ParserTable::action_table_row844"
+typedef val_t (* parser_tables___ParserTable___action_table_row845_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row845(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row845 "parser_tables::ParserTable::action_table_row845"
+typedef val_t (* parser_tables___ParserTable___action_table_row846_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row846(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row846 "parser_tables::ParserTable::action_table_row846"
+typedef val_t (* parser_tables___ParserTable___action_table_row847_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row847(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row847 "parser_tables::ParserTable::action_table_row847"
+typedef val_t (* parser_tables___ParserTable___action_table_row848_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row848(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row848 "parser_tables::ParserTable::action_table_row848"
+typedef val_t (* parser_tables___ParserTable___action_table_row849_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row849(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row849 "parser_tables::ParserTable::action_table_row849"
+typedef val_t (* parser_tables___ParserTable___action_table_row850_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row850(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row850 "parser_tables::ParserTable::action_table_row850"
+typedef val_t (* parser_tables___ParserTable___action_table_row851_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row851(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row851 "parser_tables::ParserTable::action_table_row851"
+typedef val_t (* parser_tables___ParserTable___action_table_row852_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row852(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row852 "parser_tables::ParserTable::action_table_row852"
+typedef val_t (* parser_tables___ParserTable___action_table_row853_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row853(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row853 "parser_tables::ParserTable::action_table_row853"
+typedef val_t (* parser_tables___ParserTable___action_table_row854_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row854(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row854 "parser_tables::ParserTable::action_table_row854"
+typedef val_t (* parser_tables___ParserTable___action_table_row855_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row855(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row855 "parser_tables::ParserTable::action_table_row855"
+typedef val_t (* parser_tables___ParserTable___action_table_row856_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row856(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row856 "parser_tables::ParserTable::action_table_row856"
+typedef val_t (* parser_tables___ParserTable___action_table_row857_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row857(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row857 "parser_tables::ParserTable::action_table_row857"
+typedef val_t (* parser_tables___ParserTable___action_table_row858_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row858(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row858 "parser_tables::ParserTable::action_table_row858"
+typedef val_t (* parser_tables___ParserTable___action_table_row859_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row859(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row859 "parser_tables::ParserTable::action_table_row859"
+typedef val_t (* parser_tables___ParserTable___action_table_row860_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row860(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row860 "parser_tables::ParserTable::action_table_row860"
+typedef val_t (* parser_tables___ParserTable___action_table_row861_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row861(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row861 "parser_tables::ParserTable::action_table_row861"
+typedef val_t (* parser_tables___ParserTable___action_table_row862_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row862(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row862 "parser_tables::ParserTable::action_table_row862"
+typedef val_t (* parser_tables___ParserTable___action_table_row863_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row863(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row863 "parser_tables::ParserTable::action_table_row863"
+typedef val_t (* parser_tables___ParserTable___action_table_row864_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row864(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row864 "parser_tables::ParserTable::action_table_row864"
+typedef val_t (* parser_tables___ParserTable___action_table_row865_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row865(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row865 "parser_tables::ParserTable::action_table_row865"
+typedef val_t (* parser_tables___ParserTable___action_table_row866_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row866(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row866 "parser_tables::ParserTable::action_table_row866"
+typedef val_t (* parser_tables___ParserTable___action_table_row867_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row867(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row867 "parser_tables::ParserTable::action_table_row867"
+typedef val_t (* parser_tables___ParserTable___action_table_row868_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row868(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row868 "parser_tables::ParserTable::action_table_row868"
+typedef val_t (* parser_tables___ParserTable___action_table_row869_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row869(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row869 "parser_tables::ParserTable::action_table_row869"
+typedef val_t (* parser_tables___ParserTable___action_table_row870_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row870(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row870 "parser_tables::ParserTable::action_table_row870"
+typedef val_t (* parser_tables___ParserTable___action_table_row871_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row871(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row871 "parser_tables::ParserTable::action_table_row871"
+typedef val_t (* parser_tables___ParserTable___action_table_row872_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row872(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row872 "parser_tables::ParserTable::action_table_row872"
+typedef val_t (* parser_tables___ParserTable___action_table_row873_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row873(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row873 "parser_tables::ParserTable::action_table_row873"
+typedef val_t (* parser_tables___ParserTable___action_table_row874_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row874(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row874 "parser_tables::ParserTable::action_table_row874"
+typedef val_t (* parser_tables___ParserTable___action_table_row875_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row875(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row875 "parser_tables::ParserTable::action_table_row875"
+typedef val_t (* parser_tables___ParserTable___action_table_row876_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row876(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row876 "parser_tables::ParserTable::action_table_row876"
+typedef val_t (* parser_tables___ParserTable___action_table_row877_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row877(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row877 "parser_tables::ParserTable::action_table_row877"
+typedef val_t (* parser_tables___ParserTable___action_table_row878_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row878(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row878 "parser_tables::ParserTable::action_table_row878"
+typedef val_t (* parser_tables___ParserTable___action_table_row879_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row879(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row879 "parser_tables::ParserTable::action_table_row879"
+typedef val_t (* parser_tables___ParserTable___action_table_row880_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row880(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row880 "parser_tables::ParserTable::action_table_row880"
+typedef val_t (* parser_tables___ParserTable___action_table_row881_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row881(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row881 "parser_tables::ParserTable::action_table_row881"
+typedef val_t (* parser_tables___ParserTable___action_table_row882_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row882(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row882 "parser_tables::ParserTable::action_table_row882"
+typedef val_t (* parser_tables___ParserTable___action_table_row883_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row883(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row883 "parser_tables::ParserTable::action_table_row883"
+typedef val_t (* parser_tables___ParserTable___action_table_row884_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row884(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row884 "parser_tables::ParserTable::action_table_row884"
+typedef val_t (* parser_tables___ParserTable___action_table_row885_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row885(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row885 "parser_tables::ParserTable::action_table_row885"
+typedef val_t (* parser_tables___ParserTable___action_table_row886_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row886(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row886 "parser_tables::ParserTable::action_table_row886"
+typedef val_t (* parser_tables___ParserTable___action_table_row887_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row887(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row887 "parser_tables::ParserTable::action_table_row887"
+typedef val_t (* parser_tables___ParserTable___action_table_row888_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row888(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row888 "parser_tables::ParserTable::action_table_row888"
+typedef val_t (* parser_tables___ParserTable___action_table_row889_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row889(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row889 "parser_tables::ParserTable::action_table_row889"
+typedef val_t (* parser_tables___ParserTable___action_table_row890_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row890(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row890 "parser_tables::ParserTable::action_table_row890"
+typedef val_t (* parser_tables___ParserTable___action_table_row891_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row891(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row891 "parser_tables::ParserTable::action_table_row891"
+typedef val_t (* parser_tables___ParserTable___action_table_row892_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row892(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row892 "parser_tables::ParserTable::action_table_row892"
+typedef val_t (* parser_tables___ParserTable___action_table_row893_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row893(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row893 "parser_tables::ParserTable::action_table_row893"
+typedef val_t (* parser_tables___ParserTable___action_table_row894_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row894(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row894 "parser_tables::ParserTable::action_table_row894"
+typedef val_t (* parser_tables___ParserTable___action_table_row895_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row895(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row895 "parser_tables::ParserTable::action_table_row895"
+typedef val_t (* parser_tables___ParserTable___action_table_row896_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row896(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row896 "parser_tables::ParserTable::action_table_row896"
+typedef val_t (* parser_tables___ParserTable___action_table_row897_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row897(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row897 "parser_tables::ParserTable::action_table_row897"
+typedef val_t (* parser_tables___ParserTable___action_table_row898_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row898(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row898 "parser_tables::ParserTable::action_table_row898"
+typedef val_t (* parser_tables___ParserTable___action_table_row899_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row899(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row899 "parser_tables::ParserTable::action_table_row899"
+typedef val_t (* parser_tables___ParserTable___action_table_row900_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row900(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row900 "parser_tables::ParserTable::action_table_row900"
+typedef val_t (* parser_tables___ParserTable___action_table_row901_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row901(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row901 "parser_tables::ParserTable::action_table_row901"
+typedef val_t (* parser_tables___ParserTable___action_table_row902_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row902(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row902 "parser_tables::ParserTable::action_table_row902"
+typedef val_t (* parser_tables___ParserTable___action_table_row903_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row903(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row903 "parser_tables::ParserTable::action_table_row903"
+typedef val_t (* parser_tables___ParserTable___action_table_row904_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row904(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row904 "parser_tables::ParserTable::action_table_row904"
+typedef val_t (* parser_tables___ParserTable___action_table_row905_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row905(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row905 "parser_tables::ParserTable::action_table_row905"
+typedef val_t (* parser_tables___ParserTable___action_table_row906_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row906(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row906 "parser_tables::ParserTable::action_table_row906"
+typedef val_t (* parser_tables___ParserTable___action_table_row907_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row907(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row907 "parser_tables::ParserTable::action_table_row907"
+typedef val_t (* parser_tables___ParserTable___action_table_row908_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row908(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row908 "parser_tables::ParserTable::action_table_row908"
+typedef val_t (* parser_tables___ParserTable___action_table_row909_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row909(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row909 "parser_tables::ParserTable::action_table_row909"
+typedef val_t (* parser_tables___ParserTable___action_table_row910_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row910(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row910 "parser_tables::ParserTable::action_table_row910"
+typedef val_t (* parser_tables___ParserTable___action_table_row911_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row911(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row911 "parser_tables::ParserTable::action_table_row911"
+typedef val_t (* parser_tables___ParserTable___action_table_row912_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row912(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row912 "parser_tables::ParserTable::action_table_row912"
+typedef val_t (* parser_tables___ParserTable___action_table_row913_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row913(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row913 "parser_tables::ParserTable::action_table_row913"
+typedef val_t (* parser_tables___ParserTable___action_table_row914_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row914(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row914 "parser_tables::ParserTable::action_table_row914"
+typedef val_t (* parser_tables___ParserTable___action_table_row915_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row915(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row915 "parser_tables::ParserTable::action_table_row915"
+typedef val_t (* parser_tables___ParserTable___action_table_row916_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row916(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row916 "parser_tables::ParserTable::action_table_row916"
+typedef val_t (* parser_tables___ParserTable___action_table_row917_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row917(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row917 "parser_tables::ParserTable::action_table_row917"
+typedef val_t (* parser_tables___ParserTable___action_table_row918_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row918(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row918 "parser_tables::ParserTable::action_table_row918"
+typedef val_t (* parser_tables___ParserTable___action_table_row919_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row919(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row919 "parser_tables::ParserTable::action_table_row919"
+typedef val_t (* parser_tables___ParserTable___action_table_row920_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row920(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row920 "parser_tables::ParserTable::action_table_row920"
+typedef val_t (* parser_tables___ParserTable___action_table_row921_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row921(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row921 "parser_tables::ParserTable::action_table_row921"
+typedef val_t (* parser_tables___ParserTable___action_table_row922_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row922(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row922 "parser_tables::ParserTable::action_table_row922"
+typedef val_t (* parser_tables___ParserTable___action_table_row923_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row923(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row923 "parser_tables::ParserTable::action_table_row923"
+typedef val_t (* parser_tables___ParserTable___action_table_row924_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row924(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row924 "parser_tables::ParserTable::action_table_row924"
+typedef val_t (* parser_tables___ParserTable___action_table_row925_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row925(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row925 "parser_tables::ParserTable::action_table_row925"
+typedef val_t (* parser_tables___ParserTable___action_table_row926_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row926(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row926 "parser_tables::ParserTable::action_table_row926"
+typedef val_t (* parser_tables___ParserTable___action_table_row927_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row927(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row927 "parser_tables::ParserTable::action_table_row927"
+typedef val_t (* parser_tables___ParserTable___action_table_row928_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row928(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row928 "parser_tables::ParserTable::action_table_row928"
+typedef val_t (* parser_tables___ParserTable___action_table_row929_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row929(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row929 "parser_tables::ParserTable::action_table_row929"
+typedef val_t (* parser_tables___ParserTable___action_table_row930_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row930(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row930 "parser_tables::ParserTable::action_table_row930"
+typedef val_t (* parser_tables___ParserTable___action_table_row931_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row931(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row931 "parser_tables::ParserTable::action_table_row931"
+typedef val_t (* parser_tables___ParserTable___action_table_row932_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row932(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row932 "parser_tables::ParserTable::action_table_row932"
+typedef val_t (* parser_tables___ParserTable___action_table_row933_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row933(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row933 "parser_tables::ParserTable::action_table_row933"
+typedef val_t (* parser_tables___ParserTable___action_table_row934_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row934(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row934 "parser_tables::ParserTable::action_table_row934"
+typedef val_t (* parser_tables___ParserTable___action_table_row935_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row935(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row935 "parser_tables::ParserTable::action_table_row935"
+typedef val_t (* parser_tables___ParserTable___action_table_row936_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row936(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row936 "parser_tables::ParserTable::action_table_row936"
+typedef val_t (* parser_tables___ParserTable___action_table_row937_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row937(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row937 "parser_tables::ParserTable::action_table_row937"
+typedef val_t (* parser_tables___ParserTable___action_table_row938_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row938(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row938 "parser_tables::ParserTable::action_table_row938"
+typedef val_t (* parser_tables___ParserTable___action_table_row939_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row939(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row939 "parser_tables::ParserTable::action_table_row939"
+typedef val_t (* parser_tables___ParserTable___action_table_row940_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row940(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row940 "parser_tables::ParserTable::action_table_row940"
+typedef val_t (* parser_tables___ParserTable___action_table_row941_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row941(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row941 "parser_tables::ParserTable::action_table_row941"
+typedef val_t (* parser_tables___ParserTable___action_table_row942_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row942(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row942 "parser_tables::ParserTable::action_table_row942"
+typedef val_t (* parser_tables___ParserTable___action_table_row943_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row943(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row943 "parser_tables::ParserTable::action_table_row943"
+typedef val_t (* parser_tables___ParserTable___action_table_row944_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row944(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row944 "parser_tables::ParserTable::action_table_row944"
+typedef val_t (* parser_tables___ParserTable___action_table_row945_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row945(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row945 "parser_tables::ParserTable::action_table_row945"
+typedef val_t (* parser_tables___ParserTable___action_table_row946_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row946(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row946 "parser_tables::ParserTable::action_table_row946"
+typedef val_t (* parser_tables___ParserTable___action_table_row947_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row947(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row947 "parser_tables::ParserTable::action_table_row947"
+typedef val_t (* parser_tables___ParserTable___action_table_row948_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row948(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row948 "parser_tables::ParserTable::action_table_row948"
+typedef val_t (* parser_tables___ParserTable___action_table_row949_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row949(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row949 "parser_tables::ParserTable::action_table_row949"
+typedef val_t (* parser_tables___ParserTable___action_table_row950_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row950(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row950 "parser_tables::ParserTable::action_table_row950"
+typedef val_t (* parser_tables___ParserTable___action_table_row951_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row951(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row951 "parser_tables::ParserTable::action_table_row951"
+typedef val_t (* parser_tables___ParserTable___action_table_row952_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row952(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row952 "parser_tables::ParserTable::action_table_row952"
+typedef val_t (* parser_tables___ParserTable___action_table_row953_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row953(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row953 "parser_tables::ParserTable::action_table_row953"
+typedef val_t (* parser_tables___ParserTable___action_table_row954_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row954(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row954 "parser_tables::ParserTable::action_table_row954"
+typedef val_t (* parser_tables___ParserTable___action_table_row955_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row955(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row955 "parser_tables::ParserTable::action_table_row955"
+typedef val_t (* parser_tables___ParserTable___action_table_row956_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row956(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row956 "parser_tables::ParserTable::action_table_row956"
+typedef val_t (* parser_tables___ParserTable___action_table_row957_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row957(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row957 "parser_tables::ParserTable::action_table_row957"
+typedef val_t (* parser_tables___ParserTable___action_table_row958_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row958(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row958 "parser_tables::ParserTable::action_table_row958"
+typedef val_t (* parser_tables___ParserTable___action_table_row959_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row959(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row959 "parser_tables::ParserTable::action_table_row959"
+typedef val_t (* parser_tables___ParserTable___action_table_row960_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row960(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row960 "parser_tables::ParserTable::action_table_row960"
+typedef val_t (* parser_tables___ParserTable___action_table_row961_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row961(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row961 "parser_tables::ParserTable::action_table_row961"
+typedef val_t (* parser_tables___ParserTable___action_table_row962_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row962(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row962 "parser_tables::ParserTable::action_table_row962"
+typedef val_t (* parser_tables___ParserTable___action_table_row963_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row963(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row963 "parser_tables::ParserTable::action_table_row963"
+typedef val_t (* parser_tables___ParserTable___action_table_row964_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row964(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row964 "parser_tables::ParserTable::action_table_row964"
+typedef val_t (* parser_tables___ParserTable___action_table_row965_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row965(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row965 "parser_tables::ParserTable::action_table_row965"
+typedef val_t (* parser_tables___ParserTable___action_table_row966_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row966(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row966 "parser_tables::ParserTable::action_table_row966"
+typedef val_t (* parser_tables___ParserTable___action_table_row967_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row967(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row967 "parser_tables::ParserTable::action_table_row967"
+typedef val_t (* parser_tables___ParserTable___action_table_row968_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row968(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row968 "parser_tables::ParserTable::action_table_row968"
+typedef val_t (* parser_tables___ParserTable___action_table_row969_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row969(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row969 "parser_tables::ParserTable::action_table_row969"
+typedef val_t (* parser_tables___ParserTable___action_table_row970_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row970(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row970 "parser_tables::ParserTable::action_table_row970"
+typedef val_t (* parser_tables___ParserTable___action_table_row971_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row971(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row971 "parser_tables::ParserTable::action_table_row971"
+typedef val_t (* parser_tables___ParserTable___action_table_row972_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row972(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row972 "parser_tables::ParserTable::action_table_row972"
+typedef val_t (* parser_tables___ParserTable___action_table_row973_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row973(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row973 "parser_tables::ParserTable::action_table_row973"
+typedef val_t (* parser_tables___ParserTable___action_table_row974_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row974(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row974 "parser_tables::ParserTable::action_table_row974"
+typedef val_t (* parser_tables___ParserTable___action_table_row975_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row975(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row975 "parser_tables::ParserTable::action_table_row975"
+typedef val_t (* parser_tables___ParserTable___action_table_row976_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row976(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row976 "parser_tables::ParserTable::action_table_row976"
+typedef val_t (* parser_tables___ParserTable___action_table_row977_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row977(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row977 "parser_tables::ParserTable::action_table_row977"
+typedef val_t (* parser_tables___ParserTable___action_table_row978_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row978(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row978 "parser_tables::ParserTable::action_table_row978"
+typedef val_t (* parser_tables___ParserTable___action_table_row979_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row979(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row979 "parser_tables::ParserTable::action_table_row979"
+typedef val_t (* parser_tables___ParserTable___action_table_row980_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row980(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row980 "parser_tables::ParserTable::action_table_row980"
+typedef val_t (* parser_tables___ParserTable___action_table_row981_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row981(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row981 "parser_tables::ParserTable::action_table_row981"
+typedef val_t (* parser_tables___ParserTable___action_table_row982_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row982(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row982 "parser_tables::ParserTable::action_table_row982"
+typedef val_t (* parser_tables___ParserTable___action_table_row983_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row983(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row983 "parser_tables::ParserTable::action_table_row983"
+typedef val_t (* parser_tables___ParserTable___action_table_row984_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row984(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row984 "parser_tables::ParserTable::action_table_row984"
+typedef val_t (* parser_tables___ParserTable___action_table_row985_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row985(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row985 "parser_tables::ParserTable::action_table_row985"
+typedef val_t (* parser_tables___ParserTable___action_table_row986_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row986(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row986 "parser_tables::ParserTable::action_table_row986"
+typedef val_t (* parser_tables___ParserTable___action_table_row987_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row987(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row987 "parser_tables::ParserTable::action_table_row987"
+typedef val_t (* parser_tables___ParserTable___action_table_row988_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row988(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row988 "parser_tables::ParserTable::action_table_row988"
+typedef val_t (* parser_tables___ParserTable___action_table_row989_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row989(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row989 "parser_tables::ParserTable::action_table_row989"
+typedef val_t (* parser_tables___ParserTable___action_table_row990_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row990(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row990 "parser_tables::ParserTable::action_table_row990"
+typedef val_t (* parser_tables___ParserTable___action_table_row991_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row991(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row991 "parser_tables::ParserTable::action_table_row991"
+typedef val_t (* parser_tables___ParserTable___action_table_row992_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row992(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row992 "parser_tables::ParserTable::action_table_row992"
+typedef val_t (* parser_tables___ParserTable___action_table_row993_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row993(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row993 "parser_tables::ParserTable::action_table_row993"
+typedef val_t (* parser_tables___ParserTable___action_table_row994_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row994(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row994 "parser_tables::ParserTable::action_table_row994"
+typedef val_t (* parser_tables___ParserTable___action_table_row995_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row995(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row995 "parser_tables::ParserTable::action_table_row995"
+typedef val_t (* parser_tables___ParserTable___action_table_row996_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row996(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row996 "parser_tables::ParserTable::action_table_row996"
+typedef val_t (* parser_tables___ParserTable___action_table_row997_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row997(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row997 "parser_tables::ParserTable::action_table_row997"
+typedef val_t (* parser_tables___ParserTable___action_table_row998_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row998(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row998 "parser_tables::ParserTable::action_table_row998"
+typedef val_t (* parser_tables___ParserTable___action_table_row999_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row999(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row999 "parser_tables::ParserTable::action_table_row999"
+typedef val_t (* parser_tables___ParserTable___action_table_row1000_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1000(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1000 "parser_tables::ParserTable::action_table_row1000"
+typedef val_t (* parser_tables___ParserTable___action_table_row1001_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1001(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1001 "parser_tables::ParserTable::action_table_row1001"
+typedef val_t (* parser_tables___ParserTable___action_table_row1002_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1002(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1002 "parser_tables::ParserTable::action_table_row1002"
+typedef val_t (* parser_tables___ParserTable___action_table_row1003_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1003(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1003 "parser_tables::ParserTable::action_table_row1003"
+typedef val_t (* parser_tables___ParserTable___action_table_row1004_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1004(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1004 "parser_tables::ParserTable::action_table_row1004"
+typedef val_t (* parser_tables___ParserTable___action_table_row1005_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1005(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1005 "parser_tables::ParserTable::action_table_row1005"
+typedef val_t (* parser_tables___ParserTable___action_table_row1006_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1006(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1006 "parser_tables::ParserTable::action_table_row1006"
+typedef val_t (* parser_tables___ParserTable___action_table_row1007_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1007(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1007 "parser_tables::ParserTable::action_table_row1007"
+typedef val_t (* parser_tables___ParserTable___action_table_row1008_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1008(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1008 "parser_tables::ParserTable::action_table_row1008"
+typedef val_t (* parser_tables___ParserTable___action_table_row1009_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1009(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1009 "parser_tables::ParserTable::action_table_row1009"
+typedef val_t (* parser_tables___ParserTable___action_table_row1010_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1010(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1010 "parser_tables::ParserTable::action_table_row1010"
+typedef val_t (* parser_tables___ParserTable___action_table_row1011_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1011(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1011 "parser_tables::ParserTable::action_table_row1011"
+typedef val_t (* parser_tables___ParserTable___action_table_row1012_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1012(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1012 "parser_tables::ParserTable::action_table_row1012"
+typedef val_t (* parser_tables___ParserTable___action_table_row1013_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1013(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1013 "parser_tables::ParserTable::action_table_row1013"
+typedef val_t (* parser_tables___ParserTable___action_table_row1014_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1014(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1014 "parser_tables::ParserTable::action_table_row1014"
+typedef val_t (* parser_tables___ParserTable___action_table_row1015_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1015(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1015 "parser_tables::ParserTable::action_table_row1015"
+typedef val_t (* parser_tables___ParserTable___action_table_row1016_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1016(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1016 "parser_tables::ParserTable::action_table_row1016"
+typedef val_t (* parser_tables___ParserTable___action_table_row1017_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1017(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1017 "parser_tables::ParserTable::action_table_row1017"
+typedef val_t (* parser_tables___ParserTable___action_table_row1018_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1018(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1018 "parser_tables::ParserTable::action_table_row1018"
+typedef val_t (* parser_tables___ParserTable___action_table_row1019_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1019(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1019 "parser_tables::ParserTable::action_table_row1019"
+typedef val_t (* parser_tables___ParserTable___action_table_row1020_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1020(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1020 "parser_tables::ParserTable::action_table_row1020"
+typedef val_t (* parser_tables___ParserTable___action_table_row1021_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1021(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1021 "parser_tables::ParserTable::action_table_row1021"
+typedef val_t (* parser_tables___ParserTable___action_table_row1022_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1022(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1022 "parser_tables::ParserTable::action_table_row1022"
+typedef val_t (* parser_tables___ParserTable___action_table_row1023_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1023(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1023 "parser_tables::ParserTable::action_table_row1023"
+typedef val_t (* parser_tables___ParserTable___action_table_row1024_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1024(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1024 "parser_tables::ParserTable::action_table_row1024"
+typedef val_t (* parser_tables___ParserTable___action_table_row1025_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1025(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1025 "parser_tables::ParserTable::action_table_row1025"
+typedef val_t (* parser_tables___ParserTable___action_table_row1026_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1026(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1026 "parser_tables::ParserTable::action_table_row1026"
+typedef val_t (* parser_tables___ParserTable___action_table_row1027_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1027(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1027 "parser_tables::ParserTable::action_table_row1027"
+typedef val_t (* parser_tables___ParserTable___action_table_row1028_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1028(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1028 "parser_tables::ParserTable::action_table_row1028"
+typedef val_t (* parser_tables___ParserTable___action_table_row1029_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1029(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1029 "parser_tables::ParserTable::action_table_row1029"
+typedef val_t (* parser_tables___ParserTable___action_table_row1030_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1030(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1030 "parser_tables::ParserTable::action_table_row1030"
+typedef val_t (* parser_tables___ParserTable___action_table_row1031_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1031(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1031 "parser_tables::ParserTable::action_table_row1031"
+typedef val_t (* parser_tables___ParserTable___action_table_row1032_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1032(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1032 "parser_tables::ParserTable::action_table_row1032"
+typedef val_t (* parser_tables___ParserTable___action_table_row1033_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1033(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1033 "parser_tables::ParserTable::action_table_row1033"
+typedef val_t (* parser_tables___ParserTable___action_table_row1034_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1034(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1034 "parser_tables::ParserTable::action_table_row1034"
+typedef val_t (* parser_tables___ParserTable___action_table_row1035_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1035(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1035 "parser_tables::ParserTable::action_table_row1035"
+typedef val_t (* parser_tables___ParserTable___action_table_row1036_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1036(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1036 "parser_tables::ParserTable::action_table_row1036"
+typedef val_t (* parser_tables___ParserTable___action_table_row1037_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1037(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1037 "parser_tables::ParserTable::action_table_row1037"
+typedef val_t (* parser_tables___ParserTable___action_table_row1038_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1038(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1038 "parser_tables::ParserTable::action_table_row1038"
+typedef val_t (* parser_tables___ParserTable___action_table_row1039_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1039(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1039 "parser_tables::ParserTable::action_table_row1039"
+typedef val_t (* parser_tables___ParserTable___action_table_row1040_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1040(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1040 "parser_tables::ParserTable::action_table_row1040"
+typedef val_t (* parser_tables___ParserTable___action_table_row1041_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1041(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1041 "parser_tables::ParserTable::action_table_row1041"
+typedef val_t (* parser_tables___ParserTable___action_table_row1042_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1042(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1042 "parser_tables::ParserTable::action_table_row1042"
+typedef val_t (* parser_tables___ParserTable___action_table_row1043_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1043(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1043 "parser_tables::ParserTable::action_table_row1043"
+typedef val_t (* parser_tables___ParserTable___action_table_row1044_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1044(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1044 "parser_tables::ParserTable::action_table_row1044"
+typedef val_t (* parser_tables___ParserTable___action_table_row1045_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1045(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1045 "parser_tables::ParserTable::action_table_row1045"
+typedef val_t (* parser_tables___ParserTable___action_table_row1046_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1046(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1046 "parser_tables::ParserTable::action_table_row1046"
+typedef val_t (* parser_tables___ParserTable___action_table_row1047_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1047(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1047 "parser_tables::ParserTable::action_table_row1047"
+typedef val_t (* parser_tables___ParserTable___action_table_row1048_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1048(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1048 "parser_tables::ParserTable::action_table_row1048"
+typedef val_t (* parser_tables___ParserTable___action_table_row1049_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1049(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1049 "parser_tables::ParserTable::action_table_row1049"
+typedef val_t (* parser_tables___ParserTable___action_table_row1050_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1050(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1050 "parser_tables::ParserTable::action_table_row1050"
+typedef val_t (* parser_tables___ParserTable___action_table_row1051_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1051(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1051 "parser_tables::ParserTable::action_table_row1051"
+typedef val_t (* parser_tables___ParserTable___action_table_row1052_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1052(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1052 "parser_tables::ParserTable::action_table_row1052"
+typedef val_t (* parser_tables___ParserTable___action_table_row1053_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1053(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1053 "parser_tables::ParserTable::action_table_row1053"
+typedef val_t (* parser_tables___ParserTable___action_table_row1054_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1054(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1054 "parser_tables::ParserTable::action_table_row1054"
+typedef val_t (* parser_tables___ParserTable___action_table_row1055_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1055(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1055 "parser_tables::ParserTable::action_table_row1055"
+typedef val_t (* parser_tables___ParserTable___action_table_row1056_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1056(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1056 "parser_tables::ParserTable::action_table_row1056"
+typedef val_t (* parser_tables___ParserTable___action_table_row1057_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1057(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1057 "parser_tables::ParserTable::action_table_row1057"
+typedef val_t (* parser_tables___ParserTable___action_table_row1058_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1058(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1058 "parser_tables::ParserTable::action_table_row1058"
+typedef val_t (* parser_tables___ParserTable___action_table_row1059_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1059(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1059 "parser_tables::ParserTable::action_table_row1059"
+typedef val_t (* parser_tables___ParserTable___action_table_row1060_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1060(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1060 "parser_tables::ParserTable::action_table_row1060"
+typedef val_t (* parser_tables___ParserTable___action_table_row1061_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1061(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1061 "parser_tables::ParserTable::action_table_row1061"
+typedef val_t (* parser_tables___ParserTable___action_table_row1062_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1062(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1062 "parser_tables::ParserTable::action_table_row1062"
+typedef val_t (* parser_tables___ParserTable___action_table_row1063_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1063(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1063 "parser_tables::ParserTable::action_table_row1063"
+typedef val_t (* parser_tables___ParserTable___action_table_row1064_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1064(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1064 "parser_tables::ParserTable::action_table_row1064"
+typedef val_t (* parser_tables___ParserTable___action_table_row1065_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1065(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1065 "parser_tables::ParserTable::action_table_row1065"
+typedef val_t (* parser_tables___ParserTable___action_table_row1066_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1066(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1066 "parser_tables::ParserTable::action_table_row1066"
+typedef val_t (* parser_tables___ParserTable___action_table_row1067_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1067(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1067 "parser_tables::ParserTable::action_table_row1067"
+typedef val_t (* parser_tables___ParserTable___action_table_row1068_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1068(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1068 "parser_tables::ParserTable::action_table_row1068"
+typedef val_t (* parser_tables___ParserTable___action_table_row1069_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1069(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1069 "parser_tables::ParserTable::action_table_row1069"
+typedef val_t (* parser_tables___ParserTable___action_table_row1070_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1070(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1070 "parser_tables::ParserTable::action_table_row1070"
+typedef val_t (* parser_tables___ParserTable___action_table_row1071_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1071(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1071 "parser_tables::ParserTable::action_table_row1071"
+typedef val_t (* parser_tables___ParserTable___action_table_row1072_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1072(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1072 "parser_tables::ParserTable::action_table_row1072"
+typedef val_t (* parser_tables___ParserTable___action_table_row1073_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1073(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1073 "parser_tables::ParserTable::action_table_row1073"
+typedef val_t (* parser_tables___ParserTable___action_table_row1074_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1074(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1074 "parser_tables::ParserTable::action_table_row1074"
+typedef val_t (* parser_tables___ParserTable___action_table_row1075_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1075(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1075 "parser_tables::ParserTable::action_table_row1075"
+typedef val_t (* parser_tables___ParserTable___action_table_row1076_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1076(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1076 "parser_tables::ParserTable::action_table_row1076"
+typedef val_t (* parser_tables___ParserTable___action_table_row1077_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1077(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1077 "parser_tables::ParserTable::action_table_row1077"
+typedef val_t (* parser_tables___ParserTable___action_table_row1078_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1078(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1078 "parser_tables::ParserTable::action_table_row1078"
+typedef val_t (* parser_tables___ParserTable___action_table_row1079_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1079(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1079 "parser_tables::ParserTable::action_table_row1079"
+typedef val_t (* parser_tables___ParserTable___action_table_row1080_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1080(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1080 "parser_tables::ParserTable::action_table_row1080"
+typedef val_t (* parser_tables___ParserTable___action_table_row1081_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1081(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1081 "parser_tables::ParserTable::action_table_row1081"
+typedef val_t (* parser_tables___ParserTable___action_table_row1082_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1082(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1082 "parser_tables::ParserTable::action_table_row1082"
+typedef val_t (* parser_tables___ParserTable___action_table_row1083_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1083(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1083 "parser_tables::ParserTable::action_table_row1083"
+typedef val_t (* parser_tables___ParserTable___action_table_row1084_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1084(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1084 "parser_tables::ParserTable::action_table_row1084"
+typedef val_t (* parser_tables___ParserTable___action_table_row1085_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1085(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1085 "parser_tables::ParserTable::action_table_row1085"
+typedef val_t (* parser_tables___ParserTable___action_table_row1086_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1086(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1086 "parser_tables::ParserTable::action_table_row1086"
+typedef val_t (* parser_tables___ParserTable___action_table_row1087_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1087(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1087 "parser_tables::ParserTable::action_table_row1087"
+typedef val_t (* parser_tables___ParserTable___action_table_row1088_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1088(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1088 "parser_tables::ParserTable::action_table_row1088"
+typedef val_t (* parser_tables___ParserTable___action_table_row1089_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1089(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1089 "parser_tables::ParserTable::action_table_row1089"
+typedef val_t (* parser_tables___ParserTable___action_table_row1090_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1090(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1090 "parser_tables::ParserTable::action_table_row1090"
+typedef val_t (* parser_tables___ParserTable___action_table_row1091_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1091(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1091 "parser_tables::ParserTable::action_table_row1091"
+typedef val_t (* parser_tables___ParserTable___action_table_row1092_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1092(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1092 "parser_tables::ParserTable::action_table_row1092"
+typedef val_t (* parser_tables___ParserTable___action_table_row1093_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1093(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1093 "parser_tables::ParserTable::action_table_row1093"
+typedef val_t (* parser_tables___ParserTable___action_table_row1094_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1094(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1094 "parser_tables::ParserTable::action_table_row1094"
+typedef val_t (* parser_tables___ParserTable___action_table_row1095_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1095(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1095 "parser_tables::ParserTable::action_table_row1095"
+typedef val_t (* parser_tables___ParserTable___action_table_row1096_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1096(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1096 "parser_tables::ParserTable::action_table_row1096"
+typedef val_t (* parser_tables___ParserTable___action_table_row1097_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1097(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1097 "parser_tables::ParserTable::action_table_row1097"
+typedef val_t (* parser_tables___ParserTable___action_table_row1098_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1098(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1098 "parser_tables::ParserTable::action_table_row1098"
+typedef val_t (* parser_tables___ParserTable___action_table_row1099_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1099(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1099 "parser_tables::ParserTable::action_table_row1099"
+typedef val_t (* parser_tables___ParserTable___action_table_row1100_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1100(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1100 "parser_tables::ParserTable::action_table_row1100"
+typedef val_t (* parser_tables___ParserTable___action_table_row1101_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1101(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1101 "parser_tables::ParserTable::action_table_row1101"
+typedef val_t (* parser_tables___ParserTable___action_table_row1102_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1102(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1102 "parser_tables::ParserTable::action_table_row1102"
+typedef val_t (* parser_tables___ParserTable___action_table_row1103_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1103(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1103 "parser_tables::ParserTable::action_table_row1103"
+typedef val_t (* parser_tables___ParserTable___action_table_row1104_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1104(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1104 "parser_tables::ParserTable::action_table_row1104"
+typedef val_t (* parser_tables___ParserTable___action_table_row1105_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1105(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1105 "parser_tables::ParserTable::action_table_row1105"
+typedef val_t (* parser_tables___ParserTable___action_table_row1106_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1106(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1106 "parser_tables::ParserTable::action_table_row1106"
+typedef val_t (* parser_tables___ParserTable___action_table_row1107_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1107(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1107 "parser_tables::ParserTable::action_table_row1107"
+typedef val_t (* parser_tables___ParserTable___action_table_row1108_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1108(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1108 "parser_tables::ParserTable::action_table_row1108"
+typedef val_t (* parser_tables___ParserTable___action_table_row1109_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1109(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1109 "parser_tables::ParserTable::action_table_row1109"
+typedef val_t (* parser_tables___ParserTable___action_table_row1110_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1110(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1110 "parser_tables::ParserTable::action_table_row1110"
+typedef val_t (* parser_tables___ParserTable___action_table_row1111_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1111(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1111 "parser_tables::ParserTable::action_table_row1111"
+typedef val_t (* parser_tables___ParserTable___action_table_row1112_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1112(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1112 "parser_tables::ParserTable::action_table_row1112"
+typedef val_t (* parser_tables___ParserTable___action_table_row1113_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1113(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1113 "parser_tables::ParserTable::action_table_row1113"
+typedef val_t (* parser_tables___ParserTable___action_table_row1114_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1114(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1114 "parser_tables::ParserTable::action_table_row1114"
+typedef val_t (* parser_tables___ParserTable___action_table_row1115_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1115(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1115 "parser_tables::ParserTable::action_table_row1115"
+typedef val_t (* parser_tables___ParserTable___action_table_row1116_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1116(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1116 "parser_tables::ParserTable::action_table_row1116"
+typedef val_t (* parser_tables___ParserTable___action_table_row1117_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1117(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1117 "parser_tables::ParserTable::action_table_row1117"
+typedef val_t (* parser_tables___ParserTable___action_table_row1118_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1118(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1118 "parser_tables::ParserTable::action_table_row1118"
+typedef val_t (* parser_tables___ParserTable___action_table_row1119_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1119(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1119 "parser_tables::ParserTable::action_table_row1119"
+typedef val_t (* parser_tables___ParserTable___action_table_row1120_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1120(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1120 "parser_tables::ParserTable::action_table_row1120"
+typedef val_t (* parser_tables___ParserTable___action_table_row1121_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1121(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1121 "parser_tables::ParserTable::action_table_row1121"
+typedef val_t (* parser_tables___ParserTable___action_table_row1122_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1122(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1122 "parser_tables::ParserTable::action_table_row1122"
+typedef val_t (* parser_tables___ParserTable___action_table_row1123_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1123(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1123 "parser_tables::ParserTable::action_table_row1123"
+typedef val_t (* parser_tables___ParserTable___action_table_row1124_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1124(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1124 "parser_tables::ParserTable::action_table_row1124"
+typedef val_t (* parser_tables___ParserTable___action_table_row1125_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1125(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1125 "parser_tables::ParserTable::action_table_row1125"
+typedef val_t (* parser_tables___ParserTable___action_table_row1126_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1126(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1126 "parser_tables::ParserTable::action_table_row1126"
+typedef val_t (* parser_tables___ParserTable___action_table_row1127_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1127(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1127 "parser_tables::ParserTable::action_table_row1127"
+typedef val_t (* parser_tables___ParserTable___action_table_row1128_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1128(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1128 "parser_tables::ParserTable::action_table_row1128"
+typedef val_t (* parser_tables___ParserTable___action_table_row1129_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1129(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1129 "parser_tables::ParserTable::action_table_row1129"
+typedef val_t (* parser_tables___ParserTable___action_table_row1130_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1130(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1130 "parser_tables::ParserTable::action_table_row1130"
+typedef val_t (* parser_tables___ParserTable___action_table_row1131_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1131(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1131 "parser_tables::ParserTable::action_table_row1131"
+typedef val_t (* parser_tables___ParserTable___action_table_row1132_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1132(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1132 "parser_tables::ParserTable::action_table_row1132"
+typedef val_t (* parser_tables___ParserTable___action_table_row1133_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1133(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1133 "parser_tables::ParserTable::action_table_row1133"
+typedef val_t (* parser_tables___ParserTable___action_table_row1134_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1134(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1134 "parser_tables::ParserTable::action_table_row1134"
+typedef val_t (* parser_tables___ParserTable___action_table_row1135_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1135(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1135 "parser_tables::ParserTable::action_table_row1135"
+typedef val_t (* parser_tables___ParserTable___action_table_row1136_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1136(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1136 "parser_tables::ParserTable::action_table_row1136"
+typedef val_t (* parser_tables___ParserTable___action_table_row1137_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1137(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1137 "parser_tables::ParserTable::action_table_row1137"
+typedef val_t (* parser_tables___ParserTable___action_table_row1138_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1138(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1138 "parser_tables::ParserTable::action_table_row1138"
+typedef val_t (* parser_tables___ParserTable___action_table_row1139_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1139(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1139 "parser_tables::ParserTable::action_table_row1139"
+typedef val_t (* parser_tables___ParserTable___action_table_row1140_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1140(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1140 "parser_tables::ParserTable::action_table_row1140"
+typedef val_t (* parser_tables___ParserTable___action_table_row1141_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1141(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1141 "parser_tables::ParserTable::action_table_row1141"
+typedef val_t (* parser_tables___ParserTable___action_table_row1142_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1142(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1142 "parser_tables::ParserTable::action_table_row1142"
+typedef val_t (* parser_tables___ParserTable___action_table_row1143_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1143(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1143 "parser_tables::ParserTable::action_table_row1143"
+typedef val_t (* parser_tables___ParserTable___action_table_row1144_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1144(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1144 "parser_tables::ParserTable::action_table_row1144"
+typedef val_t (* parser_tables___ParserTable___action_table_row1145_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1145(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1145 "parser_tables::ParserTable::action_table_row1145"
+typedef val_t (* parser_tables___ParserTable___action_table_row1146_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1146(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1146 "parser_tables::ParserTable::action_table_row1146"
+typedef val_t (* parser_tables___ParserTable___action_table_row1147_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1147(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1147 "parser_tables::ParserTable::action_table_row1147"
+typedef val_t (* parser_tables___ParserTable___action_table_row1148_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1148(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1148 "parser_tables::ParserTable::action_table_row1148"
+typedef val_t (* parser_tables___ParserTable___action_table_row1149_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1149(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1149 "parser_tables::ParserTable::action_table_row1149"
+typedef val_t (* parser_tables___ParserTable___action_table_row1150_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1150(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1150 "parser_tables::ParserTable::action_table_row1150"
+typedef val_t (* parser_tables___ParserTable___action_table_row1151_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1151(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1151 "parser_tables::ParserTable::action_table_row1151"
+typedef val_t (* parser_tables___ParserTable___action_table_row1152_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1152(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1152 "parser_tables::ParserTable::action_table_row1152"
+typedef val_t (* parser_tables___ParserTable___action_table_row1153_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1153(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1153 "parser_tables::ParserTable::action_table_row1153"
+typedef val_t (* parser_tables___ParserTable___action_table_row1154_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1154(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1154 "parser_tables::ParserTable::action_table_row1154"
+typedef val_t (* parser_tables___ParserTable___action_table_row1155_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1155(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1155 "parser_tables::ParserTable::action_table_row1155"
+typedef val_t (* parser_tables___ParserTable___action_table_row1156_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1156(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1156 "parser_tables::ParserTable::action_table_row1156"
+typedef val_t (* parser_tables___ParserTable___action_table_row1157_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1157(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1157 "parser_tables::ParserTable::action_table_row1157"
+typedef val_t (* parser_tables___ParserTable___action_table_row1158_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1158(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1158 "parser_tables::ParserTable::action_table_row1158"
+typedef val_t (* parser_tables___ParserTable___action_table_row1159_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1159(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1159 "parser_tables::ParserTable::action_table_row1159"
+typedef val_t (* parser_tables___ParserTable___action_table_row1160_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1160(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1160 "parser_tables::ParserTable::action_table_row1160"
+typedef val_t (* parser_tables___ParserTable___action_table_row1161_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1161(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1161 "parser_tables::ParserTable::action_table_row1161"
+typedef val_t (* parser_tables___ParserTable___action_table_row1162_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1162(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1162 "parser_tables::ParserTable::action_table_row1162"
+typedef val_t (* parser_tables___ParserTable___action_table_row1163_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1163(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1163 "parser_tables::ParserTable::action_table_row1163"
+typedef val_t (* parser_tables___ParserTable___action_table_row1164_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1164(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1164 "parser_tables::ParserTable::action_table_row1164"
+typedef val_t (* parser_tables___ParserTable___action_table_row1165_t)(val_t  self);
+val_t parser_tables___ParserTable___action_table_row1165(val_t  self);
+#define LOCATE_parser_tables___ParserTable___action_table_row1165 "parser_tables::ParserTable::action_table_row1165"
+#define ATTR_parser_tables___ParserTable____goto_table(recv) ATTR(recv, COLOR_parser_tables___ParserTable____goto_table)
+typedef void (* parser_tables___ParserTable___build_goto_table_t)(val_t  self);
+void parser_tables___ParserTable___build_goto_table(val_t  self);
+#define LOCATE_parser_tables___ParserTable___build_goto_table "parser_tables::ParserTable::build_goto_table"
+typedef val_t (* parser_tables___ParserTable___error_messages_t)(val_t  self);
+val_t parser_tables___ParserTable___error_messages(val_t  self);
+#define LOCATE_parser_tables___ParserTable___error_messages "parser_tables::ParserTable::error_messages"
+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"
 #endif
index 7e54804..075ad72 100644 (file)
@@ -1,46 +1,46 @@
 /* This C file is generated by NIT to compile module partial_order. */
 #include "partial_order._sep.h"
 val_t partial_order___PartialOrder___roots(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___roots, 30};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 30, LOCATE_partial_order___PartialOrder___roots};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrder____roots( self) /*PartialOrder::_roots*/;
 }
 val_t partial_order___PartialOrder___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___is_empty, 35};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 35, LOCATE_partial_order___PartialOrder___is_empty};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
-  variable0 = ((abstract_collection___Collection___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*Map::is_empty*/;
+  variable0 = ((abstract_collection___Collection___is_empty_t)CALL(variable0,COLOR_abstract_collection___Collection___is_empty))(variable0) /*Collection::is_empty*/;
   goto return_label0;
   return_label0: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t partial_order___PartialOrder___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___length, 37};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 37, LOCATE_partial_order___PartialOrder___length};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
-  variable0 = ((abstract_collection___Collection___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Map::length*/;
+  variable0 = ((abstract_collection___Collection___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Collection::length*/;
   goto return_label1;
   return_label1: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t partial_order___PartialOrder___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___first, 39};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 39, LOCATE_partial_order___PartialOrder___first};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_partial_order___PartialOrder____elements_list( self) /*PartialOrder::_elements_list*/;
-  variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*Array::first*/;
+  variable0 = ((abstract_collection___IndexedCollection___first_t)CALL(variable0,COLOR_abstract_collection___Collection___first))(variable0) /*IndexedCollection::first*/;
   goto return_label2;
   return_label2: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t partial_order___PartialOrder___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___has, 41};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 41, LOCATE_partial_order___PartialOrder___has};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -53,20 +53,20 @@ val_t partial_order___PartialOrder___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___has_only, 43};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 43, LOCATE_partial_order___PartialOrder___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
-  variable1 = ((abstract_collection___Collection___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*Map::length*/;
+  variable1 = ((abstract_collection___Collection___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*Collection::length*/;
   variable1 = TAG_Bool((variable1)==( TAG_Int(1)));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
-    variable2 = ((abstract_collection___Collection___first_t)CALL(variable2,COLOR_abstract_collection___Collection___first))(variable2) /*Map::first*/;
-    variable2 = TAG_Bool((variable2 ==  variable0 /*e*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*e*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*e*/) /*PartialOrderElement::==*/)))));
+    variable2 = ((abstract_collection___Collection___first_t)CALL(variable2,COLOR_abstract_collection___Collection___first))(variable2) /*Collection::first*/;
+    variable2 = TAG_Bool((variable2 ==  variable0 /*e*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*e*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*e*/) /*Object::==*/)))));
   }
   variable1 = variable2;
   goto return_label4;
@@ -75,7 +75,7 @@ val_t partial_order___PartialOrder___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___count, 45};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 45, LOCATE_partial_order___PartialOrder___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -93,18 +93,18 @@ val_t partial_order___PartialOrder___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___iterator, 54};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 54, LOCATE_partial_order___PartialOrder___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_partial_order___PartialOrder____elements_list( self) /*PartialOrder::_elements_list*/;
-  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*Array::iterator*/;
+  variable0 = ((array___AbstractArray___iterator_t)CALL(variable0,COLOR_abstract_collection___Collection___iterator))(variable0) /*AbstractArray::iterator*/;
   goto return_label6;
   return_label6: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t partial_order___PartialOrder_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder_____bra, 58};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 58, LOCATE_partial_order___PartialOrder_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -124,7 +124,7 @@ val_t partial_order___PartialOrder_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___to_dot(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___to_dot, 68};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 68, LOCATE_partial_order___PartialOrder___to_dot};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -139,14 +139,14 @@ val_t partial_order___PartialOrder___to_dot(val_t  self) {
   variable1 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   variable1 = ((abstract_collection___Map___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Map::iterator*/;
   while (true) { /*for*/
-    variable2 = ((abstract_collection___Iterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*MapIterator::is_ok*/;
+    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) /*MapIterator::item*/;
+    variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
     variable3 = ((partial_order___PartialOrderElement___value_t)CALL( variable2 /*e*/,COLOR_partial_order___PartialOrderElement___value))( variable2 /*e*/) /*PartialOrderElement::value*/;
     variable3 = ((partial_order___PartialOrder___to_dot_node_t)CALL( self,COLOR_partial_order___PartialOrder___to_dot_node))( self, variable3) /*PartialOrder::to_dot_node*/;
     ((string___String___append_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*s*/, variable3) /*String::append*/;
     variable3 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL( variable2 /*e*/,COLOR_partial_order___PartialOrderElement___direct_greaters))( variable2 /*e*/) /*PartialOrderElement::direct_greaters*/;
-    variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+    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*/
@@ -159,7 +159,7 @@ val_t partial_order___PartialOrder___to_dot(val_t  self) {
     }
     break_10: while(0);
     continue_9: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*MapIterator::next*/;
+    ((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*/
@@ -171,7 +171,7 @@ val_t partial_order___PartialOrder___to_dot(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder___to_dot_header(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___to_dot_header, 83};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 83, LOCATE_partial_order___PartialOrder___to_dot_header};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_string___String___with_native(BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n"), TAG_Int(32)); /*new String*/
@@ -181,7 +181,7 @@ val_t partial_order___PartialOrder___to_dot_header(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrder___to_dot_node(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___to_dot_node, 89};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 89, LOCATE_partial_order___PartialOrder___to_dot_node};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -207,7 +207,7 @@ val_t partial_order___PartialOrder___to_dot_node(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___to_dot_edge(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___to_dot_edge, 95};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 95, LOCATE_partial_order___PartialOrder___to_dot_edge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -244,7 +244,7 @@ val_t partial_order___PartialOrder___to_dot_edge(val_t  self, val_t  param0, val
   return variable2;
 }
 val_t partial_order___PartialOrder___select_smallests(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___select_smallests, 101};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 101, LOCATE_partial_order___PartialOrder___select_smallests};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -254,13 +254,13 @@ val_t partial_order___PartialOrder___select_smallests(val_t  self, val_t  param0
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*Collection::==*/)))));
+  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]*/
     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 (%s: %d)\n", "", LOCATE_partial_order___PartialOrder___select_smallests, 105); nit_exit(1);}
+  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]*/
   variable2 = variable3;
@@ -292,7 +292,7 @@ val_t partial_order___PartialOrder___select_smallests(val_t  self, val_t  param0
   return variable1;
 }
 val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___add, 122};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 122, LOCATE_partial_order___PartialOrder___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -303,14 +303,14 @@ val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  para
   variable0 =  param0;
   variable1 =  param1;
   variable2 = ((partial_order___PartialOrder___has_t)CALL( self,COLOR_abstract_collection___Collection___has))( self,  variable0 /*e*/) /*PartialOrder::has*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_partial_order___PartialOrder___add, 125); nit_exit(1);}
-  variable2 = TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Collection::==*/)))));
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_partial_order___PartialOrder___add, LOCATE_partial_order, 125); nit_exit(1);}
+  variable2 = TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   variable3 = variable2;
   if (!UNTAG_Bool(variable3)) { /* or */
     variable3 = ((partial_order___PartialOrder___has_all_t)CALL( self,COLOR_partial_order___PartialOrder___has_all))( self,  variable1 /*supers*/) /*PartialOrder::has_all*/;
   }
   variable2 = variable3;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_partial_order___PartialOrder___add, 126); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_partial_order___PartialOrder___add, LOCATE_partial_order, 126); nit_exit(1);}
   variable3 = ((partial_order___PartialOrder___select_smallests_t)CALL( self,COLOR_partial_order___PartialOrder___select_smallests))( self,  variable1 /*supers*/) /*PartialOrder::select_smallests*/;
   variable2 = variable3;
   variable4 = ((partial_order___PartialOrder___new_poe_t)CALL( self,COLOR_partial_order___PartialOrder___new_poe))( self,  variable0 /*e*/,  variable2 /*directs*/) /*PartialOrder::new_poe*/;
@@ -318,8 +318,8 @@ val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  para
   variable4 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable4,COLOR_abstract_collection___Map_____braeq))(variable4,  variable0 /*e*/,  variable3 /*poe*/) /*Map::[]=*/;
   variable4 = ATTR_partial_order___PartialOrder____elements_list( self) /*PartialOrder::_elements_list*/;
-  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*e*/) /*Array::add*/;
-  variable4 = TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Collection::==*/)))));
+  ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*e*/) /*AbstractArray::add*/;
+  variable4 = TAG_Bool(( variable1 /*supers*/ ==  NIT_NULL /*null*/) || (( variable1 /*supers*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*supers*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*supers*/,COLOR_kernel___Object_____eqeq))( variable1 /*supers*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   variable5 = variable4;
   if (!UNTAG_Bool(variable5)) { /* or */
     variable5 = ((abstract_collection___Collection___is_empty_t)CALL( variable1 /*supers*/,COLOR_abstract_collection___Collection___is_empty))( variable1 /*supers*/) /*Collection::is_empty*/;
@@ -327,7 +327,7 @@ val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  para
   variable4 = variable5;
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 = ATTR_partial_order___PartialOrder____roots( self) /*PartialOrder::_roots*/;
-    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*e*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4,  variable0 /*e*/) /*AbstractArray::add*/;
   }
   variable2 =  variable3 /*poe*/;
   goto return_label16;
@@ -336,7 +336,7 @@ val_t partial_order___PartialOrder___add(val_t  self, val_t  param0, val_t  para
   return variable2;
 }
 val_t partial_order___PartialOrder___has_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___has_all, 137};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 137, LOCATE_partial_order___PartialOrder___has_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -364,7 +364,7 @@ val_t partial_order___PartialOrder___has_all(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrder___new_poe(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___new_poe, 148};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 148, LOCATE_partial_order___PartialOrder___new_poe};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -378,7 +378,7 @@ val_t partial_order___PartialOrder___new_poe(val_t  self, val_t  param0, val_t
   return variable2;
 }
 val_t partial_order___PartialOrder___add_to_smallests(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___add_to_smallests, 154};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 154, LOCATE_partial_order___PartialOrder___add_to_smallests};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -390,10 +390,10 @@ val_t partial_order___PartialOrder___add_to_smallests(val_t  self, val_t  param0
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  ((array___AbstractArray___clear_t)CALL( variable2 /*to*/,COLOR_abstract_collection___RemovableCollection___clear))( variable2 /*to*/) /*Array::clear*/;
+  ((array___AbstractArray___clear_t)CALL( variable2 /*to*/,COLOR_abstract_collection___RemovableCollection___clear))( variable2 /*to*/) /*AbstractArray::clear*/;
   variable4 = ((partial_order___PartialOrder_____bra_t)CALL( self,COLOR_partial_order___PartialOrder_____bra))( self,  variable0 /*e*/) /*PartialOrder::[]*/;
   variable3 = variable4;
-  variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*from*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*from*/) /*Array::iterator*/;
+  variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*from*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*from*/) /*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*/
@@ -405,13 +405,13 @@ val_t partial_order___PartialOrder___add_to_smallests(val_t  self, val_t  param0
     }
     variable6 = ((partial_order___PartialOrderElement_____l_t)CALL( variable3 /*poe*/,COLOR_partial_order___PartialOrderElement_____l))( variable3 /*poe*/,  variable5 /*i*/) /*PartialOrderElement::<*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable6)))) { /*if*/
-      ((array___AbstractArray___add_t)CALL( variable2 /*to*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*to*/,  variable5 /*i*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*to*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*to*/,  variable5 /*i*/) /*AbstractArray::add*/;
     }
     continue_21: while(0);
     ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
   }
   break_21: while(0);
-  ((array___AbstractArray___add_t)CALL( variable2 /*to*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*to*/,  variable0 /*e*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL( variable2 /*to*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*to*/,  variable0 /*e*/) /*AbstractArray::add*/;
   variable3 =  TAG_Bool(true);
   goto return_label20;
   return_label20: while(false);
@@ -419,7 +419,7 @@ val_t partial_order___PartialOrder___add_to_smallests(val_t  self, val_t  param0
   return variable3;
 }
 void partial_order___PartialOrder___compute_smallers_for(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___compute_smallers_for, 175};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 175, LOCATE_partial_order___PartialOrder___compute_smallers_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -434,27 +434,27 @@ void partial_order___PartialOrder___compute_smallers_for(val_t  self, val_t  par
   variable3 = ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/;
   variable3 = ((abstract_collection___Map___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Map::iterator*/;
   while (true) { /*for*/
-    variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*MapIterator::is_ok*/;
+    variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable4)) break; /*for*/
-    variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*MapIterator::item*/;
+    variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
     variable5 = ((partial_order___PartialOrderElement_____l_t)CALL( variable4 /*s*/,COLOR_partial_order___PartialOrderElement_____l))( variable4 /*s*/,  variable2 /*e*/) /*PartialOrderElement::<*/;
     if (UNTAG_Bool(variable5)) { /*if*/
       variable5 = ((partial_order___PartialOrderElement___value_t)CALL( variable4 /*s*/,COLOR_partial_order___PartialOrderElement___value))( variable4 /*s*/) /*PartialOrderElement::value*/;
-      ((abstract_collection___SimpleCollection___add_t)CALL( variable1 /*set*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*set*/, variable5) /*Set::add*/;
+      ((abstract_collection___SimpleCollection___add_t)CALL( variable1 /*set*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*set*/, variable5) /*SimpleCollection::add*/;
     }
     continue_23: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
   }
   break_23: while(0);
   tracehead = trace.prev;
   return;
 }
 void partial_order___PartialOrder___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrder___init, 185};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 185, LOCATE_partial_order___PartialOrder___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_PartialOrder].i]) return;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[E, PartialOrderElement[E]]*/
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_partial_order___PartialOrder____elements( self) /*PartialOrder::_elements*/ = variable0;
   variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_partial_order___PartialOrder____elements_list( self) /*PartialOrder::_elements_list*/ = variable0;
@@ -465,55 +465,55 @@ void partial_order___PartialOrder___init(val_t  self, int* init_table) {
   return;
 }
 val_t partial_order___PartialOrderElement___order(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___order, 194};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 194, LOCATE_partial_order___PartialOrderElement___order};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____order( self) /*PartialOrderElement::_order*/;
 }
 val_t partial_order___PartialOrderElement___value(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___value, 197};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 197, LOCATE_partial_order___PartialOrderElement___value};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____value( self) /*PartialOrderElement::_value*/;
 }
 val_t partial_order___PartialOrderElement___rank(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___rank, 200};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 200, LOCATE_partial_order___PartialOrderElement___rank};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____rank( self) /*PartialOrderElement::_rank*/;
 }
 val_t partial_order___PartialOrderElement___direct_greaters(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___direct_greaters, 206};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 206, LOCATE_partial_order___PartialOrderElement___direct_greaters};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____direct_greaters( self) /*PartialOrderElement::_direct_greaters*/;
 }
 val_t partial_order___PartialOrderElement___direct_smallers(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___direct_smallers, 209};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 209, LOCATE_partial_order___PartialOrderElement___direct_smallers};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____direct_smallers( self) /*PartialOrderElement::_direct_smallers*/;
 }
 val_t partial_order___PartialOrderElement___greaters(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___greaters, 212};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 212, LOCATE_partial_order___PartialOrderElement___greaters};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
 }
 val_t partial_order___PartialOrderElement___greaters_and_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___greaters_and_self, 218};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 218, LOCATE_partial_order___PartialOrderElement___greaters_and_self};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache( self) /*PartialOrderElement::_greaters_and_self_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*/) /*Array::==*/)));
+  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*/
     variable0 = ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
-    variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Set::to_a*/;
+    variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
     ATTR_partial_order___PartialOrderElement____greaters_and_self_cache( self) /*PartialOrderElement::_greaters_and_self_cache*/ = variable0;
     variable0 = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache( self) /*PartialOrderElement::_greaters_and_self_cache*/;
     variable1 = ATTR_partial_order___PartialOrderElement____value( self) /*PartialOrderElement::_value*/;
-    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   }
   variable0 = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache( self) /*PartialOrderElement::_greaters_and_self_cache*/;
   goto return_label25;
@@ -522,7 +522,7 @@ val_t partial_order___PartialOrderElement___greaters_and_self(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrderElement___smallers(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___smallers, 234};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 234, LOCATE_partial_order___PartialOrderElement___smallers};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -545,7 +545,7 @@ val_t partial_order___PartialOrderElement___smallers(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___linear_extension, 247};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 247, LOCATE_partial_order___PartialOrderElement___linear_extension};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -556,16 +556,16 @@ val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
         val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*Array::==*/)));
+  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]*/
     variable0 = variable1;
     variable2 = NEW_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) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable2) /*AbstractArray::add*/;
     variable2 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL( self,COLOR_partial_order___PartialOrderElement___direct_greaters))( self) /*PartialOrderElement::direct_greaters*/;
-    variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+    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*/
@@ -574,21 +574,21 @@ val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
       variable5 = ((partial_order___PartialOrder_____bra_t)CALL(variable5,COLOR_partial_order___PartialOrder_____bra))(variable5,  variable3 /*s*/) /*PartialOrder::[]*/;
       variable5 = ((partial_order___PartialOrderElement___linear_extension_t)CALL(variable5,COLOR_partial_order___PartialOrderElement___linear_extension))(variable5) /*PartialOrderElement::linear_extension*/;
       variable4 = variable5;
-      ((array___AbstractArray___clear_t)CALL( variable1 /*res2*/,COLOR_abstract_collection___RemovableCollection___clear))( variable1 /*res2*/) /*Array::clear*/;
-      variable5 = ((array___AbstractArray___iterator_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*res*/) /*Array::iterator*/;
+      ((array___AbstractArray___clear_t)CALL( variable1 /*res2*/,COLOR_abstract_collection___RemovableCollection___clear))( variable1 /*res2*/) /*AbstractArray::clear*/;
+      variable5 = ((array___AbstractArray___iterator_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*res*/) /*AbstractArray::iterator*/;
       while (true) { /*for*/
         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 = ((array___AbstractArray___has_t)CALL( variable4 /*sl*/,COLOR_abstract_collection___Collection___has))( variable4 /*sl*/,  variable6 /*e*/) /*Array::has*/;
+        variable7 = ((array___AbstractArray___has_t)CALL( variable4 /*sl*/,COLOR_abstract_collection___Collection___has))( variable4 /*sl*/,  variable6 /*e*/) /*AbstractArray::has*/;
         if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable7)))) { /*if*/
-          ((array___AbstractArray___add_t)CALL( variable1 /*res2*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res2*/,  variable6 /*e*/) /*Array::add*/;
+          ((array___AbstractArray___add_t)CALL( variable1 /*res2*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res2*/,  variable6 /*e*/) /*AbstractArray::add*/;
         }
         continue_29: while(0);
         ((array___ArrayIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ArrayIterator::next*/;
       }
       break_29: while(0);
-      ((abstract_collection___IndexedCollection___append_t)CALL( variable1 /*res2*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*res2*/,  variable4 /*sl*/) /*Array::append*/;
+      ((abstract_collection___IndexedCollection___append_t)CALL( variable1 /*res2*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*res2*/,  variable4 /*sl*/) /*IndexedCollection::append*/;
       variable5 =  variable0 /*res*/;
       variable0 =  variable1 /*res2*/ /*res=*/;
       variable1 =  variable5 /*tmp*/ /*res2=*/;
@@ -605,7 +605,7 @@ val_t partial_order___PartialOrderElement___linear_extension(val_t  self) {
   return variable0;
 }
 val_t partial_order___PartialOrderElement___reverse_linear_extension(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___reverse_linear_extension, 275};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 275, LOCATE_partial_order___PartialOrderElement___reverse_linear_extension};
   val_t variable0;
     val_t variable1;
       val_t variable2;
@@ -613,12 +613,12 @@ val_t partial_order___PartialOrderElement___reverse_linear_extension(val_t  self
       val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*Array::==*/)));
+  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]*/
     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) /*Array::iterator*/;
+    variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*AbstractArray::iterator*/;
     while (true) { /*for*/
       variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
       if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -627,14 +627,14 @@ val_t partial_order___PartialOrderElement___reverse_linear_extension(val_t  self
       variable4 = ((partial_order___PartialOrder_____bra_t)CALL(variable4,COLOR_partial_order___PartialOrder_____bra))(variable4,  variable2 /*s*/) /*PartialOrder::[]*/;
       variable4 = ((partial_order___PartialOrderElement___linear_extension_t)CALL(variable4,COLOR_partial_order___PartialOrderElement___linear_extension))(variable4) /*PartialOrderElement::linear_extension*/;
       variable3 = variable4;
-      ((abstract_collection___SimpleCollection___add_all_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable0 /*res*/,  variable3 /*sl*/) /*HashSet::add_all*/;
+      ((abstract_collection___SimpleCollection___add_all_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable0 /*res*/,  variable3 /*sl*/) /*SimpleCollection::add_all*/;
       continue_31: while(0);
       ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
     }
     break_31: while(0);
     variable1 = ((partial_order___PartialOrderElement___value_t)CALL( self,COLOR_partial_order___PartialOrderElement___value))( self) /*PartialOrderElement::value*/;
     ((hash___HashSet___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable1) /*HashSet::add*/;
-    variable1 = ((array___Collection___to_a_t)CALL( variable0 /*res*/,COLOR_array___Collection___to_a))( variable0 /*res*/) /*HashSet::to_a*/;
+    variable1 = ((array___Collection___to_a_t)CALL( variable0 /*res*/,COLOR_array___Collection___to_a))( variable0 /*res*/) /*Collection::to_a*/;
     ATTR_partial_order___PartialOrderElement____linear_extension_cache( self) /*PartialOrderElement::_linear_extension_cache*/ = variable1;
   }
   variable0 = ATTR_partial_order___PartialOrderElement____linear_extension_cache( self) /*PartialOrderElement::_linear_extension_cache*/;
@@ -644,20 +644,20 @@ val_t partial_order___PartialOrderElement___reverse_linear_extension(val_t  self
   return variable0;
 }
 val_t partial_order___PartialOrderElement_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement_____l, 291};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 291, LOCATE_partial_order___PartialOrderElement_____l};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
-  variable1 = ((abstract_collection___Collection___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*o*/) /*Set::has*/;
+  variable1 = ((abstract_collection___Collection___has_t)CALL(variable1,COLOR_abstract_collection___Collection___has))(variable1,  variable0 /*o*/) /*Collection::has*/;
   goto return_label32;
   return_label32: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t partial_order___PartialOrderElement_____leq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement_____leq, 297};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 297, LOCATE_partial_order___PartialOrderElement_____leq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -668,7 +668,7 @@ val_t partial_order___PartialOrderElement_____leq(val_t  self, val_t  param0) {
   variable2 = variable1;
   if (!UNTAG_Bool(variable2)) { /* or */
     variable2 = ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
-    variable2 = ((abstract_collection___Collection___has_t)CALL(variable2,COLOR_abstract_collection___Collection___has))(variable2,  variable0 /*o*/) /*Set::has*/;
+    variable2 = ((abstract_collection___Collection___has_t)CALL(variable2,COLOR_abstract_collection___Collection___has))(variable2,  variable0 /*o*/) /*Collection::has*/;
   }
   variable1 = variable2;
   goto return_label33;
@@ -677,7 +677,7 @@ val_t partial_order___PartialOrderElement_____leq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrderElement_____g(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement_____g, 303};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 303, LOCATE_partial_order___PartialOrderElement_____g};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -693,7 +693,7 @@ val_t partial_order___PartialOrderElement_____g(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t partial_order___PartialOrderElement_____geq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement_____geq, 309};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 309, LOCATE_partial_order___PartialOrderElement_____geq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -716,18 +716,18 @@ val_t partial_order___PartialOrderElement_____geq(val_t  self, val_t  param0) {
   return variable1;
 }
 void partial_order___PartialOrderElement___register_direct_smallers(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___register_direct_smallers, 315};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 315, LOCATE_partial_order___PartialOrderElement___register_direct_smallers};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_partial_order___PartialOrderElement____direct_smallers( self) /*PartialOrderElement::_direct_smallers*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*e*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*e*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 void partial_order___PartialOrderElement___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_partial_order___PartialOrderElement___init, 320};
+  struct trace_t trace = {NULL, LOCATE_partial_order, 320, LOCATE_partial_order___PartialOrderElement___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -755,12 +755,12 @@ void partial_order___PartialOrderElement___init(val_t  self, val_t  param0, val_
   variable4 = ATTR_partial_order___PartialOrderElement____greaters( self) /*PartialOrderElement::_greaters*/;
   variable3 = variable4;
   variable4 =  TAG_Int(0);
-  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*directs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*directs*/) /*Array::iterator*/;
+  variable5 = ((array___AbstractArray___iterator_t)CALL( variable2 /*directs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*directs*/) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     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*/;
-    ((abstract_collection___SimpleCollection___add_t)CALL( variable3 /*g*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*g*/,  variable6 /*ee*/) /*Set::add*/;
+    ((abstract_collection___SimpleCollection___add_t)CALL( variable3 /*g*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*g*/,  variable6 /*ee*/) /*SimpleCollection::add*/;
     variable8 = ATTR_partial_order___PartialOrderElement____order( self) /*PartialOrderElement::_order*/;
     variable8 = ((partial_order___PartialOrder_____bra_t)CALL(variable8,COLOR_partial_order___PartialOrder_____bra))(variable8,  variable6 /*ee*/) /*PartialOrder::[]*/;
     variable7 = variable8;
@@ -773,12 +773,12 @@ void partial_order___PartialOrderElement___init(val_t  self, val_t  param0, val_
     }
     ((partial_order___PartialOrderElement___register_direct_smallers_t)CALL( variable7 /*poee*/,COLOR_partial_order___PartialOrderElement___register_direct_smallers))( variable7 /*poee*/,  variable1 /*e*/) /*PartialOrderElement::register_direct_smallers*/;
     variable8 = ((partial_order___PartialOrderElement___greaters_t)CALL( variable7 /*poee*/,COLOR_partial_order___PartialOrderElement___greaters))( variable7 /*poee*/) /*PartialOrderElement::greaters*/;
-    variable8 = ((abstract_collection___Collection___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Set::iterator*/;
+    variable8 = ((abstract_collection___Collection___iterator_t)CALL(variable8,COLOR_abstract_collection___Collection___iterator))(variable8) /*Collection::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*/;
-      ((abstract_collection___SimpleCollection___add_t)CALL( variable3 /*g*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*g*/,  variable9 /*eee*/) /*Set::add*/;
+      ((abstract_collection___SimpleCollection___add_t)CALL( variable3 /*g*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*g*/,  variable9 /*eee*/) /*SimpleCollection::add*/;
       continue_39: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*Iterator::next*/;
     }
index c520352..f3acc85 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires partial_order. */
-#ifndef partial_order_3_sep
-#define partial_order_3_sep
+#ifndef partial_order_2_sep
+#define partial_order_2_sep
 #include "standard._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_PartialOrder[];
 
 extern const classtable_elt_t VFT_PartialOrderElement[];
-#define LOCATE_partial_order "partial_order"
+#define LOCATE_partial_order "./metamodel//partial_order.nit"
 extern const int SFT_partial_order[];
 #define ID_PartialOrder SFT_partial_order[0]
 #define COLOR_PartialOrder SFT_partial_order[1]
index 747f23b..52332af 100644 (file)
@@ -1,36 +1,36 @@
 /* This C file is generated by NIT to compile module range. */
 #include "range._sep.h"
 val_t range___Range___first(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___first, 22};
+  struct trace_t trace = {NULL, LOCATE_range, 22, LOCATE_range___Range___first};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_range___Range____first( self) /*Range::_first*/;
 }
 val_t range___Range___last(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___last, 24};
+  struct trace_t trace = {NULL, LOCATE_range, 24, LOCATE_range___Range___last};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_range___Range____last( self) /*Range::_last*/;
 }
 val_t range___Range___after(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___after, 27};
+  struct trace_t trace = {NULL, LOCATE_range, 27, LOCATE_range___Range___after};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_range___Range____after( self) /*Range::_after*/;
 }
 val_t range___Range___has(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___has, 30};
+  struct trace_t trace = {NULL, LOCATE_range, 30, LOCATE_range___Range___has};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_range___Range____first( self) /*Range::_first*/;
-  variable1 = ((kernel___Comparable_____geq_t)CALL( variable0 /*item*/,COLOR_kernel___Comparable_____geq))( variable0 /*item*/, variable1) /*Discrete::>=*/;
+  variable1 = ((kernel___Comparable_____geq_t)CALL( variable0 /*item*/,COLOR_kernel___Comparable_____geq))( variable0 /*item*/, variable1) /*Comparable::>=*/;
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ATTR_range___Range____last( self) /*Range::_last*/;
-    variable2 = ((kernel___Comparable_____leq_t)CALL( variable0 /*item*/,COLOR_kernel___Comparable_____leq))( variable0 /*item*/, variable2) /*Discrete::<=*/;
+    variable2 = ((kernel___Comparable_____leq_t)CALL( variable0 /*item*/,COLOR_kernel___Comparable_____leq))( variable0 /*item*/, variable2) /*Comparable::<=*/;
   }
   variable1 = variable2;
   goto return_label0;
@@ -39,18 +39,18 @@ val_t range___Range___has(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t range___Range___has_only(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___has_only, 32};
+  struct trace_t trace = {NULL, LOCATE_range, 32, LOCATE_range___Range___has_only};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_range___Range____first( self) /*Range::_first*/;
-  variable1 = TAG_Bool((variable1 ==  variable0 /*item*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*item*/) /*Discrete::==*/)))));
+  variable1 = TAG_Bool((variable1 ==  variable0 /*item*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*item*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*item*/) /*Object::==*/)))));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ATTR_range___Range____last( self) /*Range::_last*/;
-    variable2 = TAG_Bool(( variable0 /*item*/ == variable2) || (( variable0 /*item*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*item*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*item*/,variable2)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*item*/,COLOR_kernel___Object_____eqeq))( variable0 /*item*/, variable2) /*Discrete::==*/)))));
+    variable2 = TAG_Bool(( variable0 /*item*/ == variable2) || (( variable0 /*item*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*item*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*item*/,variable2)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*item*/,COLOR_kernel___Object_____eqeq))( variable0 /*item*/, variable2) /*Object::==*/)))));
   }
   variable1 = variable2;
   goto return_label1;
@@ -59,7 +59,7 @@ val_t range___Range___has_only(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t range___Range___count(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___count, 34};
+  struct trace_t trace = {NULL, LOCATE_range, 34, LOCATE_range___Range___count};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -77,7 +77,7 @@ val_t range___Range___count(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t range___Range___iterator(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___iterator, 43};
+  struct trace_t trace = {NULL, LOCATE_range, 43, LOCATE_range___Range___iterator};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_range___IteratorRange___init( self); /*new IteratorRange[E]*/
@@ -87,7 +87,7 @@ val_t range___Range___iterator(val_t  self) {
   return variable0;
 }
 val_t range___Range___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___length, 45};
+  struct trace_t trace = {NULL, LOCATE_range, 45, LOCATE_range___Range___length};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -109,20 +109,20 @@ val_t range___Range___length(val_t  self) {
   return variable0;
 }
 val_t range___Range___is_empty(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___is_empty, 55};
+  struct trace_t trace = {NULL, LOCATE_range, 55, LOCATE_range___Range___is_empty};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_range___Range____first( self) /*Range::_first*/;
   variable1 = ATTR_range___Range____after( self) /*Range::_after*/;
-  variable0 = ((kernel___Comparable_____geq_t)CALL(variable0,COLOR_kernel___Comparable_____geq))(variable0, variable1) /*Discrete::>=*/;
+  variable0 = ((kernel___Comparable_____geq_t)CALL(variable0,COLOR_kernel___Comparable_____geq))(variable0, variable1) /*Comparable::>=*/;
   goto return_label5;
   return_label5: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void range___Range___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___init, 57};
+  struct trace_t trace = {NULL, LOCATE_range, 57, LOCATE_range___Range___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -139,7 +139,7 @@ void range___Range___init(val_t  self, val_t  param0, val_t  param1, int* init_t
   return;
 }
 void range___Range___without_last(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_range___Range___without_last, 66};
+  struct trace_t trace = {NULL, LOCATE_range, 66, LOCATE_range___Range___without_last};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -156,27 +156,27 @@ void range___Range___without_last(val_t  self, val_t  param0, val_t  param1, int
   return;
 }
 val_t range___IteratorRange___item(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___IteratorRange___item, 80};
+  struct trace_t trace = {NULL, LOCATE_range, 80, LOCATE_range___IteratorRange___item};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_range___IteratorRange____item( self) /*IteratorRange::_item*/;
 }
 val_t range___IteratorRange___is_ok(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___IteratorRange___is_ok, 82};
+  struct trace_t trace = {NULL, LOCATE_range, 82, LOCATE_range___IteratorRange___is_ok};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_range___IteratorRange____item( self) /*IteratorRange::_item*/;
   variable1 = ATTR_range___IteratorRange____range( self) /*IteratorRange::_range*/;
   variable1 = ((range___Range___after_t)CALL(variable1,COLOR_range___Range___after))(variable1) /*Range::after*/;
-  variable0 = ((kernel___Comparable_____l_t)CALL(variable0,COLOR_kernel___Comparable_____l))(variable0, variable1) /*Discrete::<*/;
+  variable0 = ((kernel___Comparable_____l_t)CALL(variable0,COLOR_kernel___Comparable_____l))(variable0, variable1) /*Comparable::<*/;
   goto return_label8;
   return_label8: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void range___IteratorRange___next(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_range___IteratorRange___next, 84};
+  struct trace_t trace = {NULL, LOCATE_range, 84, LOCATE_range___IteratorRange___next};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_range___IteratorRange____item( self) /*IteratorRange::_item*/;
@@ -186,7 +186,7 @@ void range___IteratorRange___next(val_t  self) {
   return;
 }
 void range___IteratorRange___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_range___IteratorRange___init, 86};
+  struct trace_t trace = {NULL, LOCATE_range, 86, LOCATE_range___IteratorRange___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
index 6a911c9..f2322cd 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires range. */
-#ifndef range_3_sep
-#define range_3_sep
+#ifndef range_2_sep
+#define range_2_sep
 #include "abstract_collection._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Range[];
 
 extern const classtable_elt_t VFT_IteratorRange[];
-#define LOCATE_range "range"
+#define LOCATE_range "./../lib/standard//range.nit"
 extern const int SFT_range[];
 #define ID_Range SFT_range[0]
 #define COLOR_Range SFT_range[1]
index 2450e4b..0c4b4e2 100644 (file)
@@ -1,27 +1,28 @@
 /* This C file is generated by NIT to compile module sorter. */
 #include "sorter._sep.h"
 val_t sorter___AbstractSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___compare, 22};
+  struct trace_t trace = {NULL, LOCATE_sorter, 22, LOCATE_sorter___AbstractSorter___compare};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "compare", LOCATE_sorter, 22);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_sorter, 22);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void sorter___AbstractSorter___sort(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___sort, 29};
+  struct trace_t trace = {NULL, LOCATE_sorter, 29, LOCATE_sorter___AbstractSorter___sort};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*array*/,COLOR_abstract_collection___Collection___length))( variable0 /*array*/) /*Array::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*array*/,COLOR_abstract_collection___Collection___length))( variable0 /*array*/) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
   ((sorter___AbstractSorter___sub_sort_t)CALL( self,COLOR_sorter___AbstractSorter___sub_sort))( self,  variable0 /*array*/,  TAG_Int(0), variable1) /*AbstractSorter::sub_sort*/;
   tracehead = trace.prev;
   return;
 }
 void sorter___AbstractSorter___sub_sort(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___sub_sort, 32};
+  struct trace_t trace = {NULL, LOCATE_sorter, 32, LOCATE_sorter___AbstractSorter___sub_sort};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -47,7 +48,7 @@ void sorter___AbstractSorter___sub_sort(val_t  self, val_t  param0, val_t  param
   return;
 }
 void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___quick_sort, 44};
+  struct trace_t trace = {NULL, LOCATE_sorter, 44, LOCATE_sorter___AbstractSorter___quick_sort};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -66,11 +67,11 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
   variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable6 = variable5;
   if (UNTAG_Bool(variable6)) { /* and */
-    variable6 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+    variable6 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
     variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
   }
   variable5 = variable6;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
   variable5 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
   variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
   goto return_label3;
@@ -90,11 +91,11 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
         variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable9 = variable8;
         if (UNTAG_Bool(variable9)) { /* and */
-          variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+          variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
           variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
         }
         variable8 = variable9;
-        if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
         variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
         variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
         goto return_label6;
@@ -117,11 +118,11 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
         variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable9 = variable8;
         if (UNTAG_Bool(variable9)) { /* and */
-          variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+          variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
           variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
         }
         variable8 = variable9;
-        if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
         variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
         variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
         goto return_label8;
@@ -142,11 +143,11 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
       variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
-        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
       variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
       goto return_label9;
@@ -157,11 +158,11 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
       variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
-        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
       variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
       goto return_label10;
@@ -178,11 +179,11 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
   variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable9 = variable8;
   if (UNTAG_Bool(variable9)) { /* and */
-    variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+    variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
     variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
   }
   variable8 = variable9;
-  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
   variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
   variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
   goto return_label11;
@@ -198,7 +199,7 @@ void sorter___AbstractSorter___quick_sort(val_t  self, val_t  param0, val_t  par
   return;
 }
 void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___bubble_sort, 65};
+  struct trace_t trace = {NULL, LOCATE_sorter, 65, LOCATE_sorter___AbstractSorter___bubble_sort};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -222,11 +223,11 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
     variable7 = TAG_Bool(UNTAG_Int( variable6 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable8 = variable7;
     if (UNTAG_Bool(variable8)) { /* and */
-      variable8 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+      variable8 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
       variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
     }
     variable7 = variable8;
-    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
     variable7 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
     variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
     goto return_label14;
@@ -241,11 +242,11 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
       variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
-        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
       variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
       goto return_label16;
@@ -259,11 +260,11 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
         variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
         variable9 = variable8;
         if (UNTAG_Bool(variable9)) { /* and */
-          variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+          variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
           variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
         }
         variable8 = variable9;
-        if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
         variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
         variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
         goto return_label17;
@@ -281,11 +282,11 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
       variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
-        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
       variable8 = ATTR_array___Array____items( variable0 /*array*/) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
       goto return_label18;
@@ -302,7 +303,7 @@ void sorter___AbstractSorter___bubble_sort(val_t  self, val_t  param0, val_t  pa
   return;
 }
 val_t sorter___ComparableSorter___compare(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_sorter___ComparableSorter___compare, 93};
+  struct trace_t trace = {NULL, LOCATE_sorter, 93, LOCATE_sorter___ComparableSorter___compare};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -316,7 +317,7 @@ val_t sorter___ComparableSorter___compare(val_t  self, val_t  param0, val_t  par
   return variable2;
 }
 void sorter___ComparableSorter___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_sorter___ComparableSorter___init, 96};
+  struct trace_t trace = {NULL, LOCATE_sorter, 96, LOCATE_sorter___ComparableSorter___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ComparableSorter].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ComparableSorter].i] = 1;
index 39cea84..6968de0 100644 (file)
@@ -1,13 +1,13 @@
 /* This C header file is generated by NIT to compile modules and programs that requires sorter. */
-#ifndef sorter_3_sep
-#define sorter_3_sep
+#ifndef sorter_2_sep
+#define sorter_2_sep
 #include "array._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_AbstractSorter[];
 
 extern const classtable_elt_t VFT_ComparableSorter[];
-#define LOCATE_sorter "sorter"
+#define LOCATE_sorter "./../lib/standard//sorter.nit"
 extern const int SFT_sorter[];
 #define ID_AbstractSorter SFT_sorter[0]
 #define COLOR_AbstractSorter SFT_sorter[1]
index 7790960..d8445b3 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires standard. */
-#ifndef standard_3_sep
-#define standard_3_sep
+#ifndef standard_2_sep
+#define standard_2_sep
 #include "environ._sep.h"
 #include "time._sep.h"
 #include "sorter._sep.h"
@@ -10,6 +10,6 @@
 #include "range._sep.h"
 #include "math._sep.h"
 #include <nit_common.h>
-#define LOCATE_standard "standard"
+#define LOCATE_standard "./../lib/standard//standard.nit"
 extern const int SFT_standard[];
 #endif
index f6cfa61..8278f7d 100644 (file)
@@ -1,11 +1,11 @@
 /* This C file is generated by NIT to compile module static_type. */
 #include "static_type._sep.h"
 val_t static_type___MMLocalClass___get_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMLocalClass___get_type, 27};
+  struct trace_t trace = {NULL, LOCATE_static_type, 27, LOCATE_static_type___MMLocalClass___get_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*MMType::==*/)))));
+  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*/
     ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/ = variable0;
@@ -17,7 +17,7 @@ val_t static_type___MMLocalClass___get_type(val_t  self) {
   return variable0;
 }
 void static_type___MMLocalClass___add_ancestor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMLocalClass___add_ancestor, 34};
+  struct trace_t trace = {NULL, LOCATE_static_type, 34, LOCATE_static_type___MMLocalClass___add_ancestor};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -26,10 +26,10 @@ void static_type___MMLocalClass___add_ancestor(val_t  self, val_t  param0) {
   variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable2 = ((static_type___MMAncestor___local_class_t)CALL( variable0 /*a*/,COLOR_static_type___MMAncestor___local_class))( variable0 /*a*/) /*MMAncestor::local_class*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1, variable2) /*Map::has_key*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMLocalClass___add_ancestor, 37); nit_exit(1);}
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMLocalClass___add_ancestor, LOCATE_static_type, 37); nit_exit(1);}
   variable1 = ((static_type___MMAncestor___local_class_t)CALL( variable0 /*a*/,COLOR_static_type___MMAncestor___local_class))( variable0 /*a*/) /*MMAncestor::local_class*/;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  self) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  self) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMLocalClass___add_ancestor, 38); nit_exit(1);}
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  self) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  self) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMLocalClass___add_ancestor, LOCATE_static_type, 38); nit_exit(1);}
   variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
   variable2 = ((static_type___MMAncestor___local_class_t)CALL( variable0 /*a*/,COLOR_static_type___MMAncestor___local_class))( variable0 /*a*/) /*MMAncestor::local_class*/;
   ((abstract_collection___Map_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1, variable2,  variable0 /*a*/) /*Map::[]=*/;
@@ -37,20 +37,20 @@ void static_type___MMLocalClass___add_ancestor(val_t  self, val_t  param0) {
   return;
 }
 val_t static_type___MMLocalClass___ancestors(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMLocalClass___ancestors, 42};
+  struct trace_t trace = {NULL, LOCATE_static_type, 42, LOCATE_static_type___MMLocalClass___ancestors};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
 }
 val_t static_type___MMLocalClass___ancestor(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMLocalClass___ancestor, 45};
+  struct trace_t trace = {NULL, LOCATE_static_type, 45, LOCATE_static_type___MMLocalClass___ancestor};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_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*/) /*Map::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMLocalClass___ancestor, 48); nit_exit(1);}
+  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_static_type___MMLocalClass___ancestor, LOCATE_static_type, 48); 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*/
@@ -66,70 +66,78 @@ val_t static_type___MMLocalClass___ancestor(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t static_type___MMLocalProperty___signature(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMLocalProperty___signature, 60};
-  val_t variable0;
+  struct trace_t trace = {NULL, LOCATE_static_type, 57, LOCATE_static_type___MMLocalProperty___signature};
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_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*/) /*MMSignature::==*/)))));
-  if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 = ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_prop*/;
-    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*/) /*MMLocalProperty::==*/)))));
-    if (UNTAG_Bool(variable0)) { /*if*/
-      variable0 = ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self) /*MMLocalProperty::_concrete_property*/;
-      variable0 = ((static_type___MMLocalProperty___signature_t)CALL(variable0,COLOR_static_type___MMLocalProperty___signature))(variable0) /*MMConcreteProperty::signature*/;
-      ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ = variable0;
-    } else { /*if*/
-      variable0 = ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_prop*/;
-      variable0 = ((static_type___MMLocalProperty___signature_t)CALL(variable0,COLOR_static_type___MMLocalProperty___signature))(variable0) /*MMLocalProperty::signature*/;
-      ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ = variable0;
-    }
-  }
-  variable0 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
-  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*/) /*MMSignature::==*/)))))));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMLocalProperty___signature, 70); nit_exit(1);}
-  variable0 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
-  goto return_label3;
-  return_label3: while(false);
   tracehead = trace.prev;
-  return variable0;
+  return ATTR_static_type___MMLocalProperty____signature( self) /*MMLocalProperty::_signature*/;
 }
 void static_type___MMLocalProperty___signature__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMLocalProperty___signature__eq, 74};
+  struct trace_t trace = {NULL, LOCATE_static_type, 57, LOCATE_static_type___MMLocalProperty___signature__eq};
+  trace.prev = tracehead; tracehead = &trace;
+  ATTR_static_type___MMLocalProperty____signature( self) /*MMLocalProperty::_signature*/ =  param0;
+  tracehead = trace.prev;
+  return;
+}
+val_t static_type___MMLocalProperty___signature_for(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_static_type, 62, LOCATE_static_type___MMLocalProperty___signature_for};
   val_t variable0;
+  val_t variable1;
+  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ =  variable0 /*s*/;
+  variable1 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMLocalProperty::local_class*/;
+  variable1 = ((static_type___MMLocalClass___get_type_t)CALL(variable1,COLOR_static_type___MMLocalClass___get_type))(variable1) /*MMLocalClass::get_type*/;
+  variable1 = TAG_Bool(( variable0 /*t*/ == variable1) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/, variable1) /*Object::==*/)))));
+  if (UNTAG_Bool(variable1)) { /*if*/
+    variable1 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
+    goto return_label3;
+  }
+  variable1 = ATTR_static_type___MMLocalProperty____signatures_cache( self) /*MMLocalProperty::_signatures_cache*/;
+  variable1 = ((abstract_collection___CoupleMap___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*t*/) /*CoupleMap::has_key*/;
+  if (UNTAG_Bool(variable1)) { /*if*/
+    variable1 = ATTR_static_type___MMLocalProperty____signatures_cache( self) /*MMLocalProperty::_signatures_cache*/;
+    variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*t*/) /*CoupleMap::[]*/;
+    goto return_label3;
+  }
+  variable2 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
+  variable2 = ((static_type___MMSignature___adaptation_to_t)CALL(variable2,COLOR_static_type___MMSignature___adaptation_to))(variable2,  variable0 /*t*/) /*MMSignature::adaptation_to*/;
+  variable1 = variable2;
+  variable2 = ATTR_static_type___MMLocalProperty____signatures_cache( self) /*MMLocalProperty::_signatures_cache*/;
+  ((hash___HashMap_____braeq_t)CALL(variable2,COLOR_abstract_collection___Map_____braeq))(variable2,  variable0 /*t*/,  variable1 /*res*/) /*HashMap::[]=*/;
+  variable1 =  variable1 /*res*/;
+  goto return_label3;
+  return_label3: while(false);
   tracehead = trace.prev;
-  return;
+  return variable1;
 }
 val_t static_type___MMSignature___recv(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMSignature___recv, 79};
+  struct trace_t trace = {NULL, LOCATE_static_type, 76, LOCATE_static_type___MMSignature___recv};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
 }
 val_t static_type___MMSignature___return_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMSignature___return_type, 85};
+  struct trace_t trace = {NULL, LOCATE_static_type, 82, LOCATE_static_type___MMSignature___return_type};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
 }
 val_t static_type___MMSignature___arity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMSignature___arity, 88};
+  struct trace_t trace = {NULL, LOCATE_static_type, 85, LOCATE_static_type___MMSignature___arity};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
-  variable0 = TAG_Bool(!UNTAG_Bool(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*/) /*Array::==*/)))));
-  if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMSignature___arity, 91); nit_exit(1);}
+  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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature___arity, LOCATE_static_type, 88); nit_exit(1);}
   variable0 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
-  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Array::length*/;
-  goto return_label5;
-  return_label5: while(false);
+  variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*AbstractArray::length*/;
+  goto return_label4;
+  return_label4: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMSignature_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMSignature_____l, 95};
+  struct trace_t trace = {NULL, LOCATE_static_type, 92, LOCATE_static_type___MMSignature_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -137,31 +145,37 @@ val_t static_type___MMSignature_____l(val_t  self, val_t  param0) {
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*MMSignature::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMSignature_____l, 98); nit_exit(1);}
-  variable1 = TAG_Bool(( self ==  variable0 /*s*/) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self, variable0 /*s*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self,  variable0 /*s*/) /*MMSignature::==*/)))));
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____l, LOCATE_static_type, 95); nit_exit(1);}
+  variable1 = TAG_Bool(( self ==  variable0 /*s*/) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self, variable0 /*s*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self,  variable0 /*s*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 =  TAG_Bool(true);
-    goto return_label6;
+    goto return_label5;
   }
   variable1 = ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
   variable1 = ((static_type___MMType___module_t)CALL(variable1,COLOR_static_type___MMType___module))(variable1) /*MMType::module*/;
   variable2 = ((static_type___MMSignature___recv_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___recv))( variable0 /*s*/) /*MMSignature::recv*/;
   variable2 = ((static_type___MMType___module_t)CALL(variable2,COLOR_static_type___MMType___module))(variable2) /*MMType::module*/;
-  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) /*MMModule::==*/)))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMSignature_____l, 102); nit_exit(1);}
+  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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____l, LOCATE_static_type, 99); nit_exit(1);}
   variable1 = ((static_type___MMSignature___arity_t)CALL( self,COLOR_static_type___MMSignature___arity))( self) /*MMSignature::arity*/;
   variable2 = ((static_type___MMSignature___arity_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___arity))( variable0 /*s*/) /*MMSignature::arity*/;
-  variable1 = TAG_Bool((variable1)==(variable2));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMSignature_____l, 103); nit_exit(1);}
-  variable1 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
-  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*/) /*MMType::==*/)))));
-  variable2 = ((static_type___MMSignature___return_type_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___return_type))( variable0 /*s*/) /*MMSignature::return_type*/;
-  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*/) /*MMType::==*/)))));
-  variable1 = TAG_Bool((variable1)==(variable2));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMSignature_____l, 104); nit_exit(1);}
+  variable1 = TAG_Bool((variable1)!=(variable2));
+  variable2 = variable1;
+  if (!UNTAG_Bool(variable2)) { /* or */
+    variable2 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
+    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::==*/)))));
+    variable3 = ((static_type___MMSignature___return_type_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___return_type))( variable0 /*s*/) /*MMSignature::return_type*/;
+    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::==*/)))));
+    variable2 = TAG_Bool((variable2)!=(variable3));
+  }
+  variable1 = variable2;
+  if (UNTAG_Bool(variable1)) { /*if*/
+    variable1 =  TAG_Bool(false);
+    goto return_label5;
+  }
   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*/) /*MMType::==*/)))))));
+  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::==*/)))))));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
@@ -172,10 +186,10 @@ val_t static_type___MMSignature_____l(val_t  self, val_t  param0) {
   variable1 = variable2;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 =  TAG_Bool(false);
-    goto return_label6;
+    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[Int]*/
+  variable2 = NEW_range___Range___without_last( TAG_Int(0), variable1); /*new Range[E]*/
   variable1 = variable2;
   variable1 = ((range___Range___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Range::iterator*/;
   while (true) { /*for*/
@@ -187,20 +201,20 @@ val_t static_type___MMSignature_____l(val_t  self, val_t  param0) {
     variable3 = ((static_type___MMType_____l_t)CALL(variable3,COLOR_static_type___MMType_____l))(variable3, variable4) /*MMType::<*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
       variable1 =  TAG_Bool(false);
-      goto return_label6;
+      goto return_label5;
     }
-    continue_7: while(0);
+    continue_6: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
   }
-  break_7: while(0);
+  break_6: while(0);
   variable1 =  TAG_Bool(true);
-  goto return_label6;
-  return_label6: while(false);
+  goto return_label5;
+  return_label5: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t static_type___MMSignature_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMSignature_____bra, 117};
+  struct trace_t trace = {NULL, LOCATE_static_type, 113, LOCATE_static_type___MMSignature_____bra};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -209,33 +223,33 @@ val_t static_type___MMSignature_____bra(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*Array::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( variable0 /*i*/));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMSignature_____bra, 120); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____bra, LOCATE_static_type, 116); nit_exit(1);}
   variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
   variable2 =  variable0 /*i*/;
   variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable4 = variable3;
   if (UNTAG_Bool(variable4)) { /* and */
     variable4 = variable1;
-    variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
+    variable4 = ATTR_array___AbstractArray____length(variable4) /*AbstractArray::_length*/;
     variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
   }
   variable3 = variable4;
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_static_type, 229); nit_exit(1);}
   variable3 = variable1;
   variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
   variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
-  goto return_label9;
-  return_label9: while(false);
-  variable1 = variable3;
   goto return_label8;
   return_label8: while(false);
+  variable1 = variable3;
+  goto return_label7;
+  return_label7: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t static_type___MMSignature___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMSignature___to_s, 124};
+  struct trace_t trace = {NULL, LOCATE_static_type, 120, LOCATE_static_type___MMSignature___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -249,24 +263,24 @@ val_t static_type___MMSignature___to_s(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NIT_NULL /*decl variable s*/;
   variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 ==  NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  NIT_NULL /*null*/) /*Array::==*/)))));
+  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::==*/)))))));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
-    variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
+    variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
     variable2 = TAG_Bool(UNTAG_Int(variable2)>UNTAG_Int( TAG_Int(0)));
   }
   variable1 = variable2;
   if (UNTAG_Bool(variable1)) { /*if*/
     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) /*Array::length*/;
-    variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[String]*/
+    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]*/
     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) /*Array::length*/;
-    variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3); /*new Range[Int]*/
+    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]*/
     variable3 = variable4;
     variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
     while (true) { /*for*/
@@ -279,30 +293,30 @@ val_t static_type___MMSignature___to_s(val_t  self) {
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
         variable9 = variable6;
-        variable9 = ATTR_array___AbstractArray____length(variable9) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length(variable9) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_static_type, 229); nit_exit(1);}
       variable8 = variable6;
       variable8 = ATTR_array___Array____items(variable8) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
-      goto return_label12;
-      return_label12: while(false);
+      goto return_label11;
+      return_label11: while(false);
       variable6 = variable8;
       variable5 = variable6;
-      variable6 = ((string___Object___to_s_t)CALL( variable5 /*p*/,COLOR_string___Object___to_s))( variable5 /*p*/) /*MMType::to_s*/;
-      ((array___AbstractArray___add_t)CALL( variable2 /*a*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*a*/, variable6) /*Array::add*/;
-      continue_11: while(0);
+      variable6 = ((string___Object___to_s_t)CALL( variable5 /*p*/,COLOR_string___Object___to_s))( variable5 /*p*/) /*Object::to_s*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*a*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*a*/, variable6) /*AbstractArray::add*/;
+      continue_10: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
     }
-    break_11: while(0);
+    break_10: while(0);
     variable3 = NEW_string___String___init(); /*new String*/
     variable4 = NEW_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 = ((string___Collection___join_t)CALL( variable2 /*a*/,COLOR_string___Collection___join))( variable2 /*a*/, variable6) /*Array::join*/;
+    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*/
@@ -314,7 +328,7 @@ val_t static_type___MMSignature___to_s(val_t  self) {
     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*/) /*MMType::==*/)))))));
+  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*/
@@ -330,13 +344,66 @@ val_t static_type___MMSignature___to_s(val_t  self) {
     ((string___String___append_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*s*/, variable1) /*String::append*/;
   }
   variable0 =  variable0 /*s*/;
-  goto return_label10;
-  return_label10: while(false);
+  goto return_label9;
+  return_label9: while(false);
   tracehead = trace.prev;
   return variable0;
 }
+val_t static_type___MMSignature___adaptation_to(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_static_type, 142, LOCATE_static_type___MMSignature___adaptation_to};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+      val_t variable4;
+      val_t variable5;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
+  variable1 = TAG_Bool((variable1 ==  variable0 /*r*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, variable0 /*r*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1,  variable0 /*r*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable1)) { /*if*/
+    variable1 =  self;
+    goto return_label12;
+  }
+  variable2 = ((static_type___MMType___module_t)CALL( variable0 /*r*/,COLOR_static_type___MMType___module))( variable0 /*r*/) /*MMType::module*/;
+  variable1 = variable2;
+  variable3 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
+  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]*/
+    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*/;
+    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___MMType___for_module_t)CALL( variable4 /*i*/,COLOR_static_type___MMType___for_module))( variable4 /*i*/,  variable1 /*mod*/) /*MMType::for_module*/;
+      variable5 = ((static_type___MMType___adapt_to_t)CALL(variable5,COLOR_static_type___MMType___adapt_to))(variable5,  variable0 /*r*/) /*MMType::adapt_to*/;
+      ((array___AbstractArray___add_t)CALL( variable2 /*p*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*p*/, variable5) /*AbstractArray::add*/;
+      continue_13: while(0);
+      ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
+    }
+    break_13: while(0);
+  }
+  variable4 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
+  variable3 = variable4;
+  variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*rv*/ ==  NIT_NULL /*null*/) || (( variable3 /*rv*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*rv*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*rv*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*rv*/,COLOR_kernel___Object_____eqeq))( variable3 /*rv*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (UNTAG_Bool(variable4)) { /*if*/
+    variable4 = ((static_type___MMType___for_module_t)CALL( variable3 /*rv*/,COLOR_static_type___MMType___for_module))( variable3 /*rv*/,  variable1 /*mod*/) /*MMType::for_module*/;
+    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*/
+  variable1 = variable4;
+  goto return_label12;
+  return_label12: while(false);
+  tracehead = trace.prev;
+  return variable1;
+}
 void static_type___MMSignature___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMSignature___init, 146};
+  struct trace_t trace = {NULL, LOCATE_static_type, 163, LOCATE_static_type___MMSignature___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -346,8 +413,8 @@ void static_type___MMSignature___init(val_t  self, val_t  param0, val_t  param1,
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSignature].i]) return;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*params*/ ==  NIT_NULL /*null*/) || (( variable0 /*params*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable0 /*params*/,COLOR_kernel___Object_____eqeq))( variable0 /*params*/,  NIT_NULL /*null*/) /*Array::==*/)))));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMSignature___init, 148); nit_exit(1);}
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*params*/ ==  NIT_NULL /*null*/) || (( variable0 /*params*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*params*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*params*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*params*/,COLOR_kernel___Object_____eqeq))( variable0 /*params*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature___init, LOCATE_static_type, 165); nit_exit(1);}
   ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/ =  variable0 /*params*/;
   ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/ =  variable1 /*return_type*/;
   ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/ =  variable2 /*r*/;
@@ -356,33 +423,33 @@ void static_type___MMSignature___init(val_t  self, val_t  param0, val_t  param1,
   return;
 }
 val_t static_type___MMAncestor___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___stype, 157};
+  struct trace_t trace = {NULL, LOCATE_static_type, 174, LOCATE_static_type___MMAncestor___stype};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/;
 }
 void static_type___MMAncestor___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___stype__eq, 157};
+  struct trace_t trace = {NULL, LOCATE_static_type, 174, LOCATE_static_type___MMAncestor___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t static_type___MMAncestor___inheriter(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___inheriter, 160};
+  struct trace_t trace = {NULL, LOCATE_static_type, 177, LOCATE_static_type___MMAncestor___inheriter};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/;
 }
 void static_type___MMAncestor___inheriter__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___inheriter__eq, 160};
+  struct trace_t trace = {NULL, LOCATE_static_type, 177, LOCATE_static_type___MMAncestor___inheriter__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t static_type___MMAncestor___is_reffinement(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___is_reffinement, 163};
+  struct trace_t trace = {NULL, LOCATE_static_type, 180, LOCATE_static_type___MMAncestor___is_reffinement};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -390,14 +457,14 @@ val_t static_type___MMAncestor___is_reffinement(val_t  self) {
   variable0 = ((static_type___MMType___module_t)CALL(variable0,COLOR_static_type___MMType___module))(variable0) /*MMType::module*/;
   variable1 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
   variable1 = ((static_type___MMType___module_t)CALL(variable1,COLOR_static_type___MMType___module))(variable1) /*MMType::module*/;
-  variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == variable1) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, variable1) /*MMModule::==*/)))))));
-  goto return_label14;
-  return_label14: while(false);
+  variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == variable1) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, variable1) /*Object::==*/)))))));
+  goto return_label15;
+  return_label15: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMAncestor___is_specialisation(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___is_specialisation, 167};
+  struct trace_t trace = {NULL, LOCATE_static_type, 184, LOCATE_static_type___MMAncestor___is_specialisation};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -407,237 +474,189 @@ val_t static_type___MMAncestor___is_specialisation(val_t  self) {
   variable1 = ((static_type___MMAncestor___inheriter_t)CALL( self,COLOR_static_type___MMAncestor___inheriter))( self) /*MMAncestor::inheriter*/;
   variable1 = ((static_type___MMType___local_class_t)CALL(variable1,COLOR_static_type___MMType___local_class))(variable1) /*MMType::local_class*/;
   variable1 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___global))(variable1) /*MMLocalClass::global*/;
-  variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == variable1) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, variable1) /*MMGlobalClass::==*/)))))));
-  goto return_label15;
-  return_label15: while(false);
+  variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == variable1) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, variable1) /*Object::==*/)))))));
+  goto return_label16;
+  return_label16: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMAncestor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___local_class, 171};
+  struct trace_t trace = {NULL, LOCATE_static_type, 188, LOCATE_static_type___MMAncestor___local_class};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "local_class", LOCATE_static_type___MMAncestor___is_specialisation, 171);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___is_specialisation, LOCATE_static_type, 188);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMAncestor___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMAncestor___to_s, 174};
+  struct trace_t trace = {NULL, LOCATE_static_type, 191, LOCATE_static_type___MMAncestor___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
-  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*/) /*MMType::==*/)))));
+  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 = ((static_type___MMAncestor___local_class_t)CALL( self,COLOR_static_type___MMAncestor___local_class))( self) /*MMAncestor::local_class*/;
     variable0 = ((abstractmetamodel___MMLocalClass___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMLocalClass::to_s*/;
-    goto return_label16;
+    goto return_label17;
   } else { /*if*/
     variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
-    variable0 = ((string___Object___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMType::to_s*/;
-    goto return_label16;
+    variable0 = ((string___Object___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Object::to_s*/;
+    goto return_label17;
   }
-  return_label16: while(false);
+  return_label17: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMType___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___module, 187};
+  struct trace_t trace = {NULL, LOCATE_static_type, 204, LOCATE_static_type___MMType___module};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "module", LOCATE_static_type___MMAncestor___to_s, 187);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 204);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMType___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___local_class, 190};
+  struct trace_t trace = {NULL, LOCATE_static_type, 207, LOCATE_static_type___MMType___local_class};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "local_class", LOCATE_static_type___MMAncestor___to_s, 190);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 207);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMType_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType_____l, 193};
+  struct trace_t trace = {NULL, LOCATE_static_type, 210, LOCATE_static_type___MMType_____l};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "<", LOCATE_static_type___MMAncestor___to_s, 193);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 210);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMType___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___is_supertype, 196};
+  struct trace_t trace = {NULL, LOCATE_static_type, 213, LOCATE_static_type___MMType___is_supertype};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "is_supertype", LOCATE_static_type___MMAncestor___to_s, 196);
-  nit_exit(1);
-  tracehead = trace.prev;
-  return NIT_NULL;
-}
-val_t static_type___MMType___select_method(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___select_method, 201};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMType___select_method, 204); nit_exit(1);}
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Symbol::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMType___select_method, 205); nit_exit(1);}
-  variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
-  variable2 = ((abstractmetamodel___MMLocalClass___method_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___method))(variable2,  variable0 /*name*/) /*MMLocalClass::method*/;
-  variable2 = ((static_type___MMType___select_property_t)CALL( self,COLOR_static_type___MMType___select_property))( self, variable2) /*MMType::select_property*/;
-  variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*res*/==NIT_NULL) || VAL_ISA( variable1 /*res*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMType___select_method, 207); nit_exit(1);}
-  variable1 =  variable1 /*res*/;
-  goto return_label17;
-  return_label17: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t static_type___MMType___select_attribute(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___select_attribute, 211};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Symbol::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMType___select_attribute, 214); nit_exit(1);}
-  variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMType___select_attribute, 215); nit_exit(1);}
-  variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
-  variable2 = ((abstractmetamodel___MMLocalClass___attribute_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___attribute))(variable2,  variable0 /*name*/) /*MMLocalClass::attribute*/;
-  variable2 = ((static_type___MMType___select_property_t)CALL( self,COLOR_static_type___MMType___select_property))( self, variable2) /*MMType::select_property*/;
-  variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*res*/==NIT_NULL) || VAL_ISA( variable1 /*res*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMType___select_attribute, 217); nit_exit(1);}
-  variable1 =  variable1 /*res*/;
-  goto return_label18;
-  return_label18: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t static_type___MMType___select_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___select_property, 221};
-  trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "select_property", LOCATE_static_type___MMType___select_attribute, 221);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 213);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMType___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___for_module, 224};
+  struct trace_t trace = {NULL, LOCATE_static_type, 218, LOCATE_static_type___MMType___for_module};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "for_module", LOCATE_static_type___MMType___select_attribute, 224);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 218);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMType___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___adapt_to, 227};
+  struct trace_t trace = {NULL, LOCATE_static_type, 221, LOCATE_static_type___MMType___adapt_to};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "adapt_to", LOCATE_static_type___MMType___select_attribute, 227);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 221);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMType___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___upcast_for, 231};
+  struct trace_t trace = {NULL, LOCATE_static_type, 225, LOCATE_static_type___MMType___upcast_for};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "upcast_for", LOCATE_static_type___MMType___select_attribute, 231);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s, LOCATE_static_type, 225);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t static_type___MMType___not_for_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMType___not_for_self, 235};
+  struct trace_t trace = {NULL, LOCATE_static_type, 229, LOCATE_static_type___MMType___not_for_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  self;
-  goto return_label19;
-  return_label19: while(false);
+  goto return_label18;
+  return_label18: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMTypeClass___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeClass___local_class, 242};
+  struct trace_t trace = {NULL, LOCATE_static_type, 236, LOCATE_static_type___MMTypeClass___local_class};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
 }
 val_t static_type___MMTypeClass___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeClass___module, 243};
+  struct trace_t trace = {NULL, LOCATE_static_type, 237, LOCATE_static_type___MMTypeClass___module};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
-  goto return_label20;
-  return_label20: while(false);
+  goto return_label19;
+  return_label19: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMTypeClass_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeClass_____l, 244};
+  struct trace_t trace = {NULL, LOCATE_static_type, 238, LOCATE_static_type___MMTypeClass_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ ==  NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ ==  NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
     variable2 = ((static_type___MMType___is_supertype_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___is_supertype))( variable0 /*t*/,  self) /*MMType::is_supertype*/;
   }
   variable1 = variable2;
-  goto return_label21;
-  return_label21: while(false);
+  goto return_label20;
+  return_label20: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t static_type___MMTypeClass___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeClass___to_s, 246};
+  struct trace_t trace = {NULL, LOCATE_static_type, 240, LOCATE_static_type___MMTypeClass___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable0 = ((abstractmetamodel___MMLocalClass___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMLocalClass::to_s*/;
-  goto return_label22;
-  return_label22: while(false);
+  goto return_label21;
+  return_label21: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMTypeClass___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeClass___upcast_for, 251};
+  struct trace_t trace = {NULL, LOCATE_static_type, 245, LOCATE_static_type___MMTypeClass___upcast_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMTypeClass___upcast_for, 253); nit_exit(1);}
-  variable1 = TAG_Bool(!UNTAG_Bool(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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMTypeClass___upcast_for, 254); nit_exit(1);}
+  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_static_type___MMTypeClass___upcast_for, LOCATE_static_type, 247); nit_exit(1);}
+  variable1 = TAG_Bool(!UNTAG_Bool(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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for, LOCATE_static_type, 248); nit_exit(1);}
   variable1 =  self;
   variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
-  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  variable0 /*c*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*c*/) /*MMLocalClass::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 ==  variable0 /*c*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2,  variable0 /*c*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
     variable2 = ((static_type___MMLocalClass___ancestor_t)CALL(variable2,COLOR_static_type___MMLocalClass___ancestor))(variable2,  variable0 /*c*/) /*MMLocalClass::ancestor*/;
     variable1 = variable2 /*t=*/;
   }
-  variable2 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMTypeClass___upcast_for, 260); nit_exit(1);}
+  variable2 = TAG_Bool(!UNTAG_Bool(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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for, LOCATE_static_type, 254); nit_exit(1);}
   variable1 =  variable1 /*t*/;
-  goto return_label23;
-  return_label23: while(false);
+  goto return_label22;
+  return_label22: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void static_type___MMTypeClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeClass___init, 264};
+  struct trace_t trace = {NULL, LOCATE_static_type, 258, LOCATE_static_type___MMTypeClass___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -648,7 +667,7 @@ void static_type___MMTypeClass___init(val_t  self, val_t  param0, int* init_tabl
   return;
 }
 val_t static_type___MMTypeSimpleClass___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeSimpleClass___is_supertype, 272};
+  struct trace_t trace = {NULL, LOCATE_static_type, 266, LOCATE_static_type___MMTypeSimpleClass___is_supertype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -656,72 +675,51 @@ val_t static_type___MMTypeSimpleClass___is_supertype(val_t  self, val_t  param0)
   variable0 =  param0;
   variable1 = ((static_type___MMType___local_class_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___local_class))( variable0 /*t*/) /*MMType::local_class*/;
   variable1 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable1) /*MMLocalClass::cshe*/;
-  variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_local_class*/;
+  variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
   variable1 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable1,COLOR_partial_order___PartialOrderElement_____leq))(variable1, variable2) /*PartialOrderElement::<=*/;
-  goto return_label25;
-  return_label25: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
-val_t static_type___MMTypeSimpleClass___select_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeSimpleClass___select_property, 277};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMTypeSimpleClass___select_property, 279); nit_exit(1);}
-  variable1 = TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*MMGlobalProperty::==*/)))));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 =  NIT_NULL /*null*/;
-    goto return_label26;
-  }
-  variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_local_class*/;
-  variable1 = ((abstractmetamodel___MMLocalClass_____bra_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable1,  variable0 /*g*/) /*MMLocalClass::[]*/;
-  goto return_label26;
-  return_label26: while(false);
+  goto return_label24;
+  return_label24: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t static_type___MMTypeSimpleClass___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeSimpleClass___for_module, 286};
+  struct trace_t trace = {NULL, LOCATE_static_type, 271, LOCATE_static_type___MMTypeSimpleClass___for_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  variable2 = ((static_type___MMTypeClass___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeSimpleClass::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*/) /*MMModule::==*/)))))));
+  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*/
-    variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_local_class*/;
+    variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
     variable2 = ((abstractmetamodel___MMLocalClass___for_module_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___for_module))(variable2,  variable0 /*mod*/) /*MMLocalClass::for_module*/;
     variable2 = ((static_type___MMLocalClass___get_type_t)CALL(variable2,COLOR_static_type___MMLocalClass___get_type))(variable2) /*MMLocalClass::get_type*/;
     variable1 = variable2 /*t=*/;
   }
-  variable2 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_static_type___MMTypeSimpleClass___for_module, 292); nit_exit(1);}
+  variable2 = TAG_Bool(!UNTAG_Bool(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)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeSimpleClass___for_module, LOCATE_static_type, 277); nit_exit(1);}
   variable1 =  variable1 /*t*/;
-  goto return_label27;
-  return_label27: while(false);
+  goto return_label25;
+  return_label25: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t static_type___MMTypeSimpleClass___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeSimpleClass___adapt_to, 296};
+  struct trace_t trace = {NULL, LOCATE_static_type, 281, LOCATE_static_type___MMTypeSimpleClass___adapt_to};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  goto return_label28;
-  return_label28: while(false);
+  goto return_label26;
+  return_label26: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void static_type___MMTypeSimpleClass___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeSimpleClass___init, 298};
+  struct trace_t trace = {NULL, LOCATE_static_type, 283, LOCATE_static_type___MMTypeSimpleClass___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -732,57 +730,57 @@ void static_type___MMTypeSimpleClass___init(val_t  self, val_t  param0, int* ini
   return;
 }
 val_t static_type___MMTypeNone___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeNone___module, 307};
+  struct trace_t trace = {NULL, LOCATE_static_type, 292, LOCATE_static_type___MMTypeNone___module};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMTypeNone____module( self) /*MMTypeNone::_module*/;
 }
 val_t static_type___MMTypeNone_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeNone_____l, 308};
+  struct trace_t trace = {NULL, LOCATE_static_type, 293, LOCATE_static_type___MMTypeNone_____l};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  TAG_Bool(true);
-  goto return_label30;
-  return_label30: while(false);
+  goto return_label28;
+  return_label28: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t static_type___MMTypeNone___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeNone___is_supertype, 309};
+  struct trace_t trace = {NULL, LOCATE_static_type, 294, LOCATE_static_type___MMTypeNone___is_supertype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  TAG_Bool(false);
-  goto return_label31;
-  return_label31: while(false);
+  goto return_label29;
+  return_label29: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t static_type___MMTypeNone___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeNone___local_class, 310};
+  struct trace_t trace = {NULL, LOCATE_static_type, 295, LOCATE_static_type___MMTypeNone___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_static_type___MMTypeNone___local_class, 310); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeNone___local_class, LOCATE_static_type, 295); nit_exit(1);
   tracehead = trace.prev;
   return variable0;
 }
 val_t static_type___MMTypeNone___upcast_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeNone___upcast_for, 311};
+  struct trace_t trace = {NULL, LOCATE_static_type, 296, LOCATE_static_type___MMTypeNone___upcast_for};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  self;
-  goto return_label33;
-  return_label33: while(false);
+  goto return_label31;
+  return_label31: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void static_type___MMTypeNone___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMTypeNone___init, 313};
+  struct trace_t trace = {NULL, LOCATE_static_type, 298, LOCATE_static_type___MMTypeNone___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -793,7 +791,7 @@ void static_type___MMTypeNone___init(val_t  self, val_t  param0, int* init_table
   return;
 }
 val_t static_type___MMModule___type_none(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_static_type___MMModule___type_none, 317};
+  struct trace_t trace = {NULL, LOCATE_static_type, 302, LOCATE_static_type___MMModule___type_none};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_static_type___MMModule____type_none( self) /*MMModule::_type_none*/;
index dd12420..cb09d02 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires static_type. */
-#ifndef static_type_3_sep
-#define static_type_3_sep
+#ifndef static_type_2_sep
+#define static_type_2_sep
 #include "abstractmetamodel._sep.h"
 #include <nit_common.h>
 
@@ -15,7 +15,7 @@ extern const classtable_elt_t VFT_MMTypeClass[];
 extern const classtable_elt_t VFT_MMTypeSimpleClass[];
 
 extern const classtable_elt_t VFT_MMTypeNone[];
-#define LOCATE_static_type "static_type"
+#define LOCATE_static_type "./metamodel//static_type.nit"
 extern const int SFT_static_type[];
 #define COLOR_static_type___MMLocalClass____base_type_cache SFT_static_type[0]
 #define COLOR_static_type___MMLocalClass____ancestors SFT_static_type[1]
@@ -23,43 +23,43 @@ extern const int SFT_static_type[];
 #define COLOR_static_type___MMLocalClass___add_ancestor SFT_static_type[3]
 #define COLOR_static_type___MMLocalClass___ancestors SFT_static_type[4]
 #define COLOR_static_type___MMLocalClass___ancestor SFT_static_type[5]
-#define COLOR_static_type___MMLocalProperty____signature_cache SFT_static_type[6]
-#define COLOR_static_type___MMLocalProperty___signature SFT_static_type[7]
-#define COLOR_static_type___MMLocalProperty___signature__eq SFT_static_type[8]
-#define ID_MMSignature SFT_static_type[9]
-#define COLOR_MMSignature SFT_static_type[10]
-#define COLOR_static_type___MMSignature____recv SFT_static_type[11]
-#define COLOR_static_type___MMSignature____params SFT_static_type[12]
-#define COLOR_static_type___MMSignature____return_type SFT_static_type[13]
-#define INIT_TABLE_POS_MMSignature SFT_static_type[14]
-#define COLOR_static_type___MMSignature___recv SFT_static_type[15]
-#define COLOR_static_type___MMSignature___return_type SFT_static_type[16]
-#define COLOR_static_type___MMSignature___arity SFT_static_type[17]
-#define COLOR_static_type___MMSignature_____l SFT_static_type[18]
-#define COLOR_static_type___MMSignature_____bra SFT_static_type[19]
-#define COLOR_static_type___MMSignature___init SFT_static_type[20]
-#define ID_MMAncestor SFT_static_type[21]
-#define COLOR_MMAncestor SFT_static_type[22]
-#define COLOR_static_type___MMAncestor____stype SFT_static_type[23]
-#define COLOR_static_type___MMAncestor____inheriter SFT_static_type[24]
-#define INIT_TABLE_POS_MMAncestor SFT_static_type[25]
-#define COLOR_static_type___MMAncestor___stype SFT_static_type[26]
-#define COLOR_static_type___MMAncestor___stype__eq SFT_static_type[27]
-#define COLOR_static_type___MMAncestor___inheriter SFT_static_type[28]
-#define COLOR_static_type___MMAncestor___inheriter__eq SFT_static_type[29]
-#define COLOR_static_type___MMAncestor___is_reffinement SFT_static_type[30]
-#define COLOR_static_type___MMAncestor___is_specialisation SFT_static_type[31]
-#define COLOR_static_type___MMAncestor___local_class SFT_static_type[32]
-#define ID_MMType SFT_static_type[33]
-#define COLOR_MMType SFT_static_type[34]
-#define INIT_TABLE_POS_MMType SFT_static_type[35]
-#define COLOR_static_type___MMType___module SFT_static_type[36]
-#define COLOR_static_type___MMType___local_class SFT_static_type[37]
-#define COLOR_static_type___MMType_____l SFT_static_type[38]
-#define COLOR_static_type___MMType___is_supertype SFT_static_type[39]
-#define COLOR_static_type___MMType___select_method SFT_static_type[40]
-#define COLOR_static_type___MMType___select_attribute SFT_static_type[41]
-#define COLOR_static_type___MMType___select_property SFT_static_type[42]
+#define COLOR_static_type___MMLocalProperty____signature SFT_static_type[6]
+#define COLOR_static_type___MMLocalProperty____signatures_cache SFT_static_type[7]
+#define COLOR_static_type___MMLocalProperty___signature SFT_static_type[8]
+#define COLOR_static_type___MMLocalProperty___signature__eq SFT_static_type[9]
+#define COLOR_static_type___MMLocalProperty___signature_for SFT_static_type[10]
+#define ID_MMSignature SFT_static_type[11]
+#define COLOR_MMSignature SFT_static_type[12]
+#define COLOR_static_type___MMSignature____recv SFT_static_type[13]
+#define COLOR_static_type___MMSignature____params SFT_static_type[14]
+#define COLOR_static_type___MMSignature____return_type SFT_static_type[15]
+#define INIT_TABLE_POS_MMSignature SFT_static_type[16]
+#define COLOR_static_type___MMSignature___recv SFT_static_type[17]
+#define COLOR_static_type___MMSignature___return_type SFT_static_type[18]
+#define COLOR_static_type___MMSignature___arity SFT_static_type[19]
+#define COLOR_static_type___MMSignature_____l SFT_static_type[20]
+#define COLOR_static_type___MMSignature_____bra SFT_static_type[21]
+#define COLOR_static_type___MMSignature___adaptation_to SFT_static_type[22]
+#define COLOR_static_type___MMSignature___init SFT_static_type[23]
+#define ID_MMAncestor SFT_static_type[24]
+#define COLOR_MMAncestor SFT_static_type[25]
+#define COLOR_static_type___MMAncestor____stype SFT_static_type[26]
+#define COLOR_static_type___MMAncestor____inheriter SFT_static_type[27]
+#define INIT_TABLE_POS_MMAncestor SFT_static_type[28]
+#define COLOR_static_type___MMAncestor___stype SFT_static_type[29]
+#define COLOR_static_type___MMAncestor___stype__eq SFT_static_type[30]
+#define COLOR_static_type___MMAncestor___inheriter SFT_static_type[31]
+#define COLOR_static_type___MMAncestor___inheriter__eq SFT_static_type[32]
+#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]
@@ -94,13 +94,17 @@ val_t static_type___MMLocalClass___ancestors(val_t  self);
 typedef val_t (* static_type___MMLocalClass___ancestor_t)(val_t  self, val_t  param0);
 val_t static_type___MMLocalClass___ancestor(val_t  self, val_t  param0);
 #define LOCATE_static_type___MMLocalClass___ancestor "static_type::MMLocalClass::ancestor"
-#define ATTR_static_type___MMLocalProperty____signature_cache(recv) ATTR(recv, COLOR_static_type___MMLocalProperty____signature_cache)
+#define ATTR_static_type___MMLocalProperty____signature(recv) ATTR(recv, COLOR_static_type___MMLocalProperty____signature)
 typedef val_t (* static_type___MMLocalProperty___signature_t)(val_t  self);
 val_t static_type___MMLocalProperty___signature(val_t  self);
 #define LOCATE_static_type___MMLocalProperty___signature "static_type::MMLocalProperty::signature"
 typedef void (* static_type___MMLocalProperty___signature__eq_t)(val_t  self, val_t  param0);
 void static_type___MMLocalProperty___signature__eq(val_t  self, val_t  param0);
 #define LOCATE_static_type___MMLocalProperty___signature__eq "static_type::MMLocalProperty::signature="
+#define ATTR_static_type___MMLocalProperty____signatures_cache(recv) ATTR(recv, COLOR_static_type___MMLocalProperty____signatures_cache)
+typedef val_t (* static_type___MMLocalProperty___signature_for_t)(val_t  self, val_t  param0);
+val_t static_type___MMLocalProperty___signature_for(val_t  self, val_t  param0);
+#define LOCATE_static_type___MMLocalProperty___signature_for "static_type::MMLocalProperty::signature_for"
 #define ATTR_static_type___MMSignature____recv(recv) ATTR(recv, COLOR_static_type___MMSignature____recv)
 typedef val_t (* static_type___MMSignature___recv_t)(val_t  self);
 val_t static_type___MMSignature___recv(val_t  self);
@@ -122,6 +126,9 @@ val_t static_type___MMSignature_____bra(val_t  self, val_t  param0);
 typedef val_t (* static_type___MMSignature___to_s_t)(val_t  self);
 val_t static_type___MMSignature___to_s(val_t  self);
 #define LOCATE_static_type___MMSignature___to_s "static_type::MMSignature::(string::Object::to_s)"
+typedef val_t (* static_type___MMSignature___adaptation_to_t)(val_t  self, val_t  param0);
+val_t static_type___MMSignature___adaptation_to(val_t  self, val_t  param0);
+#define LOCATE_static_type___MMSignature___adaptation_to "static_type::MMSignature::adaptation_to"
 typedef void (* static_type___MMSignature___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 void static_type___MMSignature___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 val_t NEW_static_type___MMSignature___init(val_t  param0, val_t  param1, val_t  param2);
@@ -164,15 +171,6 @@ val_t static_type___MMType_____l(val_t  self, val_t  param0);
 typedef val_t (* static_type___MMType___is_supertype_t)(val_t  self, val_t  param0);
 val_t static_type___MMType___is_supertype(val_t  self, val_t  param0);
 #define LOCATE_static_type___MMType___is_supertype "static_type::MMType::is_supertype"
-typedef val_t (* static_type___MMType___select_method_t)(val_t  self, val_t  param0);
-val_t static_type___MMType___select_method(val_t  self, val_t  param0);
-#define LOCATE_static_type___MMType___select_method "static_type::MMType::select_method"
-typedef val_t (* static_type___MMType___select_attribute_t)(val_t  self, val_t  param0);
-val_t static_type___MMType___select_attribute(val_t  self, val_t  param0);
-#define LOCATE_static_type___MMType___select_attribute "static_type::MMType::select_attribute"
-typedef val_t (* static_type___MMType___select_property_t)(val_t  self, val_t  param0);
-val_t static_type___MMType___select_property(val_t  self, val_t  param0);
-#define LOCATE_static_type___MMType___select_property "static_type::MMType::select_property"
 typedef val_t (* static_type___MMType___for_module_t)(val_t  self, val_t  param0);
 val_t static_type___MMType___for_module(val_t  self, val_t  param0);
 #define LOCATE_static_type___MMType___for_module "static_type::MMType::for_module"
@@ -208,9 +206,6 @@ val_t NEW_static_type___MMTypeClass___init(val_t  param0);
 typedef val_t (* static_type___MMTypeSimpleClass___is_supertype_t)(val_t  self, val_t  param0);
 val_t static_type___MMTypeSimpleClass___is_supertype(val_t  self, val_t  param0);
 #define LOCATE_static_type___MMTypeSimpleClass___is_supertype "static_type::MMTypeSimpleClass::(static_type::MMType::is_supertype)"
-typedef val_t (* static_type___MMTypeSimpleClass___select_property_t)(val_t  self, val_t  param0);
-val_t static_type___MMTypeSimpleClass___select_property(val_t  self, val_t  param0);
-#define LOCATE_static_type___MMTypeSimpleClass___select_property "static_type::MMTypeSimpleClass::(static_type::MMType::select_property)"
 typedef val_t (* static_type___MMTypeSimpleClass___for_module_t)(val_t  self, val_t  param0);
 val_t static_type___MMTypeSimpleClass___for_module(val_t  self, val_t  param0);
 #define LOCATE_static_type___MMTypeSimpleClass___for_module "static_type::MMTypeSimpleClass::(static_type::MMType::for_module)"
index 32dd13e..9684b28 100644 (file)
@@ -1,23 +1,25 @@
 /* This C file is generated by NIT to compile module stream. */
 #include "stream._sep.h"
 void stream___IOS___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___IOS___close, 20};
+  struct trace_t trace = {NULL, LOCATE_stream, 20, LOCATE_stream___IOS___close};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "close", LOCATE_stream, 20);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 20);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t stream___IStream___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___IStream___read_char, 27};
+  struct trace_t trace = {NULL, LOCATE_stream, 27, LOCATE_stream___IStream___read_char};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "read_char", LOCATE_stream, 27);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 27);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t stream___IStream___read(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___IStream___read, 30};
+  struct trace_t trace = {NULL, LOCATE_stream, 30, LOCATE_stream___IStream___read};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -53,12 +55,12 @@ val_t stream___IStream___read(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t stream___IStream___read_line(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___IStream___read_line, 44};
+  struct trace_t trace = {NULL, LOCATE_stream, 44, LOCATE_stream___IStream___read_line};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   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 (%s: %d)\n", "", LOCATE_stream___IStream___read_line, 47); nit_exit(1);}
+  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*/
   variable0 = variable1;
   ((stream___IStream___append_line_to_t)CALL( self,COLOR_stream___IStream___append_line_to))( self,  variable0 /*s*/) /*IStream::append_line_to*/;
@@ -69,7 +71,7 @@ val_t stream___IStream___read_line(val_t  self) {
   return variable0;
 }
 val_t stream___IStream___read_all(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___IStream___read_all, 53};
+  struct trace_t trace = {NULL, LOCATE_stream, 53, LOCATE_stream___IStream___read_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -96,7 +98,7 @@ val_t stream___IStream___read_all(val_t  self) {
   return variable0;
 }
 void stream___IStream___append_line_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___IStream___append_line_to, 64};
+  struct trace_t trace = {NULL, LOCATE_stream, 64, LOCATE_stream___IStream___append_line_to};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -117,7 +119,7 @@ void stream___IStream___append_line_to(val_t  self, val_t  param0) {
     } else { /*if*/
       variable3 = TAG_Char(UNTAG_Int( variable1 /*x*/));
       variable2 = variable3;
-      ((array___AbstractArray___push_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___push))( variable0 /*s*/,  variable2 /*c*/) /*String::push*/;
+      ((array___AbstractArray___push_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___push))( variable0 /*s*/,  variable2 /*c*/) /*AbstractArray::push*/;
       variable3 = TAG_Bool(( variable2 /*c*/)==( TAG_Char('\n')));
       if (UNTAG_Bool(variable3)) { /*if*/
         goto return_label5;
@@ -131,47 +133,50 @@ void stream___IStream___append_line_to(val_t  self, val_t  param0) {
   return;
 }
 val_t stream___IStream___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___IStream___eof, 79};
+  struct trace_t trace = {NULL, LOCATE_stream, 79, LOCATE_stream___IStream___eof};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "eof", LOCATE_stream___IStream___append_line_to, 79);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___append_line_to, LOCATE_stream, 79);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void stream___OStream___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___OStream___write, 86};
+  struct trace_t trace = {NULL, LOCATE_stream, 86, LOCATE_stream___OStream___write};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "write", LOCATE_stream___IStream___append_line_to, 86);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___append_line_to, LOCATE_stream, 86);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t stream___OStream___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___OStream___is_writable, 89};
+  struct trace_t trace = {NULL, LOCATE_stream, 89, LOCATE_stream___OStream___is_writable};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "is_writable", LOCATE_stream___IStream___append_line_to, 89);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___append_line_to, LOCATE_stream, 89);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t stream___BufferedIStream___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___read_char, 96};
+  struct trace_t trace = {NULL, LOCATE_stream, 96, LOCATE_stream___BufferedIStream___read_char};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((stream___BufferedIStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*BufferedIStream::eof*/;
-  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_stream___BufferedIStream___read_char, 98); nit_exit(1);}
+  if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___BufferedIStream___read_char, LOCATE_stream, 98); nit_exit(1);}
   variable0 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
   variable1 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>=UNTAG_Int(variable1));
   if (UNTAG_Bool(variable0)) { /*if*/
     ((stream___BufferedIStream___fill_buffer_t)CALL( self,COLOR_stream___BufferedIStream___fill_buffer))( self) /*BufferedIStream::fill_buffer*/;
   }
   variable0 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
   variable1 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>=UNTAG_Int(variable1));
   if (UNTAG_Bool(variable0)) { /*if*/
     variable0 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
@@ -190,7 +195,7 @@ val_t stream___BufferedIStream___read_char(val_t  self) {
   return variable0;
 }
 val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___read, 110};
+  struct trace_t trace = {NULL, LOCATE_stream, 110, LOCATE_stream___BufferedIStream___read};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -204,7 +209,7 @@ val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
   variable3 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
   variable2 = variable3;
   variable4 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-  variable4 = ((array___AbstractArray___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*String::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*AbstractArray::length*/;
   variable3 = variable4;
   while (true) { /*while*/
     variable4 = TAG_Bool(UNTAG_Int( variable0 /*i*/)>UNTAG_Int( TAG_Int(0)));
@@ -220,7 +225,7 @@ val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
       variable4 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
       variable2 = variable4 /*j=*/;
       variable4 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-      variable4 = ((array___AbstractArray___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*String::length*/;
+      variable4 = ((array___AbstractArray___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*AbstractArray::length*/;
       variable3 = variable4 /*k=*/;
     }
     while (true) { /*while*/
@@ -250,7 +255,7 @@ val_t stream___BufferedIStream___read(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t stream___BufferedIStream___read_all(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___read_all, 132};
+  struct trace_t trace = {NULL, LOCATE_stream, 132, LOCATE_stream___BufferedIStream___read_all};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -264,7 +269,7 @@ val_t stream___BufferedIStream___read_all(val_t  self) {
     variable2 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
     variable1 = variable2;
     variable3 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-    variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*String::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*AbstractArray::length*/;
     variable2 = variable3;
     while (true) { /*while*/
       variable3 = TAG_Bool(UNTAG_Int( variable1 /*j*/)<UNTAG_Int( variable2 /*k*/));
@@ -288,7 +293,7 @@ val_t stream___BufferedIStream___read_all(val_t  self) {
   return variable0;
 }
 void stream___BufferedIStream___append_line_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___append_line_to, 148};
+  struct trace_t trace = {NULL, LOCATE_stream, 148, LOCATE_stream___BufferedIStream___append_line_to};
   val_t variable0;
     val_t variable1;
     val_t variable2;
@@ -301,7 +306,7 @@ void stream___BufferedIStream___append_line_to(val_t  self, val_t  param0) {
     variable1 = variable2;
     while (true) { /*while*/
       variable2 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-      variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*String::length*/;
+      variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
       variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int(variable2));
       variable3 = variable2;
       if (UNTAG_Bool(variable3)) { /* and */
@@ -318,7 +323,7 @@ void stream___BufferedIStream___append_line_to(val_t  self, val_t  param0) {
     variable2 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)>UNTAG_Int(variable2));
     if (UNTAG_Bool(variable2)) { /*if*/
-      variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+      variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
       variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( variable1 /*i*/));
       variable3 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
       variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int(variable3));
@@ -337,7 +342,7 @@ void stream___BufferedIStream___append_line_to(val_t  self, val_t  param0) {
       break_17: while(0);
     }
     variable2 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-    variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*String::length*/;
+    variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*AbstractArray::length*/;
     variable2 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int(variable2));
     if (UNTAG_Bool(variable2)) { /*if*/
       variable2 = TAG_Int(UNTAG_Int( variable1 /*i*/)+UNTAG_Int( TAG_Int(1)));
@@ -360,13 +365,13 @@ void stream___BufferedIStream___append_line_to(val_t  self, val_t  param0) {
   return;
 }
 val_t stream___BufferedIStream___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___eof, 184};
+  struct trace_t trace = {NULL, LOCATE_stream, 184, LOCATE_stream___BufferedIStream___eof};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_stream___BufferedIStream____buffer_pos( self) /*BufferedIStream::_buffer_pos*/;
   variable1 = ATTR_stream___BufferedIStream____buffer( self) /*BufferedIStream::_buffer*/;
-  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*AbstractArray::length*/;
   variable0 = TAG_Bool(UNTAG_Int(variable0)>=UNTAG_Int(variable1));
   variable1 = variable0;
   if (UNTAG_Bool(variable1)) { /* and */
@@ -379,23 +384,25 @@ val_t stream___BufferedIStream___eof(val_t  self) {
   return variable0;
 }
 void stream___BufferedIStream___fill_buffer(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___fill_buffer, 192};
+  struct trace_t trace = {NULL, LOCATE_stream, 192, LOCATE_stream___BufferedIStream___fill_buffer};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "fill_buffer", LOCATE_stream___BufferedIStream___eof, 192);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___BufferedIStream___eof, LOCATE_stream, 192);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t stream___BufferedIStream___end_reached(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___end_reached, 195};
+  struct trace_t trace = {NULL, LOCATE_stream, 195, LOCATE_stream___BufferedIStream___end_reached};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "end_reached", LOCATE_stream___BufferedIStream___eof, 195);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___BufferedIStream___eof, LOCATE_stream, 195);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void stream___BufferedIStream___prepare_buffer(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___BufferedIStream___prepare_buffer, 198};
+  struct trace_t trace = {NULL, LOCATE_stream, 198, LOCATE_stream___BufferedIStream___prepare_buffer};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -407,7 +414,7 @@ void stream___BufferedIStream___prepare_buffer(val_t  self, val_t  param0) {
   return;
 }
 void stream___FDStream___close(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDStream___close, 218};
+  struct trace_t trace = {NULL, LOCATE_stream, 218, LOCATE_stream___FDStream___close};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/;
@@ -416,31 +423,31 @@ void stream___FDStream___close(val_t  self) {
   return;
 }
 val_t stream___FDStream___native_close(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDStream___native_close, 220};
+  struct trace_t trace = {NULL, LOCATE_stream, 220, LOCATE_stream___FDStream___native_close};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_close_1( self, UNTAG_Int( param0)));
 }
 val_t stream___FDStream___native_read_char(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDStream___native_read_char, 221};
+  struct trace_t trace = {NULL, LOCATE_stream, 221, LOCATE_stream___FDStream___native_read_char};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_read_char_1( self, UNTAG_Int( param0)));
 }
 val_t stream___FDStream___native_read(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDStream___native_read, 222};
+  struct trace_t trace = {NULL, LOCATE_stream, 222, LOCATE_stream___FDStream___native_read};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_read_3( self, UNTAG_Int( param0), UNBOX_NativeString( param1), UNTAG_Int( param2)));
 }
 val_t stream___FDStream___native_write(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDStream___native_write, 223};
+  struct trace_t trace = {NULL, LOCATE_stream, 223, LOCATE_stream___FDStream___native_write};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(stream_FDStream_FDStream_native_write_3( self, UNTAG_Int( param0), UNBOX_NativeString( param1), UNTAG_Int( param2)));
 }
 void stream___FDStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDStream___init, 225};
+  struct trace_t trace = {NULL, LOCATE_stream, 225, LOCATE_stream___FDStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -451,18 +458,18 @@ void stream___FDStream___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t stream___FDIStream___eof(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDIStream___eof, 231};
+  struct trace_t trace = {NULL, LOCATE_stream, 231, LOCATE_stream___FDIStream___eof};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_stream___FDIStream____eof( self) /*FDIStream::_eof*/;
 }
 val_t stream___FDIStream___read_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDIStream___read_char, 233};
+  struct trace_t trace = {NULL, LOCATE_stream, 233, LOCATE_stream___FDIStream___read_char};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ATTR_stream___FDStream____fd( self) /*FDIStream::_fd*/;
-  variable1 = ((stream___FDStream___native_read_char_t)CALL( self,COLOR_stream___FDStream___native_read_char))( self, variable1) /*FDIStream::native_read_char*/;
+  variable1 = ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/;
+  variable1 = ((stream___FDStream___native_read_char_t)CALL( self,COLOR_stream___FDStream___native_read_char))( self, variable1) /*FDStream::native_read_char*/;
   variable0 = variable1;
   variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
   variable1 = TAG_Bool(( variable0 /*nb*/)==(variable1));
@@ -476,7 +483,7 @@ val_t stream___FDIStream___read_char(val_t  self) {
   return variable0;
 }
 void stream___FDIStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDIStream___init, 240};
+  struct trace_t trace = {NULL, LOCATE_stream, 240, LOCATE_stream___FDIStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -487,13 +494,13 @@ void stream___FDIStream___init(val_t  self, val_t  param0, int* init_table) {
   return;
 }
 val_t stream___FDOStream___is_writable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDOStream___is_writable, 246};
+  struct trace_t trace = {NULL, LOCATE_stream, 246, LOCATE_stream___FDOStream___is_writable};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_stream___FDOStream____is_writable( self) /*FDOStream::_is_writable*/;
 }
 void stream___FDOStream___write(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDOStream___write, 248};
+  struct trace_t trace = {NULL, LOCATE_stream, 248, LOCATE_stream___FDOStream___write};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -501,12 +508,12 @@ void stream___FDOStream___write(val_t  self, val_t  param0) {
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ATTR_stream___FDStream____fd( self) /*FDOStream::_fd*/;
+  variable2 = ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/;
   variable3 = ((string___String___to_cstring_t)CALL( variable0 /*s*/,COLOR_string___String___to_cstring))( variable0 /*s*/) /*String::to_cstring*/;
-  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
-  variable2 = ((stream___FDStream___native_write_t)CALL( self,COLOR_stream___FDStream___native_write))( self, variable2, variable3, variable4) /*FDOStream::native_write*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
+  variable2 = ((stream___FDStream___native_write_t)CALL( self,COLOR_stream___FDStream___native_write))( self, variable2, variable3, variable4) /*FDStream::native_write*/;
   variable1 = variable2;
-  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*nb*/)<UNTAG_Int(variable2));
   if (UNTAG_Bool(variable2)) { /*if*/
     ATTR_stream___FDOStream____is_writable( self) /*FDOStream::_is_writable*/ =  TAG_Bool(false);
@@ -515,7 +522,7 @@ void stream___FDOStream___write(val_t  self, val_t  param0) {
   return;
 }
 void stream___FDOStream___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_stream___FDOStream___init, 254};
+  struct trace_t trace = {NULL, LOCATE_stream, 254, LOCATE_stream___FDOStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -527,15 +534,15 @@ 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, LOCATE_stream___FDIOStream___init, 265};
+  struct trace_t trace = {NULL, LOCATE_stream, 265, LOCATE_stream___FDIOStream___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_FDIOStream].i]) return;
   ((stream___FDIStream___init_t)CALL( self,COLOR_stream___FDIStream___init))( self,  param0, init_table /*YYY*/) /*FDIStream::init*/;
   ((stream___FDOStream___init_t)CALL( self,COLOR_stream___FDOStream___init))( self,  param0, init_table /*YYY*/) /*FDOStream::init*/;
-  ATTR_stream___FDStream____fd( self) /*FDIOStream::_fd*/ =  variable0 /*fd*/;
-  ATTR_stream___FDOStream____is_writable( self) /*FDIOStream::_is_writable*/ =  TAG_Bool(true);
+  ATTR_stream___FDStream____fd( self) /*FDStream::_fd*/ =  variable0 /*fd*/;
+  ATTR_stream___FDOStream____is_writable( self) /*FDOStream::_is_writable*/ =  TAG_Bool(true);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_FDIOStream].i] = 1;
   tracehead = trace.prev;
   return;
index 9e01fd0..bb916e4 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires stream. */
-#ifndef stream_3_sep
-#define stream_3_sep
+#ifndef stream_2_sep
+#define stream_2_sep
 #include "string._sep.h"
 #include <nit_common.h>
 #include <stream_nit.h>
@@ -22,7 +22,7 @@ extern const classtable_elt_t VFT_FDIStream[];
 extern const classtable_elt_t VFT_FDOStream[];
 
 extern const classtable_elt_t VFT_FDIOStream[];
-#define LOCATE_stream "stream"
+#define LOCATE_stream "./../lib/standard//stream.nit"
 extern const int SFT_stream[];
 #define ID_IOS SFT_stream[0]
 #define COLOR_IOS SFT_stream[1]
index aa84a14..54026c7 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module string. */
 #include "string._sep.h"
 val_t string___String_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String_____bra, 31};
+  struct trace_t trace = {NULL, LOCATE_string, 31, LOCATE_string___String_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -14,7 +14,7 @@ val_t string___String_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string___String_____braeq, 33};
+  struct trace_t trace = {NULL, LOCATE_string, 33, LOCATE_string___String_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -22,7 +22,7 @@ void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = TAG_Bool(( variable0 /*index*/)==(variable2));
   if (UNTAG_Bool(variable2)) { /*if*/
     ((string___String___add_t)CALL( self,COLOR_abstract_collection___SimpleCollection___add))( self,  variable1 /*item*/) /*String::add*/;
@@ -31,11 +31,11 @@ void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
-    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable3 = TAG_Bool(UNTAG_Int( variable0 /*index*/)<UNTAG_Int(variable3));
   }
   variable2 = variable3;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string___String_____braeq, 39); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String_____braeq, LOCATE_string, 39); nit_exit(1);}
   variable2 = ATTR_string___String____items( self) /*String::_items*/;
   UNBOX_NativeString(variable2)[UNTAG_Int( variable0 /*index*/)]=UNTAG_Char( variable1 /*item*/);
   return_label1: while(false);
@@ -43,29 +43,29 @@ void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void string___String___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String___add, 43};
+  struct trace_t trace = {NULL, LOCATE_string, 43, LOCATE_string___String___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_string___String____capacity( self) /*String::_capacity*/;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)<=UNTAG_Int(variable2));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(5)));
     ((string___String___enlarge_t)CALL( self,COLOR_array___AbstractArray___enlarge))( self, variable1) /*String::enlarge*/;
   }
   variable1 = ATTR_string___String____items( self) /*String::_items*/;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   UNBOX_NativeString(variable1)[UNTAG_Int(variable2)]=UNTAG_Char( variable0 /*c*/);
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*String::_length*/)+UNTAG_Int( TAG_Int(1)));
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)+UNTAG_Int( TAG_Int(1)));
   tracehead = trace.prev;
   return;
 }
 void string___String___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String___enlarge, 50};
+  struct trace_t trace = {NULL, LOCATE_string, 50, LOCATE_string___String___enlarge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -91,7 +91,7 @@ void string___String___enlarge(val_t  self, val_t  param0) {
   variable3 = BOX_NativeString((char*)malloc((UNTAG_Int( variable1 /*c*/) * sizeof(char))));
   variable2 = variable3;
   variable3 = ATTR_string___String____items( self) /*String::_items*/;
-  variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   (void)memcpy(UNBOX_NativeString( variable2 /*a*/)+UNTAG_Int( TAG_Int(0)), UNBOX_NativeString(variable3)+UNTAG_Int( TAG_Int(0)), UNTAG_Int(variable4));
   ATTR_string___String____items( self) /*String::_items*/ =  variable2 /*a*/;
   ATTR_string___String____capacity( self) /*String::_capacity*/ =  variable1 /*c*/;
@@ -100,7 +100,7 @@ void string___String___enlarge(val_t  self, val_t  param0) {
   return;
 }
 void string___String___append(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String___append, 61};
+  struct trace_t trace = {NULL, LOCATE_string, 61, LOCATE_string___String___append};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -110,22 +110,22 @@ void string___String___append(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*s*/==NIT_NULL) || VAL_ISA( variable0 /*s*/, COLOR_String, ID_String)) /*cast String*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+    variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
     variable1 = variable2;
     variable2 = ATTR_string___String____capacity( self) /*String::_capacity*/;
-    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( variable1 /*sl*/));
     variable2 = TAG_Bool(UNTAG_Int(variable2)<UNTAG_Int(variable3));
     if (UNTAG_Bool(variable2)) { /*if*/
-      variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+      variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
       variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( variable1 /*sl*/));
       ((string___String___enlarge_t)CALL( self,COLOR_array___AbstractArray___enlarge))( self, variable2) /*String::enlarge*/;
     }
     variable2 = ((string___String___items_t)CALL( variable0 /*s*/,COLOR_string___String___items))( variable0 /*s*/) /*String::items*/;
     variable3 = ATTR_string___String____items( self) /*String::_items*/;
-    variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     (void)memcpy(UNBOX_NativeString(variable3)+UNTAG_Int(variable4), UNBOX_NativeString(variable2)+UNTAG_Int( TAG_Int(0)), UNTAG_Int( variable1 /*sl*/));
-    ATTR_array___AbstractArray____length( self) /*String::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*String::_length*/)+UNTAG_Int( variable1 /*sl*/));
+    ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)+UNTAG_Int( variable1 /*sl*/));
   } else { /*if*/
     ((string___String___append_t)CALL( self,COLOR_SUPER_string___String___append))( self,  param0) /*super String::append*/;
   }
@@ -133,15 +133,15 @@ void string___String___append(val_t  self, val_t  param0) {
   return;
 }
 val_t string___String_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String_____plus, 73};
+  struct trace_t trace = {NULL, LOCATE_string, 73, LOCATE_string___String_____plus};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
-  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  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*/
   variable2 = variable3;
@@ -155,7 +155,7 @@ val_t string___String_____plus(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String_____star(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String_____star, 82};
+  struct trace_t trace = {NULL, LOCATE_string, 82, LOCATE_string___String_____star};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -163,8 +163,8 @@ val_t string___String_____star(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*i*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string___String_____star, 85); nit_exit(1);}
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  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*/
   variable2 = variable3;
@@ -184,7 +184,7 @@ val_t string___String_____star(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___to_s, 94};
+  struct trace_t trace = {NULL, LOCATE_string, 94, LOCATE_string___String___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_string___String___from( self); /*new String*/
@@ -194,7 +194,7 @@ val_t string___String___to_s(val_t  self) {
   return variable0;
 }
 val_t string___String___to_i(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___to_i, 97};
+  struct trace_t trace = {NULL, LOCATE_string, 97, LOCATE_string___String___to_i};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
@@ -205,7 +205,7 @@ val_t string___String___to_i(val_t  self) {
   return variable0;
 }
 val_t string___String___to_hex(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___to_hex, 104};
+  struct trace_t trace = {NULL, LOCATE_string, 104, LOCATE_string___String___to_hex};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___String___a_to_t)CALL( self,COLOR_string___String___a_to))( self,  TAG_Int(16)) /*String::a_to*/;
@@ -215,7 +215,7 @@ val_t string___String___to_hex(val_t  self) {
   return variable0;
 }
 val_t string___String___a_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String___a_to, 107};
+  struct trace_t trace = {NULL, LOCATE_string, 107, LOCATE_string___String___a_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -227,7 +227,7 @@ val_t string___String___a_to(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 =  TAG_Bool(false);
-  variable3 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*String::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*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*/
@@ -271,12 +271,12 @@ val_t string___String___a_to(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_cstring(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___to_cstring, 135};
+  struct trace_t trace = {NULL, LOCATE_string, 135, LOCATE_string___String___to_cstring};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable0 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   ((string___String_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable0,  TAG_Char('\0')) /*String::[]=*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*String::_length*/)-UNTAG_Int( TAG_Int(1)));
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)-UNTAG_Int( TAG_Int(1)));
   variable0 = ATTR_string___String____items( self) /*String::_items*/;
   goto return_label14;
   return_label14: while(false);
@@ -284,7 +284,7 @@ val_t string___String___to_cstring(val_t  self) {
   return variable0;
 }
 val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string___String___substring, 143};
+  struct trace_t trace = {NULL, LOCATE_string, 143, LOCATE_string___String___substring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -294,16 +294,16 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*count*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string___String___substring, 151); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___substring, LOCATE_string, 151); nit_exit(1);}
   variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( variable0 /*from*/)) /*count*/;
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable0 =  TAG_Int(0) /*from=*/;
   }
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*count*/)>UNTAG_Int(variable2));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable1 = variable2 /*count=*/;
   }
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int( variable1 /*count*/));
@@ -317,7 +317,7 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
       if (!UNTAG_Bool(variable3)) break; /* while*/
       variable3 = ATTR_string___String____items( self) /*String::_items*/;
       variable3 = TAG_Char(UNBOX_NativeString(variable3)[UNTAG_Int( variable0 /*from*/)]);
-      ((array___AbstractArray___push_t)CALL( variable2 /*r*/,COLOR_abstract_collection___IndexedCollection___push))( variable2 /*r*/, variable3) /*String::push*/;
+      ((array___AbstractArray___push_t)CALL( variable2 /*r*/,COLOR_abstract_collection___IndexedCollection___push))( variable2 /*r*/, variable3) /*AbstractArray::push*/;
       variable0 = TAG_Int(UNTAG_Int(variable0)+UNTAG_Int( TAG_Int(1))) /*from*/;
       continue_16: while(0);
     }
@@ -333,15 +333,15 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___String___substring_from(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String___substring_from, 167};
+  struct trace_t trace = {NULL, LOCATE_string, 167, LOCATE_string___String___substring_from};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int(variable1));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string___String___substring_from, 174); nit_exit(1);}
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___substring_from, LOCATE_string, 174); nit_exit(1);}
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( variable0 /*from*/));
   variable1 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self,  variable0 /*from*/, variable1) /*String::substring*/;
   goto return_label17;
@@ -350,7 +350,7 @@ val_t string___String___substring_from(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string___String___has_substring, 178};
+  struct trace_t trace = {NULL, LOCATE_string, 178, LOCATE_string___String___has_substring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -362,7 +362,7 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*str*/,COLOR_abstract_collection___Collection___length))( variable0 /*str*/) /*String::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*str*/,COLOR_abstract_collection___Collection___length))( variable0 /*str*/) /*AbstractArray::length*/;
   variable3 = TAG_Int(UNTAG_Int(variable3)-UNTAG_Int( TAG_Int(1)));
   variable2 = variable3;
   variable4 = TAG_Int(UNTAG_Int( variable1 /*pos*/)+UNTAG_Int( variable2 /*itsindex*/));
@@ -371,7 +371,7 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   variable4 = variable5;
   variable6 = ATTR_string___String____items( variable0 /*str*/) /*String::_items*/;
   variable5 = variable6;
-  variable6 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable6 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable6 = TAG_Bool(UNTAG_Int( variable3 /*myindex*/)>UNTAG_Int(variable6));
   variable7 = variable6;
   if (!UNTAG_Bool(variable7)) { /* or */
@@ -404,7 +404,7 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   return variable2;
 }
 val_t string___String___has_prefix(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String___has_prefix, 197};
+  struct trace_t trace = {NULL, LOCATE_string, 197, LOCATE_string___String___has_prefix};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -416,14 +416,14 @@ val_t string___String___has_prefix(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___has_suffix(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String___has_suffix, 203};
+  struct trace_t trace = {NULL, LOCATE_string, 203, LOCATE_string___String___has_suffix};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
-  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*suffix*/,COLOR_abstract_collection___Collection___length))( variable0 /*suffix*/) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*suffix*/,COLOR_abstract_collection___Collection___length))( variable0 /*suffix*/) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int(variable2));
   variable1 = ((string___String___has_substring_t)CALL( self,COLOR_string___String___has_substring))( self,  variable0 /*suffix*/, variable1) /*String::has_substring*/;
   goto return_label21;
@@ -432,7 +432,7 @@ val_t string___String___has_suffix(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String_____l, 209};
+  struct trace_t trace = {NULL, LOCATE_string, 209, LOCATE_string___String_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -443,9 +443,9 @@ val_t string___String_____l(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
-  variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = variable3;
-  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable3 = variable4;
   while (true) { /*while*/
     variable4 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l1*/));
@@ -489,7 +489,7 @@ val_t string___String_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 void string___String___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string___String___init, 231};
+  struct trace_t trace = {NULL, LOCATE_string, 231, LOCATE_string___String___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   ((string___String___with_capacity_t)CALL( self,COLOR_string___String___with_capacity))( self,  TAG_Int(5), init_table /*YYY*/) /*String::with_capacity*/;
@@ -498,7 +498,7 @@ void string___String___init(val_t  self, int* init_table) {
   return;
 }
 void string___String___from(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string___String___from, 237};
+  struct trace_t trace = {NULL, LOCATE_string, 237, LOCATE_string___String___from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -506,41 +506,41 @@ void string___String___from(val_t  self, val_t  param0, int* init_table) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1)));
   ATTR_string___String____capacity( self) /*String::_capacity*/ = variable1;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ = variable1;
+  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = variable1;
   variable1 = ATTR_string___String____capacity( self) /*String::_capacity*/;
   variable1 = BOX_NativeString((char*)malloc((UNTAG_Int(variable1) * sizeof(char))));
   ATTR_string___String____items( self) /*String::_items*/ = variable1;
   variable1 = ((string___String___items_t)CALL( variable0 /*s*/,COLOR_string___String___items))( variable0 /*s*/) /*String::items*/;
   variable2 = ATTR_string___String____items( self) /*String::_items*/;
-  variable3 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
+  variable3 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   (void)memcpy(UNBOX_NativeString(variable2)+UNTAG_Int( TAG_Int(0)), UNBOX_NativeString(variable1)+UNTAG_Int( TAG_Int(0)), UNTAG_Int(variable3));
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___with_capacity(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string___String___with_capacity, 245};
+  struct trace_t trace = {NULL, LOCATE_string, 245, LOCATE_string___String___with_capacity};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*cap*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string___String___with_capacity, 248); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___with_capacity, LOCATE_string, 248); nit_exit(1);}
   variable1 = BOX_NativeString((char*)malloc((UNTAG_Int( variable0 /*cap*/) * sizeof(char))));
   ATTR_string___String____items( self) /*String::_items*/ = variable1;
   ATTR_string___String____capacity( self) /*String::_capacity*/ =  variable0 /*cap*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  TAG_Int(0);
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  TAG_Int(0);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___with_native(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string___String___with_native, 255};
+  struct trace_t trace = {NULL, LOCATE_string, 255, LOCATE_string___String___with_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -549,16 +549,16 @@ void string___String___with_native(val_t  self, val_t  param0, val_t  param1, in
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*size*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string___String___with_native, 258); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___with_native, LOCATE_string, 258); nit_exit(1);}
   ATTR_string___String____items( self) /*String::_items*/ =  variable0 /*nat*/;
   ATTR_string___String____capacity( self) /*String::_capacity*/ =  variable1 /*size*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  variable1 /*size*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*size*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___from_cstring(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string___String___from_cstring, 264};
+  struct trace_t trace = {NULL, LOCATE_string, 264, LOCATE_string___String___from_cstring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -570,13 +570,13 @@ void string___String___from_cstring(val_t  self, val_t  param0, int* init_table)
   ATTR_string___String____items( self) /*String::_items*/ =  variable0 /*str*/;
   variable2 = TAG_Int(UNTAG_Int( variable1 /*size*/)+UNTAG_Int( TAG_Int(1)));
   ATTR_string___String____capacity( self) /*String::_capacity*/ = variable2;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  variable1 /*size*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*size*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___filled_with(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string___String___filled_with, 273};
+  struct trace_t trace = {NULL, LOCATE_string, 273, LOCATE_string___String___filled_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -596,19 +596,19 @@ void string___String___filled_with(val_t  self, val_t  param0, val_t  param1, in
     continue_30: while(0);
   }
   break_30: while(0);
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  variable1 /*count*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*count*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___output(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___output, 285};
+  struct trace_t trace = {NULL, LOCATE_string, 285, LOCATE_string___String___output};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Int(0);
   while (true) { /*while*/
-    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable1 = TAG_Bool(UNTAG_Int( variable0 /*i*/)<UNTAG_Int(variable1));
     if (!UNTAG_Bool(variable1)) break; /* while*/
     variable1 = ATTR_string___String____items( self) /*String::_items*/;
@@ -622,7 +622,7 @@ void string___String___output(val_t  self) {
   return;
 }
 val_t string___String_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___String_____eqeq, 294};
+  struct trace_t trace = {NULL, LOCATE_string, 294, LOCATE_string___String_____eqeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -642,10 +642,10 @@ val_t string___String_____eqeq(val_t  self, val_t  param0) {
     goto return_label33;
   }
   variable1 = TAG_Bool(( variable0 /*o*/==NIT_NULL) || VAL_ISA( variable0 /*o*/, COLOR_String, ID_String)) /*cast String*/;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string___String_____eqeq, 297); nit_exit(1);}
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String_____eqeq, LOCATE_string, 297); nit_exit(1);}
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = variable2;
-  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*o*/,COLOR_abstract_collection___Collection___length))( variable0 /*o*/) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*o*/,COLOR_abstract_collection___Collection___length))( variable0 /*o*/) /*AbstractArray::length*/;
   variable2 = TAG_Bool((variable2)!=( variable1 /*l*/));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable1 =  TAG_Bool(false);
@@ -677,17 +677,17 @@ val_t string___String_____eqeq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_upper(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___to_upper, 310};
+  struct trace_t trace = {NULL, LOCATE_string, 310, LOCATE_string___String___to_upper};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
   variable0 = variable1;
-  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*String::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -705,17 +705,17 @@ val_t string___String___to_upper(val_t  self) {
   return variable0;
 }
 val_t string___String___to_lower(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___to_lower, 318};
+  struct trace_t trace = {NULL, LOCATE_string, 318, LOCATE_string___String___to_lower};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
   variable0 = variable1;
-  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*String::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -733,19 +733,19 @@ val_t string___String___to_lower(val_t  self) {
   return variable0;
 }
 val_t string___String___items(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___items, 326};
+  struct trace_t trace = {NULL, LOCATE_string, 326, LOCATE_string___String___items};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_string___String____items( self) /*String::_items*/;
 }
 val_t string___String___capacity(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___String___capacity, 327};
+  struct trace_t trace = {NULL, LOCATE_string, 327, LOCATE_string___String___capacity};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_string___String____capacity( self) /*String::_capacity*/;
 }
 val_t string___Object___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Object___to_s, 337};
+  struct trace_t trace = {NULL, LOCATE_string, 337, LOCATE_string___Object___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___Object___inspect_t)CALL( self,COLOR_string___Object___inspect))( self) /*Object::inspect*/;
@@ -755,7 +755,7 @@ val_t string___Object___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Object___inspect(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Object___inspect, 340};
+  struct trace_t trace = {NULL, LOCATE_string, 340, LOCATE_string___Object___inspect};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -769,7 +769,7 @@ val_t string___Object___inspect(val_t  self) {
   return variable0;
 }
 val_t string___Object___inspect_head(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Object___inspect_head, 349};
+  struct trace_t trace = {NULL, LOCATE_string, 349, LOCATE_string___Object___inspect_head};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -782,7 +782,7 @@ val_t string___Object___inspect_head(val_t  self) {
   variable1 = NEW_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((int) self);
+  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*/;
@@ -795,7 +795,7 @@ val_t string___Object___inspect_head(val_t  self) {
   return variable0;
 }
 val_t string___Object___args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Object___args, 356};
+  struct trace_t trace = {NULL, LOCATE_string, 356, LOCATE_string___Object___args};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = (G_sys);
@@ -806,7 +806,7 @@ val_t string___Object___args(val_t  self) {
   return variable0;
 }
 val_t string___Bool___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Bool___to_s, 363};
+  struct trace_t trace = {NULL, LOCATE_string, 363, LOCATE_string___Bool___to_s};
   val_t variable0;
     static val_t once_value_variable0_44; static int once_bool_variable0_44;
     static val_t once_value_variable0_45; static int once_bool_variable0_45;
@@ -833,7 +833,7 @@ val_t string___Bool___to_s(val_t  self) {
   return variable0;
 }
 void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_string___Int___fill_string, 374};
+  struct trace_t trace = {NULL, LOCATE_string, 374, LOCATE_string___Int___fill_string};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -845,7 +845,7 @@ void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable3 = TAG_Int((int)0) /*decl variable n*/;
+  variable3 = TAG_Int((bigint)0) /*decl variable n*/;
   variable4 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 = TAG_Int(-UNTAG_Int( self));
@@ -885,7 +885,7 @@ void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t string___Int___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Int___to_s, 398};
+  struct trace_t trace = {NULL, LOCATE_string, 398, LOCATE_string___Int___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___Int___to_base_t)CALL( self,COLOR_string___Int___to_base))( self,  TAG_Int(10),  TAG_Bool(true)) /*Int::to_base*/;
@@ -895,7 +895,7 @@ val_t string___Int___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Int___to_hex(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Int___to_hex, 401};
+  struct trace_t trace = {NULL, LOCATE_string, 401, LOCATE_string___Int___to_hex};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___Int___to_base_t)CALL( self,COLOR_string___Int___to_base))( self,  TAG_Int(16),  TAG_Bool(false)) /*Int::to_base*/;
@@ -905,7 +905,7 @@ val_t string___Int___to_hex(val_t  self) {
   return variable0;
 }
 val_t string___Int___to_base(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string___Int___to_base, 404};
+  struct trace_t trace = {NULL, LOCATE_string, 404, LOCATE_string___Int___to_base};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -926,7 +926,7 @@ val_t string___Int___to_base(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___Float___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Float___to_s, 415};
+  struct trace_t trace = {NULL, LOCATE_string, 415, LOCATE_string___Float___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string___Float___to_precision_t)CALL( self,COLOR_string___Float___to_precision))( self,  TAG_Int(6)) /*Float::to_precision*/;
@@ -936,7 +936,7 @@ val_t string___Float___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Float___to_precision(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___Float___to_precision, 417};
+  struct trace_t trace = {NULL, LOCATE_string, 417, LOCATE_string___Float___to_precision};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -954,11 +954,11 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*nb*/)==( TAG_Int(0)));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = TAG_Int((int)UNBOX_Float( self));
+    variable1 = TAG_Int((bigint)UNBOX_Float( self));
     variable1 = ((string___Int___to_s_t)CALL(variable1,COLOR_string___Object___to_s))(variable1) /*Int::to_s*/;
     goto return_label52;
   }
-  variable2 = TAG_Int((int)UNBOX_Float( self));
+  variable2 = TAG_Int((bigint)UNBOX_Float( self));
   variable1 = variable2;
   variable3 = BOX_Float(1.0);
   variable2 = variable3;
@@ -975,7 +975,7 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   variable4 = BOX_Float((float)UNTAG_Int( variable1 /*i*/));
   variable4 = BOX_Float(UNBOX_Float( self)-UNBOX_Float(variable4));
   variable4 = BOX_Float(UNBOX_Float(variable4)*UNBOX_Float( variable2 /*dec*/));
-  variable4 = TAG_Int((int)UNBOX_Float(variable4));
+  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*/
@@ -1000,7 +1000,7 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___Char___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Char___to_s, 434};
+  struct trace_t trace = {NULL, LOCATE_string, 434, LOCATE_string___Char___to_s};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1014,7 +1014,7 @@ val_t string___Char___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Collection___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Collection___to_s, 443};
+  struct trace_t trace = {NULL, LOCATE_string, 443, LOCATE_string___Collection___to_s};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -1043,7 +1043,7 @@ val_t string___Collection___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Collection___join(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___Collection___join, 451};
+  struct trace_t trace = {NULL, LOCATE_string, 451, LOCATE_string___Collection___join};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1090,7 +1090,7 @@ val_t string___Collection___join(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string___Map___map_join, 476};
+  struct trace_t trace = {NULL, LOCATE_string, 476, LOCATE_string___Map___map_join};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1112,7 +1112,7 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Map::is_empty*/;
+  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*/
     goto return_label59;
@@ -1123,7 +1123,7 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
   variable3 = variable4;
   variable5 = ((abstract_collection___MapIterator___key_t)CALL( variable3 /*i*/,COLOR_abstract_collection___MapIterator___key))( variable3 /*i*/) /*MapIterator::key*/;
   variable4 = variable5;
-  variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*MapIterator::item*/;
+  variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*Iterator::item*/;
   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*/
@@ -1150,14 +1150,14 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
     ((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*/;
   }
-  ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*MapIterator::next*/;
+  ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*Iterator::next*/;
   while (true) { /*while*/
-    variable6 = ((abstract_collection___Iterator___is_ok_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable3 /*i*/) /*MapIterator::is_ok*/;
+    variable6 = ((abstract_collection___Iterator___is_ok_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable3 /*i*/) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable6)) break; /* while*/
     ((string___String___append_t)CALL( variable2 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*s*/,  variable0 /*sep*/) /*String::append*/;
     variable6 = ((abstract_collection___MapIterator___key_t)CALL( variable3 /*i*/,COLOR_abstract_collection___MapIterator___key))( variable3 /*i*/) /*MapIterator::key*/;
     variable4 = variable6 /*k=*/;
-    variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*MapIterator::item*/;
+    variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*Iterator::item*/;
     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*/
@@ -1184,7 +1184,7 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
       ((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*/;
     }
-    ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*Iterator::next*/;
     continue_60: while(0);
   }
   break_60: while(0);
@@ -1195,27 +1195,27 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___NativeString_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___NativeString_____bra, 508};
+  struct trace_t trace = {NULL, LOCATE_string, 508, LOCATE_string___NativeString_____bra};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Char(UNBOX_NativeString( self)[UNTAG_Int( param0)]);
 }
 void string___NativeString_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string___NativeString_____braeq, 509};
+  struct trace_t trace = {NULL, LOCATE_string, 509, LOCATE_string___NativeString_____braeq};
   trace.prev = tracehead; tracehead = &trace;
   UNBOX_NativeString( self)[UNTAG_Int( param0)]=UNTAG_Char( param1);
   tracehead = trace.prev;
   return;
 }
 void string___NativeString___copy_to(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_string___NativeString___copy_to, 510};
+  struct trace_t trace = {NULL, LOCATE_string, 510, LOCATE_string___NativeString___copy_to};
   trace.prev = tracehead; tracehead = &trace;
   (void)memcpy(UNBOX_NativeString( param0)+UNTAG_Int( param3), UNBOX_NativeString( self)+UNTAG_Int( param2), UNTAG_Int( param1));
   tracehead = trace.prev;
   return;
 }
 val_t string___NativeString___cstring_length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___NativeString___cstring_length, 512};
+  struct trace_t trace = {NULL, LOCATE_string, 512, LOCATE_string___NativeString___cstring_length};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1235,23 +1235,23 @@ val_t string___NativeString___cstring_length(val_t  self) {
   return variable0;
 }
 val_t string___NativeString___atoi(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___NativeString___atoi, 519};
+  struct trace_t trace = {NULL, LOCATE_string, 519, LOCATE_string___NativeString___atoi};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(atoi(UNBOX_NativeString( self)));
 }
 val_t string___StringCapable___calloc_string(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___StringCapable___calloc_string, 524};
+  struct trace_t trace = {NULL, LOCATE_string, 524, LOCATE_string___StringCapable___calloc_string};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_NativeString((char*)malloc((UNTAG_Int( param0) * sizeof(char))));
 }
 val_t string___Sys___args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Sys___args, 530};
+  struct trace_t trace = {NULL, LOCATE_string, 530, LOCATE_string___Sys___args};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_string___Sys____args_cache( self) /*Sys::_args_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*/) /*IndexedCollection::==*/)))));
+  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*/
     ((string___Sys___init_args_t)CALL( self,COLOR_string___Sys___init_args))( self) /*Sys::init_args*/;
   }
@@ -1262,7 +1262,7 @@ val_t string___Sys___args(val_t  self) {
   return variable0;
 }
 val_t string___Sys___program_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Sys___program_name, 536};
+  struct trace_t trace = {NULL, LOCATE_string, 536, LOCATE_string___Sys___program_name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -1275,7 +1275,7 @@ val_t string___Sys___program_name(val_t  self) {
   return variable0;
 }
 void string___Sys___init_args(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Sys___init_args, 542};
+  struct trace_t trace = {NULL, LOCATE_string, 542, LOCATE_string___Sys___init_args};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1285,7 +1285,7 @@ void string___Sys___init_args(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   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[String]*/
+  variable2 = NEW_array___Array___with_capacity( TAG_Int(0)); /*new Array[E]*/
   variable1 = variable2;
   variable2 =  TAG_Int(1);
   while (true) { /*while*/
@@ -1305,13 +1305,13 @@ void string___Sys___init_args(val_t  self) {
   return;
 }
 val_t string___Sys___native_argc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string___Sys___native_argc, 555};
+  struct trace_t trace = {NULL, LOCATE_string, 555, LOCATE_string___Sys___native_argc};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(kernel_Sys_Sys_native_argc_0( self));
 }
 val_t string___Sys___native_argv(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string___Sys___native_argv, 557};
+  struct trace_t trace = {NULL, LOCATE_string, 557, LOCATE_string___Sys___native_argv};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return BOX_NativeString(kernel_Sys_Sys_native_argv_1( self, UNTAG_Int( param0)));
index b182e91..a2f8b46 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires string. */
-#ifndef string_3_sep
-#define string_3_sep
+#ifndef string_2_sep
+#define string_2_sep
 #include "array._sep.h"
 #include <nit_common.h>
 #include <string_nit.h>
@@ -13,7 +13,7 @@ val_t BOX_NativeString(char * val);
 #define UNBOX_NativeString(x) (((struct TBOX_NativeString *)(VAL2OBJ(x)))->val)
 
 extern const classtable_elt_t VFT_StringCapable[];
-#define LOCATE_string "string"
+#define LOCATE_string "./../lib/standard//string.nit"
 extern const int SFT_string[];
 #define ID_String SFT_string[0]
 #define COLOR_String SFT_string[1]
index d5e59fe..8f49bd8 100644 (file)
@@ -1,37 +1,39 @@
 /* This C file is generated by NIT to compile module string_search. */
 #include "string_search._sep.h"
 val_t string_search___Pattern___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Pattern___search_index_in, 21};
+  struct trace_t trace = {NULL, LOCATE_string_search, 21, LOCATE_string_search___Pattern___search_index_in};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "search_index_in", LOCATE_string_search, 21);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_string_search, 21);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t string_search___Pattern___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Pattern___search_in, 26};
+  struct trace_t trace = {NULL, LOCATE_string_search, 26, LOCATE_string_search___Pattern___search_in};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "search_in", LOCATE_string_search, 26);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " (%s:%d)\n", LOCATE_string_search, 26);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t string_search___Pattern___search_all_in(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Pattern___search_all_in, 30};
+  struct trace_t trace = {NULL, LOCATE_string_search, 30, LOCATE_string_search___Pattern___search_all_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[Match]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   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;
   while (true) { /*while*/
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*match*/ ==  NIT_NULL /*null*/) || (( variable2 /*match*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*match*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*match*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*match*/,COLOR_kernel___Object_____eqeq))( variable2 /*match*/,  NIT_NULL /*null*/) /*Match::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*match*/ ==  NIT_NULL /*null*/) || (( variable2 /*match*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*match*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*match*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*match*/,COLOR_kernel___Object_____eqeq))( variable2 /*match*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    ((array___AbstractArray___add_t)CALL( variable1 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res*/,  variable2 /*match*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable1 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res*/,  variable2 /*match*/) /*AbstractArray::add*/;
     variable3 = ((string_search___Match___after_t)CALL( variable2 /*match*/,COLOR_string_search___Match___after))( variable2 /*match*/) /*Match::after*/;
     variable3 = ((string_search___Pattern___search_in_t)CALL( self,COLOR_string_search___Pattern___search_in))( self,  variable0 /*s*/, variable3) /*Pattern::search_in*/;
     variable2 = variable3 /*match=*/;
@@ -45,7 +47,7 @@ val_t string_search___Pattern___search_all_in(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Pattern___split_in, 42};
+  struct trace_t trace = {NULL, LOCATE_string_search, 42, LOCATE_string_search___Pattern___split_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -54,19 +56,19 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = NEW_array___Array___init(); /*new Array[Match]*/
+  variable2 = NEW_array___Array___init(); /*new Array[E]*/
   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*/;
   variable3 = variable4;
   while (true) { /*while*/
-    variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*match*/ ==  NIT_NULL /*null*/) || (( variable3 /*match*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*match*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*match*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*match*/,COLOR_kernel___Object_____eqeq))( variable3 /*match*/,  NIT_NULL /*null*/) /*Match::==*/)))))));
+    variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*match*/ ==  NIT_NULL /*null*/) || (( variable3 /*match*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*match*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*match*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*match*/,COLOR_kernel___Object_____eqeq))( variable3 /*match*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (!UNTAG_Bool(variable4)) break; /* while*/
     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*/
-    ((array___AbstractArray___add_t)CALL( variable1 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res*/, variable5) /*Array::add*/;
+    ((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=*/;
     variable5 = ((string_search___Pattern___search_in_t)CALL( self,COLOR_string_search___Pattern___search_in))( self,  variable0 /*s*/,  variable2 /*i*/) /*Pattern::search_in*/;
@@ -74,11 +76,11 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
     continue_3: while(0);
   }
   break_3: while(0);
-  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  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*/
   variable4 = variable5;
-  ((array___AbstractArray___add_t)CALL( variable1 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res*/, variable4) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL( variable1 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*res*/, variable4) /*AbstractArray::add*/;
   variable1 =  variable1 /*res*/;
   goto return_label2;
   return_label2: while(false);
@@ -86,7 +88,7 @@ val_t string_search___Pattern___split_in(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___BM_Pattern___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___to_s, 67};
+  struct trace_t trace = {NULL, LOCATE_string_search, 67, LOCATE_string_search___BM_Pattern___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_string_search___BM_Pattern____motif( self) /*BM_Pattern::_motif*/;
@@ -96,7 +98,7 @@ val_t string_search___BM_Pattern___to_s(val_t  self) {
   return variable0;
 }
 val_t string_search___BM_Pattern___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___search_index_in, 69};
+  struct trace_t trace = {NULL, LOCATE_string_search, 69, LOCATE_string_search___BM_Pattern___search_index_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -112,8 +114,8 @@ val_t string_search___BM_Pattern___search_index_in(val_t  self, val_t  param0, v
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*from*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string_search___BM_Pattern___search_index_in, 72); nit_exit(1);}
-  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string_search___BM_Pattern___search_index_in, LOCATE_string_search, 72); nit_exit(1);}
+  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable2 = variable3;
   variable4 = ATTR_string_search___BM_Pattern____length( self) /*BM_Pattern::_length*/;
   variable3 = variable4;
@@ -152,11 +154,11 @@ val_t string_search___BM_Pattern___search_index_in(val_t  self, val_t  param0, v
       variable10 = variable9;
       if (UNTAG_Bool(variable10)) { /* and */
         variable10 = variable7;
-        variable10 = ATTR_array___AbstractArray____length(variable10) /*Array::_length*/;
+        variable10 = ATTR_array___AbstractArray____length(variable10) /*AbstractArray::_length*/;
         variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
       }
       variable9 = variable10;
-      if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_string_search, 229); nit_exit(1);}
       variable9 = variable7;
       variable9 = ATTR_array___Array____items(variable9) /*Array::_items*/;
       variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
@@ -189,7 +191,7 @@ val_t string_search___BM_Pattern___search_index_in(val_t  self, val_t  param0, v
   return variable2;
 }
 val_t string_search___BM_Pattern___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___search_in, 96};
+  struct trace_t trace = {NULL, LOCATE_string_search, 96, LOCATE_string_search___BM_Pattern___search_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -216,7 +218,7 @@ val_t string_search___BM_Pattern___search_in(val_t  self, val_t  param0, val_t
   return variable2;
 }
 void string_search___BM_Pattern___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___init, 107};
+  struct trace_t trace = {NULL, LOCATE_string_search, 107, LOCATE_string_search___BM_Pattern___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -224,13 +226,13 @@ void string_search___BM_Pattern___init(val_t  self, val_t  param0, int* init_tab
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_BM_Pattern].i]) return;
   ATTR_string_search___BM_Pattern____motif( self) /*BM_Pattern::_motif*/ =  variable0 /*motif*/;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*motif*/,COLOR_abstract_collection___Collection___length))( variable0 /*motif*/) /*String::length*/;
+  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[Int]*/
+  variable2 = NEW_array___Array___with_capacity(variable1); /*new Array[E]*/
   variable1 = variable2;
   ATTR_string_search___BM_Pattern____gs( self) /*BM_Pattern::_gs*/ = variable1;
-  variable1 = NEW_array___ArrayMap___init(); /*new ArrayMap[Char, Int]*/
+  variable1 = NEW_array___ArrayMap___init(); /*new ArrayMap[K, E]*/
   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*/;
@@ -239,7 +241,7 @@ void string_search___BM_Pattern___init(val_t  self, val_t  param0, int* init_tab
   return;
 }
 val_t string_search___BM_Pattern___bc(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___bc, 124};
+  struct trace_t trace = {NULL, LOCATE_string_search, 124, LOCATE_string_search___BM_Pattern___bc};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -259,7 +261,7 @@ val_t string_search___BM_Pattern___bc(val_t  self, val_t  param0) {
   return variable1;
 }
 void string_search___BM_Pattern___compute_bc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___compute_bc, 139};
+  struct trace_t trace = {NULL, LOCATE_string_search, 139, LOCATE_string_search___BM_Pattern___compute_bc};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -289,7 +291,7 @@ void string_search___BM_Pattern___compute_bc(val_t  self) {
   return;
 }
 val_t string_search___BM_Pattern___suffixes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___suffixes, 150};
+  struct trace_t trace = {NULL, LOCATE_string_search, 150, LOCATE_string_search___BM_Pattern___suffixes};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -306,9 +308,9 @@ 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[Int]*/
+  variable3 = NEW_array___Array___filled_with( variable1 /*m*/,  variable1 /*m*/); /*new Array[E]*/
   variable2 = variable3;
-  variable3 = TAG_Int((int)0) /*decl variable f*/;
+  variable3 =  TAG_Int(0);
   variable5 = TAG_Int(UNTAG_Int( variable1 /*m*/)-UNTAG_Int( TAG_Int(1)));
   variable4 = variable5;
   variable6 = TAG_Int(UNTAG_Int( variable1 /*m*/)-UNTAG_Int( TAG_Int(2)));
@@ -326,11 +328,11 @@ val_t string_search___BM_Pattern___suffixes(val_t  self) {
       variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable10 = variable9;
       if (UNTAG_Bool(variable10)) { /* and */
-        variable10 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*Array::_length*/;
+        variable10 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*AbstractArray::_length*/;
         variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
       }
       variable9 = variable10;
-      if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_string_search, 229); nit_exit(1);}
       variable9 = ATTR_array___Array____items( variable2 /*suff*/) /*Array::_items*/;
       variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
       goto return_label16;
@@ -348,11 +350,11 @@ val_t string_search___BM_Pattern___suffixes(val_t  self) {
       variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable9 = variable8;
       if (UNTAG_Bool(variable9)) { /* and */
-        variable9 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*Array::_length*/;
+        variable9 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*AbstractArray::_length*/;
         variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
       }
       variable8 = variable9;
-      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_string_search, 229); nit_exit(1);}
       variable8 = ATTR_array___Array____items( variable2 /*suff*/) /*Array::_items*/;
       variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
       goto return_label17;
@@ -396,7 +398,7 @@ val_t string_search___BM_Pattern___suffixes(val_t  self) {
   return variable0;
 }
 void string_search___BM_Pattern___compute_gs(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___BM_Pattern___compute_gs, 173};
+  struct trace_t trace = {NULL, LOCATE_string_search, 173, LOCATE_string_search___BM_Pattern___compute_gs};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -439,11 +441,11 @@ void string_search___BM_Pattern___compute_gs(val_t  self) {
       variable7 = TAG_Bool(UNTAG_Int( variable6 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable8 = variable7;
       if (UNTAG_Bool(variable8)) { /* and */
-        variable8 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*Array::_length*/;
+        variable8 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*AbstractArray::_length*/;
         variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
       }
       variable7 = variable8;
-      if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_string_search, 229); nit_exit(1);}
       variable7 = ATTR_array___Array____items( variable2 /*suff*/) /*Array::_items*/;
       variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
       goto return_label22;
@@ -465,11 +467,11 @@ void string_search___BM_Pattern___compute_gs(val_t  self) {
         variable8 = variable7;
         if (UNTAG_Bool(variable8)) { /* and */
           variable8 = variable5;
-          variable8 = ATTR_array___AbstractArray____length(variable8) /*Array::_length*/;
+          variable8 = ATTR_array___AbstractArray____length(variable8) /*AbstractArray::_length*/;
           variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
         }
         variable7 = variable8;
-        if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+        if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_string_search, 229); nit_exit(1);}
         variable7 = variable5;
         variable7 = ATTR_array___Array____items(variable7) /*Array::_items*/;
         variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
@@ -503,11 +505,11 @@ void string_search___BM_Pattern___compute_gs(val_t  self) {
     variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
     variable9 = variable8;
     if (UNTAG_Bool(variable9)) { /* and */
-      variable9 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*Array::_length*/;
+      variable9 = ATTR_array___AbstractArray____length( variable2 /*suff*/) /*AbstractArray::_length*/;
       variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
     }
     variable8 = variable9;
-    if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+    if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_string_search, 229); nit_exit(1);}
     variable8 = ATTR_array___Array____items( variable2 /*suff*/) /*Array::_items*/;
     variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
     goto return_label26;
@@ -525,25 +527,25 @@ void string_search___BM_Pattern___compute_gs(val_t  self) {
   return;
 }
 val_t string_search___Match___string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Match___string, 204};
+  struct trace_t trace = {NULL, LOCATE_string_search, 204, LOCATE_string_search___Match___string};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_string_search___Match____string( self) /*Match::_string*/;
 }
 val_t string_search___Match___from(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Match___from, 207};
+  struct trace_t trace = {NULL, LOCATE_string_search, 207, LOCATE_string_search___Match___from};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_string_search___Match____from( self) /*Match::_from*/;
 }
 val_t string_search___Match___length(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Match___length, 210};
+  struct trace_t trace = {NULL, LOCATE_string_search, 210, LOCATE_string_search___Match___length};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_string_search___Match____length( self) /*Match::_length*/;
 }
 val_t string_search___Match___after(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Match___after, 213};
+  struct trace_t trace = {NULL, LOCATE_string_search, 213, LOCATE_string_search___Match___after};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -556,7 +558,7 @@ val_t string_search___Match___after(val_t  self) {
   return variable0;
 }
 val_t string_search___Match___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Match___to_s, 217};
+  struct trace_t trace = {NULL, LOCATE_string_search, 217, LOCATE_string_search___Match___to_s};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -571,7 +573,7 @@ val_t string_search___Match___to_s(val_t  self) {
   return variable0;
 }
 void string_search___Match___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Match___init, 220};
+  struct trace_t trace = {NULL, LOCATE_string_search, 220, LOCATE_string_search___Match___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -582,16 +584,16 @@ void string_search___Match___init(val_t  self, val_t  param0, val_t  param1, val
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Match].i]) return;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*String::==*/)))));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'non_null_string' ", LOCATE_string_search___Match___init, 223); nit_exit(1);}
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'non_null_string' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string_search___Match___init, LOCATE_string_search, 223); nit_exit(1);}
   variable3 = TAG_Bool(UNTAG_Int( variable2 /*len*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'positive_length' ", LOCATE_string_search___Match___init, 224); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'positive_length' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string_search___Match___init, LOCATE_string_search, 224); nit_exit(1);}
   variable3 = TAG_Bool(UNTAG_Int( variable1 /*f*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'valid_from' ", LOCATE_string_search___Match___init, 225); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'valid_from' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string_search___Match___init, LOCATE_string_search, 225); nit_exit(1);}
   variable3 = TAG_Int(UNTAG_Int( variable1 /*f*/)+UNTAG_Int( variable2 /*len*/));
-  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable3 = TAG_Bool(UNTAG_Int(variable3)<=UNTAG_Int(variable4));
-  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'valid_after' ", LOCATE_string_search___Match___init, 226); nit_exit(1);}
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", " 'valid_after' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string_search___Match___init, LOCATE_string_search, 226); nit_exit(1);}
   ATTR_string_search___Match____string( self) /*Match::_string*/ =  variable0 /*s*/;
   ATTR_string_search___Match____from( self) /*Match::_from*/ =  variable1 /*f*/;
   ATTR_string_search___Match____length( self) /*Match::_length*/ =  variable2 /*len*/;
@@ -600,7 +602,7 @@ void string_search___Match___init(val_t  self, val_t  param0, val_t  param1, val
   return;
 }
 val_t string_search___Char___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Char___search_index_in, 235};
+  struct trace_t trace = {NULL, LOCATE_string_search, 235, LOCATE_string_search___Char___search_index_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -608,7 +610,7 @@ val_t string_search___Char___search_index_in(val_t  self, val_t  param0, val_t
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable2 = variable3;
   while (true) { /*while*/
     variable3 = TAG_Bool(UNTAG_Int( variable1 /*from*/)<UNTAG_Int( variable2 /*stop*/));
@@ -631,7 +633,7 @@ val_t string_search___Char___search_index_in(val_t  self, val_t  param0, val_t
   return variable2;
 }
 val_t string_search___Char___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___Char___search_in, 245};
+  struct trace_t trace = {NULL, LOCATE_string_search, 245, LOCATE_string_search___Char___search_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -655,7 +657,7 @@ val_t string_search___Char___search_in(val_t  self, val_t  param0, val_t  param1
   return variable2;
 }
 val_t string_search___String___search_index_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___String___search_index_in, 258};
+  struct trace_t trace = {NULL, LOCATE_string_search, 258, LOCATE_string_search___String___search_index_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -667,16 +669,16 @@ val_t string_search___String___search_index_in(val_t  self, val_t  param0, val_t
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*from*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_string_search___String___search_index_in, 260); nit_exit(1);}
-  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
-  variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string_search___String___search_index_in, LOCATE_string_search, 260); nit_exit(1);}
+  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable3 = TAG_Int(UNTAG_Int(variable3)-UNTAG_Int(variable4));
   variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1)));
   variable2 = variable3;
   while (true) { /*while*/
     variable3 = TAG_Bool(UNTAG_Int( variable1 /*from*/)<UNTAG_Int( variable2 /*stop*/));
     if (!UNTAG_Bool(variable3)) break; /* while*/
-    variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable4 = TAG_Int(UNTAG_Int(variable4)-UNTAG_Int( TAG_Int(1)));
     variable3 = variable4;
     while (true) { /*while*/
@@ -711,7 +713,7 @@ val_t string_search___String___search_index_in(val_t  self, val_t  param0, val_t
   return variable2;
 }
 val_t string_search___String___search_in(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___String___search_in, 273};
+  struct trace_t trace = {NULL, LOCATE_string_search, 273, LOCATE_string_search___String___search_in};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -727,7 +729,7 @@ val_t string_search___String___search_in(val_t  self, val_t  param0, val_t  para
     variable2 =  NIT_NULL /*null*/;
     goto return_label36;
   } else { /*if*/
-    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    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*/
     variable3 = variable4;
     variable2 = variable3;
@@ -738,7 +740,7 @@ val_t string_search___String___search_in(val_t  self, val_t  param0, val_t  para
   return variable2;
 }
 val_t string_search___String___search(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search___String___search, 283};
+  struct trace_t trace = {NULL, LOCATE_string_search, 283, LOCATE_string_search___String___search};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -750,7 +752,7 @@ val_t string_search___String___search(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___String___search_from(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_string_search___String___search_from, 286};
+  struct trace_t trace = {NULL, LOCATE_string_search, 286, LOCATE_string_search___String___search_from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -764,7 +766,7 @@ val_t string_search___String___search_from(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t string_search___String___search_all(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search___String___search_all, 291};
+  struct trace_t trace = {NULL, LOCATE_string_search, 291, LOCATE_string_search___String___search_all};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -776,7 +778,7 @@ val_t string_search___String___search_all(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___String___split_with(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_string_search___String___split_with, 300};
+  struct trace_t trace = {NULL, LOCATE_string_search, 300, LOCATE_string_search___String___split_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -787,17 +789,17 @@ val_t string_search___String___split_with(val_t  self, val_t  param0) {
   variable0 =  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*/) /*Array::length*/;
-  variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[String]*/
+  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]*/
   variable3 = variable4;
   variable2 = variable3;
-  variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*matches*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*matches*/) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( variable1 /*matches*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*matches*/) /*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 = ((string_search___Match___to_s_t)CALL( variable4 /*m*/,COLOR_string___Object___to_s))( variable4 /*m*/) /*Match::to_s*/;
-    ((array___AbstractArray___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable5) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable5) /*AbstractArray::add*/;
     continue_41: while(0);
     ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
   }
@@ -809,7 +811,7 @@ val_t string_search___String___split_with(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string_search___String___split(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_string_search___String___split, 310};
+  struct trace_t trace = {NULL, LOCATE_string_search, 310, LOCATE_string_search___String___split};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((string_search___String___split_with_t)CALL( self,COLOR_string_search___String___split_with))( self,  TAG_Char('\n')) /*String::split_with*/;
index a55bf26..f3488d8 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires string_search. */
-#ifndef string_search_3_sep
-#define string_search_3_sep
+#ifndef string_search_2_sep
+#define string_search_2_sep
 #include "string._sep.h"
 #include <nit_common.h>
 
@@ -9,7 +9,7 @@ extern const classtable_elt_t VFT_Pattern[];
 extern const classtable_elt_t VFT_BM_Pattern[];
 
 extern const classtable_elt_t VFT_Match[];
-#define LOCATE_string_search "string_search"
+#define LOCATE_string_search "./../lib/standard//string_search.nit"
 extern const int SFT_string_search[];
 #define ID_Pattern SFT_string_search[0]
 #define COLOR_Pattern SFT_string_search[1]
index b27edb2..9fff476 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module symbol. */
 #include "symbol._sep.h"
 val_t symbol___String___to_symbol(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_symbol___String___to_symbol, 20};
+  struct trace_t trace = {NULL, LOCATE_symbol, 20, LOCATE_symbol___String___to_symbol};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_1; static int once_bool_variable1_1;
@@ -9,14 +9,14 @@ val_t symbol___String___to_symbol(val_t  self) {
   trace.prev = tracehead; tracehead = &trace;
   if (once_bool_variable1_1) variable1 = once_value_variable1_1;
   else {
-    variable1 = NEW_hash___HashMap___init(); /*new HashMap[String, Symbol]*/
+    variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
     once_value_variable1_1 = variable1;
     once_bool_variable1_1 = true;
   }
   variable0 = variable1;
-  variable1 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable0 /*symbol_dictionary*/,COLOR_abstract_collection___Map___has_key))( variable0 /*symbol_dictionary*/,  self) /*HashMap::has_key*/;
+  variable1 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable0 /*symbol_dictionary*/,COLOR_abstract_collection___Map___has_key))( variable0 /*symbol_dictionary*/,  self) /*CoupleMap::has_key*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable0 /*symbol_dictionary*/,COLOR_abstract_collection___Map_____bra))( variable0 /*symbol_dictionary*/,  self) /*HashMap::[]*/;
+    variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable0 /*symbol_dictionary*/,COLOR_abstract_collection___Map_____bra))( variable0 /*symbol_dictionary*/,  self) /*CoupleMap::[]*/;
     variable0 = variable1;
     goto return_label0;
   } else { /*if*/
@@ -31,7 +31,7 @@ val_t symbol___String___to_symbol(val_t  self) {
   return variable0;
 }
 val_t symbol___Symbol___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_symbol___Symbol___to_s, 37};
+  struct trace_t trace = {NULL, LOCATE_symbol, 37, LOCATE_symbol___Symbol___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_symbol___Symbol____string( self) /*Symbol::_string*/;
@@ -42,7 +42,7 @@ val_t symbol___Symbol___to_s(val_t  self) {
   return variable0;
 }
 void symbol___Symbol___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_symbol___Symbol___init, 39};
+  struct trace_t trace = {NULL, LOCATE_symbol, 39, LOCATE_symbol___Symbol___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
index e687646..2fe805a 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires symbol. */
-#ifndef symbol_3_sep
-#define symbol_3_sep
+#ifndef symbol_2_sep
+#define symbol_2_sep
 #include "hash._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_Symbol[];
-#define LOCATE_symbol "symbol"
+#define LOCATE_symbol "./../lib/standard//symbol.nit"
 extern const int SFT_symbol[];
 #define COLOR_symbol___String___to_symbol SFT_symbol[0]
 #define ID_Symbol SFT_symbol[1]
index 5ca40f7..190c406 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module syntax. */
 #include "syntax._sep.h"
 val_t syntax___SrcModuleLoader___file_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax___SrcModuleLoader___file_type, 31};
+  struct trace_t trace = {NULL, LOCATE_syntax, 31, LOCATE_syntax___SrcModuleLoader___file_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_string___String___with_native(BOX_NativeString("nit"), TAG_Int(3)); /*new String*/
@@ -11,7 +11,7 @@ val_t syntax___SrcModuleLoader___file_type(val_t  self) {
   return variable0;
 }
 val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4) {
-  struct trace_t trace = {NULL, LOCATE_syntax___SrcModuleLoader___parse_file, 33};
+  struct trace_t trace = {NULL, LOCATE_syntax, 33, LOCATE_syntax___SrcModuleLoader___parse_file};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -45,17 +45,17 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
   variable8 = ((parser___Parser___parse_t)CALL( variable6 /*parser*/,COLOR_parser___Parser___parse))( variable6 /*parser*/) /*Parser::parse*/;
   variable7 = variable8;
   variable8 = ((parser_nodes___Start___n_base_t)CALL( variable7 /*node_tree*/,COLOR_parser_nodes___Start___n_base))( variable7 /*node_tree*/) /*Start::n_base*/;
-  variable8 = TAG_Bool((variable8 ==  NIT_NULL /*null*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8,  NIT_NULL /*null*/) /*PModule::==*/)))));
+  variable8 = TAG_Bool((variable8 ==  NIT_NULL /*null*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable8)) { /*if*/
     variable9 = ((parser_nodes___Start___n_eof_t)CALL( variable7 /*node_tree*/,COLOR_parser_nodes___Start___n_eof))( variable7 /*node_tree*/) /*Start::n_eof*/;
     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 (%s: %d)\n", "", LOCATE_syntax___SrcModuleLoader___parse_file, 40); nit_exit(1);}
+    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*/
     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*/) /*PError::locate*/;
+    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*/
@@ -73,7 +73,7 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
   variable9 = ((parser_nodes___Start___n_base_t)CALL( variable7 /*node_tree*/,COLOR_parser_nodes___Start___n_base))( variable7 /*node_tree*/) /*Start::n_base*/;
   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 (%s: %d)\n", "", LOCATE_syntax___SrcModuleLoader___parse_file, 45); nit_exit(1);}
+  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*/
   variable9 = variable10;
   variable5 =  variable9 /*module*/;
@@ -83,7 +83,7 @@ val_t syntax___SrcModuleLoader___parse_file(val_t  self, val_t  param0, val_t  p
   return variable5;
 }
 void syntax___SrcModuleLoader___process_metamodel(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_syntax___SrcModuleLoader___process_metamodel, 52};
+  struct trace_t trace = {NULL, LOCATE_syntax, 52, LOCATE_syntax___SrcModuleLoader___process_metamodel};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -95,28 +95,15 @@ void syntax___SrcModuleLoader___process_metamodel(val_t  self, val_t  param0, va
   return;
 }
 void syntax___SrcModuleLoader___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax___SrcModuleLoader___init, 58};
+  struct trace_t trace = {NULL, LOCATE_syntax, 58, LOCATE_syntax___SrcModuleLoader___init};
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SrcModuleLoader].i]) return;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SrcModuleLoader].i] = 1;
   tracehead = trace.prev;
   return;
 }
-val_t syntax___MMContext___tc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax___MMContext___tc, 62};
-  trace.prev = tracehead; tracehead = &trace;
-  tracehead = trace.prev;
-  return ATTR_syntax___MMContext____tc( self) /*MMContext::_tc*/;
-}
-void syntax___MMContext___tc__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax___MMContext___tc__eq, 62};
-  trace.prev = tracehead; tracehead = &trace;
-  ATTR_syntax___MMContext____tc( self) /*MMContext::_tc*/ =  param0;
-  tracehead = trace.prev;
-  return;
-}
 void syntax___MMSrcModule___process_supermodules(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax___MMSrcModule___process_supermodules, 67};
+  struct trace_t trace = {NULL, LOCATE_syntax, 62, LOCATE_syntax___MMSrcModule___process_supermodules};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -127,7 +114,7 @@ void syntax___MMSrcModule___process_supermodules(val_t  self, val_t  param0) {
   return;
 }
 void syntax___MMSrcModule___process_syntax(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax___MMSrcModule___process_syntax, 74};
+  struct trace_t trace = {NULL, LOCATE_syntax, 69, LOCATE_syntax___MMSrcModule___process_syntax};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -138,13 +125,13 @@ void syntax___MMSrcModule___process_syntax(val_t  self, val_t  param0) {
   if (UNTAG_Bool(variable1)) { /*if*/
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  ((control_flow___MMSrcModule___do_control_flow_t)CALL( self,COLOR_control_flow___MMSrcModule___do_control_flow))( self,  variable0 /*tc*/) /*MMSrcModule::do_control_flow*/;
+  ((typing___MMSrcModule___do_typing_t)CALL( self,COLOR_typing___MMSrcModule___do_typing))( self,  variable0 /*tc*/) /*MMSrcModule::do_typing*/;
   variable1 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable1)) { /*if*/
     exit(UNTAG_Int( TAG_Int(1)));
   }
-  ((typing___MMSrcModule___do_typing_t)CALL( self,COLOR_typing___MMSrcModule___do_typing))( self,  variable0 /*tc*/) /*MMSrcModule::do_typing*/;
+  ((control_flow___MMSrcModule___do_control_flow_t)CALL( self,COLOR_control_flow___MMSrcModule___do_control_flow))( self,  variable0 /*tc*/) /*MMSrcModule::do_control_flow*/;
   variable1 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable1)) { /*if*/
index 54ca140..a622017 100644 (file)
@@ -1,23 +1,20 @@
 /* This C header file is generated by NIT to compile modules and programs that requires syntax. */
-#ifndef syntax_3_sep
-#define syntax_3_sep
+#ifndef syntax_2_sep
+#define syntax_2_sep
 #include "mmbuilder._sep.h"
 #include "control_flow._sep.h"
 #include "typing._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_SrcModuleLoader[];
-#define LOCATE_syntax "syntax"
+#define LOCATE_syntax "./syntax//syntax.nit"
 extern const int SFT_syntax[];
 #define ID_SrcModuleLoader SFT_syntax[0]
 #define COLOR_SrcModuleLoader SFT_syntax[1]
 #define INIT_TABLE_POS_SrcModuleLoader SFT_syntax[2]
 #define COLOR_syntax___SrcModuleLoader___init SFT_syntax[3]
-#define COLOR_syntax___MMContext____tc SFT_syntax[4]
-#define COLOR_syntax___MMContext___tc SFT_syntax[5]
-#define COLOR_syntax___MMContext___tc__eq SFT_syntax[6]
-#define COLOR_syntax___MMSrcModule___process_supermodules SFT_syntax[7]
-#define COLOR_syntax___MMSrcModule___process_syntax SFT_syntax[8]
+#define COLOR_syntax___MMSrcModule___process_supermodules SFT_syntax[4]
+#define COLOR_syntax___MMSrcModule___process_syntax SFT_syntax[5]
 typedef val_t (* syntax___SrcModuleLoader___file_type_t)(val_t  self);
 val_t syntax___SrcModuleLoader___file_type(val_t  self);
 #define LOCATE_syntax___SrcModuleLoader___file_type "syntax::SrcModuleLoader::(mmloader::ModuleLoader::file_type)"
@@ -31,13 +28,6 @@ typedef void (* syntax___SrcModuleLoader___init_t)(val_t  self, int* init_table)
 void syntax___SrcModuleLoader___init(val_t  self, int* init_table);
 val_t NEW_syntax___SrcModuleLoader___init();
 #define LOCATE_syntax___SrcModuleLoader___init "syntax::SrcModuleLoader::init"
-#define ATTR_syntax___MMContext____tc(recv) ATTR(recv, COLOR_syntax___MMContext____tc)
-typedef val_t (* syntax___MMContext___tc_t)(val_t  self);
-val_t syntax___MMContext___tc(val_t  self);
-#define LOCATE_syntax___MMContext___tc "syntax::MMContext::tc"
-typedef void (* syntax___MMContext___tc__eq_t)(val_t  self, val_t  param0);
-void syntax___MMContext___tc__eq(val_t  self, val_t  param0);
-#define LOCATE_syntax___MMContext___tc__eq "syntax::MMContext::tc="
 typedef void (* syntax___MMSrcModule___process_supermodules_t)(val_t  self, val_t  param0);
 void syntax___MMSrcModule___process_supermodules(val_t  self, val_t  param0);
 #define LOCATE_syntax___MMSrcModule___process_supermodules "syntax::MMSrcModule::process_supermodules"
index c5ddb32..c0a7eb1 100644 (file)
@@ -1,19 +1,19 @@
 /* This C file is generated by NIT to compile module syntax_base. */
 #include "syntax_base._sep.h"
 val_t syntax_base___MMSrcModule___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcModule___node, 26};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 26, LOCATE_syntax_base___MMSrcModule___node};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcModule____node( self) /*MMSrcModule::_node*/;
 }
 val_t syntax_base___MMSrcModule___src_local_classes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcModule___src_local_classes, 29};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 29, LOCATE_syntax_base___MMSrcModule___src_local_classes};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcModule____src_local_classes( self) /*MMSrcModule::_src_local_classes*/;
 }
 void syntax_base___MMSrcModule___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcModule___init, 32};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 32, LOCATE_syntax_base___MMSrcModule___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -27,14 +27,14 @@ 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[Symbol, MMSrcLocalClass]*/
+  variable4 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   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;
   return;
 }
 val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMGlobalClass___check_visibility, 41};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 41, LOCATE_syntax_base___MMGlobalClass___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -57,8 +57,8 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0,
   variable4 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___module))(variable4) /*MMLocalClass::module*/;
   variable3 = variable4;
   variable4 = TAG_Bool(( variable3 /*pm*/==NIT_NULL) || VAL_ISA( variable3 /*pm*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
-  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___MMGlobalClass___check_visibility, 44); nit_exit(1);}
-  variable5 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/,  variable3 /*pm*/) /*MMSrcModule::visibility_for*/;
+  if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___MMGlobalClass___check_visibility, LOCATE_syntax_base, 44); nit_exit(1);}
+  variable5 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/,  variable3 /*pm*/) /*MMModule::visibility_for*/;
   variable4 = variable5;
   variable5 = TAG_Bool(( variable4 /*vpm*/)==( TAG_Int(3)));
   if (UNTAG_Bool(variable5)) { /*if*/
@@ -113,32 +113,32 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t  self, val_t  param0,
   return variable3;
 }
 val_t syntax_base___MMSrcLocalClass___nodes(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___nodes, 62};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 62, LOCATE_syntax_base___MMSrcLocalClass___nodes};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcLocalClass____nodes( self) /*MMSrcLocalClass::_nodes*/;
 }
 val_t syntax_base___MMSrcLocalClass___formal_dict(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___formal_dict, 65};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/;
 }
 void syntax_base___MMSrcLocalClass___formal_dict__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq, 65};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___MMSrcLocalClass___src_local_properties(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties, 68};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 68, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_syntax_base___MMSrcLocalClass____src_local_properties( self) /*MMSrcLocalClass::_src_local_properties*/;
 }
 void syntax_base___MMSrcLocalClass___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___init, 71};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 71, LOCATE_syntax_base___MMSrcLocalClass___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -149,17 +149,17 @@ 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[PClassdef]*/
-  ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3,  variable1 /*cla*/) /*Array::add*/;
+  variable3 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
+  ((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[Symbol, MMSrcLocalProperty]*/
+  variable3 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   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;
   return;
 }
 val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMGlobalProperty___check_visibility, 80};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 80, LOCATE_syntax_base___MMGlobalProperty___check_visibility};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -184,8 +184,8 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
   variable5 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___module))(variable5) /*MMLocalClass::module*/;
   variable4 = variable5;
   variable5 = TAG_Bool(( variable4 /*pm*/==NIT_NULL) || VAL_ISA( variable4 /*pm*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
-  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___MMGlobalProperty___check_visibility, 83); nit_exit(1);}
-  variable6 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/,  variable4 /*pm*/) /*MMSrcModule::visibility_for*/;
+  if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___MMGlobalProperty___check_visibility, LOCATE_syntax_base, 83); nit_exit(1);}
+  variable6 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/,  variable4 /*pm*/) /*MMModule::visibility_for*/;
   variable5 = variable6;
   variable6 = TAG_Bool(( variable5 /*vpm*/)==( TAG_Int(3)));
   if (UNTAG_Bool(variable6)) { /*if*/
@@ -262,14 +262,24 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  para
   tracehead = trace.prev;
   return variable4;
 }
-val_t syntax_base___MMSrcLocalProperty___node(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalProperty___node, 108};
+val_t syntax_base___MMLocalProperty___node(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 103, LOCATE_syntax_base___MMLocalProperty___node};
+  val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  variable0 =  NIT_NULL /*null*/;
+  goto return_label4;
+  return_label4: while(false);
   tracehead = trace.prev;
-  return ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMSrcLocalProperty::_node*/;
+  return variable0;
+}
+val_t syntax_base___MMSrcAttribute___node(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 111, LOCATE_syntax_base___MMSrcAttribute___node};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_syntax_base___MMSrcAttribute___init, 116};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 112, LOCATE_syntax_base___MMSrcAttribute___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -278,14 +288,20 @@ void syntax_base___MMSrcAttribute___init(val_t  self, val_t  param0, val_t  para
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcAttribute].i]) return;
-  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/,  self, init_table /*YYY*/) /*MMLocalProperty::init*/;
-  ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMSrcAttribute::_node*/ =  variable2 /*n*/;
+  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
+  ATTR_syntax_base___MMSrcAttribute____node( self) /*MMSrcAttribute::_node*/ =  variable2 /*n*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcAttribute].i] = 1;
   tracehead = trace.prev;
   return;
 }
+val_t syntax_base___MMAttrImplementationMethod___node(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 128, LOCATE_syntax_base___MMAttrImplementationMethod___node};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_syntax_base___MMReadImplementationMethod___init, 139};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 135, LOCATE_syntax_base___MMReadImplementationMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -294,14 +310,14 @@ void syntax_base___MMReadImplementationMethod___init(val_t  self, val_t  param0,
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMReadImplementationMethod].i]) return;
-  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/,  self, init_table /*YYY*/) /*MMLocalProperty::init*/;
-  ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMReadImplementationMethod::_node*/ =  variable2 /*n*/;
+  ((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_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, LOCATE_syntax_base___MMWriteImplementationMethod___init, 150};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 146, LOCATE_syntax_base___MMWriteImplementationMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -310,14 +326,20 @@ 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*/,  self, init_table /*YYY*/) /*MMLocalProperty::init*/;
-  ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMWriteImplementationMethod::_node*/ =  variable2 /*n*/;
+  ((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_MMWriteImplementationMethod].i] = 1;
   tracehead = trace.prev;
   return;
 }
+val_t syntax_base___MMMethSrcMethod___node(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 156, LOCATE_syntax_base___MMMethSrcMethod___node};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_syntax_base___MMMethSrcMethod___init, 162};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 157, LOCATE_syntax_base___MMMethSrcMethod___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -326,14 +348,20 @@ void syntax_base___MMMethSrcMethod___init(val_t  self, val_t  param0, val_t  par
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMMethSrcMethod].i]) return;
-  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/,  self, init_table /*YYY*/) /*MMLocalProperty::init*/;
-  ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMMethSrcMethod::_node*/ =  variable2 /*n*/;
+  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
+  ATTR_syntax_base___MMMethSrcMethod____node( self) /*MMMethSrcMethod::_node*/ =  variable2 /*n*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMMethSrcMethod].i] = 1;
   tracehead = trace.prev;
   return;
 }
+val_t syntax_base___MMSrcTypeProperty___node(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 168, LOCATE_syntax_base___MMSrcTypeProperty___node};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_syntax_base___MMSrcTypeProperty___init, 173};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 169, LOCATE_syntax_base___MMSrcTypeProperty___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -342,39 +370,50 @@ void syntax_base___MMSrcTypeProperty___init(val_t  self, val_t  param0, val_t  p
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcTypeProperty].i]) return;
-  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/,  self, init_table /*YYY*/) /*MMLocalProperty::init*/;
-  ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMSrcTypeProperty::_node*/ =  variable2 /*n*/;
+  ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self,  variable0 /*name*/,  variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
+  ATTR_syntax_base___MMSrcTypeProperty____node( self) /*MMSrcTypeProperty::_node*/ =  variable2 /*n*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcTypeProperty].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___Variable___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___Variable___name, 183};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 179, LOCATE_syntax_base___Variable___name};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_syntax_base___Variable___decl, 186};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 182, LOCATE_syntax_base___Variable___decl};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_syntax_base___Variable___stype, 189};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 185, LOCATE_syntax_base___Variable___stype};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_syntax_base___Variable___stype__eq, 189};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 185, LOCATE_syntax_base___Variable___stype__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/ =  param0;
   tracehead = trace.prev;
   return;
 }
+val_t syntax_base___Variable___to_s(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 188, LOCATE_syntax_base___Variable___to_s};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  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);
+  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, LOCATE_syntax_base___Variable___init, 192};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 190, LOCATE_syntax_base___Variable___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -382,10 +421,10 @@ void syntax_base___Variable___init(val_t  self, val_t  param0, val_t  param1, in
   variable0 =  param0;
   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*/) /*Symbol::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___Variable___init, 194); 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*/) /*PNode::==*/)))))));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___Variable___init, 195); nit_exit(1);}
+  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);}
+  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);}
   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;
@@ -393,28 +432,7 @@ 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, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool, 206};
-  val_t variable0;
-  val_t variable1;
-  static val_t once_value_variable1_11; static int once_bool_variable1_11;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_11) variable1 = once_value_variable1_11;
-  else {
-    variable1 = NEW_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_11 = variable1;
-    once_bool_variable1_11 = true;
-  }
-  variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
-  variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
-  goto return_label10;
-  return_label10: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t syntax_base___AbsSyntaxVisitor___type_int(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_int, 212};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 204, 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;
@@ -422,20 +440,20 @@ val_t syntax_base___AbsSyntaxVisitor___type_int(val_t  self) {
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_13) variable1 = once_value_variable1_13;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
+    variable1 = NEW_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;
   }
-  variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
-val_t syntax_base___AbsSyntaxVisitor___type_float(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_float, 218};
+val_t syntax_base___AbsSyntaxVisitor___type_int(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 210, 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;
@@ -443,20 +461,20 @@ val_t syntax_base___AbsSyntaxVisitor___type_float(val_t  self) {
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_15) variable1 = once_value_variable1_15;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
+    variable1 = NEW_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;
   }
-  variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
-val_t syntax_base___AbsSyntaxVisitor___type_char(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_char, 224};
+val_t syntax_base___AbsSyntaxVisitor___type_float(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 216, 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;
@@ -464,20 +482,20 @@ val_t syntax_base___AbsSyntaxVisitor___type_char(val_t  self) {
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_17) variable1 = once_value_variable1_17;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
+    variable1 = NEW_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;
   }
-  variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
-val_t syntax_base___AbsSyntaxVisitor___type_string(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_string, 230};
+val_t syntax_base___AbsSyntaxVisitor___type_char(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 222, 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;
@@ -485,20 +503,20 @@ val_t syntax_base___AbsSyntaxVisitor___type_string(val_t  self) {
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_19) variable1 = once_value_variable1_19;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("String"), TAG_Int(6)); /*new String*/
+    variable1 = NEW_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;
   }
-  variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
-val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection, 236};
+val_t syntax_base___AbsSyntaxVisitor___type_string(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 228, 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;
@@ -506,147 +524,168 @@ val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t  self) {
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
   if (once_bool_variable1_21) variable1 = once_value_variable1_21;
   else {
-    variable1 = NEW_string___String___with_native(BOX_NativeString("Collection"), TAG_Int(10)); /*new String*/
+    variable1 = NEW_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;
   }
-  variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
+val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 234, 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;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
+  if (once_bool_variable1_23) variable1 = once_value_variable1_23;
+  else {
+    variable1 = NEW_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;
+  }
+  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);
+  tracehead = trace.prev;
+  return variable0;
+}
 val_t syntax_base___AbsSyntaxVisitor___type_array(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_array, 242};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 240, LOCATE_syntax_base___AbsSyntaxVisitor___type_array};
   val_t variable0;
   val_t variable1;
   val_t variable2;
-  static val_t once_value_variable2_23; static int once_bool_variable2_23;
+  static val_t once_value_variable2_25; static int once_bool_variable2_25;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable2_23) variable2 = once_value_variable2_23;
+  if (once_bool_variable2_25) variable2 = once_value_variable2_25;
   else {
     variable2 = NEW_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_23 = variable2;
-    once_bool_variable2_23 = true;
+    once_value_variable2_25 = variable2;
+    once_bool_variable2_25 = true;
   }
-  variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMSrcModule::class_by_name*/;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*stype*/) /*Array::add*/;
+  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]*/
+  ((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_label22;
-  return_label22: while(false);
+  goto return_label24;
+  return_label24: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete, 248};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 246, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete};
   val_t variable0;
   val_t variable1;
-  static val_t once_value_variable1_25; static int once_bool_variable1_25;
+  static val_t once_value_variable1_27; static int once_bool_variable1_27;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable1_25) variable1 = once_value_variable1_25;
+  if (once_bool_variable1_27) variable1 = once_value_variable1_27;
   else {
     variable1 = NEW_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_25 = variable1;
-    once_bool_variable1_25 = 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) /*MMSrcModule::class_by_name*/;
+  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_label24;
-  return_label24: while(false);
+  goto return_label26;
+  return_label26: 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, LOCATE_syntax_base___AbsSyntaxVisitor___type_range, 254};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 252, LOCATE_syntax_base___AbsSyntaxVisitor___type_range};
   val_t variable0;
   val_t variable1;
   val_t variable2;
-  static val_t once_value_variable2_27; static int once_bool_variable2_27;
+  static val_t once_value_variable2_29; static int once_bool_variable2_29;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
-  if (once_bool_variable2_27) variable2 = once_value_variable2_27;
+  if (once_bool_variable2_29) variable2 = once_value_variable2_29;
   else {
     variable2 = NEW_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_27 = variable2;
-    once_bool_variable2_27 = true;
+    once_value_variable2_29 = variable2;
+    once_bool_variable2_29 = true;
   }
-  variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMSrcModule::class_by_name*/;
-  variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
-  ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable0 /*stype*/) /*Array::add*/;
+  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]*/
+  ((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_label26;
-  return_label26: while(false);
+  goto return_label28;
+  return_label28: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t syntax_base___AbsSyntaxVisitor___type_none(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_none, 260};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 258, LOCATE_syntax_base___AbsSyntaxVisitor___type_none};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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) /*MMSrcModule::type_none*/;
-  goto return_label28;
-  return_label28: while(false);
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___AbsSyntaxVisitor___module(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___module, 266};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq, 266};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___local_class, 269};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq, 269};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___local_property(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___local_property, 272};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq, 272};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___tc(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___tc, 275};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 273, LOCATE_syntax_base___AbsSyntaxVisitor___tc};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_syntax_base___AbsSyntaxVisitor___error, 278};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 276, LOCATE_syntax_base___AbsSyntaxVisitor___error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -684,7 +723,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, LOCATE_syntax_base___AbsSyntaxVisitor___warning, 284};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 282, LOCATE_syntax_base___AbsSyntaxVisitor___warning};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -722,7 +761,7 @@ void syntax_base___AbsSyntaxVisitor___warning(val_t  self, val_t  param0, val_t
   return;
 }
 val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform, 290};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 288, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -739,20 +778,20 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0,
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable3 = TAG_Bool(( variable2 /*stype*/ ==  NIT_NULL /*null*/) || (( variable2 /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*stype*/,COLOR_kernel___Object_____eqeq))( variable2 /*stype*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+  variable3 = TAG_Bool(( variable2 /*stype*/ ==  NIT_NULL /*null*/) || (( variable2 /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*stype*/,COLOR_kernel___Object_____eqeq))( variable2 /*stype*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   variable4 = variable3;
   if (!UNTAG_Bool(variable4)) { /* or */
-    variable4 = TAG_Bool(( variable1 /*subtype*/ ==  NIT_NULL /*null*/) || (( variable1 /*subtype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*subtype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*subtype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*subtype*/,COLOR_kernel___Object_____eqeq))( variable1 /*subtype*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+    variable4 = TAG_Bool(( variable1 /*subtype*/ ==  NIT_NULL /*null*/) || (( variable1 /*subtype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*subtype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*subtype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*subtype*/,COLOR_kernel___Object_____eqeq))( variable1 /*subtype*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   }
   variable3 = variable4;
   if (UNTAG_Bool(variable3)) { /*if*/
     variable3 =  TAG_Bool(false);
-    goto return_label31;
+    goto return_label33;
   }
   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_label31;
+    goto return_label33;
   }
   variable3 = NEW_string___String___init(); /*new String*/
   variable4 = NEW_string___String___with_native(BOX_NativeString("Type error: expected "), TAG_Int(21)); /*new String*/
@@ -772,13 +811,13 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t  self, val_t  param0,
   ((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_label31;
-  return_label31: while(false);
+  goto return_label33;
+  return_label33: 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, LOCATE_syntax_base___AbsSyntaxVisitor___init, 304};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 304, LOCATE_syntax_base___AbsSyntaxVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -792,7 +831,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, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor, 314};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 314, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -801,13 +840,13 @@ 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, LOCATE_syntax_base___Token___to_symbol, 320};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 320, LOCATE_syntax_base___Token___to_symbol};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable1 = ATTR_syntax_base___Token____symbol( self) /*Token::_symbol*/;
   variable0 = variable1;
-  variable1 = TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*Symbol::==*/)))));
+  variable1 = TAG_Bool(( variable0 /*s*/ ==  NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable1)) { /*if*/
     variable1 = ((lexer___Token___text_t)CALL( self,COLOR_lexer___Token___text))( self) /*Token::text*/;
     variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
@@ -815,109 +854,121 @@ 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_label34;
-  return_label34: while(false);
+  goto return_label36;
+  return_label36: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t syntax_base___PClassdef___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___PClassdef___local_class, 334};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 334, LOCATE_syntax_base___PClassdef___local_class};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "local_class", LOCATE_syntax_base___Token___to_symbol, 334);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 334);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AAttrPropdef___prop, 339};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 339, LOCATE_syntax_base___AAttrPropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "prop", LOCATE_syntax_base___Token___to_symbol, 339);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 339);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___readmethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AAttrPropdef___readmethod, 342};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 342, LOCATE_syntax_base___AAttrPropdef___readmethod};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "readmethod", LOCATE_syntax_base___Token___to_symbol, 342);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 342);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AAttrPropdef___writemethod(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AAttrPropdef___writemethod, 345};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 345, LOCATE_syntax_base___AAttrPropdef___writemethod};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "writemethod", LOCATE_syntax_base___Token___to_symbol, 345);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 345);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___AMethPropdef___method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AMethPropdef___method, 350};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 350, LOCATE_syntax_base___AMethPropdef___method};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "method", LOCATE_syntax_base___Token___to_symbol, 350);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 350);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___ATypePropdef___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___ATypePropdef___prop, 355};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 355, LOCATE_syntax_base___ATypePropdef___prop};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "prop", LOCATE_syntax_base___Token___to_symbol, 355);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 355);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___PParam___position(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___PParam___position, 360};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 360, LOCATE_syntax_base___PParam___position};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "position", LOCATE_syntax_base___Token___to_symbol, 360);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 360);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t syntax_base___PParam___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___PParam___variable, 363};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 363, LOCATE_syntax_base___PParam___variable};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "variable", LOCATE_syntax_base___Token___to_symbol, 363);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 363);
   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, LOCATE_syntax_base___PType___get_local_class, 368};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 368, LOCATE_syntax_base___PType___get_local_class};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "get_local_class", LOCATE_syntax_base___Token___to_symbol, 368);
+  fprintf(stderr, "Deferred method %s called");
+  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___PType___get_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___PType___get_stype, 373};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 373, LOCATE_syntax_base___PType___get_stype};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "get_stype", LOCATE_syntax_base___Token___to_symbol, 373);
+  fprintf(stderr, "Deferred method %s called");
+  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___PType___get_unchecked_stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___PType___get_unchecked_stype, 377};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 377, LOCATE_syntax_base___PType___get_unchecked_stype};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "get_unchecked_stype", LOCATE_syntax_base___Token___to_symbol, 377);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 377);
   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, LOCATE_syntax_base___PType___check_conform, 383};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 383, LOCATE_syntax_base___PType___check_conform};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "check_conform", LOCATE_syntax_base___Token___to_symbol, 383);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 383);
   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, LOCATE_syntax_base___AType___get_local_class, 393};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 393, LOCATE_syntax_base___AType___get_local_class};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -935,14 +986,14 @@ val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
-  variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TClassid::to_symbol*/;
+  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___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
   variable2 = variable3;
   variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
   variable3 = variable4;
   variable4 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
-  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*/) /*Map::==*/)))))));
+  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::==*/)))))));
   variable5 = variable4;
   if (UNTAG_Bool(variable5)) { /* and */
     variable5 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
@@ -951,11 +1002,11 @@ val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
   variable4 = variable5;
   variable5 = variable4;
   if (!UNTAG_Bool(variable5)) { /* or */
-    variable5 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMSrcLocalClass::global_properties*/;
-    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*/) /*Set::==*/)))))));
+    variable5 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMLocalClass::global_properties*/;
+    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::==*/)))))));
     variable6 = variable5;
     if (UNTAG_Bool(variable6)) { /* and */
-      variable6 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/,  variable1 /*name*/) /*MMSrcLocalClass::has_global_property_by_name*/;
+      variable6 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/,  variable1 /*name*/) /*MMLocalClass::has_global_property_by_name*/;
     }
     variable5 = variable6;
   }
@@ -975,9 +1026,9 @@ val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
     ((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_label35;
+    goto return_label37;
   }
-  variable4 = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___has_global_class_named))( variable2 /*mod*/,  variable1 /*name*/) /*MMSrcModule::has_global_class_named*/;
+  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*/
@@ -999,20 +1050,20 @@ val_t syntax_base___AType___get_local_class(val_t  self, val_t  param0) {
     ((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_label35;
+    goto return_label37;
   }
-  variable5 = ((abstractmetamodel___MMModule___class_by_name_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___class_by_name))( variable2 /*mod*/,  variable1 /*name*/) /*MMSrcModule::class_by_name*/;
+  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_label35;
-  return_label35: while(false);
+  goto return_label37;
+  return_label37: 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, LOCATE_syntax_base___AType___get_unchecked_stype, 416};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 416, LOCATE_syntax_base___AType___get_unchecked_stype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1037,11 +1088,11 @@ 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_label36;
+    goto return_label38;
   }
   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*/;
-  variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TClassid::to_symbol*/;
+  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___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
   variable2 = variable3;
@@ -1066,20 +1117,20 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
       ((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_label36;
+      goto return_label38;
     }
     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_label36;
+    goto return_label38;
   }
-  variable4 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMSrcLocalClass::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*/) /*Set::==*/)))))));
+  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::==*/)))))));
   variable5 = variable4;
   if (UNTAG_Bool(variable5)) { /* and */
-    variable5 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/,  variable1 /*name*/) /*MMSrcLocalClass::has_global_property_by_name*/;
+    variable5 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/,  variable1 /*name*/) /*MMLocalClass::has_global_property_by_name*/;
   }
   variable4 = variable5;
   if (UNTAG_Bool(variable4)) { /*if*/
@@ -1099,13 +1150,15 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
       ((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_label36;
+      goto return_label38;
     }
-    variable5 = ((genericity___MMLocalClass___get_type_t)CALL( variable3 /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable3 /*cla*/) /*MMSrcLocalClass::get_type*/;
-    variable5 = ((virtualtype___MMType___select_virtual_type_t)CALL(variable5,COLOR_virtualtype___MMType___select_virtual_type))(variable5,  variable1 /*name*/) /*MMType::select_virtual_type*/;
-    variable5 = ((virtualtype___MMTypeProperty___stype_t)CALL(variable5,COLOR_virtualtype___MMTypeProperty___stype))(variable5) /*MMTypeProperty::stype*/;
+    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*/;
+    variable5 = ((virtualtype___MMLocalClass___select_virtual_type_t)CALL(variable5,COLOR_virtualtype___MMLocalClass___select_virtual_type))(variable5,  variable1 /*name*/) /*MMLocalClass::select_virtual_type*/;
+    variable6 = ((genericity___MMLocalClass___get_type_t)CALL( variable3 /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable3 /*cla*/) /*MMLocalClass::get_type*/;
+    variable5 = ((virtualtype___MMTypeProperty___stype_for_t)CALL(variable5,COLOR_virtualtype___MMTypeProperty___stype_for))(variable5, variable6) /*MMTypeProperty::stype_for*/;
     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*/) /*MMVirtualType::==*/)))));
+    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*/
@@ -1119,18 +1172,18 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
       ((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_label36;
+      goto return_label38;
     }
     ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ =  variable4 /*t*/;
     variable1 =  variable4 /*t*/;
-    goto return_label36;
+    goto return_label38;
   }
   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*/) /*MMLocalClass::==*/)))));
+  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_label36;
+    goto return_label38;
   }
   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*/;
@@ -1163,11 +1216,11 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
     ((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_label36;
+    goto return_label38;
   }
   variable6 = TAG_Bool(UNTAG_Int( variable5 /*arity*/)>UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable7 = NEW_array___Array___init(); /*new Array[MMType]*/
+    variable7 = NEW_array___Array___init(); /*new Array[E]*/
     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*/;
@@ -1176,29 +1229,29 @@ val_t syntax_base___AType___get_unchecked_stype(val_t  self, val_t  param0) {
       if (!UNTAG_Bool(variable8)) break; /*for*/
       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) /*Array::add*/;
-      continue_37: while(0);
+      ((array___AbstractArray___add_t)CALL( variable6 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*tab*/, variable9) /*AbstractArray::add*/;
+      continue_39: while(0);
       ((list___ListIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ListIterator::next*/;
     }
-    break_37: while(0);
+    break_39: 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_label36;
+    goto return_label38;
   } 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_label36;
+    goto return_label38;
   }
-  return_label36: while(false);
+  return_label38: 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, LOCATE_syntax_base___AType___get_stype, 473};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 473, LOCATE_syntax_base___AType___get_stype};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1206,18 +1259,18 @@ val_t syntax_base___AType___get_stype(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self,  variable0 /*v*/) /*AType::get_unchecked_stype*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(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*/
     ((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_label38;
-  return_label38: while(false);
+  goto return_label40;
+  return_label40: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___AType___check_conform, 480};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 480, LOCATE_syntax_base___AType___check_conform};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1232,9 +1285,9 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self,  variable0 /*v*/) /*AType::get_unchecked_stype*/;
   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*/) /*MMType::==*/)))));
+  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_label39;
+    goto return_label41;
   }
   variable3 = ((static_type___MMType___local_class_t)CALL( variable1 /*st*/,COLOR_static_type___MMType___local_class))( variable1 /*st*/) /*MMType::local_class*/;
   variable2 = variable3;
@@ -1243,7 +1296,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[Int]*/
+    variable4 = NEW_range___Range___without_last( TAG_Int(0),  variable3 /*arity*/); /*new Range[E]*/
     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*/;
@@ -1255,29 +1308,69 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0) {
       variable8 = ((syntax_base___PType___get_stype_t)CALL( variable6 /*p*/,COLOR_syntax_base___PType___get_stype))( variable6 /*p*/,  variable0 /*v*/) /*PType::get_stype*/;
       variable7 = variable8;
       variable9 = ((genericity___MMLocalClass___get_formal_t)CALL( variable2 /*local_class*/,COLOR_genericity___MMLocalClass___get_formal))( variable2 /*local_class*/,  variable5 /*i*/) /*MMLocalClass::get_formal*/;
-      variable9 = ((type_formal___MMTypeFormal___bound_t)CALL(variable9,COLOR_type_formal___MMTypeFormal___bound))(variable9) /*MMTypeFormalParameter::bound*/;
+      variable9 = ((type_formal___MMTypeFormal___bound_t)CALL(variable9,COLOR_type_formal___MMTypeFormal___bound))(variable9) /*MMTypeFormal::bound*/;
       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*/) /*MMType::==*/)))));
+      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_label39;
+        goto return_label41;
       }
       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_40: while(0);
+      continue_42: while(0);
       ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
     }
-    break_40: while(0);
+    break_42: while(0);
   }
-  return_label39: while(false);
+  return_label41: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t syntax_base___PExpr___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_syntax_base___PExpr___stype, 500};
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 500, LOCATE_syntax_base___PExpr___stype};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "stype", LOCATE_syntax_base___AType___check_conform, 500);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___AType___check_conform, LOCATE_syntax_base, 500);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
+val_t syntax_base___AVardeclExpr___variable(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 506, LOCATE_syntax_base___AVardeclExpr___variable};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_syntax_base, 506, LOCATE_syntax_base___AVardeclExpr___variable__eq};
+  trace.prev = tracehead; tracehead = &trace;
+  ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/ =  param0;
+  tracehead = trace.prev;
+  return;
+}
+val_t syntax_base___AForVardeclExpr___variable(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 511, LOCATE_syntax_base___AForVardeclExpr___variable};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_syntax_base, 511, LOCATE_syntax_base___AForVardeclExpr___variable__eq};
+  trace.prev = tracehead; tracehead = &trace;
+  ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/ =  param0;
+  tracehead = trace.prev;
+  return;
+}
+val_t syntax_base___AVarFormExpr___variable(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_syntax_base, 516, LOCATE_syntax_base___AVarFormExpr___variable};
+  trace.prev = tracehead; tracehead = &trace;
+  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, LOCATE_syntax_base, 516, LOCATE_syntax_base___AVarFormExpr___variable__eq};
+  trace.prev = tracehead; tracehead = &trace;
+  ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/ =  param0;
+  tracehead = trace.prev;
+  return;
+}
index 46ed160..10cd15d 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires syntax_base. */
-#ifndef syntax_base_3_sep
-#define syntax_base_3_sep
+#ifndef syntax_base_2_sep
+#define syntax_base_2_sep
 #include "parser._sep.h"
 #include "mmloader._sep.h"
 #include <nit_common.h>
@@ -9,8 +9,6 @@ extern const classtable_elt_t VFT_MMSrcModule[];
 
 extern const classtable_elt_t VFT_MMSrcLocalClass[];
 
-extern const classtable_elt_t VFT_MMSrcLocalProperty[];
-
 extern const classtable_elt_t VFT_MMSrcAttribute[];
 
 extern const classtable_elt_t VFT_MMSrcMethod[];
@@ -28,7 +26,7 @@ extern const classtable_elt_t VFT_MMSrcTypeProperty[];
 extern const classtable_elt_t VFT_Variable[];
 
 extern const classtable_elt_t VFT_AbsSyntaxVisitor[];
-#define LOCATE_syntax_base "syntax_base"
+#define LOCATE_syntax_base "./syntax//syntax_base.nit"
 extern const int SFT_syntax_base[];
 #define ID_MMSrcModule SFT_syntax_base[0]
 #define COLOR_MMSrcModule SFT_syntax_base[1]
@@ -51,35 +49,35 @@ extern const int SFT_syntax_base[];
 #define COLOR_syntax_base___MMSrcLocalClass___src_local_properties SFT_syntax_base[18]
 #define COLOR_syntax_base___MMSrcLocalClass___init SFT_syntax_base[19]
 #define COLOR_syntax_base___MMGlobalProperty___check_visibility SFT_syntax_base[20]
-#define ID_MMSrcLocalProperty SFT_syntax_base[21]
-#define COLOR_MMSrcLocalProperty SFT_syntax_base[22]
-#define COLOR_syntax_base___MMSrcLocalProperty____node SFT_syntax_base[23]
-#define INIT_TABLE_POS_MMSrcLocalProperty SFT_syntax_base[24]
-#define COLOR_syntax_base___MMSrcLocalProperty___node SFT_syntax_base[25]
-#define ID_MMSrcAttribute SFT_syntax_base[26]
-#define COLOR_MMSrcAttribute SFT_syntax_base[27]
-#define INIT_TABLE_POS_MMSrcAttribute SFT_syntax_base[28]
-#define COLOR_syntax_base___MMSrcAttribute___init SFT_syntax_base[29]
-#define ID_MMSrcMethod SFT_syntax_base[30]
-#define COLOR_MMSrcMethod SFT_syntax_base[31]
-#define INIT_TABLE_POS_MMSrcMethod SFT_syntax_base[32]
-#define ID_MMAttrImplementationMethod SFT_syntax_base[33]
-#define COLOR_MMAttrImplementationMethod SFT_syntax_base[34]
-#define INIT_TABLE_POS_MMAttrImplementationMethod 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 INIT_TABLE_POS_MMMethSrcMethod SFT_syntax_base[46]
-#define COLOR_syntax_base___MMMethSrcMethod___init SFT_syntax_base[47]
-#define ID_MMSrcTypeProperty SFT_syntax_base[48]
-#define COLOR_MMSrcTypeProperty SFT_syntax_base[49]
+#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]
@@ -139,6 +137,15 @@ extern const int SFT_syntax_base[];
 #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 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);
@@ -176,14 +183,21 @@ val_t NEW_syntax_base___MMSrcLocalClass___init(val_t  param0, val_t  param1, val
 typedef val_t (* syntax_base___MMGlobalProperty___check_visibility_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
 val_t syntax_base___MMGlobalProperty___check_visibility(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
 #define LOCATE_syntax_base___MMGlobalProperty___check_visibility "syntax_base::MMGlobalProperty::check_visibility"
-#define ATTR_syntax_base___MMSrcLocalProperty____node(recv) ATTR(recv, COLOR_syntax_base___MMSrcLocalProperty____node)
-typedef val_t (* syntax_base___MMSrcLocalProperty___node_t)(val_t  self);
-val_t syntax_base___MMSrcLocalProperty___node(val_t  self);
-#define LOCATE_syntax_base___MMSrcLocalProperty___node "syntax_base::MMSrcLocalProperty::node"
+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"
+#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);
+#define LOCATE_syntax_base___MMSrcAttribute___node "syntax_base::MMSrcAttribute::(syntax_base::MMLocalProperty::node)"
 typedef void (* syntax_base___MMSrcAttribute___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 void syntax_base___MMSrcAttribute___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 val_t NEW_syntax_base___MMSrcAttribute___init(val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_syntax_base___MMSrcAttribute___init "syntax_base::MMSrcAttribute::init"
+#define ATTR_syntax_base___MMAttrImplementationMethod____node(recv) ATTR(recv, COLOR_syntax_base___MMAttrImplementationMethod____node)
+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___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);
@@ -192,10 +206,18 @@ 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"
+#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);
+#define LOCATE_syntax_base___MMMethSrcMethod___node "syntax_base::MMMethSrcMethod::(syntax_base::MMLocalProperty::node)"
 typedef void (* syntax_base___MMMethSrcMethod___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 void syntax_base___MMMethSrcMethod___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 val_t NEW_syntax_base___MMMethSrcMethod___init(val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_syntax_base___MMMethSrcMethod___init "syntax_base::MMMethSrcMethod::init"
+#define ATTR_syntax_base___MMSrcTypeProperty____node(recv) ATTR(recv, COLOR_syntax_base___MMSrcTypeProperty____node)
+typedef val_t (* syntax_base___MMSrcTypeProperty___node_t)(val_t  self);
+val_t syntax_base___MMSrcTypeProperty___node(val_t  self);
+#define LOCATE_syntax_base___MMSrcTypeProperty___node "syntax_base::MMSrcTypeProperty::(syntax_base::MMLocalProperty::node)"
 typedef void (* syntax_base___MMSrcTypeProperty___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 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);
@@ -215,6 +237,9 @@ val_t syntax_base___Variable___stype(val_t  self);
 typedef void (* syntax_base___Variable___stype__eq_t)(val_t  self, val_t  param0);
 void syntax_base___Variable___stype__eq(val_t  self, val_t  param0);
 #define LOCATE_syntax_base___Variable___stype__eq "syntax_base::Variable::stype="
+typedef val_t (* syntax_base___Variable___to_s_t)(val_t  self);
+val_t syntax_base___Variable___to_s(val_t  self);
+#define LOCATE_syntax_base___Variable___to_s "syntax_base::Variable::(string::Object::to_s)"
 typedef void (* syntax_base___Variable___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
 void syntax_base___Variable___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
 val_t NEW_syntax_base___Variable___init(val_t  param0, val_t  param1);
@@ -347,4 +372,25 @@ void syntax_base___AType___check_conform(val_t  self, val_t  param0);
 typedef val_t (* syntax_base___PExpr___stype_t)(val_t  self);
 val_t syntax_base___PExpr___stype(val_t  self);
 #define LOCATE_syntax_base___PExpr___stype "syntax_base::PExpr::stype"
+#define ATTR_syntax_base___AVardeclExpr____variable(recv) ATTR(recv, COLOR_syntax_base___AVardeclExpr____variable)
+typedef val_t (* syntax_base___AVardeclExpr___variable_t)(val_t  self);
+val_t syntax_base___AVardeclExpr___variable(val_t  self);
+#define LOCATE_syntax_base___AVardeclExpr___variable "syntax_base::AVardeclExpr::variable"
+typedef void (* syntax_base___AVardeclExpr___variable__eq_t)(val_t  self, val_t  param0);
+void syntax_base___AVardeclExpr___variable__eq(val_t  self, val_t  param0);
+#define LOCATE_syntax_base___AVardeclExpr___variable__eq "syntax_base::AVardeclExpr::variable="
+#define ATTR_syntax_base___AForVardeclExpr____variable(recv) ATTR(recv, COLOR_syntax_base___AForVardeclExpr____variable)
+typedef val_t (* syntax_base___AForVardeclExpr___variable_t)(val_t  self);
+val_t syntax_base___AForVardeclExpr___variable(val_t  self);
+#define LOCATE_syntax_base___AForVardeclExpr___variable "syntax_base::AForVardeclExpr::variable"
+typedef void (* syntax_base___AForVardeclExpr___variable__eq_t)(val_t  self, val_t  param0);
+void syntax_base___AForVardeclExpr___variable__eq(val_t  self, val_t  param0);
+#define LOCATE_syntax_base___AForVardeclExpr___variable__eq "syntax_base::AForVardeclExpr::variable="
+#define ATTR_syntax_base___AVarFormExpr____variable(recv) ATTR(recv, COLOR_syntax_base___AVarFormExpr____variable)
+typedef val_t (* syntax_base___AVarFormExpr___variable_t)(val_t  self);
+val_t syntax_base___AVarFormExpr___variable(val_t  self);
+#define LOCATE_syntax_base___AVarFormExpr___variable "syntax_base::AVarFormExpr::variable"
+typedef void (* syntax_base___AVarFormExpr___variable__eq_t)(val_t  self, val_t  param0);
+void syntax_base___AVarFormExpr___variable__eq(val_t  self, val_t  param0);
+#define LOCATE_syntax_base___AVarFormExpr___variable__eq "syntax_base::AVarFormExpr::variable="
 #endif
index 787cd6d..0558ef9 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module time. */
 #include "time._sep.h"
 val_t time___Object___get_time(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_time___Object___get_time, 18};
+  struct trace_t trace = {NULL, LOCATE_time, 18, LOCATE_time___Object___get_time};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return TAG_Int(kernel_Any_Any_get_time_0( self));
index 77a7dea..bbf84a5 100644 (file)
@@ -1,10 +1,10 @@
 /* This C header file is generated by NIT to compile modules and programs that requires time. */
-#ifndef time_3_sep
-#define time_3_sep
+#ifndef time_2_sep
+#define time_2_sep
 #include "kernel._sep.h"
 #include <nit_common.h>
 #include <time_nit.h>
-#define LOCATE_time "time"
+#define LOCATE_time "./../lib/standard//time.nit"
 extern const int SFT_time[];
 #define COLOR_time___Object___get_time SFT_time[0]
 typedef val_t (* time___Object___get_time_t)(val_t  self);
index 4c5080e..ff4f209 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module type_formal. */
 #include "type_formal._sep.h"
 val_t type_formal___MMType___direct_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMType___direct_type, 24};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 24, LOCATE_type_formal___MMType___direct_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  self;
@@ -11,29 +11,29 @@ val_t type_formal___MMType___direct_type(val_t  self) {
   return variable0;
 }
 val_t type_formal___MMTypeFormal___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___name, 31};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 31, LOCATE_type_formal___MMTypeFormal___name};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/;
 }
 val_t type_formal___MMTypeFormal___bound(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___bound, 34};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 34, LOCATE_type_formal___MMTypeFormal___bound};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
 }
 val_t type_formal___MMTypeFormal_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal_____l, 37};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 37, LOCATE_type_formal___MMTypeFormal_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ ==  NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ ==  NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   variable2 = variable1;
   if (UNTAG_Bool(variable2)) { /* and */
-    variable2 = TAG_Bool(( variable0 /*t*/ ==  self) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  self) /*MMType::==*/)))));
+    variable2 = TAG_Bool(( variable0 /*t*/ ==  self) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/,  self) /*Object::==*/)))));
     variable3 = variable2;
     if (!UNTAG_Bool(variable3)) { /* or */
       variable3 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
@@ -48,7 +48,7 @@ val_t type_formal___MMTypeFormal_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t type_formal___MMTypeFormal___is_supertype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___is_supertype, 38};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 38, LOCATE_type_formal___MMTypeFormal___is_supertype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -61,7 +61,7 @@ val_t type_formal___MMTypeFormal___is_supertype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t type_formal___MMTypeFormal___direct_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___direct_type, 39};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 39, LOCATE_type_formal___MMTypeFormal___direct_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
@@ -72,11 +72,11 @@ val_t type_formal___MMTypeFormal___direct_type(val_t  self) {
   return variable0;
 }
 val_t type_formal___MMTypeFormal___local_class(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___local_class, 40};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 40, LOCATE_type_formal___MMTypeFormal___local_class};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
-  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*/) /*MMType::==*/)))));
+  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 =  NIT_NULL /*null*/;
     goto return_label4;
@@ -88,38 +88,19 @@ val_t type_formal___MMTypeFormal___local_class(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-val_t type_formal___MMTypeFormal___select_property(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___select_property, 46};
-  val_t variable0;
-  val_t variable1;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = TAG_Bool(( variable0 /*g*/ ==  NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/,  NIT_NULL /*null*/) /*MMGlobalProperty::==*/)))));
-  if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 =  NIT_NULL /*null*/;
-    goto return_label5;
-  } else { /*if*/
-    variable1 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
-    variable1 = ((static_type___MMType___select_property_t)CALL(variable1,COLOR_static_type___MMType___select_property))(variable1,  variable0 /*g*/) /*MMType::select_property*/;
-    goto return_label5;
-  }
-  return_label5: while(false);
-  tracehead = trace.prev;
-  return variable1;
-}
 val_t type_formal___MMTypeFormal___to_s(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___to_s, 55};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 46, LOCATE_type_formal___MMTypeFormal___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/;
   variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
-  goto return_label6;
-  return_label6: while(false);
+  goto return_label5;
+  return_label5: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void type_formal___MMTypeFormal___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_type_formal___MMTypeFormal___init, 57};
+  struct trace_t trace = {NULL, LOCATE_type_formal, 48, LOCATE_type_formal___MMTypeFormal___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
index 85e97ae..4f5fd83 100644 (file)
@@ -1,11 +1,11 @@
 /* This C header file is generated by NIT to compile modules and programs that requires type_formal. */
-#ifndef type_formal_3_sep
-#define type_formal_3_sep
+#ifndef type_formal_2_sep
+#define type_formal_2_sep
 #include "inheritance._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_MMTypeFormal[];
-#define LOCATE_type_formal "type_formal"
+#define LOCATE_type_formal "./metamodel//type_formal.nit"
 extern const int SFT_type_formal[];
 #define COLOR_type_formal___MMType___direct_type SFT_type_formal[0]
 #define ID_MMTypeFormal SFT_type_formal[1]
@@ -39,9 +39,6 @@ val_t type_formal___MMTypeFormal___direct_type(val_t  self);
 typedef val_t (* type_formal___MMTypeFormal___local_class_t)(val_t  self);
 val_t type_formal___MMTypeFormal___local_class(val_t  self);
 #define LOCATE_type_formal___MMTypeFormal___local_class "type_formal::MMTypeFormal::(static_type::MMType::local_class)"
-typedef val_t (* type_formal___MMTypeFormal___select_property_t)(val_t  self, val_t  param0);
-val_t type_formal___MMTypeFormal___select_property(val_t  self, val_t  param0);
-#define LOCATE_type_formal___MMTypeFormal___select_property "type_formal::MMTypeFormal::(static_type::MMType::select_property)"
 typedef val_t (* type_formal___MMTypeFormal___to_s_t)(val_t  self);
 val_t type_formal___MMTypeFormal___to_s(val_t  self);
 #define LOCATE_type_formal___MMTypeFormal___to_s "type_formal::MMTypeFormal::(string::Object::to_s)"
index 5072010..5c50e26 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module typing. */
 #include "typing._sep.h"
 void typing___MMSrcModule___do_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___MMSrcModule___do_typing, 23};
+  struct trace_t trace = {NULL, LOCATE_typing, 23, LOCATE_typing___MMSrcModule___do_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -15,12 +15,12 @@ void typing___MMSrcModule___do_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___TypingVisitor___visit(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___visit, 39};
+  struct trace_t trace = {NULL, LOCATE_typing, 39, LOCATE_typing___TypingVisitor___visit};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   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*/) /*PNode::==*/)))))));
+  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*/
     ((typing___PNode___accept_typing_t)CALL( variable0 /*n*/,COLOR_typing___PNode___accept_typing))( variable0 /*n*/,  self) /*PNode::accept_typing*/;
   }
@@ -28,72 +28,72 @@ void typing___TypingVisitor___visit(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___TypingVisitor___variable_ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___variable_ctx, 44};
+  struct trace_t trace = {NULL, LOCATE_typing, 44, LOCATE_typing___TypingVisitor___variable_ctx};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____variable_ctx( self) /*TypingVisitor::_variable_ctx*/;
 }
 void typing___TypingVisitor___variable_ctx__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___variable_ctx__eq, 44};
+  struct trace_t trace = {NULL, LOCATE_typing, 44, LOCATE_typing___TypingVisitor___variable_ctx__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_typing___TypingVisitor____variable_ctx( self) /*TypingVisitor::_variable_ctx*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___self_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___self_type, 47};
+  struct trace_t trace = {NULL, LOCATE_typing, 47, LOCATE_typing___TypingVisitor___self_type};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____self_type( self) /*TypingVisitor::_self_type*/;
 }
 void typing___TypingVisitor___self_type__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___self_type__eq, 47};
+  struct trace_t trace = {NULL, LOCATE_typing, 47, LOCATE_typing___TypingVisitor___self_type__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_typing___TypingVisitor____self_type( self) /*TypingVisitor::_self_type*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___top_block(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___top_block, 50};
+  struct trace_t trace = {NULL, LOCATE_typing, 50, LOCATE_typing___TypingVisitor___top_block};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____top_block( self) /*TypingVisitor::_top_block*/;
 }
 void typing___TypingVisitor___top_block__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___top_block__eq, 50};
+  struct trace_t trace = {NULL, LOCATE_typing, 50, LOCATE_typing___TypingVisitor___top_block__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_typing___TypingVisitor____top_block( self) /*TypingVisitor::_top_block*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___explicit_super_init_calls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___explicit_super_init_calls, 53};
+  struct trace_t trace = {NULL, LOCATE_typing, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____explicit_super_init_calls( self) /*TypingVisitor::_explicit_super_init_calls*/;
 }
 void typing___TypingVisitor___explicit_super_init_calls__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq, 53};
+  struct trace_t trace = {NULL, LOCATE_typing, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_typing___TypingVisitor____explicit_super_init_calls( self) /*TypingVisitor::_explicit_super_init_calls*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t typing___TypingVisitor___explicit_other_init_call(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___explicit_other_init_call, 56};
+  struct trace_t trace = {NULL, LOCATE_typing, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___TypingVisitor____explicit_other_init_call( self) /*TypingVisitor::_explicit_other_init_call*/;
 }
 void typing___TypingVisitor___explicit_other_init_call__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___explicit_other_init_call__eq, 56};
+  struct trace_t trace = {NULL, LOCATE_typing, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_typing___TypingVisitor____explicit_other_init_call( self) /*TypingVisitor::_explicit_other_init_call*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void typing___TypingVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___init, 59};
+  struct trace_t trace = {NULL, LOCATE_typing, 59, LOCATE_typing___TypingVisitor___init};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -106,7 +106,7 @@ void typing___TypingVisitor___init(val_t  self, val_t  param0, val_t  param1, in
   return;
 }
 val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_typing___TypingVisitor___get_default_constructor_for, 61};
+  struct trace_t trace = {NULL, LOCATE_typing, 61, LOCATE_typing___TypingVisitor___get_default_constructor_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -129,15 +129,15 @@ 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[MMMethod]*/
+  variable5 = NEW_array___Array___init(); /*new Array[E]*/
   variable4 = variable5;
-  variable6 = NEW_array___Array___init(); /*new Array[MMMethod]*/
+  variable6 = NEW_array___Array___init(); /*new Array[E]*/
   variable5 = variable6;
-  variable7 = ((genericity___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMMethod::signature*/;
+  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*/;
   variable6 = variable7;
   variable7 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable1 /*c*/) /*MMLocalClass::global_properties*/;
-  variable7 = ((abstract_collection___Collection___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*Set::iterator*/;
+  variable7 = ((abstract_collection___Collection___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*Collection::iterator*/;
   while (true) { /*for*/
     variable8 = ((abstract_collection___Iterator___is_ok_t)CALL(variable7,COLOR_abstract_collection___Iterator___is_ok))(variable7) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable8)) break; /*for*/
@@ -147,78 +147,66 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
       goto continue_4;
     }
     variable9 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable8 /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable8 /*g*/) /*MMGlobalProperty::intro*/;
-    variable9 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable9,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable9) /*MMConcreteProperty::local_class*/;
-    variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable9 ==  variable1 /*c*/) || ((variable9 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable9, variable1 /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))(variable9,  variable1 /*c*/) /*MMLocalClass::==*/)))))));
+    variable9 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable9,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable9) /*MMLocalProperty::local_class*/;
+    variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable9 ==  variable1 /*c*/) || ((variable9 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable9, variable1 /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable9,COLOR_kernel___Object_____eqeq))(variable9,  variable1 /*c*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable9)) { /*if*/
       goto continue_4;
     }
     variable10 = ((inheritance___MMLocalClass_____bra_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable1 /*c*/,  variable8 /*g*/) /*MMLocalClass::[]*/;
     variable9 = variable10;
-    variable10 = TAG_Bool(( variable9 /*gp*/==NIT_NULL) || VAL_ISA( variable9 /*gp*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
-    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___TypingVisitor___get_default_constructor_for, 73); nit_exit(1);}
-    variable11 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable8 /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable8 /*g*/) /*MMGlobalProperty::intro*/;
-    variable11 = ((genericity___MMLocalProperty___signature_t)CALL(variable11,COLOR_static_type___MMLocalProperty___signature))(variable11) /*MMConcreteProperty::signature*/;
+    variable10 = TAG_Bool(( variable9 /*gp*/==NIT_NULL) || VAL_ISA( variable9 /*gp*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
+    if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___TypingVisitor___get_default_constructor_for, LOCATE_typing, 73); nit_exit(1);}
+    variable11 = ((static_type___MMLocalProperty___signature_t)CALL( variable9 /*gp*/,COLOR_static_type___MMLocalProperty___signature))( variable9 /*gp*/) /*MMLocalProperty::signature*/;
     variable11 = ((static_type___MMSignature___arity_t)CALL(variable11,COLOR_static_type___MMSignature___arity))(variable11) /*MMSignature::arity*/;
     variable10 = variable11;
-    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*/) /*MMMethod::==*/)))))));
+    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) /*MMConcreteProperty::name*/;
-      variable13 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable2 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable2 /*prop*/) /*MMMethod::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) /*Symbol::==*/)))));
+      variable12 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable12,COLOR_abstractmetamodel___MMLocalProperty___name))(variable12) /*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::==*/)))));
     }
     variable11 = variable12;
     if (UNTAG_Bool(variable11)) { /*if*/
       variable11 = TAG_Bool(( variable10 /*garity*/)==( TAG_Int(0)));
       variable12 = variable11;
       if (!UNTAG_Bool(variable12)) { /* or */
-        variable12 = TAG_Bool(( variable10 /*garity*/)==( variable6 /*parity*/));
+        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::<*/;
       }
       variable11 = variable12;
       if (UNTAG_Bool(variable11)) { /*if*/
         variable3 =  variable9 /*gp*/;
         goto return_label3;
       } else { /*if*/
-        ((array___AbstractArray___add_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*false_candidates*/,  variable9 /*gp*/) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*false_candidates*/,  variable9 /*gp*/) /*AbstractArray::add*/;
       }
     } else { /*if*/
       variable11 = TAG_Bool(( variable10 /*garity*/)==( TAG_Int(0)));
       if (UNTAG_Bool(variable11)) { /*if*/
-        ((array___AbstractArray___add_t)CALL( variable4 /*candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*candidates*/,  variable9 /*gp*/) /*Array::add*/;
-        ((array___AbstractArray___add_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*false_candidates*/,  variable9 /*gp*/) /*Array::add*/;
+        ((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*/;
       } else { /*if*/
-        ((array___AbstractArray___add_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*false_candidates*/,  variable9 /*gp*/) /*Array::add*/;
+        ((array___AbstractArray___add_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*false_candidates*/,  variable9 /*gp*/) /*AbstractArray::add*/;
       }
     }
     continue_4: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*Iterator::next*/;
   }
   break_4: while(0);
-  variable7 = ((array___AbstractArray___length_t)CALL( variable4 /*candidates*/,COLOR_abstract_collection___Collection___length))( variable4 /*candidates*/) /*Array::length*/;
+  variable7 = ((array___AbstractArray___length_t)CALL( variable4 /*candidates*/,COLOR_abstract_collection___Collection___length))( variable4 /*candidates*/) /*AbstractArray::length*/;
   variable7 = TAG_Bool((variable7)==( TAG_Int(1)));
   if (UNTAG_Bool(variable7)) { /*if*/
-    variable7 = ((abstract_collection___IndexedCollection___first_t)CALL( variable4 /*candidates*/,COLOR_abstract_collection___Collection___first))( variable4 /*candidates*/) /*Array::first*/;
+    variable7 = ((abstract_collection___IndexedCollection___first_t)CALL( variable4 /*candidates*/,COLOR_abstract_collection___Collection___first))( variable4 /*candidates*/) /*IndexedCollection::first*/;
     variable3 = variable7;
     goto return_label3;
   } else { /*if*/
-    variable7 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*false_candidates*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*false_candidates*/) /*Array::is_empty*/;
+    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("Fatal error: there is no available constrctor in "), TAG_Int(49)); /*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*/
-      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) /*TypingVisitor::warning*/;
-      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: 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*/;
@@ -229,15 +217,47 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
       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 = ((string___Collection___join_t)CALL( variable5 /*false_candidates*/,COLOR_string___Collection___join))( variable5 /*false_candidates*/, variable13) /*Array::join*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((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 = ((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*/
+        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*/
+        variable12 = variable11;
+        ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*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*/
+        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*/
+        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*/;
+        variable3 =  NIT_NULL /*null*/;
+        goto return_label3;
+      }
     }
   }
   return_label3: while(false);
@@ -245,7 +265,7 @@ val_t typing___TypingVisitor___get_default_constructor_for(val_t  self, val_t  p
   return variable3;
 }
 val_t typing___VariableContext_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___VariableContext_____bra, 104};
+  struct trace_t trace = {NULL, LOCATE_typing, 106, LOCATE_typing___VariableContext_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -265,7 +285,7 @@ val_t typing___VariableContext_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void typing___VariableContext___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___VariableContext___add, 115};
+  struct trace_t trace = {NULL, LOCATE_typing, 117, LOCATE_typing___VariableContext___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -278,7 +298,7 @@ void typing___VariableContext___add(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___VariableContext___stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___VariableContext___stype, 122};
+  struct trace_t trace = {NULL, LOCATE_typing, 124, LOCATE_typing___VariableContext___stype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -290,7 +310,7 @@ val_t typing___VariableContext___stype(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___VariableContext___sub(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___VariableContext___sub, 132};
+  struct trace_t trace = {NULL, LOCATE_typing, 134, LOCATE_typing___VariableContext___sub};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = NEW_typing___SubVariableContext___with( self,  NIT_NULL /*null*/,  NIT_NULL /*null*/); /*new SubVariableContext*/
@@ -300,7 +320,7 @@ val_t typing___VariableContext___sub(val_t  self) {
   return variable0;
 }
 val_t typing___VariableContext___sub_with(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_typing___VariableContext___sub_with, 138};
+  struct trace_t trace = {NULL, LOCATE_typing, 140, LOCATE_typing___VariableContext___sub_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -314,32 +334,32 @@ val_t typing___VariableContext___sub_with(val_t  self, val_t  param0, val_t  par
   return variable2;
 }
 void typing___VariableContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_typing___VariableContext___init, 144};
+  struct trace_t trace = {NULL, LOCATE_typing, 146, LOCATE_typing___VariableContext___init};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_VariableContext].i]) return;
-  variable0 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, Variable]*/
+  variable0 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/ = variable0;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_VariableContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
 val_t typing___SubVariableContext___prev(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___SubVariableContext___prev, 152};
+  struct trace_t trace = {NULL, LOCATE_typing, 154, LOCATE_typing___SubVariableContext___prev};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___SubVariableContext____prev( self) /*SubVariableContext::_prev*/;
 }
 val_t typing___SubVariableContext_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___SubVariableContext_____bra, 156};
+  struct trace_t trace = {NULL, LOCATE_typing, 158, LOCATE_typing___SubVariableContext_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ATTR_typing___VariableContext____dico( self) /*SubVariableContext::_dico*/;
+  variable1 = ATTR_typing___VariableContext____dico( self) /*VariableContext::_dico*/;
   variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*s*/) /*Map::has_key*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ATTR_typing___VariableContext____dico( self) /*SubVariableContext::_dico*/;
+    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;
   } else { /*if*/
@@ -352,13 +372,13 @@ val_t typing___SubVariableContext_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___SubVariableContext___stype(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___SubVariableContext___stype, 165};
+  struct trace_t trace = {NULL, LOCATE_typing, 167, LOCATE_typing___SubVariableContext___stype};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_typing___SubVariableContext____variable( self) /*SubVariableContext::_variable*/;
-  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*/) /*Variable::==*/)))));
+  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;
@@ -371,7 +391,7 @@ val_t typing___SubVariableContext___stype(val_t  self, val_t  param0) {
   return variable1;
 }
 void typing___SubVariableContext___with(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_typing___SubVariableContext___with, 173};
+  struct trace_t trace = {NULL, LOCATE_typing, 175, LOCATE_typing___SubVariableContext___with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -380,7 +400,7 @@ void typing___SubVariableContext___with(val_t  self, val_t  param0, val_t  param
   variable1 =  param1;
   variable2 =  param2;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SubVariableContext].i]) return;
-  ((typing___VariableContext___init_t)CALL( self,COLOR_typing___VariableContext___init))( self, init_table /*YYY*/) /*SubVariableContext::init*/;
+  ((typing___VariableContext___init_t)CALL( self,COLOR_typing___VariableContext___init))( self, init_table /*YYY*/) /*VariableContext::init*/;
   ATTR_typing___SubVariableContext____prev( self) /*SubVariableContext::_prev*/ =  variable0 /*p*/;
   ATTR_typing___SubVariableContext____variable( self) /*SubVariableContext::_variable*/ =  variable1 /*v*/;
   ATTR_typing___SubVariableContext____var_type( self) /*SubVariableContext::_var_type*/ =  variable2 /*t*/;
@@ -389,7 +409,7 @@ void typing___SubVariableContext___with(val_t  self, val_t  param0, val_t  param
   return;
 }
 void typing___PNode___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___PNode___accept_typing, 186};
+  struct trace_t trace = {NULL, LOCATE_typing, 188, LOCATE_typing___PNode___accept_typing};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -399,7 +419,7 @@ void typing___PNode___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___PNode___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___PNode___after_typing, 191};
+  struct trace_t trace = {NULL, LOCATE_typing, 193, LOCATE_typing___PNode___after_typing};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -407,20 +427,20 @@ void typing___PNode___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___PClassdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___PClassdef___accept_typing, 195};
+  struct trace_t trace = {NULL, LOCATE_typing, 197, LOCATE_typing___PClassdef___accept_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((syntax_base___PClassdef___local_class_t)CALL( self,COLOR_syntax_base___PClassdef___local_class))( self) /*PClassdef::local_class*/;
-  variable1 = ((genericity___MMLocalClass___get_type_t)CALL(variable1,COLOR_static_type___MMLocalClass___get_type))(variable1) /*MMSrcLocalClass::get_type*/;
+  variable1 = ((genericity___MMLocalClass___get_type_t)CALL(variable1,COLOR_static_type___MMLocalClass___get_type))(variable1) /*MMLocalClass::get_type*/;
   ((typing___TypingVisitor___self_type__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type__eq))( variable0 /*v*/, variable1) /*TypingVisitor::self_type=*/;
   ((typing___PClassdef___accept_typing_t)CALL( self,COLOR_SUPER_typing___PClassdef___accept_typing))( self,  param0) /*super PClassdef::accept_typing*/;
   tracehead = trace.prev;
   return;
 }
 void typing___AAttrPropdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAttrPropdef___accept_typing, 203};
+  struct trace_t trace = {NULL, LOCATE_typing, 205, LOCATE_typing___AAttrPropdef___accept_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -429,21 +449,21 @@ void typing___AAttrPropdef___accept_typing(val_t  self, val_t  param0) {
   variable0 =  param0;
   ((typing___AAttrPropdef___accept_typing_t)CALL( self,COLOR_SUPER_typing___AAttrPropdef___accept_typing))( self,  param0) /*super AAttrPropdef::accept_typing*/;
   variable1 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_expr))( self) /*AAttrPropdef::n_expr*/;
-  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*/) /*PExpr::==*/)))))));
+  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 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_expr))( self) /*AAttrPropdef::n_expr*/;
     variable2 = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrPropdef___n_expr))( self) /*AAttrPropdef::n_expr*/;
     variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
     variable3 = ((syntax_base___AAttrPropdef___prop_t)CALL( self,COLOR_syntax_base___AAttrPropdef___prop))( self) /*AAttrPropdef::prop*/;
-    variable3 = ((genericity___MMLocalProperty___signature_t)CALL(variable3,COLOR_static_type___MMLocalProperty___signature))(variable3) /*MMSrcAttribute::signature*/;
+    variable3 = ((static_type___MMLocalProperty___signature_t)CALL(variable3,COLOR_static_type___MMLocalProperty___signature))(variable3) /*MMLocalProperty::signature*/;
     variable3 = ((static_type___MMSignature___return_type_t)CALL(variable3,COLOR_static_type___MMSignature___return_type))(variable3) /*MMSignature::return_type*/;
-    ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/, variable1, variable2, variable3) /*TypingVisitor::check_conform*/;
+    ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/, variable1, variable2, variable3) /*AbsSyntaxVisitor::check_conform*/;
   }
   tracehead = trace.prev;
   return;
 }
 void typing___AMethPropdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AMethPropdef___accept_typing, 213};
+  struct trace_t trace = {NULL, LOCATE_typing, 215, LOCATE_typing___AMethPropdef___accept_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -455,19 +475,19 @@ void typing___AMethPropdef___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___AConcreteInitPropdef___super_init_calls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AConcreteInitPropdef___super_init_calls, 221};
+  struct trace_t trace = {NULL, LOCATE_typing, 223, LOCATE_typing___AConcreteInitPropdef___super_init_calls};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___AConcreteInitPropdef____super_init_calls( self) /*AConcreteInitPropdef::_super_init_calls*/;
 }
 val_t typing___AConcreteInitPropdef___explicit_super_init_calls(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AConcreteInitPropdef___explicit_super_init_calls, 222};
+  struct trace_t trace = {NULL, LOCATE_typing, 224, LOCATE_typing___AConcreteInitPropdef___explicit_super_init_calls};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls( self) /*AConcreteInitPropdef::_explicit_super_init_calls*/;
 }
 void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AConcreteInitPropdef___accept_typing, 223};
+  struct trace_t trace = {NULL, LOCATE_typing, 225, LOCATE_typing___AConcreteInitPropdef___accept_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -481,7 +501,7 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
       val_t variable10;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteInitPropdef::n_block*/;
+  variable1 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
   ((typing___TypingVisitor___top_block__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___top_block__eq))( variable0 /*v*/, variable1) /*TypingVisitor::top_block=*/;
   variable1 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( self) /*AConcreteInitPropdef::explicit_super_init_calls*/;
   ((typing___TypingVisitor___explicit_super_init_calls__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls__eq))( variable0 /*v*/, variable1) /*TypingVisitor::explicit_super_init_calls=*/;
@@ -492,10 +512,10 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
   } else { /*if*/
     variable1 =  TAG_Int(0);
     variable3 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( self) /*AConcreteInitPropdef::explicit_super_init_calls*/;
-    variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*AbstractArray::length*/;
     variable2 = variable3;
-    variable3 = NIT_NULL /*decl variable cur_m*/;
-    variable4 = NIT_NULL /*decl variable cur_c*/;
+    variable3 =  NIT_NULL /*null*/;
+    variable4 =  NIT_NULL /*null*/;
     variable5 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l*/));
     if (UNTAG_Bool(variable5)) { /*if*/
       variable5 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( self) /*AConcreteInitPropdef::explicit_super_init_calls*/;
@@ -504,11 +524,11 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
       variable8 = variable7;
       if (UNTAG_Bool(variable8)) { /* and */
         variable8 = variable5;
-        variable8 = ATTR_array___AbstractArray____length(variable8) /*Array::_length*/;
+        variable8 = ATTR_array___AbstractArray____length(variable8) /*AbstractArray::_length*/;
         variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
       }
       variable7 = variable8;
-      if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_typing, 229); nit_exit(1);}
       variable7 = variable5;
       variable7 = ATTR_array___Array____items(variable7) /*Array::_items*/;
       variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
@@ -516,32 +536,32 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
       return_label20: while(false);
       variable5 = variable7;
       variable3 = variable5 /*cur_m=*/;
-      variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*cur_m*/) /*MMMethod::global*/;
+      variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*cur_m*/) /*MMLocalProperty::global*/;
       variable5 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable5) /*MMGlobalProperty::intro*/;
-      variable5 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable5) /*MMConcreteProperty::local_class*/;
+      variable5 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable5) /*MMLocalProperty::local_class*/;
       variable4 = variable5 /*cur_c=*/;
     }
     variable5 =  TAG_Int(0);
     while (true) { /*while*/
-      variable6 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*TypingVisitor::local_class*/;
-      variable6 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable6) /*MMSrcLocalClass::cshe*/;
+      variable6 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+      variable6 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable6) /*MMLocalClass::cshe*/;
       variable6 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable6,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable6) /*PartialOrderElement::direct_greaters*/;
-      variable6 = ((array___AbstractArray___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*Array::length*/;
+      variable6 = ((array___AbstractArray___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*AbstractArray::length*/;
       variable6 = TAG_Bool(UNTAG_Int( variable5 /*j*/)<UNTAG_Int(variable6));
       if (!UNTAG_Bool(variable6)) break; /* while*/
-      variable7 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*TypingVisitor::local_class*/;
-      variable7 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable7) /*MMSrcLocalClass::cshe*/;
+      variable7 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+      variable7 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable7) /*MMLocalClass::cshe*/;
       variable7 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable7,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable7) /*PartialOrderElement::direct_greaters*/;
       variable8 =  variable5 /*j*/;
       variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
       variable10 = variable9;
       if (UNTAG_Bool(variable10)) { /* and */
         variable10 = variable7;
-        variable10 = ATTR_array___AbstractArray____length(variable10) /*Array::_length*/;
+        variable10 = ATTR_array___AbstractArray____length(variable10) /*AbstractArray::_length*/;
         variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
       }
       variable9 = variable10;
-      if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
+      if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_typing, 229); nit_exit(1);}
       variable9 = variable7;
       variable9 = ATTR_array___Array____items(variable9) /*Array::_items*/;
       variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
@@ -549,59 +569,71 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
       return_label22: while(false);
       variable7 = variable9;
       variable6 = variable7;
-      variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*cur_c*/ ==  NIT_NULL /*null*/) || (( variable4 /*cur_c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*cur_c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*cur_c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*cur_c*/,COLOR_kernel___Object_____eqeq))( variable4 /*cur_c*/,  NIT_NULL /*null*/) /*MMLocalClass::==*/)))))));
+      variable7 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable6 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable6 /*c*/) /*MMLocalClass::global*/;
+      variable7 = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL(variable7,COLOR_abstractmetamodel___MMGlobalClass___is_interface))(variable7) /*MMGlobalClass::is_interface*/;
       variable8 = variable7;
-      if (UNTAG_Bool(variable8)) { /* and */
-        variable8 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable6 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable6 /*c*/) /*MMLocalClass::cshe*/;
-        variable8 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable8,COLOR_partial_order___PartialOrderElement_____leq))(variable8,  variable4 /*cur_c*/) /*PartialOrderElement::<=*/;
+      if (!UNTAG_Bool(variable8)) { /* or */
+        variable8 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable6 /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable6 /*c*/) /*MMLocalClass::global*/;
+        variable8 = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL(variable8,COLOR_abstractmetamodel___MMGlobalClass___is_universal))(variable8) /*MMGlobalClass::is_universal*/;
       }
       variable7 = variable8;
       if (UNTAG_Bool(variable7)) { /*if*/
-        variable7 = TAG_Bool(( variable6 /*c*/ ==  variable4 /*cur_c*/) || (( variable6 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*c*/, variable4 /*cur_c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*c*/,COLOR_kernel___Object_____eqeq))( variable6 /*c*/,  variable4 /*cur_c*/) /*MMLocalClass::==*/)))));
-        if (UNTAG_Bool(variable7)) { /*if*/
-          variable5 = TAG_Int(UNTAG_Int(variable5)+UNTAG_Int( TAG_Int(1))) /*j*/;
+        variable5 = TAG_Int(UNTAG_Int(variable5)+UNTAG_Int( TAG_Int(1))) /*j*/;
+      } else { /*if*/
+        variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*cur_c*/ ==  NIT_NULL /*null*/) || (( variable4 /*cur_c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*cur_c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*cur_c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*cur_c*/,COLOR_kernel___Object_____eqeq))( variable4 /*cur_c*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+        variable8 = variable7;
+        if (UNTAG_Bool(variable8)) { /* and */
+          variable8 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable6 /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable6 /*c*/) /*MMLocalClass::cshe*/;
+          variable8 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable8,COLOR_partial_order___PartialOrderElement_____leq))(variable8,  variable4 /*cur_c*/) /*PartialOrderElement::<=*/;
         }
-        variable7 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___super_init_calls))( self) /*AConcreteInitPropdef::super_init_calls*/;
-        ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable3 /*cur_m*/) /*Array::add*/;
-        variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*i*/;
-        variable7 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l*/));
+        variable7 = variable8;
         if (UNTAG_Bool(variable7)) { /*if*/
-          variable7 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( self) /*AConcreteInitPropdef::explicit_super_init_calls*/;
-          variable8 =  variable1 /*i*/;
-          variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-          variable10 = variable9;
-          if (UNTAG_Bool(variable10)) { /* and */
-            variable10 = variable7;
-            variable10 = ATTR_array___AbstractArray____length(variable10) /*Array::_length*/;
-            variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
+          variable7 = TAG_Bool(( variable6 /*c*/ ==  variable4 /*cur_c*/) || (( variable6 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*c*/, variable4 /*cur_c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*c*/,COLOR_kernel___Object_____eqeq))( variable6 /*c*/,  variable4 /*cur_c*/) /*Object::==*/)))));
+          if (UNTAG_Bool(variable7)) { /*if*/
+            variable5 = TAG_Int(UNTAG_Int(variable5)+UNTAG_Int( TAG_Int(1))) /*j*/;
+          }
+          variable7 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___super_init_calls))( self) /*AConcreteInitPropdef::super_init_calls*/;
+          ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7,  variable3 /*cur_m*/) /*AbstractArray::add*/;
+          variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*i*/;
+          variable7 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l*/));
+          if (UNTAG_Bool(variable7)) { /*if*/
+            variable7 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( self) /*AConcreteInitPropdef::explicit_super_init_calls*/;
+            variable8 =  variable1 /*i*/;
+            variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
+            variable10 = variable9;
+            if (UNTAG_Bool(variable10)) { /* and */
+              variable10 = variable7;
+              variable10 = ATTR_array___AbstractArray____length(variable10) /*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_typing, 229); nit_exit(1);}
+            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);
+            variable7 = variable9;
+            variable3 = variable7 /*cur_m=*/;
+            variable7 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*cur_m*/) /*MMLocalProperty::global*/;
+            variable7 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable7,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable7) /*MMGlobalProperty::intro*/;
+            variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable7) /*MMLocalProperty::local_class*/;
+            variable4 = variable7 /*cur_c=*/;
+          } else { /*if*/
+            variable3 =  NIT_NULL /*null*/ /*cur_m=*/;
+            variable4 =  NIT_NULL /*null*/ /*cur_c=*/;
           }
-          variable9 = variable10;
-          if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
-          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);
-          variable7 = variable9;
-          variable3 = variable7 /*cur_m=*/;
-          variable7 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*cur_m*/) /*MMMethod::global*/;
-          variable7 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable7,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable7) /*MMGlobalProperty::intro*/;
-          variable7 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable7) /*MMConcreteProperty::local_class*/;
-          variable4 = variable7 /*cur_c=*/;
         } else { /*if*/
-          variable3 =  NIT_NULL /*null*/ /*cur_m=*/;
-          variable4 =  NIT_NULL /*null*/ /*cur_c=*/;
-        }
-      } else { /*if*/
-        variable8 = ((syntax_base___AMethPropdef___method_t)CALL( self,COLOR_syntax_base___AMethPropdef___method))( self) /*AConcreteInitPropdef::method*/;
-        variable8 = ((typing___TypingVisitor___get_default_constructor_for_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___get_default_constructor_for))( variable0 /*v*/,  self,  variable6 /*c*/, variable8) /*TypingVisitor::get_default_constructor_for*/;
-        variable7 = variable8;
-        variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*p*/ ==  NIT_NULL /*null*/) || (( variable7 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*p*/,COLOR_kernel___Object_____eqeq))( variable7 /*p*/,  NIT_NULL /*null*/) /*MMMethod::==*/)))))));
-        if (UNTAG_Bool(variable8)) { /*if*/
-          variable8 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___super_init_calls))( self) /*AConcreteInitPropdef::super_init_calls*/;
-          ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*p*/) /*Array::add*/;
+          variable8 = ((syntax_base___AMethPropdef___method_t)CALL( self,COLOR_syntax_base___AMethPropdef___method))( self) /*AMethPropdef::method*/;
+          variable8 = ((typing___TypingVisitor___get_default_constructor_for_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___get_default_constructor_for))( variable0 /*v*/,  self,  variable6 /*c*/, variable8) /*TypingVisitor::get_default_constructor_for*/;
+          variable7 = variable8;
+          variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*p*/ ==  NIT_NULL /*null*/) || (( variable7 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*p*/,COLOR_kernel___Object_____eqeq))( variable7 /*p*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+          if (UNTAG_Bool(variable8)) { /*if*/
+            variable8 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( self,COLOR_typing___AConcreteInitPropdef___super_init_calls))( self) /*AConcreteInitPropdef::super_init_calls*/;
+            ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable7 /*p*/) /*AbstractArray::add*/;
+          }
+          variable5 = TAG_Int(UNTAG_Int(variable5)+UNTAG_Int( TAG_Int(1))) /*j*/;
         }
-        variable5 = TAG_Int(UNTAG_Int(variable5)+UNTAG_Int( TAG_Int(1))) /*j*/;
       }
       continue_21: while(0);
     }
@@ -611,14 +643,14 @@ void typing___AConcreteInitPropdef___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___PParam___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___PParam___after_typing, 267};
+  struct trace_t trace = {NULL, LOCATE_typing, 271, LOCATE_typing___PParam___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
-  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*/) /*VariableContext::==*/)))))));
+  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 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
     variable2 = ((syntax_base___PParam___variable_t)CALL( self,COLOR_syntax_base___PParam___variable))( self) /*PParam::variable*/;
@@ -628,13 +660,13 @@ void typing___PParam___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___PType___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___PType___stype, 276};
+  struct trace_t trace = {NULL, LOCATE_typing, 280, LOCATE_typing___PType___stype};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___PType____stype( self) /*PType::_stype*/;
 }
 void typing___PType___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___PType___after_typing, 277};
+  struct trace_t trace = {NULL, LOCATE_typing, 281, LOCATE_typing___PType___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
@@ -645,13 +677,13 @@ void typing___PType___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___PExpr___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___PExpr___stype, 284};
+  struct trace_t trace = {NULL, LOCATE_typing, 288, LOCATE_typing___PExpr___stype};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/;
 }
 val_t typing___PExpr___is_implicit_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___PExpr___is_implicit_self, 286};
+  struct trace_t trace = {NULL, LOCATE_typing, 290, LOCATE_typing___PExpr___is_implicit_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
@@ -661,7 +693,7 @@ val_t typing___PExpr___is_implicit_self(val_t  self) {
   return variable0;
 }
 val_t typing___PExpr___is_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___PExpr___is_self, 289};
+  struct trace_t trace = {NULL, LOCATE_typing, 293, LOCATE_typing___PExpr___is_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
@@ -671,7 +703,7 @@ val_t typing___PExpr___is_self(val_t  self) {
   return variable0;
 }
 val_t typing___PExpr___is_variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___PExpr___is_variable, 292};
+  struct trace_t trace = {NULL, LOCATE_typing, 296, LOCATE_typing___PExpr___is_variable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(false);
@@ -681,19 +713,13 @@ val_t typing___PExpr___is_variable(val_t  self) {
   return variable0;
 }
 val_t typing___PExpr___if_true_variable_ctx(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___PExpr___if_true_variable_ctx, 295};
+  struct trace_t trace = {NULL, LOCATE_typing, 299, LOCATE_typing___PExpr___if_true_variable_ctx};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___PExpr____if_true_variable_ctx( self) /*PExpr::_if_true_variable_ctx*/;
 }
-val_t typing___AVardeclExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVardeclExpr___variable, 300};
-  trace.prev = tracehead; tracehead = &trace;
-  tracehead = trace.prev;
-  return ATTR_typing___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/;
-}
 void typing___AVardeclExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVardeclExpr___after_typing, 303};
+  struct trace_t trace = {NULL, LOCATE_typing, 304, LOCATE_typing___AVardeclExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -701,26 +727,26 @@ void typing___AVardeclExpr___after_typing(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   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) /*TId::to_symbol*/;
+  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*/
   variable2 = variable3;
   variable1 = variable2;
-  ATTR_typing___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/ =  variable1 /*va*/;
+  ((syntax_base___AVardeclExpr___variable__eq_t)CALL( self,COLOR_syntax_base___AVardeclExpr___variable__eq))( self,  variable1 /*va*/) /*AVardeclExpr::variable=*/;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   ((typing___VariableContext___add_t)CALL(variable2,COLOR_typing___VariableContext___add))(variable2,  variable1 /*va*/) /*VariableContext::add*/;
   variable2 = ((parser_nodes___AVardeclExpr___n_type_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_type))( self) /*AVardeclExpr::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*/) /*PType::==*/)))))));
+  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___AVardeclExpr___n_type_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_type))( self) /*AVardeclExpr::n_type*/;
     variable2 = ((typing___PType___stype_t)CALL(variable2,COLOR_typing___PType___stype))(variable2) /*PType::stype*/;
     ((syntax_base___Variable___stype__eq_t)CALL( variable1 /*va*/,COLOR_syntax_base___Variable___stype__eq))( variable1 /*va*/, variable2) /*Variable::stype=*/;
     variable2 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
-    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*/) /*PExpr::==*/)))))));
+    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___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
       variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
       variable3 = ((syntax_base___Variable___stype_t)CALL( variable1 /*va*/,COLOR_syntax_base___Variable___stype))( variable1 /*va*/) /*Variable::stype*/;
-      ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*TypingVisitor::check_conform*/;
+      ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*AbsSyntaxVisitor::check_conform*/;
     }
   } else { /*if*/
     variable2 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
@@ -731,7 +757,7 @@ void typing___AVardeclExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___ABlockExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABlockExpr___accept_typing, 321};
+  struct trace_t trace = {NULL, LOCATE_typing, 322, LOCATE_typing___ABlockExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -748,50 +774,50 @@ void typing___ABlockExpr___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AReturnExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AReturnExpr___after_typing, 333};
+  struct trace_t trace = {NULL, LOCATE_typing, 334, LOCATE_typing___AReturnExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMSrcLocalProperty::signature*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+  variable2 = ((static_type___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMLocalProperty::signature*/;
   variable2 = ((static_type___MMSignature___return_type_t)CALL(variable2,COLOR_static_type___MMSignature___return_type))(variable2) /*MMSignature::return_type*/;
   variable1 = variable2;
   variable2 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
-  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*/) /*PExpr::==*/)))));
+  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::==*/)))));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
-    variable3 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   }
   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*/
-    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*TypingVisitor::error*/;
+    ((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*/;
-    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*/) /*PExpr::==*/)))))));
+    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::==*/)))))));
     variable3 = variable2;
     if (UNTAG_Bool(variable3)) { /* and */
-      variable3 = 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*/) /*MMType::==*/)))));
+      variable3 = 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::==*/)))));
     }
     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*/
-      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*TypingVisitor::error*/;
+      ((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*/;
-      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*/) /*PExpr::==*/)))))));
+      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::==*/)))))));
       variable3 = variable2;
       if (UNTAG_Bool(variable3)) { /* and */
-        variable3 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
+        variable3 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
       }
       variable2 = variable3;
       if (UNTAG_Bool(variable2)) { /*if*/
         variable2 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
         variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-        ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2,  variable1 /*t*/) /*TypingVisitor::check_conform*/;
+        ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2,  variable1 /*t*/) /*AbsSyntaxVisitor::check_conform*/;
       }
     }
   }
@@ -799,7 +825,7 @@ void typing___AReturnExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AIfExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AIfExpr___accept_typing, 347};
+  struct trace_t trace = {NULL, LOCATE_typing, 348, LOCATE_typing___AIfExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -812,11 +838,11 @@ void typing___AIfExpr___accept_typing(val_t  self, val_t  param0) {
   ((typing___TypingVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*TypingVisitor::visit*/;
   variable2 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*TypingVisitor::check_conform*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*AbsSyntaxVisitor::check_conform*/;
   variable2 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
   variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
-  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*/) /*VariableContext::==*/)))))));
+  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___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
     variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
@@ -826,7 +852,7 @@ void typing___AIfExpr___accept_typing(val_t  self, val_t  param0) {
   ((typing___TypingVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*TypingVisitor::visit*/;
   ((typing___TypingVisitor___variable_ctx__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq))( variable0 /*v*/,  variable1 /*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
   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*/) /*PExpr::==*/)))))));
+  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___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
     ((typing___TypingVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*TypingVisitor::visit*/;
@@ -836,7 +862,7 @@ void typing___AIfExpr___accept_typing(val_t  self, val_t  param0) {
   return;
 }
 void typing___AWhileExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AWhileExpr___after_typing, 369};
+  struct trace_t trace = {NULL, LOCATE_typing, 370, LOCATE_typing___AWhileExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -844,13 +870,13 @@ void typing___AWhileExpr___after_typing(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((parser_nodes___AWhileExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_expr))( self) /*AWhileExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*TypingVisitor::check_conform*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*AbsSyntaxVisitor::check_conform*/;
   tracehead = trace.prev;
   return;
 }
 void typing___AForExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AForExpr___after_typing, 376};
+  struct trace_t trace = {NULL, LOCATE_typing, 377, LOCATE_typing___AForExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -859,30 +885,24 @@ void typing___AForExpr___after_typing(val_t  self, val_t  param0) {
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*varctx*/==NIT_NULL) || VAL_ISA( variable1 /*varctx*/, COLOR_SubVariableContext, ID_SubVariableContext)) /*cast SubVariableContext*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___AForExpr___after_typing, 380); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___AForExpr___after_typing, LOCATE_typing, 381); nit_exit(1);}
   variable2 = ((typing___SubVariableContext___prev_t)CALL( variable1 /*varctx*/,COLOR_typing___SubVariableContext___prev))( variable1 /*varctx*/) /*SubVariableContext::prev*/;
   ((typing___TypingVisitor___variable_ctx__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq))( variable0 /*v*/, variable2) /*TypingVisitor::variable_ctx=*/;
   tracehead = trace.prev;
   return;
 }
-val_t typing___AForVardeclExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AForVardeclExpr___variable, 386};
-  trace.prev = tracehead; tracehead = &trace;
-  tracehead = trace.prev;
-  return ATTR_typing___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/;
-}
 void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AForVardeclExpr___after_typing, 389};
+  struct trace_t trace = {NULL, LOCATE_typing, 387, LOCATE_typing___AForVardeclExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
-  static val_t once_value_variable4_36; static int once_bool_variable4_36;
   val_t variable5;
+  static val_t once_value_variable5_36; static int once_bool_variable5_36;
   val_t variable6;
-  static val_t once_value_variable6_37; static int once_bool_variable6_37;
-    val_t variable7;
+  val_t variable7;
+  static val_t once_value_variable7_37; static int once_bool_variable7_37;
     val_t variable8;
     val_t variable9;
     val_t variable10;
@@ -893,49 +913,51 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
   variable1 = ((typing___VariableContext___sub_t)CALL(variable1,COLOR_typing___VariableContext___sub))(variable1) /*VariableContext::sub*/;
   ((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) /*TId::to_symbol*/;
+  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*/
   variable2 = variable3;
   variable1 = variable2;
-  ATTR_typing___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/ =  variable1 /*variable*/;
+  ((syntax_base___AForVardeclExpr___variable__eq_t)CALL( self,COLOR_syntax_base___AForVardeclExpr___variable__eq))( self,  variable1 /*va*/) /*AForVardeclExpr::variable=*/;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
-  ((typing___VariableContext___add_t)CALL(variable2,COLOR_typing___VariableContext___add))(variable2,  variable1 /*variable*/) /*VariableContext::add*/;
+  ((typing___VariableContext___add_t)CALL(variable2,COLOR_typing___VariableContext___add))(variable2,  variable1 /*va*/) /*VariableContext::add*/;
   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*/;
   variable2 = variable3;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___type_collection_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_collection))( variable0 /*v*/) /*TypingVisitor::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) /*TypingVisitor::check_conform*/;
+  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;
   }
-  if (once_bool_variable4_36) variable4 = once_value_variable4_36;
+  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;
   else {
-    variable4 = NEW_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_36 = variable4;
-    once_bool_variable4_36 = true;
+    variable5 = NEW_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;
   }
-  variable4 = ((static_type___MMType___select_method_t)CALL( variable2 /*expr_type*/,COLOR_static_type___MMType___select_method))( variable2 /*expr_type*/, variable4) /*MMType::select_method*/;
+  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*/) /*MMMethod::==*/)))));
+  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*/
-    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*TypingVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
     goto return_label35;
   }
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable3 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable3 /*prop*/) /*MMMethod::signature*/;
+  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;
-  if (once_bool_variable6_37) variable6 = once_value_variable6_37;
+  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;
   else {
-    variable6 = NEW_string___String___with_native(BOX_NativeString("item"), 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_37 = variable6;
-    once_bool_variable6_37 = true;
+    variable7 = NEW_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;
   }
-  variable6 = ((static_type___MMType___select_method_t)CALL( variable4 /*iter_type*/,COLOR_static_type___MMType___select_method))( variable4 /*iter_type*/, variable6) /*MMType::select_method*/;
+  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*/) /*MMMethod::==*/)))));
+  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*/
@@ -947,10 +969,10 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
     variable10 = NEW_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) /*TypingVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable6) /*AbsSyntaxVisitor::error*/;
     goto return_label35;
   }
-  variable7 = ((genericity___MMLocalProperty___signature_t)CALL( variable5 /*prop2*/,COLOR_static_type___MMLocalProperty___signature))( variable5 /*prop2*/) /*MMMethod::signature*/;
+  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*/;
   variable6 = variable7;
   variable7 = ((parser_nodes___AForVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_expr))( self) /*AForVardeclExpr::n_expr*/;
@@ -959,13 +981,13 @@ void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0) {
     variable7 = ((static_type___MMType___not_for_self_t)CALL( variable6 /*t*/,COLOR_static_type___MMType___not_for_self))( variable6 /*t*/) /*MMType::not_for_self*/;
     variable6 = variable7 /*t=*/;
   }
-  ((syntax_base___Variable___stype__eq_t)CALL( variable1 /*variable*/,COLOR_syntax_base___Variable___stype__eq))( variable1 /*variable*/,  variable6 /*t*/) /*Variable::stype=*/;
+  ((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);
   tracehead = trace.prev;
   return;
 }
 void typing___AAssertExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAssertExpr___after_typing, 418};
+  struct trace_t trace = {NULL, LOCATE_typing, 416, LOCATE_typing___AAssertExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -973,11 +995,11 @@ void typing___AAssertExpr___after_typing(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*TypingVisitor::check_conform*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*AbsSyntaxVisitor::check_conform*/;
   variable1 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
   variable1 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable1,COLOR_typing___PExpr___if_true_variable_ctx))(variable1) /*PExpr::if_true_variable_ctx*/;
-  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*/) /*VariableContext::==*/)))))));
+  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 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
     variable1 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable1,COLOR_typing___PExpr___if_true_variable_ctx))(variable1) /*PExpr::if_true_variable_ctx*/;
@@ -986,21 +1008,8 @@ void typing___AAssertExpr___after_typing(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return;
 }
-val_t typing___AVarFormExpr___variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVarFormExpr___variable, 426};
-  trace.prev = tracehead; tracehead = &trace;
-  tracehead = trace.prev;
-  return ATTR_typing___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/;
-}
-void typing___AVarFormExpr___variable__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVarFormExpr___variable__eq, 426};
-  trace.prev = tracehead; tracehead = &trace;
-  ATTR_typing___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/ =  param0;
-  tracehead = trace.prev;
-  return;
-}
 val_t typing___AVarExpr___is_variable(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVarExpr___is_variable, 431};
+  struct trace_t trace = {NULL, LOCATE_typing, 424, LOCATE_typing___AVarExpr___is_variable};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(true);
@@ -1010,21 +1019,21 @@ val_t typing___AVarExpr___is_variable(val_t  self) {
   return variable0;
 }
 void typing___AVarExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVarExpr___after_typing, 433};
+  struct trace_t trace = {NULL, LOCATE_typing, 426, LOCATE_typing___AVarExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
-  variable2 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarExpr::variable*/;
+  variable2 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
   variable1 = ((typing___VariableContext___stype_t)CALL(variable1,COLOR_typing___VariableContext___stype))(variable1, variable2) /*VariableContext::stype*/;
-  ATTR_typing___PExpr____stype( self) /*AVarExpr::_stype*/ = variable1;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___AVarAssignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVarAssignExpr___after_typing, 440};
+  struct trace_t trace = {NULL, LOCATE_typing, 433, LOCATE_typing___AVarAssignExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1032,17 +1041,17 @@ void typing___AVarAssignExpr___after_typing(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
-  variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarAssignExpr::variable*/;
+  variable3 = ((syntax_base___AVarFormExpr___variable_t)CALL( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
   variable2 = ((typing___VariableContext___stype_t)CALL(variable2,COLOR_typing___VariableContext___stype))(variable2, variable3) /*VariableContext::stype*/;
   variable1 = variable2;
-  variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AVarAssignExpr::n_value*/;
+  variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAssignFormExpr::n_value*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2,  variable1 /*t*/) /*TypingVisitor::check_conform*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2,  variable1 /*t*/) /*AbsSyntaxVisitor::check_conform*/;
   tracehead = trace.prev;
   return;
 }
 void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_typing___AReassignFormExpr___do_lvalue_typing, 448};
+  struct trace_t trace = {NULL, LOCATE_typing, 441, LOCATE_typing___AReassignFormExpr___do_lvalue_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1059,16 +1068,17 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   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*/) /*MMType::==*/)))));
+  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;
   }
   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*/;
   variable2 = variable3;
-  variable4 = ((static_type___MMType___select_method_t)CALL( variable1 /*type_lvalue*/,COLOR_static_type___MMType___select_method))( variable1 /*type_lvalue*/,  variable2 /*name*/) /*MMType::select_method*/;
+  variable4 = ((static_type___MMType___local_class_t)CALL( variable1 /*type_lvalue*/,COLOR_static_type___MMType___local_class))( variable1 /*type_lvalue*/) /*MMType::local_class*/;
+  variable4 = ((abstractmetamodel___MMLocalClass___select_method_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___select_method))(variable4,  variable2 /*name*/) /*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*/) /*MMMethod::==*/)))));
+  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*/
@@ -1086,109 +1096,111 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
     variable11 = NEW_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) /*TypingVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
     goto return_label42;
   }
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*prop*/) /*MMMethod::global*/;
-  variable5 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*TypingVisitor::module*/;
+  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*/;
   ((syntax_base___MMGlobalProperty___check_visibility_t)CALL(variable4,COLOR_syntax_base___MMGlobalProperty___check_visibility))(variable4,  variable0 /*v*/,  self, variable5,  TAG_Bool(false)) /*MMGlobalProperty::check_visibility*/;
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable3 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable3 /*prop*/) /*MMMethod::signature*/;
+  variable5 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable3 /*prop*/,COLOR_static_type___MMLocalProperty___signature_for))( variable3 /*prop*/,  variable1 /*type_lvalue*/) /*MMLocalProperty::signature_for*/;
   variable4 = variable5;
   ATTR_typing___AReassignFormExpr____assign_method( self) /*AReassignFormExpr::_assign_method*/ =  variable3 /*prop*/;
   variable5 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AReassignFormExpr::n_value*/;
-  variable5 = ((typing___PExpr___stype_t)CALL(variable5,COLOR_syntax_base___PExpr___stype))(variable5) /*PExpr::stype*/;
-  variable6 = ((static_type___MMSignature_____bra_t)CALL( variable4 /*psig*/,COLOR_static_type___MMSignature_____bra))( variable4 /*psig*/,  TAG_Int(0)) /*MMSignature::[]*/;
-  variable6 = ((static_type___MMType___not_for_self_t)CALL(variable6,COLOR_static_type___MMType___not_for_self))(variable6) /*MMType::not_for_self*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable5, variable6) /*TypingVisitor::check_conform*/;
+  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*/;
+  variable7 = ((static_type___MMSignature_____bra_t)CALL( variable4 /*psig*/,COLOR_static_type___MMSignature_____bra))( variable4 /*psig*/,  TAG_Int(0)) /*MMSignature::[]*/;
+  variable7 = ((static_type___MMType___not_for_self_t)CALL(variable7,COLOR_static_type___MMType___not_for_self))(variable7) /*MMType::not_for_self*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/, variable5, variable6, variable7) /*AbsSyntaxVisitor::check_conform*/;
   variable5 = ((static_type___MMSignature___return_type_t)CALL( variable4 /*psig*/,COLOR_static_type___MMSignature___return_type))( variable4 /*psig*/) /*MMSignature::return_type*/;
   variable5 = ((static_type___MMType___not_for_self_t)CALL(variable5,COLOR_static_type___MMType___not_for_self))(variable5) /*MMType::not_for_self*/;
   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) /*TypingVisitor::check_conform*/;
+  ((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);
   tracehead = trace.prev;
   return;
 }
 val_t typing___AReassignFormExpr___assign_method(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AReassignFormExpr___assign_method, 467};
+  struct trace_t trace = {NULL, LOCATE_typing, 460, LOCATE_typing___AReassignFormExpr___assign_method};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___AReassignFormExpr____assign_method( self) /*AReassignFormExpr::_assign_method*/;
 }
+void typing___AVarReassignExpr___after_typing(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_typing, 465, LOCATE_typing___AVarReassignExpr___after_typing};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  val_t variable3;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  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( self,COLOR_syntax_base___AVarFormExpr___variable))( self) /*AVarFormExpr::variable*/;
+  variable2 = ((typing___VariableContext___stype_t)CALL(variable2,COLOR_typing___VariableContext___stype))(variable2, variable3) /*VariableContext::stype*/;
+  variable1 = variable2;
+  ((typing___AReassignFormExpr___do_lvalue_typing_t)CALL( self,COLOR_typing___AReassignFormExpr___do_lvalue_typing))( self,  variable0 /*v*/,  variable1 /*t*/) /*AReassignFormExpr::do_lvalue_typing*/;
+  tracehead = trace.prev;
+  return;
+}
 val_t typing___PAssignOp___method_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___PAssignOp___method_name, 472};
+  struct trace_t trace = {NULL, LOCATE_typing, 473, LOCATE_typing___PAssignOp___method_name};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "method_name", LOCATE_typing___AReassignFormExpr___do_lvalue_typing, 472);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___AVarReassignExpr___after_typing, LOCATE_typing, 473);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t typing___APlusAssignOp___method_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___APlusAssignOp___method_name, 475};
+  struct trace_t trace = {NULL, LOCATE_typing, 476, LOCATE_typing___APlusAssignOp___method_name};
   val_t variable0;
-  static val_t once_value_variable0_44; static int once_bool_variable0_44;
+  static val_t once_value_variable0_45; static int once_bool_variable0_45;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_44) variable0 = once_value_variable0_44;
+  if (once_bool_variable0_45) variable0 = once_value_variable0_45;
   else {
     variable0 = NEW_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_44 = variable0;
-    once_bool_variable0_44 = true;
+    once_value_variable0_45 = variable0;
+    once_bool_variable0_45 = true;
   }
-  goto return_label43;
-  return_label43: while(false);
+  goto return_label44;
+  return_label44: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AMinusAssignOp___method_name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AMinusAssignOp___method_name, 478};
+  struct trace_t trace = {NULL, LOCATE_typing, 479, LOCATE_typing___AMinusAssignOp___method_name};
   val_t variable0;
-  static val_t once_value_variable0_46; static int once_bool_variable0_46;
+  static val_t once_value_variable0_47; static int once_bool_variable0_47;
   trace.prev = tracehead; tracehead = &trace;
-  if (once_bool_variable0_46) variable0 = once_value_variable0_46;
+  if (once_bool_variable0_47) variable0 = once_value_variable0_47;
   else {
     variable0 = NEW_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_46 = variable0;
-    once_bool_variable0_46 = true;
+    once_value_variable0_47 = variable0;
+    once_bool_variable0_47 = true;
   }
-  goto return_label45;
-  return_label45: while(false);
+  goto return_label46;
+  return_label46: while(false);
   tracehead = trace.prev;
   return variable0;
 }
-void typing___AVarReassignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AVarReassignExpr___after_typing, 482};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  val_t variable3;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
-  variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
-  variable2 = ((typing___VariableContext___stype_t)CALL(variable2,COLOR_typing___VariableContext___stype))(variable2, variable3) /*VariableContext::stype*/;
-  variable1 = variable2;
-  ((typing___AReassignFormExpr___do_lvalue_typing_t)CALL( self,COLOR_typing___AReassignFormExpr___do_lvalue_typing))( self,  variable0 /*v*/,  variable1 /*t*/) /*AVarReassignExpr::do_lvalue_typing*/;
-  tracehead = trace.prev;
-  return;
-}
 void typing___ASelfExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASelfExpr___after_typing, 490};
+  struct trace_t trace = {NULL, LOCATE_typing, 483, LOCATE_typing___ASelfExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((typing___TypingVisitor___self_type_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type))( variable0 /*v*/) /*TypingVisitor::self_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*/) /*MMType::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___ASelfExpr___after_typing, 492); nit_exit(1);}
+  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_typing___ASelfExpr___after_typing, LOCATE_typing, 485); nit_exit(1);}
   variable1 = ((typing___TypingVisitor___self_type_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type))( variable0 /*v*/) /*TypingVisitor::self_type*/;
-  ATTR_typing___PExpr____stype( self) /*ASelfExpr::_stype*/ = variable1;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 val_t typing___ASelfExpr___is_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASelfExpr___is_self, 496};
+  struct trace_t trace = {NULL, LOCATE_typing, 489, LOCATE_typing___ASelfExpr___is_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(true);
@@ -1198,7 +1210,7 @@ val_t typing___ASelfExpr___is_self(val_t  self) {
   return variable0;
 }
 val_t typing___AImplicitSelfExpr___is_implicit_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AImplicitSelfExpr___is_implicit_self, 500};
+  struct trace_t trace = {NULL, LOCATE_typing, 493, LOCATE_typing___AImplicitSelfExpr___is_implicit_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  TAG_Bool(true);
@@ -1208,7 +1220,7 @@ val_t typing___AImplicitSelfExpr___is_implicit_self(val_t  self) {
   return variable0;
 }
 void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AIfexprExpr___accept_typing, 504};
+  struct trace_t trace = {NULL, LOCATE_typing, 497, LOCATE_typing___AIfexprExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1230,7 +1242,7 @@ void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
   ((typing___TypingVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*TypingVisitor::visit*/;
   variable2 = ((parser_nodes___AIfexprExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_expr))( self) /*AIfexprExpr::n_expr*/;
   variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
-  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*/) /*VariableContext::==*/)))))));
+  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___AIfexprExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_expr))( self) /*AIfexprExpr::n_expr*/;
     variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
@@ -1243,8 +1255,8 @@ void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
   ((typing___TypingVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*TypingVisitor::visit*/;
   variable2 = ((parser_nodes___AIfexprExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_expr))( self) /*AIfexprExpr::n_expr*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*TypingVisitor::check_conform*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*AbsSyntaxVisitor::check_conform*/;
   variable3 = ((parser_nodes___AIfexprExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_then))( self) /*AIfexprExpr::n_then*/;
   variable3 = ((typing___PExpr___stype_t)CALL(variable3,COLOR_syntax_base___PExpr___stype))(variable3) /*PExpr::stype*/;
   variable2 = variable3;
@@ -1273,28 +1285,28 @@ void typing___AIfexprExpr___accept_typing(val_t  self, val_t  param0) {
       variable11 = NEW_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) /*TypingVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
       goto return_label51;
     }
   }
-  ATTR_typing___PExpr____stype( self) /*AIfexprExpr::_stype*/ =  variable2 /*t*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable2 /*t*/;
   return_label51: while(false);
   tracehead = trace.prev;
   return;
 }
 void typing___ABoolExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABoolExpr___after_typing, 530};
+  struct trace_t trace = {NULL, LOCATE_typing, 523, LOCATE_typing___ABoolExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ATTR_typing___PExpr____stype( self) /*ABoolExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___AOrExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AOrExpr___after_typing, 537};
+  struct trace_t trace = {NULL, LOCATE_typing, 530, LOCATE_typing___AOrExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1302,19 +1314,19 @@ void typing___AOrExpr___after_typing(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((parser_nodes___AOrExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr))( self) /*AOrExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*TypingVisitor::check_conform*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*AbsSyntaxVisitor::check_conform*/;
   variable1 = ((parser_nodes___AOrExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr2))( self) /*AOrExpr::n_expr2*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*TypingVisitor::check_conform*/;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ATTR_typing___PExpr____stype( self) /*AOrExpr::_stype*/ = variable1;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*AbsSyntaxVisitor::check_conform*/;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___AAndExpr___accept_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAndExpr___accept_typing, 546};
+  struct trace_t trace = {NULL, LOCATE_typing, 539, LOCATE_typing___AAndExpr___accept_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1327,7 +1339,7 @@ void typing___AAndExpr___accept_typing(val_t  self, val_t  param0) {
   ((typing___TypingVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*TypingVisitor::visit*/;
   variable2 = ((parser_nodes___AAndExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr))( self) /*AAndExpr::n_expr*/;
   variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
-  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*/) /*VariableContext::==*/)))))));
+  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___AAndExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr))( self) /*AAndExpr::n_expr*/;
     variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
@@ -1337,31 +1349,31 @@ void typing___AAndExpr___accept_typing(val_t  self, val_t  param0) {
   ((typing___TypingVisitor___visit_t)CALL( variable0 /*v*/,COLOR_parser_prod___Visitor___visit))( variable0 /*v*/, variable2) /*TypingVisitor::visit*/;
   variable2 = ((parser_nodes___AAndExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr2))( self) /*AAndExpr::n_expr2*/;
   variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
-  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*/) /*VariableContext::==*/)))))));
+  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___AAndExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr2))( self) /*AAndExpr::n_expr2*/;
     variable2 = ((typing___PExpr___if_true_variable_ctx_t)CALL(variable2,COLOR_typing___PExpr___if_true_variable_ctx))(variable2) /*PExpr::if_true_variable_ctx*/;
-    ATTR_typing___PExpr____if_true_variable_ctx( self) /*AAndExpr::_if_true_variable_ctx*/ = variable2;
+    ATTR_typing___PExpr____if_true_variable_ctx( self) /*PExpr::_if_true_variable_ctx*/ = variable2;
   } else { /*if*/
     variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
-    ATTR_typing___PExpr____if_true_variable_ctx( self) /*AAndExpr::_if_true_variable_ctx*/ = variable2;
+    ATTR_typing___PExpr____if_true_variable_ctx( self) /*PExpr::_if_true_variable_ctx*/ = variable2;
   }
   ((typing___TypingVisitor___variable_ctx__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq))( variable0 /*v*/,  variable1 /*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
   variable2 = ((parser_nodes___AAndExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr))( self) /*AAndExpr::n_expr*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*TypingVisitor::check_conform*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*AbsSyntaxVisitor::check_conform*/;
   variable2 = ((parser_nodes___AAndExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr2))( self) /*AAndExpr::n_expr2*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*TypingVisitor::check_conform*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ATTR_typing___PExpr____stype( self) /*AAndExpr::_stype*/ = variable2;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2, variable3) /*AbsSyntaxVisitor::check_conform*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable2;
   tracehead = trace.prev;
   return;
 }
 void typing___ANotExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ANotExpr___after_typing, 569};
+  struct trace_t trace = {NULL, LOCATE_typing, 562, LOCATE_typing___ANotExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1369,90 +1381,90 @@ void typing___ANotExpr___after_typing(val_t  self, val_t  param0) {
   variable0 =  param0;
   variable1 = ((parser_nodes___ANotExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ANotExpr___n_expr))( self) /*ANotExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*TypingVisitor::check_conform*/;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ATTR_typing___PExpr____stype( self) /*ANotExpr::_stype*/ = variable1;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable1, variable2) /*AbsSyntaxVisitor::check_conform*/;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___AIntExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AIntExpr___after_typing, 577};
+  struct trace_t trace = {NULL, LOCATE_typing, 570, LOCATE_typing___AIntExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_int_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_int))( variable0 /*v*/) /*TypingVisitor::type_int*/;
-  ATTR_typing___PExpr____stype( self) /*AIntExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_int_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_int))( variable0 /*v*/) /*AbsSyntaxVisitor::type_int*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___AFloatExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AFloatExpr___after_typing, 585};
+  struct trace_t trace = {NULL, LOCATE_typing, 578, LOCATE_typing___AFloatExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_float_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_float))( variable0 /*v*/) /*TypingVisitor::type_float*/;
-  ATTR_typing___PExpr____stype( self) /*AFloatExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_float_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_float))( variable0 /*v*/) /*AbsSyntaxVisitor::type_float*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___ACharExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACharExpr___after_typing, 592};
+  struct trace_t trace = {NULL, LOCATE_typing, 585, LOCATE_typing___ACharExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_char_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_char))( variable0 /*v*/) /*TypingVisitor::type_char*/;
-  ATTR_typing___PExpr____stype( self) /*ACharExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_char_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_char))( variable0 /*v*/) /*AbsSyntaxVisitor::type_char*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___AStringFormExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AStringFormExpr___after_typing, 599};
+  struct trace_t trace = {NULL, LOCATE_typing, 592, LOCATE_typing___AStringFormExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_string_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string))( variable0 /*v*/) /*TypingVisitor::type_string*/;
-  ATTR_typing___PExpr____stype( self) /*AStringFormExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_string_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string))( variable0 /*v*/) /*AbsSyntaxVisitor::type_string*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___ASuperstringExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASuperstringExpr___after_typing, 606};
+  struct trace_t trace = {NULL, LOCATE_typing, 599, LOCATE_typing___ASuperstringExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_string_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string))( variable0 /*v*/) /*TypingVisitor::type_string*/;
-  ATTR_typing___PExpr____stype( self) /*ASuperstringExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_string_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string))( variable0 /*v*/) /*AbsSyntaxVisitor::type_string*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___ANullExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ANullExpr___after_typing, 613};
+  struct trace_t trace = {NULL, LOCATE_typing, 606, LOCATE_typing___ANullExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_none_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_none))( variable0 /*v*/) /*TypingVisitor::type_none*/;
-  ATTR_typing___PExpr____stype( self) /*ANullExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_none_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_none))( variable0 /*v*/) /*AbsSyntaxVisitor::type_none*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
 void typing___AArrayExpr___stype__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AArrayExpr___stype__eq, 620};
+  struct trace_t trace = {NULL, LOCATE_typing, 613, LOCATE_typing___AArrayExpr___stype__eq};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ATTR_typing___PExpr____stype( self) /*AArrayExpr::_stype*/ =  variable0 /*t*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable0 /*t*/;
   tracehead = trace.prev;
   return;
 }
 void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AArrayExpr___after_typing, 622};
+  struct trace_t trace = {NULL, LOCATE_typing, 615, LOCATE_typing___AArrayExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1463,7 +1475,7 @@ void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
       val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = NIT_NULL /*decl variable stype*/;
+  variable1 =  NIT_NULL /*null*/;
   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*/
@@ -1472,10 +1484,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*/;
     variable5 = ((typing___PExpr___stype_t)CALL( variable3 /*n*/,COLOR_syntax_base___PExpr___stype))( variable3 /*n*/) /*PExpr::stype*/;
     variable4 = variable5;
-    variable5 = TAG_Bool(( variable1 /*stype*/ ==  NIT_NULL /*null*/) || (( variable1 /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*stype*/,COLOR_kernel___Object_____eqeq))( variable1 /*stype*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+    variable5 = TAG_Bool(( variable1 /*stype*/ ==  NIT_NULL /*null*/) || (( variable1 /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*stype*/,COLOR_kernel___Object_____eqeq))( variable1 /*stype*/,  NIT_NULL /*null*/) /*Object::==*/)))));
     variable6 = variable5;
     if (!UNTAG_Bool(variable6)) { /* or */
-      variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ntype*/ ==  NIT_NULL /*null*/) || (( variable4 /*ntype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ntype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ntype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ntype*/,COLOR_kernel___Object_____eqeq))( variable4 /*ntype*/,  NIT_NULL /*null*/) /*MMType::==*/)))))));
+      variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ntype*/ ==  NIT_NULL /*null*/) || (( variable4 /*ntype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ntype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ntype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ntype*/,COLOR_kernel___Object_____eqeq))( variable4 /*ntype*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       variable7 = variable6;
       if (UNTAG_Bool(variable7)) { /* and */
         variable7 = ((static_type___MMType_____l_t)CALL( variable1 /*stype*/,COLOR_static_type___MMType_____l))( variable1 /*stype*/,  variable4 /*ntype*/) /*MMType::<*/;
@@ -1497,18 +1509,18 @@ void typing___AArrayExpr___after_typing(val_t  self, val_t  param0) {
     if (!UNTAG_Bool(variable3)) break; /*for*/
     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*/) /*TypingVisitor::check_conform*/;
+    ((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);
     ((list___ListIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ListIterator::next*/;
   }
   break_65: while(0);
-  variable2 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable1 /*stype*/) /*TypingVisitor::type_array*/;
-  ATTR_typing___PExpr____stype( self) /*AArrayExpr::_stype*/ = variable2;
+  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;
   return;
 }
 void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ARangeExpr___after_typing, 639};
+  struct trace_t trace = {NULL, LOCATE_typing, 632, LOCATE_typing___ARangeExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1529,10 +1541,10 @@ void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
   variable3 = ((parser_nodes___ARangeExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr2))( self) /*ARangeExpr::n_expr2*/;
   variable3 = ((typing___PExpr___stype_t)CALL(variable3,COLOR_syntax_base___PExpr___stype))(variable3) /*PExpr::stype*/;
   variable2 = variable3;
-  variable3 = TAG_Bool(( variable1 /*ntype*/ ==  NIT_NULL /*null*/) || (( variable1 /*ntype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*ntype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))( variable1 /*ntype*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+  variable3 = TAG_Bool(( variable1 /*ntype*/ ==  NIT_NULL /*null*/) || (( variable1 /*ntype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*ntype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))( variable1 /*ntype*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   variable4 = variable3;
   if (!UNTAG_Bool(variable4)) { /* or */
-    variable4 = TAG_Bool(( variable1 /*ntype*/ ==  NIT_NULL /*null*/) || (( variable1 /*ntype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*ntype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))( variable1 /*ntype*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+    variable4 = TAG_Bool(( variable1 /*ntype*/ ==  NIT_NULL /*null*/) || (( variable1 /*ntype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*ntype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*ntype*/,COLOR_kernel___Object_____eqeq))( variable1 /*ntype*/,  NIT_NULL /*null*/) /*Object::==*/)))));
   }
   variable3 = variable4;
   if (UNTAG_Bool(variable3)) { /*if*/
@@ -1560,27 +1572,27 @@ void typing___ARangeExpr___after_typing(val_t  self, val_t  param0) {
       variable10 = NEW_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) /*TypingVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
       goto return_label66;
     }
   }
-  variable4 = ((syntax_base___AbsSyntaxVisitor___type_discrete_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_discrete))( variable0 /*v*/) /*TypingVisitor::type_discrete*/;
+  variable4 = ((syntax_base___AbsSyntaxVisitor___type_discrete_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_discrete))( variable0 /*v*/) /*AbsSyntaxVisitor::type_discrete*/;
   variable3 = variable4;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self,  variable1 /*ntype*/,  variable3 /*dtype*/) /*TypingVisitor::check_conform*/;
-  variable4 = ((syntax_base___AbsSyntaxVisitor___type_range_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_range))( variable0 /*v*/,  variable1 /*ntype*/) /*TypingVisitor::type_range*/;
-  ATTR_typing___PExpr____stype( self) /*ARangeExpr::_stype*/ = variable4;
+  ((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);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ASuperExpr___init_in_superclass(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASuperExpr___init_in_superclass, 660};
+  struct trace_t trace = {NULL, LOCATE_typing, 653, LOCATE_typing___ASuperExpr___init_in_superclass};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___ASuperExpr____init_in_superclass( self) /*ASuperExpr::_init_in_superclass*/;
 }
 void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASuperExpr___after_typing, 662};
+  struct trace_t trace = {NULL, LOCATE_typing, 655, LOCATE_typing___ASuperExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1598,25 +1610,25 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
           val_t variable14;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-  variable2 = ((abstractmetamodel___MMConcreteProperty___cprhe_t)CALL(variable2,COLOR_abstractmetamodel___MMConcreteProperty___cprhe))(variable2) /*MMSrcLocalProperty::cprhe*/;
+  variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+  variable2 = ((abstractmetamodel___MMLocalProperty___prhe_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___prhe))(variable2) /*MMLocalProperty::prhe*/;
   variable2 = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable2,COLOR_partial_order___PartialOrderElement___direct_greaters))(variable2) /*PartialOrderElement::direct_greaters*/;
   variable1 = variable2;
-  variable2 = ((array___AbstractArray___is_empty_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___is_empty))( variable1 /*precs*/) /*Array::is_empty*/;
+  variable2 = ((array___AbstractArray___is_empty_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___is_empty))( variable1 /*precs*/) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2)))) { /*if*/
-    variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-    ((abstractmetamodel___MMConcreteProperty___need_super__eq_t)CALL(variable2,COLOR_abstractmetamodel___MMConcreteProperty___need_super__eq))(variable2,  TAG_Bool(true)) /*MMSrcLocalProperty::need_super=*/;
+    variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+    ((abstractmetamodel___MMLocalProperty___need_super__eq_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___need_super__eq))(variable2,  TAG_Bool(true)) /*MMLocalProperty::need_super=*/;
   } else { /*if*/
-    variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-    variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___global))(variable2) /*MMSrcLocalProperty::global*/;
+    variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+    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(variable2)) { /*if*/
-      variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*TypingVisitor::local_class*/;
-      variable4 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-      variable4 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___name))(variable4) /*MMSrcLocalProperty::name*/;
-      variable3 = ((abstractmetamodel___MMLocalClass___super_methods_named_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___super_methods_named))(variable3, variable4) /*MMSrcLocalClass::super_methods_named*/;
+      variable3 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+      variable4 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+      variable4 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___name))(variable4) /*MMLocalProperty::name*/;
+      variable3 = ((abstractmetamodel___MMLocalClass___super_methods_named_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___super_methods_named))(variable3, variable4) /*MMLocalClass::super_methods_named*/;
       variable2 = variable3;
-      variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*base_precs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*base_precs*/) /*Array::iterator*/;
+      variable3 = ((array___AbstractArray___iterator_t)CALL( variable2 /*base_precs*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*base_precs*/) /*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*/
@@ -1641,43 +1653,43 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
           variable13 = NEW_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) /*TypingVisitor::error*/;
+          ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
         } else { /*if*/
-          variable5 = ((typing___TypingVisitor___self_type_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type))( variable0 /*v*/) /*TypingVisitor::self_type*/;
+          variable5 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
           variable6 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable4 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable4 /*p*/) /*MMLocalProperty::global*/;
-          variable5 = ((static_type___MMType___select_property_t)CALL(variable5,COLOR_static_type___MMType___select_property))(variable5, variable6) /*MMType::select_property*/;
-          ((array___AbstractArray___add_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*precs*/, variable5) /*Array::add*/;
+          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);
         ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
       }
       break_68: while(0);
-      variable3 = ((array___AbstractArray___is_empty_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___is_empty))( variable1 /*precs*/) /*Array::is_empty*/;
+      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*/
         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*/) /*TypingVisitor::local_property*/;
-        variable6 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalProperty___name))(variable6) /*MMSrcLocalProperty::name*/;
+        variable6 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+        variable6 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalProperty___name))(variable6) /*MMLocalProperty::name*/;
         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*/
         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) /*TypingVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
         goto return_label67;
       } else { /*if*/
-        variable3 = ((array___AbstractArray___length_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___length))( variable1 /*precs*/) /*Array::length*/;
+        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*/
           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*/) /*TypingVisitor::local_property*/;
-          variable6 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalProperty___name))(variable6) /*MMSrcLocalProperty::name*/;
+          variable6 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+          variable6 = ((abstractmetamodel___MMLocalProperty___name_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalProperty___name))(variable6) /*MMLocalProperty::name*/;
           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*/;
@@ -1685,73 +1697,76 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
           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 = ((string___Collection___join_t)CALL( variable1 /*precs*/,COLOR_string___Collection___join))( variable1 /*precs*/, variable10) /*Array::join*/;
+          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*/
           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) /*TypingVisitor::error*/;
+          ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
           goto return_label67;
         }
       }
-      variable4 = ((abstract_collection___IndexedCollection___first_t)CALL( variable2 /*base_precs*/,COLOR_abstract_collection___Collection___first))( variable2 /*base_precs*/) /*Array::first*/;
+      variable4 = ((abstract_collection___IndexedCollection___first_t)CALL( variable2 /*base_precs*/,COLOR_abstract_collection___Collection___first))( variable2 /*base_precs*/) /*IndexedCollection::first*/;
       variable3 = variable4;
       variable4 = TAG_Bool(( variable3 /*p*/==NIT_NULL) || VAL_ISA( variable3 /*p*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
-      if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___ASuperExpr___after_typing, 684); nit_exit(1);}
+      if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing, LOCATE_typing, 677); nit_exit(1);}
       ATTR_typing___ASuperExpr____init_in_superclass( self) /*ASuperExpr::_init_in_superclass*/ =  variable3 /*p*/;
-      ((typing___ASuperInitCall___register_super_init_call_t)CALL( self,COLOR_typing___ASuperInitCall___register_super_init_call))( self,  variable0 /*v*/,  variable3 /*p*/) /*ASuperExpr::register_super_init_call*/;
+      ((typing___ASuperInitCall___register_super_init_call_t)CALL( self,COLOR_typing___ASuperInitCall___register_super_init_call))( self,  variable0 /*v*/,  variable3 /*p*/) /*ASuperInitCall::register_super_init_call*/;
       variable4 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
       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 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
-        variable4 = ((array___Collection___to_a_t)CALL(variable4,COLOR_array___Collection___to_a))(variable4) /*List::to_a*/;
-        variable4 = ((typing___AAbsSendExpr___process_signature_t)CALL( self,COLOR_typing___AAbsSendExpr___process_signature))( self,  variable0 /*v*/,  variable3 /*p*/,  TAG_Bool(true), variable4) /*ASuperExpr::process_signature*/;
-        ATTR_typing___AAbsSendExpr____arguments( self) /*ASuperExpr::_arguments*/ = variable4;
+        variable4 = ((typing___TypingVisitor___self_type_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type))( variable0 /*v*/) /*TypingVisitor::self_type*/;
+        variable5 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
+        variable5 = ((array___Collection___to_a_t)CALL(variable5,COLOR_array___Collection___to_a))(variable5) /*Collection::to_a*/;
+        variable4 = ((typing___AAbsSendExpr___process_signature_t)CALL( self,COLOR_typing___AAbsSendExpr___process_signature))( self,  variable0 /*v*/, variable4,  variable3 /*p*/,  TAG_Bool(true), variable5) /*AAbsSendExpr::process_signature*/;
+        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*/
       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*/) /*TypingVisitor::local_property*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
       goto return_label67;
     }
   }
-  variable2 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___first))( variable1 /*precs*/) /*Array::first*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMLocalProperty::signature*/;
+  variable2 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___first))( variable1 /*precs*/) /*IndexedCollection::first*/;
+  variable3 = ((typing___TypingVisitor___self_type_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type))( variable0 /*v*/) /*TypingVisitor::self_type*/;
+  variable2 = ((static_type___MMLocalProperty___signature_for_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature_for))(variable2, variable3) /*MMLocalProperty::signature_for*/;
   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*/) /*MMType::==*/)))))));
+  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[MMType]*/
+    variable3 = NEW_array___Array___init(); /*new Array[E]*/
     variable2 = variable3;
-    variable3 = NIT_NULL /*decl variable stype*/;
-    variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*precs*/) /*Array::iterator*/;
+    variable3 =  NIT_NULL /*null*/;
+    variable4 = ((array___AbstractArray___iterator_t)CALL( variable1 /*precs*/,COLOR_abstract_collection___Collection___iterator))( variable1 /*precs*/) /*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 /*prop*/==NIT_NULL) || VAL_ISA( variable5 /*prop*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
-      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___ASuperExpr___after_typing, 699); nit_exit(1);}
-      variable7 = ((genericity___MMLocalProperty___signature_t)CALL( variable5 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable5 /*prop*/) /*MMMethod::signature*/;
+      if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing, LOCATE_typing, 692); nit_exit(1);}
+      variable7 = ((typing___TypingVisitor___self_type_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___self_type))( variable0 /*v*/) /*TypingVisitor::self_type*/;
+      variable7 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable5 /*prop*/,COLOR_static_type___MMLocalProperty___signature_for))( variable5 /*prop*/, variable7) /*MMLocalProperty::signature_for*/;
       variable7 = ((static_type___MMSignature___return_type_t)CALL(variable7,COLOR_static_type___MMSignature___return_type))(variable7) /*MMSignature::return_type*/;
-      variable8 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*TypingVisitor::module*/;
+      variable8 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
       variable7 = ((static_type___MMType___for_module_t)CALL(variable7,COLOR_static_type___MMType___for_module))(variable7, variable8) /*MMType::for_module*/;
-      variable8 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-      variable8 = ((genericity___MMLocalProperty___signature_t)CALL(variable8,COLOR_static_type___MMLocalProperty___signature))(variable8) /*MMSrcLocalProperty::signature*/;
+      variable8 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+      variable8 = ((static_type___MMLocalProperty___signature_t)CALL(variable8,COLOR_static_type___MMLocalProperty___signature))(variable8) /*MMLocalProperty::signature*/;
       variable8 = ((static_type___MMSignature___recv_t)CALL(variable8,COLOR_static_type___MMSignature___recv))(variable8) /*MMSignature::recv*/;
       variable7 = ((static_type___MMType___adapt_to_t)CALL(variable7,COLOR_static_type___MMType___adapt_to))(variable7, variable8) /*MMType::adapt_to*/;
       variable6 = variable7;
-      ((array___AbstractArray___add_t)CALL( variable2 /*stypes*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*stypes*/,  variable6 /*t*/) /*Array::add*/;
-      variable7 = TAG_Bool(( variable3 /*stype*/ ==  NIT_NULL /*null*/) || (( variable3 /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*stype*/,COLOR_kernel___Object_____eqeq))( variable3 /*stype*/,  NIT_NULL /*null*/) /*MMType::==*/)))));
+      ((array___AbstractArray___add_t)CALL( variable2 /*stypes*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*stypes*/,  variable6 /*t*/) /*AbstractArray::add*/;
+      variable7 = TAG_Bool(( variable3 /*stype*/ ==  NIT_NULL /*null*/) || (( variable3 /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*stype*/,COLOR_kernel___Object_____eqeq))( variable3 /*stype*/,  NIT_NULL /*null*/) /*Object::==*/)))));
       variable8 = variable7;
       if (!UNTAG_Bool(variable8)) { /* or */
         variable8 = ((static_type___MMType_____l_t)CALL( variable3 /*stype*/,COLOR_static_type___MMType_____l))( variable3 /*stype*/,  variable6 /*t*/) /*MMType::<*/;
@@ -1764,35 +1779,41 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0) {
       ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
     }
     break_69: while(0);
-    variable4 = ((array___AbstractArray___iterator_t)CALL( variable2 /*stypes*/,COLOR_abstract_collection___Collection___iterator))( variable2 /*stypes*/) /*Array::iterator*/;
+    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*/) /*TypingVisitor::check_conform*/;
+      ((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);
       ((array___ArrayIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ArrayIterator::next*/;
     }
     break_70: while(0);
-    ATTR_typing___PExpr____stype( self) /*ASuperExpr::_stype*/ =  variable3 /*stype*/;
+    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*/) /*TypingVisitor::local_property*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
   variable2 = variable3;
   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 (%s: %d)\n", "", LOCATE_typing___ASuperExpr___after_typing, 712); nit_exit(1);}
-  ATTR_typing___AAbsSendExpr____prop( self) /*ASuperExpr::_prop*/ =  variable2 /*p*/;
+  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);
   tracehead = trace.prev;
   return;
 }
 val_t typing___AAttrFormExpr___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAttrFormExpr___prop, 718};
+  struct trace_t trace = {NULL, LOCATE_typing, 711, LOCATE_typing___AAttrFormExpr___prop};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___AAttrFormExpr____prop( self) /*AAttrFormExpr::_prop*/;
 }
+val_t typing___AAttrFormExpr___attr_type(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_typing, 714, LOCATE_typing___AAttrFormExpr___attr_type};
+  trace.prev = tracehead; tracehead = &trace;
+  tracehead = trace.prev;
+  return ATTR_typing___AAttrFormExpr____attr_type( self) /*AAttrFormExpr::_attr_type*/;
+}
 void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAttrFormExpr___do_typing, 721};
+  struct trace_t trace = {NULL, LOCATE_typing, 717, LOCATE_typing___AAttrFormExpr___do_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1816,16 +1837,17 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
   variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::n_expr*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
   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*/) /*MMType::==*/)))));
+  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;
   }
   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) /*TAttrid::to_symbol*/;
+  variable3 = ((syntax_base___Token___to_symbol_t)CALL(variable3,COLOR_syntax_base___Token___to_symbol))(variable3) /*Token::to_symbol*/;
   variable2 = variable3;
-  variable4 = ((static_type___MMType___select_attribute_t)CALL( variable1 /*type_recv*/,COLOR_static_type___MMType___select_attribute))( variable1 /*type_recv*/,  variable2 /*name*/) /*MMType::select_attribute*/;
+  variable4 = ((static_type___MMType___local_class_t)CALL( variable1 /*type_recv*/,COLOR_static_type___MMType___local_class))( variable1 /*type_recv*/) /*MMType::local_class*/;
+  variable4 = ((abstractmetamodel___MMLocalClass___select_attribute_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___select_attribute))(variable4,  variable2 /*name*/) /*MMLocalClass::select_attribute*/;
   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*/) /*MMAttribute::==*/)))));
+  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*/
@@ -1843,14 +1865,14 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
     variable11 = NEW_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) /*TypingVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
     goto return_label71;
   } else { /*if*/
-    variable4 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*TypingVisitor::module*/;
-    variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*prop*/) /*MMAttribute::global*/;
+    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*/;
     variable5 = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalProperty___local_class))(variable5) /*MMGlobalProperty::local_class*/;
     variable5 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___module))(variable5) /*MMLocalClass::module*/;
-    variable4 = ((abstractmetamodel___MMModule___visibility_for_t)CALL(variable4,COLOR_abstractmetamodel___MMModule___visibility_for))(variable4, variable5) /*MMSrcModule::visibility_for*/;
+    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*/
@@ -1863,7 +1885,7 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
       variable8 = NEW_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*/) /*MMAttribute::global*/;
+      variable10 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable3 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable3 /*prop*/) /*MMLocalProperty::global*/;
       variable10 = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL(variable10,COLOR_abstractmetamodel___MMGlobalProperty___local_class))(variable10) /*MMGlobalProperty::local_class*/;
       variable10 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable10,COLOR_abstractmetamodel___MMLocalClass___module))(variable10) /*MMLocalClass::module*/;
       variable11 = variable10;
@@ -1872,109 +1894,90 @@ void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0) {
       variable12 = NEW_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*/) /*TypingVisitor::module*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
     }
   }
   ATTR_typing___AAttrFormExpr____prop( self) /*AAttrFormExpr::_prop*/ =  variable3 /*prop*/;
+  variable5 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable3 /*prop*/,COLOR_static_type___MMLocalProperty___signature_for))( variable3 /*prop*/,  variable1 /*type_recv*/) /*MMLocalProperty::signature_for*/;
+  variable5 = ((static_type___MMSignature___return_type_t)CALL(variable5,COLOR_static_type___MMSignature___return_type))(variable5) /*MMSignature::return_type*/;
+  variable4 = variable5;
+  variable5 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrFormExpr::n_expr*/;
+  variable5 = ((typing___PExpr___is_self_t)CALL(variable5,COLOR_typing___PExpr___is_self))(variable5) /*PExpr::is_self*/;
+  if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
+    variable5 = ((static_type___MMType___not_for_self_t)CALL( variable4 /*at*/,COLOR_static_type___MMType___not_for_self))( variable4 /*at*/) /*MMType::not_for_self*/;
+    variable4 = variable5 /*at=*/;
+  }
+  ATTR_typing___AAttrFormExpr____attr_type( self) /*AAttrFormExpr::_attr_type*/ =  variable4 /*at*/;
   return_label71: while(false);
   tracehead = trace.prev;
   return;
 }
 void typing___AAttrExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAttrExpr___after_typing, 741};
+  struct trace_t trace = {NULL, LOCATE_typing, 740, LOCATE_typing___AAttrExpr___after_typing};
   val_t variable0;
   val_t variable1;
-  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrExpr::do_typing*/;
-  variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrExpr::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*/) /*MMAttribute::==*/)))));
+  ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrFormExpr::do_typing*/;
+  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;
   }
-  variable2 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrExpr::prop*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMAttribute::signature*/;
-  variable2 = ((static_type___MMSignature___return_type_t)CALL(variable2,COLOR_static_type___MMSignature___return_type))(variable2) /*MMSignature::return_type*/;
-  variable1 = variable2;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrExpr::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 = ((static_type___MMType___not_for_self_t)CALL( variable1 /*attr_type*/,COLOR_static_type___MMType___not_for_self))( variable1 /*attr_type*/) /*MMType::not_for_self*/;
-    variable1 = variable2 /*attr_type=*/;
-  }
-  ATTR_typing___PExpr____stype( self) /*AAttrExpr::_stype*/ =  variable1 /*attr_type*/;
+  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);
   tracehead = trace.prev;
   return;
 }
 void typing___AAttrAssignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAttrAssignExpr___after_typing, 754};
+  struct trace_t trace = {NULL, LOCATE_typing, 751, LOCATE_typing___AAttrAssignExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrAssignExpr::do_typing*/;
-  variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrAssignExpr::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*/) /*MMAttribute::==*/)))));
+  ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrFormExpr::do_typing*/;
+  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;
   }
-  variable2 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrAssignExpr::prop*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMAttribute::signature*/;
-  variable2 = ((static_type___MMSignature___return_type_t)CALL(variable2,COLOR_static_type___MMSignature___return_type))(variable2) /*MMSignature::return_type*/;
-  variable1 = variable2;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrAssignExpr::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 = ((static_type___MMType___not_for_self_t)CALL( variable1 /*attr_type*/,COLOR_static_type___MMType___not_for_self))( variable1 /*attr_type*/) /*MMType::not_for_self*/;
-    variable1 = variable2 /*attr_type=*/;
-  }
-  variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAttrAssignExpr::n_value*/;
-  variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-  ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable2,  variable1 /*attr_type*/) /*TypingVisitor::check_conform*/;
+  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);
   tracehead = trace.prev;
   return;
 }
 void typing___AAttrReassignExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAttrReassignExpr___after_typing, 767};
+  struct trace_t trace = {NULL, LOCATE_typing, 762, LOCATE_typing___AAttrReassignExpr___after_typing};
   val_t variable0;
   val_t variable1;
-  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrReassignExpr::do_typing*/;
-  variable1 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrReassignExpr::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*/) /*MMAttribute::==*/)))));
+  ((typing___AAttrFormExpr___do_typing_t)CALL( self,COLOR_typing___AAttrFormExpr___do_typing))( self,  variable0 /*v*/) /*AAttrFormExpr::do_typing*/;
+  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;
   }
-  variable2 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrReassignExpr::prop*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMAttribute::signature*/;
-  variable2 = ((static_type___MMSignature___return_type_t)CALL(variable2,COLOR_static_type___MMSignature___return_type))(variable2) /*MMSignature::return_type*/;
-  variable1 = variable2;
-  variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrReassignExpr::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 = ((static_type___MMType___not_for_self_t)CALL( variable1 /*attr_type*/,COLOR_static_type___MMType___not_for_self))( variable1 /*attr_type*/) /*MMType::not_for_self*/;
-    variable1 = variable2 /*attr_type=*/;
-  }
-  ((typing___AReassignFormExpr___do_lvalue_typing_t)CALL( self,COLOR_typing___AReassignFormExpr___do_lvalue_typing))( self,  variable0 /*v*/,  variable1 /*attr_type*/) /*AAttrReassignExpr::do_lvalue_typing*/;
+  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);
   tracehead = trace.prev;
   return;
 }
 void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4, val_t  param5) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAbsSendExpr___do_typing, 781};
+  struct trace_t trace = {NULL, LOCATE_typing, 774, LOCATE_typing___AAbsSendExpr___do_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1993,13 +1996,13 @@ void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1
   variable5 =  param5;
   variable7 = ((typing___AAbsSendExpr___get_property_t)CALL( self,COLOR_typing___AAbsSendExpr___get_property))( self,  variable0 /*v*/,  variable1 /*type_recv*/,  variable2 /*is_implicit_self*/,  variable4 /*name*/) /*AAbsSendExpr::get_property*/;
   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*/) /*MMMethod::==*/)))));
+  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;
   }
-  variable8 = ((typing___AAbsSendExpr___process_signature_t)CALL( self,COLOR_typing___AAbsSendExpr___process_signature))( self,  variable0 /*v*/,  variable6 /*prop*/,  variable3 /*recv_is_self*/,  variable5 /*raw_args*/) /*AAbsSendExpr::process_signature*/;
+  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*/) /*Array::==*/)));
+  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;
   }
@@ -2010,7 +2013,7 @@ void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1
   return;
 }
 val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAbsSendExpr___get_property, 792};
+  struct trace_t trace = {NULL, LOCATE_typing, 785, LOCATE_typing___AAbsSendExpr___get_property};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2032,18 +2035,19 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
   variable1 =  param1;
   variable2 =  param2;
   variable3 =  param3;
-  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*/) /*MMType::==*/)))));
+  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;
   }
-  variable5 = ((static_type___MMType___select_method_t)CALL( variable1 /*type_recv*/,COLOR_static_type___MMType___select_method))( variable1 /*type_recv*/,  variable3 /*name*/) /*MMType::select_method*/;
+  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*/;
   variable4 = variable5;
-  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*/) /*MMMethod::==*/)))));
+  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::==*/)))));
   variable6 = variable5;
   if (UNTAG_Bool(variable6)) { /* and */
-    variable6 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-    variable6 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalProperty___global))(variable6) /*MMSrcLocalProperty::global*/;
+    variable6 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+    variable6 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalProperty___global))(variable6) /*MMLocalProperty::global*/;
     variable6 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable6,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable6) /*MMGlobalProperty::is_init*/;
   }
   variable5 = variable6;
@@ -2051,7 +2055,7 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
     variable6 = ((static_type___MMType___local_class_t)CALL( variable1 /*type_recv*/,COLOR_static_type___MMType___local_class))( variable1 /*type_recv*/) /*MMType::local_class*/;
     variable6 = ((abstractmetamodel___MMLocalClass___super_methods_named_t)CALL(variable6,COLOR_abstractmetamodel___MMLocalClass___super_methods_named))(variable6,  variable3 /*name*/) /*MMLocalClass::super_methods_named*/;
     variable5 = variable6;
-    variable6 = ((array___AbstractArray___length_t)CALL( variable5 /*props*/,COLOR_abstract_collection___Collection___length))( variable5 /*props*/) /*Array::length*/;
+    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*/
@@ -2065,30 +2069,31 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
       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 = ((string___Collection___join_t)CALL( variable5 /*props*/,COLOR_string___Collection___join))( variable5 /*props*/, variable12) /*Array::join*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((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;
     } else { /*if*/
-      variable6 = ((array___AbstractArray___length_t)CALL( variable5 /*props*/,COLOR_abstract_collection___Collection___length))( variable5 /*props*/) /*Array::length*/;
+      variable6 = ((array___AbstractArray___length_t)CALL( variable5 /*props*/,COLOR_abstract_collection___Collection___length))( variable5 /*props*/) /*AbstractArray::length*/;
       variable6 = TAG_Bool((variable6)==( TAG_Int(1)));
       if (UNTAG_Bool(variable6)) { /*if*/
-        variable7 = ((abstract_collection___IndexedCollection___first_t)CALL( variable5 /*props*/,COLOR_abstract_collection___Collection___first))( variable5 /*props*/) /*Array::first*/;
-        variable7 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalProperty___global))(variable7) /*MMLocalProperty::global*/;
-        variable7 = ((static_type___MMType___select_property_t)CALL( variable1 /*type_recv*/,COLOR_static_type___MMType___select_property))( variable1 /*type_recv*/, variable7) /*MMType::select_property*/;
+        variable7 = ((static_type___MMType___local_class_t)CALL( variable1 /*type_recv*/,COLOR_static_type___MMType___local_class))( variable1 /*type_recv*/) /*MMType::local_class*/;
+        variable8 = ((abstract_collection___IndexedCollection___first_t)CALL( variable5 /*props*/,COLOR_abstract_collection___Collection___first))( variable5 /*props*/) /*IndexedCollection::first*/;
+        variable8 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable8,COLOR_abstractmetamodel___MMLocalProperty___global))(variable8) /*MMLocalProperty::global*/;
+        variable7 = ((inheritance___MMLocalClass_____bra_t)CALL(variable7,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable7, variable8) /*MMLocalClass::[]*/;
         variable6 = variable7;
         variable7 = TAG_Bool(( variable6 /*p*/==NIT_NULL) || VAL_ISA( variable6 /*p*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
-        if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___AAbsSendExpr___get_property, 803); nit_exit(1);}
+        if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___AAbsSendExpr___get_property, LOCATE_typing, 796); nit_exit(1);}
         variable4 =  variable6 /*p*/ /*prop=*/;
       }
     }
   }
-  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*/) /*MMMethod::==*/)))));
+  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*/
@@ -2107,7 +2112,7 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
       variable12 = NEW_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) /*TypingVisitor::error*/;
+      ((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*/
@@ -2125,7 +2130,7 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
       variable12 = NEW_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) /*TypingVisitor::error*/;
+      ((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;
@@ -2136,8 +2141,8 @@ val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  pa
   tracehead = trace.prev;
   return variable4;
 }
-val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAbsSendExpr___process_signature, 819};
+val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4) {
+  struct trace_t trace = {NULL, LOCATE_typing, 812, LOCATE_typing___AAbsSendExpr___process_signature};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2148,168 +2153,170 @@ val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_
   val_t variable7;
   val_t variable8;
   val_t variable9;
-    val_t variable10;
+  val_t variable10;
     val_t variable11;
     val_t variable12;
     val_t variable13;
     val_t variable14;
-      val_t variable15;
+    val_t variable15;
       val_t variable16;
-        val_t variable17;
+      val_t variable17;
         val_t variable18;
         val_t variable19;
+        val_t variable20;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
   variable3 =  param3;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*prop*/) /*MMMethod::global*/;
-  variable5 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*TypingVisitor::module*/;
-  ((syntax_base___MMGlobalProperty___check_visibility_t)CALL(variable4,COLOR_syntax_base___MMGlobalProperty___check_visibility))(variable4,  variable0 /*v*/,  self, variable5,  variable2 /*recv_is_self*/) /*MMGlobalProperty::check_visibility*/;
-  variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*prop*/) /*MMMethod::signature*/;
-  variable4 = variable5;
-  variable6 = ((vararg___MMSignature___vararg_rank_t)CALL( variable4 /*psig*/,COLOR_vararg___MMSignature___vararg_rank))( variable4 /*psig*/) /*MMSignature::vararg_rank*/;
+  variable4 =  param4;
+  variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable2 /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable2 /*prop*/) /*MMLocalProperty::global*/;
+  variable6 = ((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,COLOR_syntax_base___MMGlobalProperty___check_visibility))(variable5,  variable0 /*v*/,  self, variable6,  variable3 /*recv_is_self*/) /*MMGlobalProperty::check_visibility*/;
+  variable6 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature_for))( variable2 /*prop*/,  variable1 /*type_recv*/) /*MMLocalProperty::signature_for*/;
   variable5 = variable6;
-  variable7 = ((static_type___MMSignature___arity_t)CALL( variable4 /*psig*/,COLOR_static_type___MMSignature___arity))( variable4 /*psig*/) /*MMSignature::arity*/;
+  variable7 = ((vararg___MMSignature___vararg_rank_t)CALL( variable5 /*psig*/,COLOR_vararg___MMSignature___vararg_rank))( variable5 /*psig*/) /*MMSignature::vararg_rank*/;
   variable6 = variable7;
-  variable7 = TAG_Int((int)0) /*decl variable raw_arity*/;
-  variable8 = TAG_Bool(( variable3 /*raw_args*/ ==  NIT_NULL /*null*/) || (( variable3 /*raw_args*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*raw_args*/,COLOR_kernel___Object_____eqeq))( variable3 /*raw_args*/,  NIT_NULL /*null*/) /*Array::==*/)));
-  if (UNTAG_Bool(variable8)) { /*if*/
-    variable7 =  TAG_Int(0) /*raw_arity=*/;
+  variable8 = ((static_type___MMSignature___arity_t)CALL( variable5 /*psig*/,COLOR_static_type___MMSignature___arity))( variable5 /*psig*/) /*MMSignature::arity*/;
+  variable7 = variable8;
+  variable8 = TAG_Int((bigint)0) /*decl variable raw_arity*/;
+  variable9 = TAG_Bool(( variable4 /*raw_args*/ ==  NIT_NULL /*null*/) || (( variable4 /*raw_args*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*raw_args*/,COLOR_kernel___Object_____eqeq))( variable4 /*raw_args*/,  NIT_NULL /*null*/) /*AbstractArray::==*/)));
+  if (UNTAG_Bool(variable9)) { /*if*/
+    variable8 =  TAG_Int(0) /*raw_arity=*/;
   } else { /*if*/
-    variable8 = ((array___AbstractArray___length_t)CALL( variable3 /*raw_args*/,COLOR_abstract_collection___Collection___length))( variable3 /*raw_args*/) /*Array::length*/;
-    variable7 = variable8 /*raw_arity=*/;
+    variable9 = ((array___AbstractArray___length_t)CALL( variable4 /*raw_args*/,COLOR_abstract_collection___Collection___length))( variable4 /*raw_args*/) /*AbstractArray::length*/;
+    variable8 = variable9 /*raw_arity=*/;
   }
-  variable8 = TAG_Bool(UNTAG_Int( variable6 /*par_arity*/)>UNTAG_Int( variable7 /*raw_arity*/));
-  variable9 = variable8;
-  if (!UNTAG_Bool(variable9)) { /* or */
-    variable9 = TAG_Bool(( variable6 /*par_arity*/)!=( variable7 /*raw_arity*/));
-    variable10 = variable9;
-    if (UNTAG_Bool(variable10)) { /* and */
-      variable10 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
-      variable10 = TAG_Bool(( variable5 /*par_vararg*/)==(variable10));
+  variable9 = TAG_Bool(UNTAG_Int( variable7 /*par_arity*/)>UNTAG_Int( variable8 /*raw_arity*/));
+  variable10 = variable9;
+  if (!UNTAG_Bool(variable10)) { /* or */
+    variable10 = TAG_Bool(( variable7 /*par_arity*/)!=( variable8 /*raw_arity*/));
+    variable11 = variable10;
+    if (UNTAG_Bool(variable11)) { /* and */
+      variable11 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
+      variable11 = TAG_Bool(( variable6 /*par_vararg*/)==(variable11));
     }
-    variable9 = variable10;
+    variable10 = variable11;
   }
-  variable8 = variable9;
-  if (UNTAG_Bool(variable8)) { /*if*/
-    variable8 = NEW_string___String___init(); /*new String*/
-    variable9 = NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
-    variable10 = variable9;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
-    variable11 =  variable1 /*prop*/;
-    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("' arity missmatch."), TAG_Int(18)); /*new String*/
-    variable13 = variable12;
-    ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable13) /*String::append*/;
-    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable8) /*TypingVisitor::error*/;
-    variable4 =  NIT_NULL /*null*/;
+  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*/
+    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*/
+    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;
   }
-  variable8 =  TAG_Int(0);
-  variable10 = NEW_array___Array___init(); /*new Array[PExpr]*/
-  variable9 = variable10;
-  variable10 = NEW_range___Range___without_last( TAG_Int(0),  variable6 /*par_arity*/); /*new Range[Int]*/
-  variable10 = ((range___Range___iterator_t)CALL(variable10,COLOR_abstract_collection___Collection___iterator))(variable10) /*Range::iterator*/;
+  variable9 =  TAG_Int(0);
+  variable11 = NEW_array___Array___init(); /*new Array[E]*/
+  variable10 = variable11;
+  variable11 = NEW_range___Range___without_last( TAG_Int(0),  variable7 /*par_arity*/); /*new Range[E]*/
+  variable11 = ((range___Range___iterator_t)CALL(variable11,COLOR_abstract_collection___Collection___iterator))(variable11) /*Range::iterator*/;
   while (true) { /*for*/
-    variable11 = ((abstract_collection___Iterator___is_ok_t)CALL(variable10,COLOR_abstract_collection___Iterator___is_ok))(variable10) /*Iterator::is_ok*/;
-    if (!UNTAG_Bool(variable11)) break; /*for*/
-    variable11 = ((abstract_collection___Iterator___item_t)CALL(variable10,COLOR_abstract_collection___Iterator___item))(variable10) /*Iterator::item*/;
-    variable12 = NIT_NULL /*decl variable a*/;
-    variable14 = ((static_type___MMSignature_____bra_t)CALL( variable4 /*psig*/,COLOR_static_type___MMSignature_____bra))( variable4 /*psig*/,  variable11 /*par_idx*/) /*MMSignature::[]*/;
-    variable13 = variable14;
-    if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable2 /*recv_is_self*/)))) { /*if*/
-      variable14 = ((static_type___MMType___not_for_self_t)CALL( variable13 /*par_type*/,COLOR_static_type___MMType___not_for_self))( variable13 /*par_type*/) /*MMType::not_for_self*/;
-      variable13 = variable14 /*par_type=*/;
+    variable12 = ((abstract_collection___Iterator___is_ok_t)CALL(variable11,COLOR_abstract_collection___Iterator___is_ok))(variable11) /*Iterator::is_ok*/;
+    if (!UNTAG_Bool(variable12)) break; /*for*/
+    variable12 = ((abstract_collection___Iterator___item_t)CALL(variable11,COLOR_abstract_collection___Iterator___item))(variable11) /*Iterator::item*/;
+    variable13 = NIT_NULL /*decl variable a*/;
+    variable15 = ((static_type___MMSignature_____bra_t)CALL( variable5 /*psig*/,COLOR_static_type___MMSignature_____bra))( variable5 /*psig*/,  variable12 /*par_idx*/) /*MMSignature::[]*/;
+    variable14 = variable15;
+    if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable3 /*recv_is_self*/)))) { /*if*/
+      variable15 = ((static_type___MMType___not_for_self_t)CALL( variable14 /*par_type*/,COLOR_static_type___MMType___not_for_self))( variable14 /*par_type*/) /*MMType::not_for_self*/;
+      variable14 = variable15 /*par_type=*/;
     }
-    variable14 = TAG_Bool(( variable11 /*par_idx*/)==( variable5 /*par_vararg*/));
-    if (UNTAG_Bool(variable14)) { /*if*/
-      variable15 = NEW_array___Array___init(); /*new Array[PExpr]*/
-      variable14 = variable15;
-      variable15 = TAG_Int(UNTAG_Int( variable7 /*raw_arity*/)-UNTAG_Int( variable6 /*par_arity*/));
-      variable16 = NEW_range___Range___init( TAG_Int(0), variable15); /*new Range[Int]*/
+    variable15 = TAG_Bool(( variable12 /*par_idx*/)==( variable6 /*par_vararg*/));
+    if (UNTAG_Bool(variable15)) { /*if*/
+      variable16 = NEW_array___Array___init(); /*new Array[E]*/
       variable15 = variable16;
-      variable15 = ((range___Range___iterator_t)CALL(variable15,COLOR_abstract_collection___Collection___iterator))(variable15) /*Range::iterator*/;
+      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]*/
+      variable16 = variable17;
+      variable16 = ((range___Range___iterator_t)CALL(variable16,COLOR_abstract_collection___Collection___iterator))(variable16) /*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 =  variable8 /*arg_idx*/;
-        variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-        variable19 = variable18;
-        if (UNTAG_Bool(variable19)) { /* and */
-          variable19 = ATTR_array___AbstractArray____length( variable3 /*raw_args*/) /*Array::_length*/;
-          variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
+        variable17 = ((abstract_collection___Iterator___is_ok_t)CALL(variable16,COLOR_abstract_collection___Iterator___is_ok))(variable16) /*Iterator::is_ok*/;
+        if (!UNTAG_Bool(variable17)) break; /*for*/
+        variable17 = ((abstract_collection___Iterator___item_t)CALL(variable16,COLOR_abstract_collection___Iterator___item))(variable16) /*Iterator::item*/;
+        variable18 =  variable9 /*arg_idx*/;
+        variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
+        variable20 = variable19;
+        if (UNTAG_Bool(variable20)) { /* and */
+          variable20 = ATTR_array___AbstractArray____length( variable4 /*raw_args*/) /*AbstractArray::_length*/;
+          variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
         }
-        variable18 = variable19;
-        if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
-        variable18 = ATTR_array___Array____items( variable3 /*raw_args*/) /*Array::_items*/;
-        variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
+        variable19 = variable20;
+        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);
-        variable17 = variable18;
-        variable12 = variable17 /*a=*/;
-        variable17 = ((typing___PExpr___stype_t)CALL( variable12 /*a*/,COLOR_syntax_base___PExpr___stype))( variable12 /*a*/) /*PExpr::stype*/;
-        ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable17,  variable13 /*par_type*/) /*TypingVisitor::check_conform*/;
-        ((array___AbstractArray___add_t)CALL( variable14 /*star*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*star*/,  variable12 /*a*/) /*Array::add*/;
-        variable17 = TAG_Int(UNTAG_Int( variable8 /*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
-        variable8 = variable17 /*arg_idx=*/;
+        variable18 = variable19;
+        variable13 = variable18 /*a=*/;
+        variable18 = ((typing___PExpr___stype_t)CALL( variable13 /*a*/,COLOR_syntax_base___PExpr___stype))( variable13 /*a*/) /*PExpr::stype*/;
+        ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable18,  variable14 /*par_type*/) /*AbsSyntaxVisitor::check_conform*/;
+        ((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);
-        ((abstract_collection___Iterator___next_t)CALL(variable15,COLOR_abstract_collection___Iterator___next))(variable15) /*Iterator::next*/;
+        ((abstract_collection___Iterator___next_t)CALL(variable16,COLOR_abstract_collection___Iterator___next))(variable16) /*Iterator::next*/;
       }
       break_79: while(0);
-      variable16 = NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable14 /*star*/); /*new AArrayExpr*/
-      variable15 = variable16;
-      variable16 = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable0 /*v*/,  variable13 /*par_type*/) /*TypingVisitor::type_array*/;
-      ((typing___AArrayExpr___stype__eq_t)CALL( variable15 /*aa*/,COLOR_typing___AArrayExpr___stype__eq))( variable15 /*aa*/, variable16) /*AArrayExpr::stype=*/;
-      variable12 =  variable15 /*aa*/ /*a=*/;
+      variable17 = NEW_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=*/;
+      variable13 =  variable16 /*aa*/ /*a=*/;
     } else { /*if*/
-      variable14 =  variable8 /*arg_idx*/;
-      variable15 = TAG_Bool(UNTAG_Int( variable14 /*index*/)>=UNTAG_Int( TAG_Int(0)));
-      variable16 = variable15;
-      if (UNTAG_Bool(variable16)) { /* and */
-        variable16 = ATTR_array___AbstractArray____length( variable3 /*raw_args*/) /*Array::_length*/;
-        variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)<UNTAG_Int(variable16));
+      variable15 =  variable9 /*arg_idx*/;
+      variable16 = TAG_Bool(UNTAG_Int( variable15 /*index*/)>=UNTAG_Int( TAG_Int(0)));
+      variable17 = variable16;
+      if (UNTAG_Bool(variable17)) { /* and */
+        variable17 = ATTR_array___AbstractArray____length( variable4 /*raw_args*/) /*AbstractArray::_length*/;
+        variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
       }
-      variable15 = variable16;
-      if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra, 229); nit_exit(1);}
-      variable15 = ATTR_array___Array____items( variable3 /*raw_args*/) /*Array::_items*/;
-      variable15 = UNBOX_NativeArray(variable15)[UNTAG_Int( variable14 /*index*/)];
+      variable16 = variable17;
+      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);
-      variable14 = variable15;
-      variable12 = variable14 /*a=*/;
-      variable14 = ((typing___PExpr___stype_t)CALL( variable12 /*a*/,COLOR_syntax_base___PExpr___stype))( variable12 /*a*/) /*PExpr::stype*/;
-      ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable14,  variable13 /*par_type*/) /*TypingVisitor::check_conform*/;
-      variable14 = TAG_Int(UNTAG_Int( variable8 /*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
-      variable8 = variable14 /*arg_idx=*/;
+      variable15 = variable16;
+      variable13 = variable15 /*a=*/;
+      variable15 = ((typing___PExpr___stype_t)CALL( variable13 /*a*/,COLOR_syntax_base___PExpr___stype))( variable13 /*a*/) /*PExpr::stype*/;
+      ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/,  self, variable15,  variable14 /*par_type*/) /*AbsSyntaxVisitor::check_conform*/;
+      variable15 = TAG_Int(UNTAG_Int( variable9 /*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
+      variable9 = variable15 /*arg_idx=*/;
     }
-    ((array___AbstractArray___add_t)CALL( variable9 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*args*/,  variable12 /*a*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable10 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*args*/,  variable13 /*a*/) /*AbstractArray::add*/;
     continue_78: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable10,COLOR_abstract_collection___Iterator___next))(variable10) /*Iterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL(variable11,COLOR_abstract_collection___Iterator___next))(variable11) /*Iterator::next*/;
   }
   break_78: while(0);
-  variable4 =  variable9 /*args*/;
+  variable5 =  variable10 /*args*/;
   goto return_label77;
   return_label77: while(false);
   tracehead = trace.prev;
-  return variable4;
+  return variable5;
 }
 val_t typing___AAbsSendExpr___prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAbsSendExpr___prop, 858};
+  struct trace_t trace = {NULL, LOCATE_typing, 851, LOCATE_typing___AAbsSendExpr___prop};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___AAbsSendExpr____prop( self) /*AAbsSendExpr::_prop*/;
 }
 val_t typing___AAbsSendExpr___arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AAbsSendExpr___arguments, 861};
+  struct trace_t trace = {NULL, LOCATE_typing, 854, LOCATE_typing___AAbsSendExpr___arguments};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_typing___AAbsSendExpr____arguments( self) /*AAbsSendExpr::_arguments*/;
 }
 void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASuperInitCall___register_super_init_call, 869};
+  struct trace_t trace = {NULL, LOCATE_typing, 862, LOCATE_typing___ASuperInitCall___register_super_init_call};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2330,13 +2337,13 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*ASuperInitCall::parent*/;
+  variable2 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*PNode::parent*/;
   variable3 = ((typing___TypingVisitor___top_block_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___top_block))( variable0 /*v*/) /*TypingVisitor::top_block*/;
-  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) /*PNode::==*/)))))));
+  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::==*/)))))));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
     variable3 = ((typing___TypingVisitor___top_block_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___top_block))( variable0 /*v*/) /*TypingVisitor::top_block*/;
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( self == variable3) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self,variable3)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self, variable3) /*ASuperInitCall::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( self == variable3) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self,variable3)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self, variable3) /*Object::==*/)))))));
   }
   variable2 = variable3;
   if (UNTAG_Bool(variable2)) { /*if*/
@@ -2350,36 +2357,36 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
     variable6 = NEW_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) /*TypingVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
   }
-  variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*TypingVisitor::module*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*property*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*property*/) /*MMMethod::global*/;
+  variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
+  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*property*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*property*/) /*MMLocalProperty::global*/;
   variable4 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable4) /*MMGlobalProperty::intro*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable4) /*MMConcreteProperty::local_class*/;
+  variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable4) /*MMLocalProperty::local_class*/;
   variable4 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___global))(variable4) /*MMLocalClass::global*/;
-  variable3 = ((abstractmetamodel___MMModule_____bra_t)CALL(variable3,COLOR_abstractmetamodel___MMModule_____bra))(variable3, variable4) /*MMSrcModule::[]*/;
+  variable3 = ((abstractmetamodel___MMModule_____bra_t)CALL(variable3,COLOR_abstractmetamodel___MMModule_____bra))(variable3, variable4) /*MMModule::[]*/;
   variable2 = variable3;
-  variable3 = NIT_NULL /*decl variable prev_class*/;
+  variable3 =  NIT_NULL /*null*/;
   variable4 = ((typing___TypingVisitor___explicit_super_init_calls_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls))( variable0 /*v*/) /*TypingVisitor::explicit_super_init_calls*/;
-  variable4 = ((array___AbstractArray___is_empty_t)CALL(variable4,COLOR_abstract_collection___Collection___is_empty))(variable4) /*Array::is_empty*/;
+  variable4 = ((array___AbstractArray___is_empty_t)CALL(variable4,COLOR_abstract_collection___Collection___is_empty))(variable4) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
     variable4 = ((typing___TypingVisitor___explicit_super_init_calls_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls))( variable0 /*v*/) /*TypingVisitor::explicit_super_init_calls*/;
-    variable4 = ((abstract_collection___IndexedCollection___last_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___last))(variable4) /*Array::last*/;
-    variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMMethod::global*/;
+    variable4 = ((abstract_collection___IndexedCollection___last_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___last))(variable4) /*IndexedCollection::last*/;
+    variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMLocalProperty::global*/;
     variable4 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable4) /*MMGlobalProperty::intro*/;
-    variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable4) /*MMConcreteProperty::local_class*/;
+    variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable4) /*MMLocalProperty::local_class*/;
     variable3 = variable4 /*prev_class=*/;
   }
-  variable5 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*TypingVisitor::local_class*/;
-  variable5 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable5) /*MMSrcLocalClass::cshe*/;
+  variable5 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+  variable5 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable5) /*MMLocalClass::cshe*/;
   variable5 = ((partial_order___PartialOrderElement___reverse_linear_extension_t)CALL(variable5,COLOR_partial_order___PartialOrderElement___reverse_linear_extension))(variable5) /*PartialOrderElement::reverse_linear_extension*/;
   variable4 = variable5;
-  variable5 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*TypingVisitor::local_class*/;
-  variable5 = TAG_Bool(( variable2 /*cla*/ == variable5) || (( variable2 /*cla*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*cla*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*cla*/,variable5)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*cla*/,COLOR_kernel___Object_____eqeq))( variable2 /*cla*/, variable5) /*MMLocalClass::==*/)))));
+  variable5 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
+  variable5 = TAG_Bool(( variable2 /*cla*/ == variable5) || (( variable2 /*cla*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*cla*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*cla*/,variable5)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*cla*/,COLOR_kernel___Object_____eqeq))( variable2 /*cla*/, variable5) /*Object::==*/)))));
   if (UNTAG_Bool(variable5)) { /*if*/
     ((typing___TypingVisitor___explicit_other_init_call__eq_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___explicit_other_init_call__eq))( variable0 /*v*/,  TAG_Bool(true)) /*TypingVisitor::explicit_other_init_call=*/;
   } else { /*if*/
-    variable5 = ((array___AbstractArray___has_t)CALL( variable4 /*order*/,COLOR_abstract_collection___Collection___has))( variable4 /*order*/,  variable2 /*cla*/) /*Array::has*/;
+    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*/
@@ -2392,15 +2399,15 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
       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 = ((string___Collection___join_t)CALL( variable4 /*order*/,COLOR_string___Collection___join))( variable4 /*order*/, variable11) /*Array::join*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((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*/) /*MMLocalClass::==*/)))));
+      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*/
@@ -2412,20 +2419,20 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
         variable9 = NEW_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) /*TypingVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable5) /*AbsSyntaxVisitor::error*/;
       } else { /*if*/
-        variable6 = TAG_Bool(( variable3 /*prev_class*/ ==  NIT_NULL /*null*/) || (( variable3 /*prev_class*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*prev_class*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*prev_class*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*prev_class*/,COLOR_kernel___Object_____eqeq))( variable3 /*prev_class*/,  NIT_NULL /*null*/) /*MMLocalClass::==*/)))));
+        variable6 = TAG_Bool(( variable3 /*prev_class*/ ==  NIT_NULL /*null*/) || (( variable3 /*prev_class*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*prev_class*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*prev_class*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*prev_class*/,COLOR_kernel___Object_____eqeq))( variable3 /*prev_class*/,  NIT_NULL /*null*/) /*Object::==*/)))));
         variable5 = variable6;
-        variable6 = ((array___AbstractArray___iterator_t)CALL( variable4 /*order*/,COLOR_abstract_collection___Collection___iterator))( variable4 /*order*/) /*Array::iterator*/;
+        variable6 = ((array___AbstractArray___iterator_t)CALL( variable4 /*order*/,COLOR_abstract_collection___Collection___iterator))( variable4 /*order*/) /*AbstractArray::iterator*/;
         while (true) { /*for*/
           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 = TAG_Bool(( variable7 /*c*/ ==  variable3 /*prev_class*/) || (( variable7 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*c*/, variable3 /*prev_class*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*c*/,COLOR_kernel___Object_____eqeq))( variable7 /*c*/,  variable3 /*prev_class*/) /*MMLocalClass::==*/)))));
+          variable8 = TAG_Bool(( variable7 /*c*/ ==  variable3 /*prev_class*/) || (( variable7 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*c*/, variable3 /*prev_class*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*c*/,COLOR_kernel___Object_____eqeq))( variable7 /*c*/,  variable3 /*prev_class*/) /*Object::==*/)))));
           if (UNTAG_Bool(variable8)) { /*if*/
             variable5 =  TAG_Bool(true) /*last_is_found=*/;
           } else { /*if*/
-            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*/) /*MMLocalClass::==*/)))));
+            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*/
@@ -2444,10 +2451,10 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
                variable15 = NEW_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) /*TypingVisitor::error*/;
+               ((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*/) /*Array::add*/;
+              ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8,  variable1 /*property*/) /*AbstractArray::add*/;
               goto break_83;
             }
           }
@@ -2462,7 +2469,7 @@ void typing___ASuperInitCall___register_super_init_call(val_t  self, val_t  para
   return;
 }
 void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ANewExpr___after_typing, 906};
+  struct trace_t trace = {NULL, LOCATE_typing, 899, LOCATE_typing___ANewExpr___after_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2479,7 +2486,7 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
   variable2 = ((parser_nodes___ANewExpr___n_type_t)CALL( self,COLOR_parser_nodes___ANewExpr___n_type))( self) /*ANewExpr::n_type*/;
   variable2 = ((typing___PType___stype_t)CALL(variable2,COLOR_typing___PType___stype))(variable2) /*PType::stype*/;
   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*/) /*MMType::==*/)))));
+  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;
   }
@@ -2498,12 +2505,12 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
     variable7 = NEW_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) /*TypingVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
     goto return_label84;
   }
   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*/) /*TId::==*/)))));
+  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;
     else {
@@ -2515,52 +2522,54 @@ void typing___ANewExpr___after_typing(val_t  self, val_t  param0) {
     variable2 = variable3 /*name=*/;
   } else { /*if*/
     variable3 = ((parser_nodes___ANewExpr___n_id_t)CALL( self,COLOR_parser_nodes___ANewExpr___n_id))( self) /*ANewExpr::n_id*/;
-    variable3 = ((syntax_base___Token___to_symbol_t)CALL(variable3,COLOR_syntax_base___Token___to_symbol))(variable3) /*TId::to_symbol*/;
+    variable3 = ((syntax_base___Token___to_symbol_t)CALL(variable3,COLOR_syntax_base___Token___to_symbol))(variable3) /*Token::to_symbol*/;
     variable2 = variable3 /*name=*/;
   }
   variable3 = ((parser_nodes___ANewExpr___n_args_t)CALL( self,COLOR_parser_nodes___ANewExpr___n_args))( self) /*ANewExpr::n_args*/;
-  variable3 = ((array___Collection___to_a_t)CALL(variable3,COLOR_array___Collection___to_a))(variable3) /*List::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) /*ANewExpr::do_typing*/;
-  variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ANewExpr::prop*/;
-  variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMMethod::global*/;
+  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 = ((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*/
     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) /*ANewExpr::prop*/;
+    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*/
     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) /*TypingVisitor::error*/;
+    ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
   }
-  ATTR_typing___PExpr____stype( self) /*ANewExpr::_stype*/ =  variable1 /*t*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable1 /*t*/;
   return_label84: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ASendExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASendExpr___name, 932};
+  struct trace_t trace = {NULL, LOCATE_typing, 925, LOCATE_typing___ASendExpr___name};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "name", LOCATE_typing___ANewExpr___after_typing, 932);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 925);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t typing___ASendExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASendExpr___raw_arguments, 935};
+  struct trace_t trace = {NULL, LOCATE_typing, 928, LOCATE_typing___ASendExpr___raw_arguments};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "raw_arguments", LOCATE_typing___ANewExpr___after_typing, 935);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing, LOCATE_typing, 928);
   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, LOCATE_typing___ASendExpr___after_typing, 938};
+  struct trace_t trace = {NULL, LOCATE_typing, 931, LOCATE_typing___ASendExpr___after_typing};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
@@ -2569,7 +2578,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, LOCATE_typing___ASendExpr___do_all_typing, 943};
+  struct trace_t trace = {NULL, LOCATE_typing, 936, LOCATE_typing___ASendExpr___do_all_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2588,32 +2597,32 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
   variable3 = ((typing___PExpr___is_self_t)CALL(variable3,COLOR_typing___PExpr___is_self))(variable3) /*PExpr::is_self*/;
   variable4 = ((typing___ASendExpr___name_t)CALL( self,COLOR_typing___ASendExpr___name))( self) /*ASendExpr::name*/;
   variable5 = ((typing___ASendExpr___raw_arguments_t)CALL( self,COLOR_typing___ASendExpr___raw_arguments))( self) /*ASendExpr::raw_arguments*/;
-  ((typing___AAbsSendExpr___do_typing_t)CALL( self,COLOR_typing___AAbsSendExpr___do_typing))( self,  variable0 /*v*/, variable1, variable2, variable3, variable4, variable5) /*ASendExpr::do_typing*/;
-  variable1 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::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*/) /*MMMethod::==*/)))));
+  ((typing___AAbsSendExpr___do_typing_t)CALL( self,COLOR_typing___AAbsSendExpr___do_typing))( self,  variable0 /*v*/, variable1, variable2, variable3, variable4, variable5) /*AAbsSendExpr::do_typing*/;
+  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;
   }
-  variable1 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
-  variable1 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalProperty___global))(variable1) /*MMMethod::global*/;
+  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*/;
   variable1 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable1,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable1) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-    variable1 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalProperty___global))(variable1) /*MMSrcLocalProperty::global*/;
+    variable1 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+    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*/
       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) /*ASendExpr::prop*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable1) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
       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*/;
@@ -2622,25 +2631,27 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
         variable2 = NEW_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) /*ASendExpr::prop*/;
+        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*/
         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) /*TypingVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable1) /*AbsSyntaxVisitor::error*/;
       } else { /*if*/
-        variable1 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
-        ((typing___ASuperInitCall___register_super_init_call_t)CALL( self,COLOR_typing___ASuperInitCall___register_super_init_call))( self,  variable0 /*v*/, variable1) /*ASendExpr::register_super_init_call*/;
+        variable1 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
+        ((typing___ASuperInitCall___register_super_init_call_t)CALL( self,COLOR_typing___ASuperInitCall___register_super_init_call))( self,  variable0 /*v*/, variable1) /*ASuperInitCall::register_super_init_call*/;
       }
     }
   }
-  variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
-  variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMMethod::signature*/;
+  variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
+  variable3 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
+  variable3 = ((typing___PExpr___stype_t)CALL(variable3,COLOR_syntax_base___PExpr___stype))(variable3) /*PExpr::stype*/;
+  variable2 = ((static_type___MMLocalProperty___signature_for_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature_for))(variable2, variable3) /*MMLocalProperty::signature_for*/;
   variable2 = ((static_type___MMSignature___return_type_t)CALL(variable2,COLOR_static_type___MMSignature___return_type))(variable2) /*MMSignature::return_type*/;
   variable1 = variable2;
-  variable2 = TAG_Bool(!UNTAG_Bool(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*/) /*MMType::==*/)))))));
+  variable2 = TAG_Bool(!UNTAG_Bool(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::==*/)))))));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
     variable3 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
@@ -2652,19 +2663,19 @@ void typing___ASendExpr___do_all_typing(val_t  self, val_t  param0) {
     variable2 = ((static_type___MMType___not_for_self_t)CALL( variable1 /*t*/,COLOR_static_type___MMType___not_for_self))( variable1 /*t*/) /*MMType::not_for_self*/;
     variable1 = variable2 /*t=*/;
   }
-  ATTR_typing___PExpr____stype( self) /*ASendExpr::_stype*/ =  variable1 /*t*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ =  variable1 /*t*/;
   return_label87: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ASendReassignExpr___read_prop(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASendReassignExpr___read_prop, 965};
+  struct trace_t trace = {NULL, LOCATE_typing, 958, LOCATE_typing___ASendReassignExpr___read_prop};
   trace.prev = tracehead; tracehead = &trace;
   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, LOCATE_typing___ASendReassignExpr___do_all_typing, 966};
+  struct trace_t trace = {NULL, LOCATE_typing, 959, LOCATE_typing___ASendReassignExpr___do_all_typing};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -2681,88 +2692,90 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
   val_t variable13;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ((typing___ASendExpr___raw_arguments_t)CALL( self,COLOR_typing___ASendExpr___raw_arguments))( self) /*ASendReassignExpr::raw_arguments*/;
+  variable2 = ((typing___ASendExpr___raw_arguments_t)CALL( self,COLOR_typing___ASendExpr___raw_arguments))( self) /*ASendExpr::raw_arguments*/;
   variable1 = variable2;
-  variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+  variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
-  variable3 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+  variable3 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable3 = ((typing___PExpr___is_implicit_self_t)CALL(variable3,COLOR_typing___PExpr___is_implicit_self))(variable3) /*PExpr::is_implicit_self*/;
-  variable4 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+  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*/;
-  variable5 = ((typing___ASendExpr___name_t)CALL( self,COLOR_typing___ASendExpr___name))( self) /*ASendReassignExpr::name*/;
-  ((typing___AAbsSendExpr___do_typing_t)CALL( self,COLOR_typing___AAbsSendExpr___do_typing))( self,  variable0 /*v*/, variable2, variable3, variable4, variable5,  variable1 /*raw_args*/) /*ASendReassignExpr::do_typing*/;
-  variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::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*/) /*MMMethod::==*/)))));
+  variable5 = ((typing___ASendExpr___name_t)CALL( self,COLOR_typing___ASendExpr___name))( self) /*ASendExpr::name*/;
+  ((typing___AAbsSendExpr___do_typing_t)CALL( self,COLOR_typing___AAbsSendExpr___do_typing))( self,  variable0 /*v*/, variable2, variable3, variable4, variable5,  variable1 /*raw_args*/) /*AAbsSendExpr::do_typing*/;
+  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;
   }
-  variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::prop*/;
-  variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___global))(variable2) /*MMMethod::global*/;
+  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*/;
   variable2 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable2,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable2) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-    variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___global))(variable2) /*MMSrcLocalProperty::global*/;
+    variable2 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+    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*/
       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) /*ASendReassignExpr::prop*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
-      variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+      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*/
         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) /*ASendReassignExpr::prop*/;
+        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*/
         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) /*TypingVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable2) /*AbsSyntaxVisitor::error*/;
       }
     }
   }
-  variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::prop*/;
-  variable3 = ((genericity___MMLocalProperty___signature_t)CALL(variable3,COLOR_static_type___MMLocalProperty___signature))(variable3) /*MMMethod::signature*/;
+  variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
+  variable4 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
+  variable4 = ((typing___PExpr___stype_t)CALL(variable4,COLOR_syntax_base___PExpr___stype))(variable4) /*PExpr::stype*/;
+  variable3 = ((static_type___MMLocalProperty___signature_for_t)CALL(variable3,COLOR_static_type___MMLocalProperty___signature_for))(variable3, variable4) /*MMLocalProperty::signature_for*/;
   variable3 = ((static_type___MMSignature___return_type_t)CALL(variable3,COLOR_static_type___MMSignature___return_type))(variable3) /*MMSignature::return_type*/;
   variable2 = variable3;
-  variable3 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+  variable3 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable3 = ((typing___PExpr___is_self_t)CALL(variable3,COLOR_typing___PExpr___is_self))(variable3) /*PExpr::is_self*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
     variable3 = ((static_type___MMType___not_for_self_t)CALL( variable2 /*t*/,COLOR_static_type___MMType___not_for_self))( variable2 /*t*/) /*MMType::not_for_self*/;
     variable2 = variable3 /*t=*/;
   }
-  ((typing___AReassignFormExpr___do_lvalue_typing_t)CALL( self,COLOR_typing___AReassignFormExpr___do_lvalue_typing))( self,  variable0 /*v*/,  variable2 /*t*/) /*ASendReassignExpr::do_lvalue_typing*/;
-  variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::prop*/;
+  ((typing___AReassignFormExpr___do_lvalue_typing_t)CALL( self,COLOR_typing___AReassignFormExpr___do_lvalue_typing))( self,  variable0 /*v*/,  variable2 /*t*/) /*AReassignFormExpr::do_lvalue_typing*/;
+  variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*AAbsSendExpr::prop*/;
   ATTR_typing___ASendReassignExpr____read_prop( self) /*ASendReassignExpr::_read_prop*/ = variable3;
-  variable4 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ASendReassignExpr::arguments*/;
+  variable4 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*AAbsSendExpr::arguments*/;
   variable3 = variable4;
-  variable4 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*ASendReassignExpr::n_value*/;
-  ((array___AbstractArray___add_t)CALL( variable1 /*raw_args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*raw_args*/, variable4) /*Array::add*/;
-  variable4 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+  variable4 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AReassignFormExpr::n_value*/;
+  ((array___AbstractArray___add_t)CALL( variable1 /*raw_args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*raw_args*/, variable4) /*AbstractArray::add*/;
+  variable4 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable4 = ((typing___PExpr___stype_t)CALL(variable4,COLOR_syntax_base___PExpr___stype))(variable4) /*PExpr::stype*/;
-  variable5 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+  variable5 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   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) /*ASendReassignExpr::n_expr*/;
+  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*/
   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) /*ASendReassignExpr::name*/;
+  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*/;
@@ -2770,71 +2783,71 @@ void typing___ASendReassignExpr___do_all_typing(val_t  self, val_t  param0) {
   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*/;
-  ((typing___AAbsSendExpr___do_typing_t)CALL( self,COLOR_typing___AAbsSendExpr___do_typing))( self,  variable0 /*v*/, variable4, variable5, variable6, variable7,  variable1 /*raw_args*/) /*ASendReassignExpr::do_typing*/;
-  variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::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*/) /*MMMethod::==*/)))));
+  ((typing___AAbsSendExpr___do_typing_t)CALL( self,COLOR_typing___AAbsSendExpr___do_typing))( self,  variable0 /*v*/, variable4, variable5, variable6, variable7,  variable1 /*raw_args*/) /*AAbsSendExpr::do_typing*/;
+  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;
   }
-  variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::prop*/;
-  variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMMethod::global*/;
+  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*/;
   variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
   if (UNTAG_Bool(variable4)) { /*if*/
-    variable4 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*TypingVisitor::local_property*/;
-    variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMSrcLocalProperty::global*/;
+    variable4 = ((syntax_base___AbsSyntaxVisitor___local_property_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property))( variable0 /*v*/) /*AbsSyntaxVisitor::local_property*/;
+    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*/
       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) /*ASendReassignExpr::prop*/;
+      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*/
       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) /*TypingVisitor::error*/;
+      ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
     } else { /*if*/
-      variable4 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
+      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*/
         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) /*ASendReassignExpr::prop*/;
+        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*/
         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) /*TypingVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable4) /*AbsSyntaxVisitor::error*/;
       }
     }
   }
-  ATTR_typing___AAbsSendExpr____arguments( self) /*ASendReassignExpr::_arguments*/ =  variable3 /*old_args*/;
+  ATTR_typing___AAbsSendExpr____arguments( self) /*AAbsSendExpr::_arguments*/ =  variable3 /*old_args*/;
   return_label88: while(false);
   tracehead = trace.prev;
   return;
 }
 val_t typing___ABinopExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABinopExpr___raw_arguments, 1002};
+  struct trace_t trace = {NULL, LOCATE_typing, 995, LOCATE_typing___ABinopExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[PExpr]*/
+  variable0 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
   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) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*AbstractArray::add*/;
   goto return_label89;
   return_label89: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AEqExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AEqExpr___name, 1005};
+  struct trace_t trace = {NULL, LOCATE_typing, 998, LOCATE_typing___AEqExpr___name};
   val_t variable0;
   static val_t once_value_variable0_91; static int once_bool_variable0_91;
   trace.prev = tracehead; tracehead = &trace;
@@ -2851,7 +2864,7 @@ val_t typing___AEqExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ANeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ANeExpr___name, 1008};
+  struct trace_t trace = {NULL, LOCATE_typing, 1001, LOCATE_typing___ANeExpr___name};
   val_t variable0;
   static val_t once_value_variable0_93; static int once_bool_variable0_93;
   trace.prev = tracehead; tracehead = &trace;
@@ -2868,7 +2881,7 @@ val_t typing___ANeExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ALtExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ALtExpr___name, 1011};
+  struct trace_t trace = {NULL, LOCATE_typing, 1004, LOCATE_typing___ALtExpr___name};
   val_t variable0;
   static val_t once_value_variable0_95; static int once_bool_variable0_95;
   trace.prev = tracehead; tracehead = &trace;
@@ -2885,7 +2898,7 @@ val_t typing___ALtExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ALeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ALeExpr___name, 1014};
+  struct trace_t trace = {NULL, LOCATE_typing, 1007, LOCATE_typing___ALeExpr___name};
   val_t variable0;
   static val_t once_value_variable0_97; static int once_bool_variable0_97;
   trace.prev = tracehead; tracehead = &trace;
@@ -2902,7 +2915,7 @@ val_t typing___ALeExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AGtExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AGtExpr___name, 1017};
+  struct trace_t trace = {NULL, LOCATE_typing, 1010, LOCATE_typing___AGtExpr___name};
   val_t variable0;
   static val_t once_value_variable0_99; static int once_bool_variable0_99;
   trace.prev = tracehead; tracehead = &trace;
@@ -2919,7 +2932,7 @@ val_t typing___AGtExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AGeExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AGeExpr___name, 1020};
+  struct trace_t trace = {NULL, LOCATE_typing, 1013, LOCATE_typing___AGeExpr___name};
   val_t variable0;
   static val_t once_value_variable0_101; static int once_bool_variable0_101;
   trace.prev = tracehead; tracehead = &trace;
@@ -2936,7 +2949,7 @@ val_t typing___AGeExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___APlusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___APlusExpr___name, 1023};
+  struct trace_t trace = {NULL, LOCATE_typing, 1016, LOCATE_typing___APlusExpr___name};
   val_t variable0;
   static val_t once_value_variable0_103; static int once_bool_variable0_103;
   trace.prev = tracehead; tracehead = &trace;
@@ -2953,7 +2966,7 @@ val_t typing___APlusExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AMinusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AMinusExpr___name, 1026};
+  struct trace_t trace = {NULL, LOCATE_typing, 1019, LOCATE_typing___AMinusExpr___name};
   val_t variable0;
   static val_t once_value_variable0_105; static int once_bool_variable0_105;
   trace.prev = tracehead; tracehead = &trace;
@@ -2970,7 +2983,7 @@ val_t typing___AMinusExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AStarshipExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AStarshipExpr___name, 1029};
+  struct trace_t trace = {NULL, LOCATE_typing, 1022, LOCATE_typing___AStarshipExpr___name};
   val_t variable0;
   static val_t once_value_variable0_107; static int once_bool_variable0_107;
   trace.prev = tracehead; tracehead = &trace;
@@ -2987,7 +3000,7 @@ val_t typing___AStarshipExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AStarExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AStarExpr___name, 1032};
+  struct trace_t trace = {NULL, LOCATE_typing, 1025, LOCATE_typing___AStarExpr___name};
   val_t variable0;
   static val_t once_value_variable0_109; static int once_bool_variable0_109;
   trace.prev = tracehead; tracehead = &trace;
@@ -3004,7 +3017,7 @@ val_t typing___AStarExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ASlashExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ASlashExpr___name, 1035};
+  struct trace_t trace = {NULL, LOCATE_typing, 1028, LOCATE_typing___ASlashExpr___name};
   val_t variable0;
   static val_t once_value_variable0_111; static int once_bool_variable0_111;
   trace.prev = tracehead; tracehead = &trace;
@@ -3021,7 +3034,7 @@ val_t typing___ASlashExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___APercentExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___APercentExpr___name, 1038};
+  struct trace_t trace = {NULL, LOCATE_typing, 1031, LOCATE_typing___APercentExpr___name};
   val_t variable0;
   static val_t once_value_variable0_113; static int once_bool_variable0_113;
   trace.prev = tracehead; tracehead = &trace;
@@ -3038,7 +3051,7 @@ val_t typing___APercentExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AUminusExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AUminusExpr___name, 1042};
+  struct trace_t trace = {NULL, LOCATE_typing, 1035, LOCATE_typing___AUminusExpr___name};
   val_t variable0;
   static val_t once_value_variable0_115; static int once_bool_variable0_115;
   trace.prev = tracehead; tracehead = &trace;
@@ -3055,7 +3068,7 @@ val_t typing___AUminusExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AUminusExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AUminusExpr___raw_arguments, 1043};
+  struct trace_t trace = {NULL, LOCATE_typing, 1036, LOCATE_typing___AUminusExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  NIT_NULL /*null*/;
@@ -3065,7 +3078,7 @@ val_t typing___AUminusExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallFormExpr___after_typing, 1047};
+  struct trace_t trace = {NULL, LOCATE_typing, 1040, LOCATE_typing___ACallFormExpr___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3077,16 +3090,16 @@ void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
         val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ACallFormExpr::n_expr*/;
+  variable1 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
   variable1 = ((typing___PExpr___is_implicit_self_t)CALL(variable1,COLOR_typing___PExpr___is_implicit_self))(variable1) /*PExpr::is_implicit_self*/;
   if (UNTAG_Bool(variable1)) { /*if*/
     variable2 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallFormExpr::n_id*/;
-    variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TId::to_symbol*/;
+    variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
     variable1 = variable2;
     variable3 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
     variable3 = ((typing___VariableContext_____bra_t)CALL(variable3,COLOR_typing___VariableContext_____bra))(variable3,  variable1 /*name*/) /*VariableContext::[]*/;
     variable2 = variable3;
-    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*variable*/ ==  NIT_NULL /*null*/) || (( variable2 /*variable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*variable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*variable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*variable*/,COLOR_kernel___Object_____eqeq))( variable2 /*variable*/,  NIT_NULL /*null*/) /*Variable::==*/)))))));
+    variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2 /*variable*/ ==  NIT_NULL /*null*/) || (( variable2 /*variable*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*variable*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*variable*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*variable*/,COLOR_kernel___Object_____eqeq))( variable2 /*variable*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable3)) { /*if*/
       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*/;
@@ -3101,13 +3114,13 @@ void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
         variable7 = NEW_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) /*TypingVisitor::error*/;
+        ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/,  self, variable3) /*AbsSyntaxVisitor::error*/;
       }
       variable4 = ((typing___ACallFormExpr___variable_create_t)CALL( self,COLOR_typing___ACallFormExpr___variable_create))( self,  variable2 /*variable*/) /*ACallFormExpr::variable_create*/;
       variable3 = variable4;
-      ((typing___AVarFormExpr___variable__eq_t)CALL( variable3 /*vform*/,COLOR_typing___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*/) /*ACallFormExpr::replace_with*/;
-      ((typing___PNode___after_typing_t)CALL( variable3 /*vform*/,COLOR_typing___PNode___after_typing))( variable3 /*vform*/,  variable0 /*v*/) /*AVarFormExpr::after_typing*/;
+      ((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;
     }
   }
@@ -3117,21 +3130,22 @@ void typing___ACallFormExpr___after_typing(val_t  self, val_t  param0) {
   return;
 }
 val_t typing___ACallFormExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallFormExpr___variable_create, 1066};
+  struct trace_t trace = {NULL, LOCATE_typing, 1059, LOCATE_typing___ACallFormExpr___variable_create};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "variable_create", LOCATE_typing___ACallFormExpr___after_typing, 1066);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_typing___ACallFormExpr___after_typing, LOCATE_typing, 1059);
   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, LOCATE_typing___ACallExpr___variable_create, 1071};
+  struct trace_t trace = {NULL, LOCATE_typing, 1064, LOCATE_typing___ACallExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallExpr::n_id*/;
+  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*/
   variable1 = variable2;
   goto return_label118;
@@ -3140,29 +3154,29 @@ val_t typing___ACallExpr___variable_create(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___ACallExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallExpr___name, 1076};
+  struct trace_t trace = {NULL, LOCATE_typing, 1069, LOCATE_typing___ACallExpr___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallExpr::n_id*/;
-  variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*TId::to_symbol*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallExpr___raw_arguments, 1077};
+  struct trace_t trace = {NULL, LOCATE_typing, 1070, LOCATE_typing___ACallExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallExpr::n_args*/;
-  variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*List::to_a*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallAssignExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallAssignExpr___variable_create, 1081};
+  struct trace_t trace = {NULL, LOCATE_typing, 1074, LOCATE_typing___ACallAssignExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3170,9 +3184,9 @@ val_t typing___ACallAssignExpr___variable_create(val_t  self, val_t  param0) {
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallAssignExpr::n_id*/;
-  variable2 = ((parser_nodes___AAssignFormExpr___n_assign_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_assign))( self) /*ACallAssignExpr::n_assign*/;
-  variable3 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*ACallAssignExpr::n_value*/;
+  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*/
   variable1 = variable4;
   goto return_label121;
@@ -3181,12 +3195,12 @@ val_t typing___ACallAssignExpr___variable_create(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___ACallAssignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallAssignExpr___name, 1086};
+  struct trace_t trace = {NULL, LOCATE_typing, 1079, LOCATE_typing___ACallAssignExpr___name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallAssignExpr::n_id*/;
-  variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TId::text*/;
+  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*/
   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*/;
@@ -3196,15 +3210,15 @@ val_t typing___ACallAssignExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ACallAssignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallAssignExpr___raw_arguments, 1087};
+  struct trace_t trace = {NULL, LOCATE_typing, 1080, LOCATE_typing___ACallAssignExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallAssignExpr::n_args*/;
-  variable1 = ((array___Collection___to_a_t)CALL(variable1,COLOR_array___Collection___to_a))(variable1) /*List::to_a*/;
+  variable1 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallFormExpr::n_args*/;
+  variable1 = ((array___Collection___to_a_t)CALL(variable1,COLOR_array___Collection___to_a))(variable1) /*Collection::to_a*/;
   variable0 = variable1;
-  variable1 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*ACallAssignExpr::n_value*/;
-  ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable1) /*Array::add*/;
+  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);
@@ -3212,7 +3226,7 @@ val_t typing___ACallAssignExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___ACallReassignExpr___variable_create(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallReassignExpr___variable_create, 1096};
+  struct trace_t trace = {NULL, LOCATE_typing, 1089, LOCATE_typing___ACallReassignExpr___variable_create};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -3220,9 +3234,9 @@ val_t typing___ACallReassignExpr___variable_create(val_t  self, val_t  param0) {
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallReassignExpr::n_id*/;
-  variable2 = ((parser_nodes___AReassignFormExpr___n_assign_op_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_assign_op))( self) /*ACallReassignExpr::n_assign_op*/;
-  variable3 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*ACallReassignExpr::n_value*/;
+  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*/
   variable1 = variable4;
   goto return_label124;
@@ -3231,29 +3245,29 @@ val_t typing___ACallReassignExpr___variable_create(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t typing___ACallReassignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallReassignExpr___name, 1101};
+  struct trace_t trace = {NULL, LOCATE_typing, 1094, LOCATE_typing___ACallReassignExpr___name};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___ACallFormExpr___n_id_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_id))( self) /*ACallReassignExpr::n_id*/;
-  variable0 = ((syntax_base___Token___to_symbol_t)CALL(variable0,COLOR_syntax_base___Token___to_symbol))(variable0) /*TId::to_symbol*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ACallReassignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ACallReassignExpr___raw_arguments, 1102};
+  struct trace_t trace = {NULL, LOCATE_typing, 1095, LOCATE_typing___ACallReassignExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___ACallFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ACallFormExpr___n_args))( self) /*ACallReassignExpr::n_args*/;
-  variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*List::to_a*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABraExpr___name, 1106};
+  struct trace_t trace = {NULL, LOCATE_typing, 1099, LOCATE_typing___ABraExpr___name};
   val_t variable0;
   static val_t once_value_variable0_128; static int once_bool_variable0_128;
   trace.prev = tracehead; tracehead = &trace;
@@ -3270,18 +3284,18 @@ val_t typing___ABraExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ABraExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABraExpr___raw_arguments, 1107};
+  struct trace_t trace = {NULL, LOCATE_typing, 1100, LOCATE_typing___ABraExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraExpr::n_args*/;
-  variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*List::to_a*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___ABraAssignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABraAssignExpr___name, 1111};
+  struct trace_t trace = {NULL, LOCATE_typing, 1104, LOCATE_typing___ABraAssignExpr___name};
   val_t variable0;
   static val_t once_value_variable0_131; static int once_bool_variable0_131;
   trace.prev = tracehead; tracehead = &trace;
@@ -3298,15 +3312,15 @@ val_t typing___ABraAssignExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ABraAssignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABraAssignExpr___raw_arguments, 1112};
+  struct trace_t trace = {NULL, LOCATE_typing, 1105, LOCATE_typing___ABraAssignExpr___raw_arguments};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraAssignExpr::n_args*/;
-  variable1 = ((array___Collection___to_a_t)CALL(variable1,COLOR_array___Collection___to_a))(variable1) /*List::to_a*/;
+  variable1 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraFormExpr::n_args*/;
+  variable1 = ((array___Collection___to_a_t)CALL(variable1,COLOR_array___Collection___to_a))(variable1) /*Collection::to_a*/;
   variable0 = variable1;
-  variable1 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*ABraAssignExpr::n_value*/;
-  ((array___AbstractArray___add_t)CALL( variable0 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*res*/, variable1) /*Array::add*/;
+  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);
@@ -3314,7 +3328,7 @@ val_t typing___ABraAssignExpr___raw_arguments(val_t  self) {
   return variable0;
 }
 val_t typing___ABraReassignExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABraReassignExpr___name, 1121};
+  struct trace_t trace = {NULL, LOCATE_typing, 1114, LOCATE_typing___ABraReassignExpr___name};
   val_t variable0;
   static val_t once_value_variable0_134; static int once_bool_variable0_134;
   trace.prev = tracehead; tracehead = &trace;
@@ -3331,18 +3345,18 @@ val_t typing___ABraReassignExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___ABraReassignExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___ABraReassignExpr___raw_arguments, 1122};
+  struct trace_t trace = {NULL, LOCATE_typing, 1115, LOCATE_typing___ABraReassignExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((parser_nodes___ABraFormExpr___n_args_t)CALL( self,COLOR_parser_nodes___ABraFormExpr___n_args))( self) /*ABraReassignExpr::n_args*/;
-  variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*List::to_a*/;
+  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);
   tracehead = trace.prev;
   return variable0;
 }
 val_t typing___AInitExpr___name(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AInitExpr___name, 1126};
+  struct trace_t trace = {NULL, LOCATE_typing, 1119, LOCATE_typing___AInitExpr___name};
   val_t variable0;
   static val_t once_value_variable0_137; static int once_bool_variable0_137;
   trace.prev = tracehead; tracehead = &trace;
@@ -3359,18 +3373,18 @@ val_t typing___AInitExpr___name(val_t  self) {
   return variable0;
 }
 val_t typing___AInitExpr___raw_arguments(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_typing___AInitExpr___raw_arguments, 1127};
+  struct trace_t trace = {NULL, LOCATE_typing, 1120, LOCATE_typing___AInitExpr___raw_arguments};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   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) /*List::to_a*/;
+  variable0 = ((array___Collection___to_a_t)CALL(variable0,COLOR_array___Collection___to_a))(variable0) /*Collection::to_a*/;
   goto return_label138;
   return_label138: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 void typing___AIsaExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AIsaExpr___after_typing, 1131};
+  struct trace_t trace = {NULL, LOCATE_typing, 1124, LOCATE_typing___AIsaExpr___after_typing};
   val_t variable0;
   val_t variable1;
     val_t variable2;
@@ -3384,28 +3398,44 @@ 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 (%s: %d)\n", "", LOCATE_typing___AIsaExpr___after_typing, 1135); 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, 1128); nit_exit(1);}
     variable2 = ((typing___TypingVisitor___variable_ctx_t)CALL( variable0 /*v*/,COLOR_typing___TypingVisitor___variable_ctx))( variable0 /*v*/) /*TypingVisitor::variable_ctx*/;
-    variable3 = ((typing___AVarFormExpr___variable_t)CALL( variable1 /*n*/,COLOR_typing___AVarFormExpr___variable))( variable1 /*n*/) /*AVarExpr::variable*/;
+    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*/;
     variable4 = ((typing___PType___stype_t)CALL(variable4,COLOR_typing___PType___stype))(variable4) /*PType::stype*/;
     variable2 = ((typing___VariableContext___sub_with_t)CALL(variable2,COLOR_typing___VariableContext___sub_with))(variable2, variable3, variable4) /*VariableContext::sub_with*/;
-    ATTR_typing___PExpr____if_true_variable_ctx( self) /*AIsaExpr::_if_true_variable_ctx*/ = variable2;
+    ATTR_typing___PExpr____if_true_variable_ctx( self) /*PExpr::_if_true_variable_ctx*/ = variable2;
   }
-  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*TypingVisitor::type_bool*/;
-  ATTR_typing___PExpr____stype( self) /*AIsaExpr::_stype*/ = variable1;
+  variable1 = ((syntax_base___AbsSyntaxVisitor___type_bool_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool))( variable0 /*v*/) /*AbsSyntaxVisitor::type_bool*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
+  tracehead = trace.prev;
+  return;
+}
+void typing___AAsCastExpr___after_typing(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_typing, 1136, LOCATE_typing___AAsCastExpr___after_typing};
+  val_t variable0;
+  val_t variable1;
+  val_t variable2;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 =  param0;
+  variable1 = ((parser_nodes___AAsCastExpr___n_type_t)CALL( self,COLOR_parser_nodes___AAsCastExpr___n_type))( self) /*AAsCastExpr::n_type*/;
+  variable1 = ((typing___PType___stype_t)CALL(variable1,COLOR_typing___PType___stype))(variable1) /*PType::stype*/;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
+  variable2 = ((parser_nodes___AAsCastExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAsCastExpr___n_expr))( self) /*AAsCastExpr::n_expr*/;
+  variable2 = ((typing___PExpr___stype_t)CALL(variable2,COLOR_syntax_base___PExpr___stype))(variable2) /*PExpr::stype*/;
+  variable1 = variable2;
   tracehead = trace.prev;
   return;
 }
 void typing___AProxyExpr___after_typing(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_typing___AProxyExpr___after_typing, 1143};
+  struct trace_t trace = {NULL, LOCATE_typing, 1144, LOCATE_typing___AProxyExpr___after_typing};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AProxyExpr::n_expr*/;
   variable1 = ((typing___PExpr___stype_t)CALL(variable1,COLOR_syntax_base___PExpr___stype))(variable1) /*PExpr::stype*/;
-  ATTR_typing___PExpr____stype( self) /*AProxyExpr::_stype*/ = variable1;
+  ATTR_typing___PExpr____stype( self) /*PExpr::_stype*/ = variable1;
   tracehead = trace.prev;
   return;
 }
index ff83fec..8262c6b 100644 (file)
@@ -1,6 +1,6 @@
 /* This C header file is generated by NIT to compile modules and programs that requires typing. */
-#ifndef typing_3_sep
-#define typing_3_sep
+#ifndef typing_2_sep
+#define typing_2_sep
 #include "syntax_base._sep.h"
 #include <nit_common.h>
 
@@ -15,7 +15,7 @@ extern const classtable_elt_t VFT_AAbsSendExpr[];
 extern const classtable_elt_t VFT_ASuperInitCall[];
 
 extern const classtable_elt_t VFT_ASendReassignExpr[];
-#define LOCATE_typing "typing"
+#define LOCATE_typing "./syntax//typing.nit"
 extern const int SFT_typing[];
 #define COLOR_typing___MMSrcModule___do_typing SFT_typing[0]
 #define ID_TypingVisitor SFT_typing[1]
@@ -74,48 +74,43 @@ extern const int SFT_typing[];
 #define COLOR_typing___PExpr___is_self SFT_typing[54]
 #define COLOR_typing___PExpr___is_variable SFT_typing[55]
 #define COLOR_typing___PExpr___if_true_variable_ctx SFT_typing[56]
-#define COLOR_typing___AVardeclExpr____variable SFT_typing[57]
-#define COLOR_typing___AVardeclExpr___variable SFT_typing[58]
-#define COLOR_SUPER_typing___ABlockExpr___accept_typing SFT_typing[59]
-#define COLOR_typing___AForVardeclExpr____variable SFT_typing[60]
-#define COLOR_typing___AForVardeclExpr___variable SFT_typing[61]
-#define COLOR_typing___AVarFormExpr____variable SFT_typing[62]
-#define COLOR_typing___AVarFormExpr___variable SFT_typing[63]
-#define COLOR_typing___AVarFormExpr___variable__eq SFT_typing[64]
-#define COLOR_typing___AReassignFormExpr____assign_method SFT_typing[65]
-#define COLOR_typing___AReassignFormExpr___do_lvalue_typing SFT_typing[66]
-#define COLOR_typing___AReassignFormExpr___assign_method SFT_typing[67]
-#define COLOR_typing___PAssignOp___method_name SFT_typing[68]
-#define COLOR_typing___AArrayExpr___stype__eq SFT_typing[69]
-#define COLOR_typing___ASuperExpr____init_in_superclass SFT_typing[70]
-#define COLOR_typing___ASuperExpr___init_in_superclass SFT_typing[71]
-#define COLOR_typing___AAttrFormExpr____prop SFT_typing[72]
-#define COLOR_typing___AAttrFormExpr___prop SFT_typing[73]
-#define COLOR_typing___AAttrFormExpr___do_typing SFT_typing[74]
-#define ID_AAbsSendExpr SFT_typing[75]
-#define COLOR_AAbsSendExpr SFT_typing[76]
-#define COLOR_typing___AAbsSendExpr____prop SFT_typing[77]
-#define COLOR_typing___AAbsSendExpr____arguments SFT_typing[78]
-#define INIT_TABLE_POS_AAbsSendExpr SFT_typing[79]
-#define COLOR_typing___AAbsSendExpr___do_typing SFT_typing[80]
-#define COLOR_typing___AAbsSendExpr___get_property SFT_typing[81]
-#define COLOR_typing___AAbsSendExpr___process_signature SFT_typing[82]
-#define COLOR_typing___AAbsSendExpr___prop SFT_typing[83]
-#define COLOR_typing___AAbsSendExpr___arguments SFT_typing[84]
-#define ID_ASuperInitCall SFT_typing[85]
-#define COLOR_ASuperInitCall SFT_typing[86]
-#define INIT_TABLE_POS_ASuperInitCall SFT_typing[87]
-#define COLOR_typing___ASuperInitCall___register_super_init_call SFT_typing[88]
-#define COLOR_typing___ASendExpr___name SFT_typing[89]
-#define COLOR_typing___ASendExpr___raw_arguments SFT_typing[90]
-#define COLOR_typing___ASendExpr___do_all_typing SFT_typing[91]
-#define ID_ASendReassignExpr SFT_typing[92]
-#define COLOR_ASendReassignExpr SFT_typing[93]
-#define COLOR_typing___ASendReassignExpr____read_prop SFT_typing[94]
-#define INIT_TABLE_POS_ASendReassignExpr SFT_typing[95]
-#define COLOR_typing___ASendReassignExpr___read_prop SFT_typing[96]
-#define COLOR_SUPER_typing___ACallFormExpr___after_typing SFT_typing[97]
-#define COLOR_typing___ACallFormExpr___variable_create SFT_typing[98]
+#define COLOR_SUPER_typing___ABlockExpr___accept_typing SFT_typing[57]
+#define COLOR_typing___AReassignFormExpr____assign_method SFT_typing[58]
+#define COLOR_typing___AReassignFormExpr___do_lvalue_typing SFT_typing[59]
+#define COLOR_typing___AReassignFormExpr___assign_method SFT_typing[60]
+#define COLOR_typing___PAssignOp___method_name SFT_typing[61]
+#define COLOR_typing___AArrayExpr___stype__eq SFT_typing[62]
+#define COLOR_typing___ASuperExpr____init_in_superclass SFT_typing[63]
+#define COLOR_typing___ASuperExpr___init_in_superclass SFT_typing[64]
+#define COLOR_typing___AAttrFormExpr____prop SFT_typing[65]
+#define COLOR_typing___AAttrFormExpr____attr_type SFT_typing[66]
+#define COLOR_typing___AAttrFormExpr___prop SFT_typing[67]
+#define COLOR_typing___AAttrFormExpr___attr_type SFT_typing[68]
+#define COLOR_typing___AAttrFormExpr___do_typing SFT_typing[69]
+#define ID_AAbsSendExpr SFT_typing[70]
+#define COLOR_AAbsSendExpr SFT_typing[71]
+#define COLOR_typing___AAbsSendExpr____prop SFT_typing[72]
+#define COLOR_typing___AAbsSendExpr____arguments SFT_typing[73]
+#define INIT_TABLE_POS_AAbsSendExpr SFT_typing[74]
+#define COLOR_typing___AAbsSendExpr___do_typing SFT_typing[75]
+#define COLOR_typing___AAbsSendExpr___get_property SFT_typing[76]
+#define COLOR_typing___AAbsSendExpr___process_signature SFT_typing[77]
+#define COLOR_typing___AAbsSendExpr___prop SFT_typing[78]
+#define COLOR_typing___AAbsSendExpr___arguments SFT_typing[79]
+#define ID_ASuperInitCall SFT_typing[80]
+#define COLOR_ASuperInitCall SFT_typing[81]
+#define INIT_TABLE_POS_ASuperInitCall SFT_typing[82]
+#define COLOR_typing___ASuperInitCall___register_super_init_call SFT_typing[83]
+#define COLOR_typing___ASendExpr___name SFT_typing[84]
+#define COLOR_typing___ASendExpr___raw_arguments SFT_typing[85]
+#define COLOR_typing___ASendExpr___do_all_typing SFT_typing[86]
+#define ID_ASendReassignExpr SFT_typing[87]
+#define COLOR_ASendReassignExpr SFT_typing[88]
+#define COLOR_typing___ASendReassignExpr____read_prop SFT_typing[89]
+#define INIT_TABLE_POS_ASendReassignExpr SFT_typing[90]
+#define COLOR_typing___ASendReassignExpr___read_prop SFT_typing[91]
+#define COLOR_SUPER_typing___ACallFormExpr___after_typing SFT_typing[92]
+#define COLOR_typing___ACallFormExpr___variable_create SFT_typing[93]
 typedef void (* typing___MMSrcModule___do_typing_t)(val_t  self, val_t  param0);
 void typing___MMSrcModule___do_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___MMSrcModule___do_typing "typing::MMSrcModule::do_typing"
@@ -253,10 +248,6 @@ val_t typing___PExpr___is_variable(val_t  self);
 typedef val_t (* typing___PExpr___if_true_variable_ctx_t)(val_t  self);
 val_t typing___PExpr___if_true_variable_ctx(val_t  self);
 #define LOCATE_typing___PExpr___if_true_variable_ctx "typing::PExpr::if_true_variable_ctx"
-#define ATTR_typing___AVardeclExpr____variable(recv) ATTR(recv, COLOR_typing___AVardeclExpr____variable)
-typedef val_t (* typing___AVardeclExpr___variable_t)(val_t  self);
-val_t typing___AVardeclExpr___variable(val_t  self);
-#define LOCATE_typing___AVardeclExpr___variable "typing::AVardeclExpr::variable"
 typedef void (* typing___AVardeclExpr___after_typing_t)(val_t  self, val_t  param0);
 void typing___AVardeclExpr___after_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___AVardeclExpr___after_typing "typing::AVardeclExpr::(typing::PNode::after_typing)"
@@ -275,23 +266,12 @@ void typing___AWhileExpr___after_typing(val_t  self, val_t  param0);
 typedef void (* typing___AForExpr___after_typing_t)(val_t  self, val_t  param0);
 void typing___AForExpr___after_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___AForExpr___after_typing "typing::AForExpr::(typing::PNode::after_typing)"
-#define ATTR_typing___AForVardeclExpr____variable(recv) ATTR(recv, COLOR_typing___AForVardeclExpr____variable)
-typedef val_t (* typing___AForVardeclExpr___variable_t)(val_t  self);
-val_t typing___AForVardeclExpr___variable(val_t  self);
-#define LOCATE_typing___AForVardeclExpr___variable "typing::AForVardeclExpr::variable"
 typedef void (* typing___AForVardeclExpr___after_typing_t)(val_t  self, val_t  param0);
 void typing___AForVardeclExpr___after_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___AForVardeclExpr___after_typing "typing::AForVardeclExpr::(typing::PNode::after_typing)"
 typedef void (* typing___AAssertExpr___after_typing_t)(val_t  self, val_t  param0);
 void typing___AAssertExpr___after_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___AAssertExpr___after_typing "typing::AAssertExpr::(typing::PNode::after_typing)"
-#define ATTR_typing___AVarFormExpr____variable(recv) ATTR(recv, COLOR_typing___AVarFormExpr____variable)
-typedef val_t (* typing___AVarFormExpr___variable_t)(val_t  self);
-val_t typing___AVarFormExpr___variable(val_t  self);
-#define LOCATE_typing___AVarFormExpr___variable "typing::AVarFormExpr::variable"
-typedef void (* typing___AVarFormExpr___variable__eq_t)(val_t  self, val_t  param0);
-void typing___AVarFormExpr___variable__eq(val_t  self, val_t  param0);
-#define LOCATE_typing___AVarFormExpr___variable__eq "typing::AVarFormExpr::variable="
 typedef val_t (* typing___AVarExpr___is_variable_t)(val_t  self);
 val_t typing___AVarExpr___is_variable(val_t  self);
 #define LOCATE_typing___AVarExpr___is_variable "typing::AVarExpr::(typing::PExpr::is_variable)"
@@ -308,6 +288,9 @@ void typing___AReassignFormExpr___do_lvalue_typing(val_t  self, val_t  param0, v
 typedef val_t (* typing___AReassignFormExpr___assign_method_t)(val_t  self);
 val_t typing___AReassignFormExpr___assign_method(val_t  self);
 #define LOCATE_typing___AReassignFormExpr___assign_method "typing::AReassignFormExpr::assign_method"
+typedef void (* typing___AVarReassignExpr___after_typing_t)(val_t  self, val_t  param0);
+void typing___AVarReassignExpr___after_typing(val_t  self, val_t  param0);
+#define LOCATE_typing___AVarReassignExpr___after_typing "typing::AVarReassignExpr::(typing::PNode::after_typing)"
 typedef val_t (* typing___PAssignOp___method_name_t)(val_t  self);
 val_t typing___PAssignOp___method_name(val_t  self);
 #define LOCATE_typing___PAssignOp___method_name "typing::PAssignOp::method_name"
@@ -317,9 +300,6 @@ val_t typing___APlusAssignOp___method_name(val_t  self);
 typedef val_t (* typing___AMinusAssignOp___method_name_t)(val_t  self);
 val_t typing___AMinusAssignOp___method_name(val_t  self);
 #define LOCATE_typing___AMinusAssignOp___method_name "typing::AMinusAssignOp::(typing::PAssignOp::method_name)"
-typedef void (* typing___AVarReassignExpr___after_typing_t)(val_t  self, val_t  param0);
-void typing___AVarReassignExpr___after_typing(val_t  self, val_t  param0);
-#define LOCATE_typing___AVarReassignExpr___after_typing "typing::AVarReassignExpr::(typing::PNode::after_typing)"
 typedef void (* typing___ASelfExpr___after_typing_t)(val_t  self, val_t  param0);
 void typing___ASelfExpr___after_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___ASelfExpr___after_typing "typing::ASelfExpr::(typing::PNode::after_typing)"
@@ -382,6 +362,10 @@ void typing___ASuperExpr___after_typing(val_t  self, val_t  param0);
 typedef val_t (* typing___AAttrFormExpr___prop_t)(val_t  self);
 val_t typing___AAttrFormExpr___prop(val_t  self);
 #define LOCATE_typing___AAttrFormExpr___prop "typing::AAttrFormExpr::prop"
+#define ATTR_typing___AAttrFormExpr____attr_type(recv) ATTR(recv, COLOR_typing___AAttrFormExpr____attr_type)
+typedef val_t (* typing___AAttrFormExpr___attr_type_t)(val_t  self);
+val_t typing___AAttrFormExpr___attr_type(val_t  self);
+#define LOCATE_typing___AAttrFormExpr___attr_type "typing::AAttrFormExpr::attr_type"
 typedef void (* typing___AAttrFormExpr___do_typing_t)(val_t  self, val_t  param0);
 void typing___AAttrFormExpr___do_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___AAttrFormExpr___do_typing "typing::AAttrFormExpr::do_typing"
@@ -400,8 +384,8 @@ void typing___AAbsSendExpr___do_typing(val_t  self, val_t  param0, val_t  param1
 typedef val_t (* typing___AAbsSendExpr___get_property_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
 val_t typing___AAbsSendExpr___get_property(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
 #define LOCATE_typing___AAbsSendExpr___get_property "typing::AAbsSendExpr::get_property"
-typedef val_t (* typing___AAbsSendExpr___process_signature_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+typedef val_t (* typing___AAbsSendExpr___process_signature_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4);
+val_t typing___AAbsSendExpr___process_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4);
 #define LOCATE_typing___AAbsSendExpr___process_signature "typing::AAbsSendExpr::process_signature"
 #define ATTR_typing___AAbsSendExpr____prop(recv) ATTR(recv, COLOR_typing___AAbsSendExpr____prop)
 typedef val_t (* typing___AAbsSendExpr___prop_t)(val_t  self);
@@ -541,6 +525,9 @@ val_t typing___AInitExpr___raw_arguments(val_t  self);
 typedef void (* typing___AIsaExpr___after_typing_t)(val_t  self, val_t  param0);
 void typing___AIsaExpr___after_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___AIsaExpr___after_typing "typing::AIsaExpr::(typing::PNode::after_typing)"
+typedef void (* typing___AAsCastExpr___after_typing_t)(val_t  self, val_t  param0);
+void typing___AAsCastExpr___after_typing(val_t  self, val_t  param0);
+#define LOCATE_typing___AAsCastExpr___after_typing "typing::AAsCastExpr::(typing::PNode::after_typing)"
 typedef void (* typing___AProxyExpr___after_typing_t)(val_t  self, val_t  param0);
 void typing___AProxyExpr___after_typing(val_t  self, val_t  param0);
 #define LOCATE_typing___AProxyExpr___after_typing "typing::AProxyExpr::(typing::PNode::after_typing)"
index 64584d1..3295bb4 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module utils. */
 #include "utils._sep.h"
 val_t utils___Object___cmangle(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_utils___Object___cmangle, 21};
+  struct trace_t trace = {NULL, LOCATE_utils, 21, LOCATE_utils___Object___cmangle};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -18,7 +18,7 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
         val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
   /* check if p<Array[Symbol] with p:Symbol */
-  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled (%s: %d)\n", LOCATE_utils, 22); nit_exit(1); } /*cast Array[Symbol]*/;
+  if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " (%s:%d)\n", LOCATE_utils, 22); nit_exit(1); } /*cast Array[Symbol]*/;
   variable0 =  param0;
   if (once_bool_variable2_1) variable2 = once_value_variable2_1;
   else {
@@ -29,12 +29,12 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
   variable1 = variable2;
   variable3 = NEW_string___String___init(); /*new String*/
   variable2 = variable3;
-  variable3 = ((array___AbstractArray___iterator_t)CALL( variable0 /*symbols*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*symbols*/) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( variable0 /*symbols*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*symbols*/) /*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 = ((array___AbstractArray___is_empty_t)CALL( variable2 /*res*/,COLOR_abstract_collection___Collection___is_empty))( variable2 /*res*/) /*String::is_empty*/;
+    variable5 = ((array___AbstractArray___is_empty_t)CALL( variable2 /*res*/,COLOR_abstract_collection___Collection___is_empty))( variable2 /*res*/) /*AbstractArray::is_empty*/;
     if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
       ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  TAG_Char('_')) /*String::add*/;
       ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  TAG_Char('_')) /*String::add*/;
@@ -44,7 +44,7 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
     variable6 =  TAG_Bool(true);
     variable8 = ((symbol___Symbol___to_s_t)CALL( variable4 /*sym*/,COLOR_string___Object___to_s))( variable4 /*sym*/) /*Symbol::to_s*/;
     variable7 = variable8;
-    variable8 = ((array___AbstractArray___iterator_t)CALL( variable7 /*s*/,COLOR_abstract_collection___Collection___iterator))( variable7 /*s*/) /*String::iterator*/;
+    variable8 = ((array___AbstractArray___iterator_t)CALL( variable7 /*s*/,COLOR_abstract_collection___Collection___iterator))( variable7 /*s*/) /*AbstractArray::iterator*/;
     while (true) { /*for*/
       variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
       if (!UNTAG_Bool(variable9)) break; /*for*/
@@ -91,13 +91,13 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
           variable5 =  TAG_Bool(true) /*underscore=*/;
           variable6 =  TAG_Bool(true) /*normal=*/;
         } else { /*if*/
-          variable10 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Map___has_key))( variable1 /*table*/,  variable9 /*c*/) /*HashMap::has_key*/;
+          variable10 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Map___has_key))( variable1 /*table*/,  variable9 /*c*/) /*CoupleMap::has_key*/;
           if (UNTAG_Bool(variable10)) { /*if*/
             if (UNTAG_Bool( variable6 /*normal*/)) { /*if*/
               ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  TAG_Char('_')) /*String::add*/;
               ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/,  TAG_Char('_')) /*String::add*/;
             }
-            variable10 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Map_____bra))( variable1 /*table*/,  variable9 /*c*/) /*HashMap::[]*/;
+            variable10 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Map_____bra))( variable1 /*table*/,  variable9 /*c*/) /*CoupleMap::[]*/;
             ((string___String___append_t)CALL( variable2 /*res*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*res*/, variable10) /*String::append*/;
             variable6 =  TAG_Bool(false) /*normal=*/;
             variable5 =  TAG_Bool(false) /*underscore=*/;
@@ -119,11 +119,11 @@ val_t utils___Object___cmangle(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t utils___Object___cmangle_table(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_utils___Object___cmangle_table, 58};
+  struct trace_t trace = {NULL, LOCATE_utils, 58, LOCATE_utils___Object___cmangle_table};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = NEW_hash___HashMap___init(); /*new HashMap[Char, String]*/
+  variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
   variable0 = variable1;
   variable1 = NEW_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::[]=*/;
index c169b2b..e20c6d0 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires utils. */
-#ifndef utils_3_sep
-#define utils_3_sep
+#ifndef utils_2_sep
+#define utils_2_sep
 #include "standard._sep.h"
 #include <nit_common.h>
-#define LOCATE_utils "utils"
+#define LOCATE_utils "./utils.nit"
 extern const int SFT_utils[];
 #define COLOR_utils___Object___cmangle SFT_utils[0]
 #define COLOR_utils___Object___cmangle_table SFT_utils[1]
index 38b8034..6865541 100644 (file)
@@ -1,20 +1,20 @@
 /* This C file is generated by NIT to compile module vararg. */
 #include "vararg._sep.h"
 val_t vararg___MMSignature___vararg_rank(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_vararg___MMSignature___vararg_rank, 24};
+  struct trace_t trace = {NULL, LOCATE_vararg, 24, LOCATE_vararg___MMSignature___vararg_rank};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_vararg___MMSignature____vararg_rank( self) /*MMSignature::_vararg_rank*/;
 }
 void vararg___MMSignature___vararg_rank__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_vararg___MMSignature___vararg_rank__eq, 24};
+  struct trace_t trace = {NULL, LOCATE_vararg, 24, LOCATE_vararg___MMSignature___vararg_rank__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_vararg___MMSignature____vararg_rank( self) /*MMSignature::_vararg_rank*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t vararg___MMSignature___has_vararg(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_vararg___MMSignature___has_vararg, 27};
+  struct trace_t trace = {NULL, LOCATE_vararg, 27, LOCATE_vararg___MMSignature___has_vararg};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ATTR_vararg___MMSignature____vararg_rank( self) /*MMSignature::_vararg_rank*/;
@@ -25,7 +25,7 @@ val_t vararg___MMSignature___has_vararg(val_t  self) {
   return variable0;
 }
 val_t vararg___MMSignature___adaptation_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_vararg___MMSignature___adaptation_to, 33};
+  struct trace_t trace = {NULL, LOCATE_vararg, 33, LOCATE_vararg___MMSignature___adaptation_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -42,7 +42,7 @@ val_t vararg___MMSignature___adaptation_to(val_t  self, val_t  param0) {
   return variable1;
 }
 void vararg___MMSignature___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_vararg___MMSignature___init, 40};
+  struct trace_t trace = {NULL, LOCATE_vararg, 40, LOCATE_vararg___MMSignature___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
index 5cdf143..63746ab 100644 (file)
@@ -1,9 +1,9 @@
 /* This C header file is generated by NIT to compile modules and programs that requires vararg. */
-#ifndef vararg_3_sep
-#define vararg_3_sep
+#ifndef vararg_2_sep
+#define vararg_2_sep
 #include "genericity._sep.h"
 #include <nit_common.h>
-#define LOCATE_vararg "vararg"
+#define LOCATE_vararg "./metamodel//vararg.nit"
 extern const int SFT_vararg[];
 #define COLOR_vararg___MMSignature____vararg_rank SFT_vararg[0]
 #define COLOR_vararg___MMSignature___vararg_rank SFT_vararg[1]
@@ -23,7 +23,7 @@ val_t vararg___MMSignature___has_vararg(val_t  self);
 #define LOCATE_vararg___MMSignature___has_vararg "vararg::MMSignature::has_vararg"
 typedef val_t (* vararg___MMSignature___adaptation_to_t)(val_t  self, val_t  param0);
 val_t vararg___MMSignature___adaptation_to(val_t  self, val_t  param0);
-#define LOCATE_vararg___MMSignature___adaptation_to "vararg::MMSignature::(genericity::MMSignature::adaptation_to)"
+#define LOCATE_vararg___MMSignature___adaptation_to "vararg::MMSignature::(static_type::MMSignature::adaptation_to)"
 typedef void (* vararg___MMSignature___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 void vararg___MMSignature___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
 val_t NEW_vararg___MMSignature___init(val_t  param0, val_t  param1, val_t  param2);
index 01379a3..ca00095 100644 (file)
@@ -1,7 +1,7 @@
 /* This C file is generated by NIT to compile module virtualtype. */
 #include "virtualtype._sep.h"
 val_t virtualtype___MMGlobalProperty___is_virtual_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMGlobalProperty___is_virtual_type, 24};
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 24, LOCATE_virtualtype___MMGlobalProperty___is_virtual_type};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___intro))( self) /*MMGlobalProperty::intro*/;
@@ -11,114 +11,125 @@ val_t virtualtype___MMGlobalProperty___is_virtual_type(val_t  self) {
   tracehead = trace.prev;
   return variable0;
 }
-val_t virtualtype___MMTypeProperty___inherit_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMTypeProperty___inherit_to, 31};
+val_t virtualtype___MMTypeProperty___stype_for(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 31, LOCATE_virtualtype___MMTypeProperty___stype_for};
   val_t variable0;
   val_t variable1;
+  val_t variable2;
+  val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = NEW_virtualtype___MMImplicitType___init( self,  variable0 /*t*/); /*new MMImplicitType*/
+  variable2 = ((static_type___MMType___local_class_t)CALL( variable0 /*recv*/,COLOR_static_type___MMType___local_class))( variable0 /*recv*/) /*MMType::local_class*/;
+  variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMLocalProperty::global*/;
+  variable2 = ((inheritance___MMLocalClass_____bra_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable2, variable3) /*MMLocalClass::[]*/;
+  variable1 = variable2;
+  variable2 = TAG_Bool(( variable1 /*prop*/==NIT_NULL) || VAL_ISA( variable1 /*prop*/, COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_virtualtype___MMTypeProperty___stype_for, LOCATE_virtualtype, 35); nit_exit(1);}
+  variable2 = ((virtualtype___MMTypeProperty___real_stype_for_t)CALL( variable1 /*prop*/,COLOR_virtualtype___MMTypeProperty___real_stype_for))( variable1 /*prop*/,  variable0 /*recv*/) /*MMTypeProperty::real_stype_for*/;
+  variable1 = variable2;
   goto return_label1;
   return_label1: while(false);
   tracehead = trace.prev;
   return variable1;
 }
-val_t virtualtype___MMTypeProperty___stype(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMTypeProperty___stype, 39};
+val_t virtualtype___MMTypeProperty___real_stype_for(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 42, LOCATE_virtualtype___MMTypeProperty___real_stype_for};
   val_t variable0;
   val_t variable1;
+  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMTypeProperty::signature*/;
-  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*/) /*MMSignature::==*/)))));
-  if (UNTAG_Bool(variable0)) { /*if*/
-    variable0 =  NIT_NULL /*null*/;
+  variable0 =  param0;
+  variable1 = ((static_type___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMLocalProperty::signature*/;
+  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*/
+    variable1 =  NIT_NULL /*null*/;
     goto return_label2;
   }
-  variable1 = ATTR_virtualtype___MMTypeProperty____stype_cache( self) /*MMTypeProperty::_stype_cache*/;
-  variable0 = variable1;
-  variable1 = TAG_Bool(( variable0 /*r*/ ==  NIT_NULL /*null*/) || (( variable0 /*r*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*r*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*r*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*r*/,COLOR_kernel___Object_____eqeq))( variable0 /*r*/,  NIT_NULL /*null*/) /*MMVirtualType::==*/)))));
+  variable1 = ATTR_virtualtype___MMTypeProperty____stypes_cache( self) /*MMTypeProperty::_stypes_cache*/;
+  variable1 = ((abstract_collection___CoupleMap___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1,  variable0 /*recv*/) /*CoupleMap::has_key*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_virtualtype___MMVirtualType___init( self); /*new MMVirtualType*/
-    variable0 = variable1 /*r=*/;
-    ATTR_virtualtype___MMTypeProperty____stype_cache( self) /*MMTypeProperty::_stype_cache*/ =  variable0 /*r*/;
+    variable1 = ATTR_virtualtype___MMTypeProperty____stypes_cache( self) /*MMTypeProperty::_stypes_cache*/;
+    variable1 = ((abstract_collection___CoupleMap_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1,  variable0 /*recv*/) /*CoupleMap::[]*/;
+    goto return_label2;
   }
-  variable0 =  variable0 /*r*/;
-  goto return_label2;
-  return_label2: while(false);
-  tracehead = trace.prev;
-  return variable0;
-}
-val_t virtualtype___MMType___select_virtual_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMType___select_virtual_type, 55};
-  val_t variable0;
-  val_t variable1;
-  val_t variable2;
-  trace.prev = tracehead; tracehead = &trace;
-  variable0 =  param0;
-  variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*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*/) /*MMLocalClass::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_virtualtype___MMType___select_virtual_type, 58); nit_exit(1);}
-  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Symbol::==*/)))))));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_virtualtype___MMType___select_virtual_type, 59); nit_exit(1);}
-  variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
-  variable2 = ((virtualtype___MMLocalClass___virtual_type_t)CALL(variable2,COLOR_virtualtype___MMLocalClass___virtual_type))(variable2,  variable0 /*name*/) /*MMLocalClass::virtual_type*/;
-  variable2 = ((static_type___MMType___select_property_t)CALL( self,COLOR_static_type___MMType___select_property))( self, variable2) /*MMType::select_property*/;
+  variable2 = NEW_virtualtype___MMVirtualType___init( self,  variable0 /*recv*/); /*new MMVirtualType*/
   variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*res*/==NIT_NULL) || VAL_ISA( variable1 /*res*/, COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_virtualtype___MMType___select_virtual_type, 61); nit_exit(1);}
+  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::[]=*/;
   variable1 =  variable1 /*res*/;
-  goto return_label3;
-  return_label3: while(false);
+  goto return_label2;
+  return_label2: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t virtualtype___MMVirtualType___property(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMVirtualType___property, 68};
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 58, LOCATE_virtualtype___MMVirtualType___property};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_virtualtype___MMVirtualType____property( self) /*MMVirtualType::_property*/;
 }
-void virtualtype___MMVirtualType___init(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMVirtualType___init, 71};
+val_t virtualtype___MMVirtualType___recv(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 61, LOCATE_virtualtype___MMVirtualType___recv};
+  trace.prev = tracehead; tracehead = &trace;
+  tracehead = trace.prev;
+  return ATTR_virtualtype___MMVirtualType____recv( self) /*MMVirtualType::_recv*/;
+}
+void virtualtype___MMVirtualType___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 64, LOCATE_virtualtype___MMVirtualType___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
+  val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
+  variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMVirtualType].i]) return;
-  variable1 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable0 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable0 /*p*/) /*MMTypeProperty::name*/;
-  variable2 = ((static_type___MMLocalProperty___signature_t)CALL( variable0 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable0 /*p*/) /*MMTypeProperty::signature*/;
-  variable2 = ((static_type___MMSignature___return_type_t)CALL(variable2,COLOR_static_type___MMSignature___return_type))(variable2) /*MMSignature::return_type*/;
-  ((type_formal___MMTypeFormal___init_t)CALL( self,COLOR_type_formal___MMTypeFormal___init))( self, variable1, variable2, init_table /*YYY*/) /*MMTypeFormal::init*/;
+  variable2 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable0 /*p*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable0 /*p*/) /*MMLocalProperty::name*/;
+  variable3 = ((static_type___MMLocalProperty___signature_for_t)CALL( variable0 /*p*/,COLOR_static_type___MMLocalProperty___signature_for))( variable0 /*p*/,  variable1 /*recv*/) /*MMLocalProperty::signature_for*/;
+  variable3 = ((static_type___MMSignature___return_type_t)CALL(variable3,COLOR_static_type___MMSignature___return_type))(variable3) /*MMSignature::return_type*/;
+  ((type_formal___MMTypeFormal___init_t)CALL( self,COLOR_type_formal___MMTypeFormal___init))( self, variable2, variable3, init_table /*YYY*/) /*MMTypeFormal::init*/;
   ATTR_virtualtype___MMVirtualType____property( self) /*MMVirtualType::_property*/ =  variable0 /*p*/;
+  ATTR_virtualtype___MMVirtualType____recv( self) /*MMVirtualType::_recv*/ =  variable1 /*recv*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMVirtualType].i] = 1;
   tracehead = trace.prev;
   return;
 }
+val_t virtualtype___MMVirtualType___module(val_t  self) {
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 71, LOCATE_virtualtype___MMVirtualType___module};
+  val_t variable0;
+  trace.prev = tracehead; tracehead = &trace;
+  variable0 = ATTR_virtualtype___MMVirtualType____recv( self) /*MMVirtualType::_recv*/;
+  variable0 = ((static_type___MMType___module_t)CALL(variable0,COLOR_static_type___MMType___module))(variable0) /*MMType::module*/;
+  goto return_label4;
+  return_label4: while(false);
+  tracehead = trace.prev;
+  return variable0;
+}
 val_t virtualtype___MMVirtualType___for_module(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMVirtualType___for_module, 77};
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 73, LOCATE_virtualtype___MMVirtualType___for_module};
   val_t variable0;
   val_t variable1;
-  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ATTR_virtualtype___MMVirtualType____property( self) /*MMVirtualType::_property*/;
-  variable2 = ((static_type___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMTypeProperty::signature*/;
-  variable2 = ((static_type___MMSignature___recv_t)CALL(variable2,COLOR_static_type___MMSignature___recv))(variable2) /*MMSignature::recv*/;
-  variable2 = ((static_type___MMType___for_module_t)CALL(variable2,COLOR_static_type___MMType___for_module))(variable2,  variable0 /*mod*/) /*MMType::for_module*/;
-  variable1 = variable2;
-  variable2 = ((virtualtype___MMVirtualType___adapt_to_t)CALL( self,COLOR_static_type___MMType___adapt_to))( self,  variable1 /*recv*/) /*MMVirtualType::adapt_to*/;
-  variable1 = variable2;
+  variable1 = ((virtualtype___MMVirtualType___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMVirtualType::module*/;
+  variable1 = TAG_Bool(( variable0 /*mod*/ == variable1) || (( variable0 /*mod*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*mod*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*mod*/,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*mod*/,COLOR_kernel___Object_____eqeq))( variable0 /*mod*/, variable1) /*Object::==*/)))));
+  if (UNTAG_Bool(variable1)) { /*if*/
+    variable1 =  self;
+    goto return_label5;
+  }
+  variable1 = ((virtualtype___MMVirtualType___recv_t)CALL( self,COLOR_virtualtype___MMVirtualType___recv))( self) /*MMVirtualType::recv*/;
+  variable1 = ((static_type___MMType___for_module_t)CALL(variable1,COLOR_static_type___MMType___for_module))(variable1,  variable0 /*mod*/) /*MMType::for_module*/;
+  variable1 = ((virtualtype___MMVirtualType___adapt_to_t)CALL( self,COLOR_static_type___MMType___adapt_to))( self, variable1) /*MMVirtualType::adapt_to*/;
   goto return_label5;
   return_label5: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t virtualtype___MMVirtualType___not_for_self(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMVirtualType___not_for_self, 83};
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 79, LOCATE_virtualtype___MMVirtualType___not_for_self};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((type_formal___MMTypeFormal___bound_t)CALL( self,COLOR_type_formal___MMTypeFormal___bound))( self) /*MMVirtualType::bound*/;
+  variable0 = ((type_formal___MMTypeFormal___bound_t)CALL( self,COLOR_type_formal___MMTypeFormal___bound))( self) /*MMTypeFormal::bound*/;
   variable0 = ((static_type___MMType___not_for_self_t)CALL(variable0,COLOR_static_type___MMType___not_for_self))(variable0) /*MMType::not_for_self*/;
   goto return_label6;
   return_label6: while(false);
@@ -126,27 +137,20 @@ val_t virtualtype___MMVirtualType___not_for_self(val_t  self) {
   return variable0;
 }
 val_t virtualtype___MMVirtualType___adapt_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMVirtualType___adapt_to, 88};
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 84, LOCATE_virtualtype___MMVirtualType___adapt_to};
   val_t variable0;
   val_t variable1;
-  val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable2 = ATTR_virtualtype___MMVirtualType____property( self) /*MMVirtualType::_property*/;
-  variable2 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalProperty___global))(variable2) /*MMTypeProperty::global*/;
-  variable2 = ((static_type___MMType___select_property_t)CALL( variable0 /*recv*/,COLOR_static_type___MMType___select_property))( variable0 /*recv*/, variable2) /*MMType::select_property*/;
-  variable1 = variable2;
-  variable2 = TAG_Bool(( variable1 /*prop*/==NIT_NULL) || VAL_ISA( variable1 /*prop*/, COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_virtualtype___MMVirtualType___adapt_to, 92); nit_exit(1);}
-  variable2 = ((virtualtype___MMTypeProperty___stype_t)CALL( variable1 /*prop*/,COLOR_virtualtype___MMTypeProperty___stype))( variable1 /*prop*/) /*MMTypeProperty::stype*/;
-  variable1 = variable2;
+  variable1 = ((virtualtype___MMVirtualType___property_t)CALL( self,COLOR_virtualtype___MMVirtualType___property))( self) /*MMVirtualType::property*/;
+  variable1 = ((virtualtype___MMTypeProperty___stype_for_t)CALL(variable1,COLOR_virtualtype___MMTypeProperty___stype_for))(variable1,  variable0 /*recv*/) /*MMTypeProperty::stype_for*/;
   goto return_label7;
   return_label7: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t virtualtype___MMLocalClass___virtual_type(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMLocalClass___virtual_type, 98};
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 91, LOCATE_virtualtype___MMLocalClass___virtual_type};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -165,16 +169,30 @@ val_t virtualtype___MMLocalClass___virtual_type(val_t  self, val_t  param0) {
   tracehead = trace.prev;
   return variable1;
 }
-void virtualtype___MMImplicitType___init(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_virtualtype___MMImplicitType___init, 111};
+val_t virtualtype___MMLocalClass___select_virtual_type(val_t  self, val_t  param0) {
+  struct trace_t trace = {NULL, LOCATE_virtualtype, 100, LOCATE_virtualtype___MMLocalClass___select_virtual_type};
   val_t variable0;
   val_t variable1;
+  val_t variable2;
+  val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 =  param1;
-  if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitType].i]) return;
-  ((inheritance___MMImplicitProperty___init_t)CALL( self,COLOR_inheritance___MMImplicitProperty___init))( self,  param0,  param1, init_table /*YYY*/) /*MMImplicitProperty::init*/;
-  init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMImplicitType].i] = 1;
+  variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ ==  NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_virtualtype___MMLocalClass___select_virtual_type, LOCATE_virtualtype, 103); nit_exit(1);}
+  variable2 = ((virtualtype___MMLocalClass___virtual_type_t)CALL( self,COLOR_virtualtype___MMLocalClass___virtual_type))( self,  variable0 /*name*/) /*MMLocalClass::virtual_type*/;
+  variable1 = variable2;
+  variable2 = TAG_Bool(( variable1 /*gp*/ ==  NIT_NULL /*null*/) || (( variable1 /*gp*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*gp*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*gp*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*gp*/,COLOR_kernel___Object_____eqeq))( variable1 /*gp*/,  NIT_NULL /*null*/) /*Object::==*/)))));
+  if (UNTAG_Bool(variable2)) { /*if*/
+    variable1 =  NIT_NULL /*null*/;
+    goto return_label9;
+  }
+  variable3 = ((inheritance___MMLocalClass_____bra_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass_____bra))( self,  variable1 /*gp*/) /*MMLocalClass::[]*/;
+  variable2 = variable3;
+  variable3 = TAG_Bool(( variable2 /*res*/==NIT_NULL) || VAL_ISA( variable2 /*res*/, COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
+  if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_virtualtype___MMLocalClass___select_virtual_type, LOCATE_virtualtype, 107); nit_exit(1);}
+  variable1 =  variable2 /*res*/;
+  goto return_label9;
+  return_label9: while(false);
   tracehead = trace.prev;
-  return;
+  return variable1;
 }
index 54c863f..6693f9e 100644 (file)
@@ -1,55 +1,56 @@
 /* This C header file is generated by NIT to compile modules and programs that requires virtualtype. */
-#ifndef virtualtype_3_sep
-#define virtualtype_3_sep
+#ifndef virtualtype_2_sep
+#define virtualtype_2_sep
 #include "type_formal._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_MMTypeProperty[];
 
 extern const classtable_elt_t VFT_MMVirtualType[];
-
-extern const classtable_elt_t VFT_MMImplicitType[];
-#define LOCATE_virtualtype "virtualtype"
+#define LOCATE_virtualtype "./metamodel//virtualtype.nit"
 extern const int SFT_virtualtype[];
 #define COLOR_virtualtype___MMGlobalProperty___is_virtual_type SFT_virtualtype[0]
 #define ID_MMTypeProperty SFT_virtualtype[1]
 #define COLOR_MMTypeProperty SFT_virtualtype[2]
-#define COLOR_virtualtype___MMTypeProperty____stype_cache SFT_virtualtype[3]
+#define COLOR_virtualtype___MMTypeProperty____stypes_cache SFT_virtualtype[3]
 #define INIT_TABLE_POS_MMTypeProperty SFT_virtualtype[4]
-#define COLOR_virtualtype___MMTypeProperty___stype SFT_virtualtype[5]
-#define COLOR_virtualtype___MMType___select_virtual_type SFT_virtualtype[6]
+#define COLOR_virtualtype___MMTypeProperty___stype_for SFT_virtualtype[5]
+#define COLOR_virtualtype___MMTypeProperty___real_stype_for SFT_virtualtype[6]
 #define ID_MMVirtualType SFT_virtualtype[7]
 #define COLOR_MMVirtualType SFT_virtualtype[8]
 #define COLOR_virtualtype___MMVirtualType____property SFT_virtualtype[9]
-#define INIT_TABLE_POS_MMVirtualType SFT_virtualtype[10]
-#define COLOR_virtualtype___MMVirtualType___property SFT_virtualtype[11]
-#define COLOR_virtualtype___MMVirtualType___init SFT_virtualtype[12]
-#define COLOR_virtualtype___MMLocalClass___virtual_type SFT_virtualtype[13]
-#define ID_MMImplicitType SFT_virtualtype[14]
-#define COLOR_MMImplicitType SFT_virtualtype[15]
-#define INIT_TABLE_POS_MMImplicitType SFT_virtualtype[16]
-#define COLOR_virtualtype___MMImplicitType___init SFT_virtualtype[17]
+#define COLOR_virtualtype___MMVirtualType____recv SFT_virtualtype[10]
+#define INIT_TABLE_POS_MMVirtualType SFT_virtualtype[11]
+#define COLOR_virtualtype___MMVirtualType___property SFT_virtualtype[12]
+#define COLOR_virtualtype___MMVirtualType___recv SFT_virtualtype[13]
+#define COLOR_virtualtype___MMVirtualType___init SFT_virtualtype[14]
+#define COLOR_virtualtype___MMLocalClass___virtual_type SFT_virtualtype[15]
+#define COLOR_virtualtype___MMLocalClass___select_virtual_type SFT_virtualtype[16]
 typedef val_t (* virtualtype___MMGlobalProperty___is_virtual_type_t)(val_t  self);
 val_t virtualtype___MMGlobalProperty___is_virtual_type(val_t  self);
 #define LOCATE_virtualtype___MMGlobalProperty___is_virtual_type "virtualtype::MMGlobalProperty::is_virtual_type"
-typedef val_t (* virtualtype___MMTypeProperty___inherit_to_t)(val_t  self, val_t  param0);
-val_t virtualtype___MMTypeProperty___inherit_to(val_t  self, val_t  param0);
-#define LOCATE_virtualtype___MMTypeProperty___inherit_to "virtualtype::MMTypeProperty::(inheritance::MMLocalProperty::inherit_to)"
-#define ATTR_virtualtype___MMTypeProperty____stype_cache(recv) ATTR(recv, COLOR_virtualtype___MMTypeProperty____stype_cache)
-typedef val_t (* virtualtype___MMTypeProperty___stype_t)(val_t  self);
-val_t virtualtype___MMTypeProperty___stype(val_t  self);
-#define LOCATE_virtualtype___MMTypeProperty___stype "virtualtype::MMTypeProperty::stype"
-typedef val_t (* virtualtype___MMType___select_virtual_type_t)(val_t  self, val_t  param0);
-val_t virtualtype___MMType___select_virtual_type(val_t  self, val_t  param0);
-#define LOCATE_virtualtype___MMType___select_virtual_type "virtualtype::MMType::select_virtual_type"
+typedef val_t (* virtualtype___MMTypeProperty___stype_for_t)(val_t  self, val_t  param0);
+val_t virtualtype___MMTypeProperty___stype_for(val_t  self, val_t  param0);
+#define LOCATE_virtualtype___MMTypeProperty___stype_for "virtualtype::MMTypeProperty::stype_for"
+#define ATTR_virtualtype___MMTypeProperty____stypes_cache(recv) ATTR(recv, COLOR_virtualtype___MMTypeProperty____stypes_cache)
+typedef val_t (* virtualtype___MMTypeProperty___real_stype_for_t)(val_t  self, val_t  param0);
+val_t virtualtype___MMTypeProperty___real_stype_for(val_t  self, val_t  param0);
+#define LOCATE_virtualtype___MMTypeProperty___real_stype_for "virtualtype::MMTypeProperty::real_stype_for"
 #define ATTR_virtualtype___MMVirtualType____property(recv) ATTR(recv, COLOR_virtualtype___MMVirtualType____property)
 typedef val_t (* virtualtype___MMVirtualType___property_t)(val_t  self);
 val_t virtualtype___MMVirtualType___property(val_t  self);
 #define LOCATE_virtualtype___MMVirtualType___property "virtualtype::MMVirtualType::property"
-typedef void (* virtualtype___MMVirtualType___init_t)(val_t  self, val_t  param0, int* init_table);
-void virtualtype___MMVirtualType___init(val_t  self, val_t  param0, int* init_table);
-val_t NEW_virtualtype___MMVirtualType___init(val_t  param0);
+#define ATTR_virtualtype___MMVirtualType____recv(recv) ATTR(recv, COLOR_virtualtype___MMVirtualType____recv)
+typedef val_t (* virtualtype___MMVirtualType___recv_t)(val_t  self);
+val_t virtualtype___MMVirtualType___recv(val_t  self);
+#define LOCATE_virtualtype___MMVirtualType___recv "virtualtype::MMVirtualType::recv"
+typedef void (* virtualtype___MMVirtualType___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
+void virtualtype___MMVirtualType___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
+val_t NEW_virtualtype___MMVirtualType___init(val_t  param0, val_t  param1);
 #define LOCATE_virtualtype___MMVirtualType___init "virtualtype::MMVirtualType::init"
+typedef val_t (* virtualtype___MMVirtualType___module_t)(val_t  self);
+val_t virtualtype___MMVirtualType___module(val_t  self);
+#define LOCATE_virtualtype___MMVirtualType___module "virtualtype::MMVirtualType::(static_type::MMType::module)"
 typedef val_t (* virtualtype___MMVirtualType___for_module_t)(val_t  self, val_t  param0);
 val_t virtualtype___MMVirtualType___for_module(val_t  self, val_t  param0);
 #define LOCATE_virtualtype___MMVirtualType___for_module "virtualtype::MMVirtualType::(static_type::MMType::for_module)"
@@ -62,8 +63,7 @@ val_t virtualtype___MMVirtualType___adapt_to(val_t  self, val_t  param0);
 typedef val_t (* virtualtype___MMLocalClass___virtual_type_t)(val_t  self, val_t  param0);
 val_t virtualtype___MMLocalClass___virtual_type(val_t  self, val_t  param0);
 #define LOCATE_virtualtype___MMLocalClass___virtual_type "virtualtype::MMLocalClass::virtual_type"
-typedef void (* virtualtype___MMImplicitType___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void virtualtype___MMImplicitType___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-val_t NEW_virtualtype___MMImplicitType___init(val_t  param0, val_t  param1);
-#define LOCATE_virtualtype___MMImplicitType___init "virtualtype::MMImplicitType::init"
+typedef val_t (* virtualtype___MMLocalClass___select_virtual_type_t)(val_t  self, val_t  param0);
+val_t virtualtype___MMLocalClass___select_virtual_type(val_t  self, val_t  param0);
+#define LOCATE_virtualtype___MMLocalClass___select_virtual_type "virtualtype::MMLocalClass::select_virtual_type"
 #endif